UNPKG

@helgoland/core

Version:

151 lines (150 loc) 13 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { DatasetService } from './dataset.service'; // unsupported: template constraints. /** * @abstract * @template T */ var // unsupported: template constraints. /** * @abstract * @template T */ RenderingHintsDatasetService = /** @class */ (function (_super) { tslib_1.__extends(RenderingHintsDatasetService, _super); function RenderingHintsDatasetService(api) { var _this = _super.call(this) || this; _this.api = api; return _this; } /** * @param {?} internalId * @param {?=} options * @return {?} */ RenderingHintsDatasetService.prototype.addDataset = /** * @param {?} internalId * @param {?=} options * @return {?} */ function (internalId, options) { return tslib_1.__awaiter(this, void 0, void 0, function () { var _this = this; return tslib_1.__generator(this, function (_a) { return [2 /*return*/, new Promise(function (resolve) { if (_this.datasetIds.indexOf(internalId) < 0) { if (options) { _this.datasetIds.push(internalId); _this.datasetOptions.set(internalId, options); _this.datasetIdsChanged.emit(_this.datasetIds); _this.saveState(); resolve(true); } else { _this.api.getSingleTimeseriesByInternalId(internalId).subscribe(function (timeseries) { return _this.addLoadedDataset(timeseries, resolve); }, function (error) { _this.api.getDatasetByInternalId(internalId).subscribe(function (dataset) { return _this.addLoadedDataset(dataset, resolve); }); }); } } })]; }); }); }; /** * @param {?} dataset * @param {?} resolve * @return {?} */ RenderingHintsDatasetService.prototype.addLoadedDataset = /** * @param {?} dataset * @param {?} resolve * @return {?} */ function (dataset, resolve) { return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { this.datasetIds.push(dataset.internalId); this.datasetOptions.set(dataset.internalId, this.createOptionsOfRenderingHints(dataset)); this.datasetIdsChanged.emit(this.datasetIds); this.saveState(); resolve(true); return [2 /*return*/]; }); }); }; /** * @param {?} dataset * @return {?} */ RenderingHintsDatasetService.prototype.createOptionsOfRenderingHints = /** * @param {?} dataset * @return {?} */ function (dataset) { /** @type {?} */ var options = /** @type {?} */ (this.createStyles(dataset.internalId)); if (dataset.renderingHints) { if (dataset.renderingHints.properties && dataset.renderingHints.properties.color) { options.color = dataset.renderingHints.properties.color; } switch (dataset.renderingHints.chartType) { case 'line': this.handleLineRenderingHints(/** @type {?} */ (dataset.renderingHints), options); break; case 'bar': this.handleBarRenderingHints(/** @type {?} */ (dataset.renderingHints), options); break; default: break; } } return /** @type {?} */ (options); }; /** * @param {?} lineHints * @param {?} options * @return {?} */ RenderingHintsDatasetService.prototype.handleLineRenderingHints = /** * @param {?} lineHints * @param {?} options * @return {?} */ function (lineHints, options) { if (lineHints.properties.width) { options.lineWidth = Math.round(parseFloat(lineHints.properties.width)); } }; /** * @param {?} barHints * @param {?} options * @return {?} */ RenderingHintsDatasetService.prototype.handleBarRenderingHints = /** * @param {?} barHints * @param {?} options * @return {?} */ function (barHints, options) { if (barHints.properties.width) { options.lineWidth = Math.round(parseFloat(barHints.properties.width)); } }; return RenderingHintsDatasetService; }(DatasetService)); // unsupported: template constraints. /** * @abstract * @template T */ export { RenderingHintsDatasetService }; if (false) { /** @type {?} */ RenderingHintsDatasetService.prototype.api; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWhpbnRzLWRhdGFzZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoZWxnb2xhbmQvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9hYnN0cmFjdC1zZXJ2aWNlcy9yZW5kZXJpbmctaGludHMtZGF0YXNldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFFbkQ7Ozs7OztBQUFBO0lBQXdHLHdEQUFpQjtJQUVySCxzQ0FDYyxHQUF3QjtRQUR0QyxZQUdJLGlCQUFPLFNBQ1Y7UUFIYSxTQUFHLEdBQUgsR0FBRyxDQUFxQjs7S0FHckM7Ozs7OztJQUVZLGlEQUFVOzs7OztjQUFDLFVBQWtCLEVBQUUsT0FBVzs7OztnQkFDbkQsc0JBQU8sSUFBSSxPQUFPLENBQVUsVUFBQyxPQUFPO3dCQUNoQyxFQUFFLENBQUMsQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUMxQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dDQUNWLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dDQUNqQyxLQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0NBQzdDLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dDQUM3QyxLQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0NBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzs2QkFDakI7NEJBQUMsSUFBSSxDQUFDLENBQUM7Z0NBQ0osS0FBSSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQzFELFVBQUMsVUFBVSxJQUFLLE9BQUEsS0FBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBMUMsQ0FBMEMsRUFDMUQsVUFBQyxLQUFLO29DQUNGLEtBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUNqRCxVQUFDLE9BQU8sSUFBSyxPQUFBLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQXZDLENBQXVDLENBQ3ZELENBQUM7aUNBQ0wsQ0FDSixDQUFDOzZCQUNMO3lCQUNKO3FCQUNKLENBQUMsRUFBQzs7Ozs7Ozs7O0lBR08sdURBQWdCOzs7OztjQUFDLE9BQWlCLEVBQUUsT0FBeUQ7OztnQkFDdkcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUN6RixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7Ozs7OztJQUdWLG9FQUE2Qjs7OztjQUFDLE9BQWlCOztRQUNuRCxJQUFNLE9BQU8scUJBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFtQixFQUFDO1FBQ3hFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQy9FLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO2FBQzNEO1lBQ0QsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUN2QyxLQUFLLE1BQU07b0JBQ1AsSUFBSSxDQUFDLHdCQUF3QixtQkFBQyxPQUFPLENBQUMsY0FBb0MsR0FBRSxPQUFPLENBQUMsQ0FBQztvQkFDckYsS0FBSyxDQUFDO2dCQUNWLEtBQUssS0FBSztvQkFDTixJQUFJLENBQUMsdUJBQXVCLG1CQUFDLE9BQU8sQ0FBQyxjQUFtQyxHQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNuRixLQUFLLENBQUM7Z0JBQ1Y7b0JBQ0ksS0FBSyxDQUFDO2FBQ2I7U0FDSjtRQUNELE1BQU0sbUJBQUMsT0FBWSxFQUFDOzs7Ozs7O0lBSWhCLCtEQUF3Qjs7Ozs7Y0FBQyxTQUE2QixFQUFFLE9BQXVCO1FBQ25GLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMxRTs7Ozs7OztJQUdHLDhEQUF1Qjs7Ozs7Y0FBQyxRQUEyQixFQUFFLE9BQXVCO1FBQ2hGLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM1QixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN6RTs7dUNBMUVUO0VBS3dHLGNBQWMsRUF1RXJILENBQUE7Ozs7OztBQXZFRCx3Q0F1RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhc2V0QXBpSW50ZXJmYWNlIH0gZnJvbSAnLi4vZGF0YXNldC1hcGkvYXBpLWludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXJSZW5kZXJpbmdIaW50cywgSURhdGFzZXQsIExpbmVSZW5kZXJpbmdIaW50cyB9IGZyb20gJy4uL21vZGVsL2RhdGFzZXQtYXBpL2RhdGFzZXQnO1xuaW1wb3J0IHsgRGF0YXNldE9wdGlvbnMgfSBmcm9tICcuLi9tb2RlbC9pbnRlcm5hbC9vcHRpb25zJztcbmltcG9ydCB7IERhdGFzZXRTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhc2V0LnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVuZGVyaW5nSGludHNEYXRhc2V0U2VydmljZTxUIGV4dGVuZHMgRGF0YXNldE9wdGlvbnMgfCBEYXRhc2V0T3B0aW9uc1tdPiBleHRlbmRzIERhdGFzZXRTZXJ2aWNlPFQ+IHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgYXBpOiBEYXRhc2V0QXBpSW50ZXJmYWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGFkZERhdGFzZXQoaW50ZXJuYWxJZDogc3RyaW5nLCBvcHRpb25zPzogVCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGFzZXRJZHMuaW5kZXhPZihpbnRlcm5hbElkKSA8IDApIHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFzZXRJZHMucHVzaChpbnRlcm5hbElkKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhc2V0T3B0aW9ucy5zZXQoaW50ZXJuYWxJZCwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YXNldElkc0NoYW5nZWQuZW1pdCh0aGlzLmRhdGFzZXRJZHMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmVTdGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBpLmdldFNpbmdsZVRpbWVzZXJpZXNCeUludGVybmFsSWQoaW50ZXJuYWxJZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHRpbWVzZXJpZXMpID0+IHRoaXMuYWRkTG9hZGVkRGF0YXNldCh0aW1lc2VyaWVzLCByZXNvbHZlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBpLmdldERhdGFzZXRCeUludGVybmFsSWQoaW50ZXJuYWxJZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGF0YXNldCkgPT4gdGhpcy5hZGRMb2FkZWREYXRhc2V0KGRhdGFzZXQsIHJlc29sdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgYWRkTG9hZGVkRGF0YXNldChkYXRhc2V0OiBJRGF0YXNldCwgcmVzb2x2ZTogKHZhbHVlPzogYm9vbGVhbiB8IFByb21pc2VMaWtlPGJvb2xlYW4+KSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMuZGF0YXNldElkcy5wdXNoKGRhdGFzZXQuaW50ZXJuYWxJZCk7XG4gICAgICAgIHRoaXMuZGF0YXNldE9wdGlvbnMuc2V0KGRhdGFzZXQuaW50ZXJuYWxJZCwgdGhpcy5jcmVhdGVPcHRpb25zT2ZSZW5kZXJpbmdIaW50cyhkYXRhc2V0KSk7XG4gICAgICAgIHRoaXMuZGF0YXNldElkc0NoYW5nZWQuZW1pdCh0aGlzLmRhdGFzZXRJZHMpO1xuICAgICAgICB0aGlzLnNhdmVTdGF0ZSgpO1xuICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlT3B0aW9uc09mUmVuZGVyaW5nSGludHMoZGF0YXNldDogSURhdGFzZXQpOiBUIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY3JlYXRlU3R5bGVzKGRhdGFzZXQuaW50ZXJuYWxJZCkgYXMgRGF0YXNldE9wdGlvbnM7XG4gICAgICAgIGlmIChkYXRhc2V0LnJlbmRlcmluZ0hpbnRzKSB7XG4gICAgICAgICAgICBpZiAoZGF0YXNldC5yZW5kZXJpbmdIaW50cy5wcm9wZXJ0aWVzICYmIGRhdGFzZXQucmVuZGVyaW5nSGludHMucHJvcGVydGllcy5jb2xvcikge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuY29sb3IgPSBkYXRhc2V0LnJlbmRlcmluZ0hpbnRzLnByb3BlcnRpZXMuY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2ggKGRhdGFzZXQucmVuZGVyaW5nSGludHMuY2hhcnRUeXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGluZSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlTGluZVJlbmRlcmluZ0hpbnRzKGRhdGFzZXQucmVuZGVyaW5nSGludHMgYXMgTGluZVJlbmRlcmluZ0hpbnRzLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYmFyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVCYXJSZW5kZXJpbmdIaW50cyhkYXRhc2V0LnJlbmRlcmluZ0hpbnRzIGFzIEJhclJlbmRlcmluZ0hpbnRzLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9wdGlvbnMgYXMgVDtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgaGFuZGxlTGluZVJlbmRlcmluZ0hpbnRzKGxpbmVIaW50czogTGluZVJlbmRlcmluZ0hpbnRzLCBvcHRpb25zOiBEYXRhc2V0T3B0aW9ucykge1xuICAgICAgICBpZiAobGluZUhpbnRzLnByb3BlcnRpZXMud2lkdGgpIHtcbiAgICAgICAgICAgIG9wdGlvbnMubGluZVdpZHRoID0gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGxpbmVIaW50cy5wcm9wZXJ0aWVzLndpZHRoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUJhclJlbmRlcmluZ0hpbnRzKGJhckhpbnRzOiBCYXJSZW5kZXJpbmdIaW50cywgb3B0aW9uczogRGF0YXNldE9wdGlvbnMpIHtcbiAgICAgICAgaWYgKGJhckhpbnRzLnByb3BlcnRpZXMud2lkdGgpIHtcbiAgICAgICAgICAgIG9wdGlvbnMubGluZVdpZHRoID0gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGJhckhpbnRzLnByb3BlcnRpZXMud2lkdGgpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==