Sha256: 3245b4019959185ca079c6e8b0388235ec29b2599e49bcb9e27d465324dc89b4

Contents?: true

Size: 1.59 KB

Versions: 32

Compression:

Stored size: 1.59 KB

Contents

!(angular => {
  'use strict';

  function ResultRunnerImports(AlertFlash) {

    return class ResultRunner {

      constructor(query, results, options = {}) {
        this.sandbox = options.sandbox ;
        this.substitutionValues = options.substitutionValues || {};
        this.results = results;
        this.query = query;

        this.enableAlert = options.enableAlert || false;
        this.enablePolling = options.enablePolling || false;
      }

      get queryId() { return this.sandbox ? undefined : this.query.item.id; }
      get queryVersionId() { return this.sandbox ? undefined : this.query.item.version.id; }
      get body() { return this.sandbox ? this.query.item.version.body : undefined; }
      get parameters() { return this.sandbox ? this.query.item.version.parameters : undefined; }

      run() {
        let Result = this.results.Model;
        let result = new Result();
        return result.save(this.queryId, this.queryVersionId, {
          substitution_values: this.substitutionValues,
          body: this.body,
          parameters: this.parameters,
          sandbox: this.sandbox
        }).then(result => {
          if(this.enableAlert) {
            AlertFlash.emitInfo('Started running result, id = ' + result.id);
          }

          let resultModel = this.results.add(result);
          if(this.enablePolling) {
            resultModel.poller.poll();
          }
          return result;
        });
      }
    };
  }

  ResultRunnerImports.$inject = ['AlertFlash'];
  angular.module('alephServices.resultRunner', []).service('ResultRunner', ResultRunnerImports);
}(angular));

Version data entries

32 entries across 16 versions & 1 rubygems

Version Path
aleph_analytics-0.4.9.pre.dev public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6
aleph_analytics-0.4.9.pre.dev app/assets/javascripts/angular/services/result/result_runner.js.es6
aleph_analytics-0.4.8 public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6
aleph_analytics-0.4.8 app/assets/javascripts/angular/services/result/result_runner.js.es6
aleph_analytics-0.4.7 app/assets/javascripts/angular/services/result/result_runner.js.es6
aleph_analytics-0.4.7 public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6
aleph_analytics-0.4.4 public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6
aleph_analytics-0.4.4 app/assets/javascripts/angular/services/result/result_runner.js.es6
aleph_analytics-0.4.2 public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6
aleph_analytics-0.4.2 app/assets/javascripts/angular/services/result/result_runner.js.es6
aleph_analytics-0.4.1 public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6
aleph_analytics-0.4.1 app/assets/javascripts/angular/services/result/result_runner.js.es6
aleph_analytics-0.3.0 public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6
aleph_analytics-0.3.0 app/assets/javascripts/angular/services/result/result_runner.js.es6
aleph_analytics-0.2.0 app/assets/javascripts/angular/services/result/result_runner.js.es6
aleph_analytics-0.2.0 public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6
aleph_analytics-0.1.0 public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6
aleph_analytics-0.1.0 app/assets/javascripts/angular/services/result/result_runner.js.es6
aleph_analytics-0.0.6 public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6
aleph_analytics-0.0.6 app/assets/javascripts/angular/services/result/result_runner.js.es6