Sha256: a1be6c424c6ca528780d79812abf34d81e85e7cc28076d859e55de32dfa983a5

Contents?: true

Size: 1.33 KB

Versions: 10

Compression:

Stored size: 1.33 KB

Contents

!(angular => {
  'use strict';

  class OpenReplService {

    constructor($uibModal, Query, AceCompleters) {
      this._$modal = $uibModal;
      this._Query = Query;
      this._AceCompleters = AceCompleters;
    }

    open(options = {}) {
      this._AceCompleters.ensureSchemasData();

      let modalInstance = this._$modal.open({
        animation: true,
        templateUrl: 'queryRepl',
        controller: 'QueryReplController',
        controllerAs: 'queryRepl',
        bindToController: true,
        windowClass: 'query-repl-dialog',
        backdrop: 'static',
        keyboard: false,
        resolve: {
          query: () =>  _.exists(options.query) ? this._clone(options.query) : this._newQuery()
        }
      });

      return modalInstance.result.then(({query, result}) => {
        return {
          query: this._clone(query),
          result: result
        };
      });
    }

    // private methods

    _clone(q) {
      let copiedItem = angular.copy(q.item);
      let m = new this._Query();
      m.internalize(copiedItem);
      return m;
    }

    _newQuery() {
      let m = new this._Query();
      m.initItem();
      return m;
    }
  }

  OpenReplService.$inject = ['$uibModal', 'Query', 'AceCompleters'];
  angular.module('alephServices.openReplService', []).service('OpenReplService', OpenReplService);

}(angular));

Version data entries

10 entries across 5 versions & 1 rubygems

Version Path
aleph_analytics-0.0.4 public/assets/angular/services/lib/open_repl_service.js-2332490470ea58f3e5ce7f6fe5dd2659.es6
aleph_analytics-0.0.4 app/assets/javascripts/angular/services/lib/open_repl_service.js.es6
aleph_analytics-0.0.3 app/assets/javascripts/angular/services/lib/open_repl_service.js.es6
aleph_analytics-0.0.3 public/assets/angular/services/lib/open_repl_service.js-2332490470ea58f3e5ce7f6fe5dd2659.es6
aleph_analytics-0.0.2 public/assets/angular/services/lib/open_repl_service.js-2332490470ea58f3e5ce7f6fe5dd2659.es6
aleph_analytics-0.0.2 app/assets/javascripts/angular/services/lib/open_repl_service.js.es6
aleph_analytics-0.0.1.alpha public/assets/angular/services/lib/open_repl_service.js-2332490470ea58f3e5ce7f6fe5dd2659.es6
aleph_analytics-0.0.1.alpha app/assets/javascripts/angular/services/lib/open_repl_service.js.es6
aleph_analytics-0.0.0.alpha app/assets/javascripts/angular/services/lib/open_repl_service.js.es6
aleph_analytics-0.0.0.alpha public/assets/angular/services/lib/open_repl_service.js-2332490470ea58f3e5ce7f6fe5dd2659.es6