hunk.code_window:         this.state.expandAll = true;
         }
       };
       this.$onInit = function () {
         this.setDefaults();
         this.prepareTableFromDataset();
  
hunk.labels: keep keep keep add keep keep keep
hunk.after_edit:     this.onDataRefresh = function () {
         var storedExpandedItems = DatatableService.getDataTableExpandedItems(this.tableKey);
         if (storedExpandedItems !== null) {
           this.expandItems(storedExpandedItems);
         }
       };
  
hunk.file_path: app/docker/components/datatables/services-datatable/servicesDatatableController.js
hunk.type: add
file: <div class="datatable">
    <rd-widget>
      <rd-widget-body classes="no-padding">
        <div class="toolBar">
          <div class="toolBarTitle"> <i class="fa" ng-class="$ctrl.titleIcon" aria-hidden="true" style="margin-right: 2px;"></i> {{ $ctrl.titleText }} </div>
        </div>
        <div class="searchBar">
          <i class="fa fa-search searchIcon" aria-hidden="true"></i>
          <input
            type="text"
            class="searchInput"
            auto-focus
            placeholder="Search..."
            ng-model="$ctrl.state.textFilter"
            ng-change="$ctrl.onTextFilterChange()"
            ng-model-options="{ debounce: 300 }"
          />
        </div>
        <div class="table-responsive">
          <table class="table table-hover nowrap-cells">
            <thead>
              <tr>
                <th>
                  <a ng-click="$ctrl.changeOrderBy('Name')">
                    Name
                    <i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Name' && !$ctrl.state.reverseOrder"></i>
                    <i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Name' && $ctrl.state.reverseOrder"></i>
                  </a>
                </th>
                <th>
                  <a ng-click="$ctrl.changeOrderBy('Status')">
                    Status
                    <i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Status' && !$ctrl.state.reverseOrder"></i>
                    <i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Status' && $ctrl.state.reverseOrder"></i>
                  </a>
                </th>
                <th>
                  <a ng-click="$ctrl.changeOrderBy('Error')">
                    Error
                    <i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Error' && !$ctrl.state.reverseOrder"></i>
                    <i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Error' && $ctrl.state.reverseOrder"></i>
                  </a>
                </th>
              </tr>
            </thead>
            <tbody>
              <tr
                dir-paginate="item in $ctrl.state.filteredDataSet | itemsPerPage: $ctrl.state.paginatedItemLimit"
                total-items="$ctrl.state.totalFilteredDataSet"
                ng-class="{ active: item.Checked }"
              >
                <td>{{ item.Name }}</td>
                <td>{{ $ctrl.statusMap[item.Status.Type] || 'Pending' }}</td>
                <td>{{ item.Status.Error ? item.Status.Error : '-' }}</td>
              </tr>
              <tr ng-if="$ctrl.state.loading">
                <td colspan="5" class="text-center text-muted">Loading...</td>
              </tr>
              <tr ng-if="!$ctrl.state.loading && $ctrl.state.filteredDataSet.length === 0">
                <td colspan="5" class="text-center text-muted">No endpoint available.</td>
              </tr>
            </tbody>
          </table>
        </div>
        <div class="footer" ng-if="!$ctrl.state.loading">
          <div class="infoBar" ng-if="$ctrl.state.selectedItemCount !== 0"> {{ $ctrl.state.selectedItemCount }} item(s) selected </div>
          <div class="paginationControls">
            <form class="form-inline">
              <span class="limitSelector">
                <span style="margin-right: 5px;">
                  Items per page
                </span>
                <select class="form-control" ng-model="$ctrl.state.paginatedItemLimit" ng-change="$ctrl.changePaginationLimit()">
                  <option value="0">All</option>
                  <option value="10">10</option>
                  <option value="25">25</option>
                  <option value="50">50</option>
                  <option value="100">100</option>
                </select>
              </span>
              <dir-pagination-controls max-size="5" on-page-change="$ctrl.onPageChange(newPageNumber, oldPageNumber)"></dir-pagination-controls>
            </form>
          </div>
        </div>
      </rd-widget-body>
    </rd-widget>
  </div>
  