123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- 'use strict';
- define(['../../lib/@waca/core-client/js/core-client/ui/core/Class'], function (Class) {
- 'use strict';
-
- var BaseFeature = Class.extend({
- init: function init(options) {
- BaseFeature.inherited('init', this, arguments);
- this.widgetApi = arguments[0];
- this.model = options && options.model;
- this.liveWidget = options && options.liveWidget;
- this._enabled = false;
- this._registered = false;
- },
- isRegistered: function isRegistered() {
- return this._registered;
- },
- register: function register(id, dashboardApi, svcName) {
- var _this = this;
- if (svcName) {
- this._registered = true;
- return dashboardApi.getDashboardSvc(svcName).then(function (svc) {
- svc.registerFeature(id, _this._getFeatureName(), _this._getApi());
- return Promise.resolve(true);
- });
- }
- return Promise.reject(false);
- },
- deregister: function deregister(id, dashboardApi, svcName) {
- var _this2 = this;
- if (svcName) {
- return dashboardApi.getDashboardSvc(svcName).then(function (svc) {
- svc.deregisterFeature(id, _this2._getFeatureName());
- return Promise.resolve(true);
- });
- }
- return Promise.reject(false);
- },
- _getFeatureName: function _getFeatureName() {
- return this._featureName || '';
- },
-
- activate: function activate(options) {
- this.cb = options.cb;
- this._enabled = true;
- return true;
- },
- isEnabled: function isEnabled() {
- return this._enabled;
- },
-
- _getApi: function _getApi() {
- return {};
- },
- getVisApi: function getVisApi() {
- return this.widgetApi.getVisApi();
- }
- });
- return BaseFeature;
- });
|