Sha256: 525abecb18502cd2409039157ed3081ceb8e05b9e2c26c2c9737d72cc3c81af0

Contents?: true

Size: 1.69 KB

Versions: 16

Compression:

Stored size: 1.69 KB

Contents

!(angular => {
  'use strict';

  class RunningResultIndexController {
    constructor($scope, ModelManager, $interval) {
      this._$interval = $interval;
      this._runningResultModelClasses = ModelManager.forModelName('runningResult');
      this._RunningResult = this._runningResultModelClasses.modelClass();
      this._RunningResults = this._runningResultModelClasses.collectionClass(this._RunningResult);
      this.runningResults = new this._RunningResults();
      this._pollForRunningResults();

      $scope.$on('$destroy', () => {
        this._$interval.cancel(this._intervalPromises);
      });

      // angular sorting
      this.initialSortDirections = { started_at: true, author: true, duration_seconds: true, query_title: false };
    }

    isRepl(result) {
      return !_.exists(result.item.query_id) || !_.exists(result.item.query_version_id);
    }

    getType(result) {
      return this.isRepl(result) ? 'REPL' : 'SAVED';
    }

    setPredicate(predicate) {
      if (predicate === this.predicate) {
         this.reverse = !this.reverse;
       } else {
         this.predicate = predicate;
         this.reverse = !!this.initialSortDirections[predicate];
       }
    }

    getPredicate() {
      return 'item.' + this.predicate;
    }

    // private methods

    _pollForRunningResults() {
      this.runningResults.initCollection();
      this._intervalPromises = this._$interval(() => this.runningResults.initCollection(), 25000);
    }
}

RunningResultIndexController.$inject = ['$scope', 'ModelManager', '$interval'];

angular
  .module('alephControllers.runningResultIndexController', ['alephServices'])
  .controller('RunningResultIndexController', RunningResultIndexController);

}(angular));

Version data entries

16 entries across 8 versions & 1 rubygems

Version Path
aleph_analytics-0.4.9.pre.dev public/assets/angular/controllers/running_result/running_result_index_controller.js-ce5ccd9d6fd27d6fea0c2c775d65a664.es6
aleph_analytics-0.4.9.pre.dev app/assets/javascripts/angular/controllers/running_result/running_result_index_controller.js.es6
aleph_analytics-0.4.8 public/assets/angular/controllers/running_result/running_result_index_controller.js-ce5ccd9d6fd27d6fea0c2c775d65a664.es6
aleph_analytics-0.4.8 app/assets/javascripts/angular/controllers/running_result/running_result_index_controller.js.es6
aleph_analytics-0.4.7 app/assets/javascripts/angular/controllers/running_result/running_result_index_controller.js.es6
aleph_analytics-0.4.7 public/assets/angular/controllers/running_result/running_result_index_controller.js-ce5ccd9d6fd27d6fea0c2c775d65a664.es6
aleph_analytics-0.4.4 app/assets/javascripts/angular/controllers/running_result/running_result_index_controller.js.es6
aleph_analytics-0.4.4 public/assets/angular/controllers/running_result/running_result_index_controller.js-ce5ccd9d6fd27d6fea0c2c775d65a664.es6
aleph_analytics-0.4.2 app/assets/javascripts/angular/controllers/running_result/running_result_index_controller.js.es6
aleph_analytics-0.4.2 public/assets/angular/controllers/running_result/running_result_index_controller.js-ce5ccd9d6fd27d6fea0c2c775d65a664.es6
aleph_analytics-0.4.1 app/assets/javascripts/angular/controllers/running_result/running_result_index_controller.js.es6
aleph_analytics-0.4.1 public/assets/angular/controllers/running_result/running_result_index_controller.js-ce5ccd9d6fd27d6fea0c2c775d65a664.es6
aleph_analytics-0.3.0 public/assets/angular/controllers/running_result/running_result_index_controller.js-ce5ccd9d6fd27d6fea0c2c775d65a664.es6
aleph_analytics-0.3.0 app/assets/javascripts/angular/controllers/running_result/running_result_index_controller.js.es6
aleph_analytics-0.2.0 app/assets/javascripts/angular/controllers/running_result/running_result_index_controller.js.es6
aleph_analytics-0.2.0 public/assets/angular/controllers/running_result/running_result_index_controller.js-ce5ccd9d6fd27d6fea0c2c775d65a664.es6