UNPKG

@helgoland/core

Version:

142 lines (141 loc) 12.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Observable } from 'rxjs'; 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) { var _this = this; return new Observable(function (observer) { if (options) { _this.datasetIds.push(internalId); _this.datasetOptions.set(internalId, options); observer.next(true); observer.complete(); _this.datasetIdsChanged.emit(_this.datasetIds); } else if (_this.datasetIds.indexOf(internalId) < 0) { _this.api.getSingleTimeseriesByInternalId(internalId).subscribe(function (timeseries) { return _this.addLoadedDataset(timeseries, observer); }, function (error) { _this.api.getDatasetByInternalId(internalId).subscribe(function (dataset) { return _this.addLoadedDataset(dataset, observer); }); }); } }); }; /** * @param {?} dataset * @param {?} observer * @return {?} */ RenderingHintsDatasetService.prototype.addLoadedDataset = /** * @param {?} dataset * @param {?} observer * @return {?} */ function (dataset, observer) { this.datasetIds.push(dataset.internalId); this.datasetOptions.set(dataset.internalId, this.createOptionsOfRenderingHints(dataset)); observer.next(true); observer.complete(); this.datasetIdsChanged.emit(this.datasetIds); this.saveState(); }; /** * @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWhpbnRzLWRhdGFzZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoZWxnb2xhbmQvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9hYnN0cmFjdC1zZXJ2aWNlcy9yZW5kZXJpbmctaGludHMtZGF0YXNldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUs1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQUVuRDs7Ozs7O0FBQUE7SUFBd0csd0RBQWlCO0lBRXJILHNDQUNjLEdBQXdCO1FBRHRDLFlBR0ksaUJBQU8sU0FDVjtRQUhhLFNBQUcsR0FBSCxHQUFHLENBQXFCOztLQUdyQzs7Ozs7O0lBRU0saURBQVU7Ozs7O2NBQUMsVUFBa0IsRUFBRSxPQUFXOztRQUM3QyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsVUFBQyxRQUEyQjtZQUM5QyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNWLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNqQyxLQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzdDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEIsS0FBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEQ7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsS0FBSSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQzFELFVBQUMsVUFBVSxJQUFLLE9BQUEsS0FBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBM0MsQ0FBMkMsRUFDM0QsVUFBQyxLQUFLO29CQUNGLEtBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUNqRCxVQUFDLE9BQU8sSUFBSyxPQUFBLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQXhDLENBQXdDLENBQ3hELENBQUM7aUJBQ0wsQ0FDSixDQUFDO2FBQ0w7U0FDSixDQUFDLENBQUM7Ozs7Ozs7SUFHQyx1REFBZ0I7Ozs7O2NBQUMsT0FBaUIsRUFBRSxRQUEyQjtRQUNuRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN6RixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Ozs7OztJQUdiLG9FQUE2Qjs7OztjQUFDLE9BQWlCOztRQUNuRCxJQUFNLE9BQU8scUJBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFtQixFQUFDO1FBQ3hFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQy9FLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO2FBQzNEO1lBQ0QsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUN2QyxLQUFLLE1BQU07b0JBQ1AsSUFBSSxDQUFDLHdCQUF3QixtQkFBQyxPQUFPLENBQUMsY0FBb0MsR0FBRSxPQUFPLENBQUMsQ0FBQztvQkFDckYsS0FBSyxDQUFDO2dCQUNWLEtBQUssS0FBSztvQkFDTixJQUFJLENBQUMsdUJBQXVCLG1CQUFDLE9BQU8sQ0FBQyxjQUFtQyxHQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNuRixLQUFLLENBQUM7Z0JBQ1Y7b0JBQ0ksS0FBSyxDQUFDO2FBQ2I7U0FDSjtRQUNELE1BQU0sbUJBQUMsT0FBWSxFQUFDOzs7Ozs7O0lBSWhCLCtEQUF3Qjs7Ozs7Y0FBQyxTQUE2QixFQUFFLE9BQXVCO1FBQ25GLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMxRTs7Ozs7OztJQUdHLDhEQUF1Qjs7Ozs7Y0FBQyxRQUEyQixFQUFFLE9BQXVCO1FBQ2hGLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM1QixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN6RTs7dUNBM0VUO0VBT3dHLGNBQWMsRUFzRXJILENBQUE7Ozs7OztBQXRFRCx3Q0FzRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEYXRhc2V0QXBpSW50ZXJmYWNlIH0gZnJvbSAnLi4vZGF0YXNldC1hcGkvYXBpLWludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXJSZW5kZXJpbmdIaW50cywgSURhdGFzZXQsIExpbmVSZW5kZXJpbmdIaW50cyB9IGZyb20gJy4uL21vZGVsL2RhdGFzZXQtYXBpL2RhdGFzZXQnO1xuaW1wb3J0IHsgRGF0YXNldE9wdGlvbnMgfSBmcm9tICcuLi9tb2RlbC9pbnRlcm5hbC9vcHRpb25zJztcbmltcG9ydCB7IERhdGFzZXRTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhc2V0LnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVuZGVyaW5nSGludHNEYXRhc2V0U2VydmljZTxUIGV4dGVuZHMgRGF0YXNldE9wdGlvbnMgfCBEYXRhc2V0T3B0aW9uc1tdPiBleHRlbmRzIERhdGFzZXRTZXJ2aWNlPFQ+IHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgYXBpOiBEYXRhc2V0QXBpSW50ZXJmYWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZERhdGFzZXQoaW50ZXJuYWxJZDogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBPYnNlcnZlcjxib29sZWFuPikgPT4ge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFzZXRJZHMucHVzaChpbnRlcm5hbElkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFzZXRPcHRpb25zLnNldChpbnRlcm5hbElkLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRydWUpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhc2V0SWRzQ2hhbmdlZC5lbWl0KHRoaXMuZGF0YXNldElkcyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YXNldElkcy5pbmRleE9mKGludGVybmFsSWQpIDwgMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBpLmdldFNpbmdsZVRpbWVzZXJpZXNCeUludGVybmFsSWQoaW50ZXJuYWxJZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAodGltZXNlcmllcykgPT4gdGhpcy5hZGRMb2FkZWREYXRhc2V0KHRpbWVzZXJpZXMsIG9ic2VydmVyKSxcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwaS5nZXREYXRhc2V0QnlJbnRlcm5hbElkKGludGVybmFsSWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGF0YXNldCkgPT4gdGhpcy5hZGRMb2FkZWREYXRhc2V0KGRhdGFzZXQsIG9ic2VydmVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkTG9hZGVkRGF0YXNldChkYXRhc2V0OiBJRGF0YXNldCwgb2JzZXJ2ZXI6IE9ic2VydmVyPGJvb2xlYW4+KSB7XG4gICAgICAgIHRoaXMuZGF0YXNldElkcy5wdXNoKGRhdGFzZXQuaW50ZXJuYWxJZCk7XG4gICAgICAgIHRoaXMuZGF0YXNldE9wdGlvbnMuc2V0KGRhdGFzZXQuaW50ZXJuYWxJZCwgdGhpcy5jcmVhdGVPcHRpb25zT2ZSZW5kZXJpbmdIaW50cyhkYXRhc2V0KSk7XG4gICAgICAgIG9ic2VydmVyLm5leHQodHJ1ZSk7XG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuZGF0YXNldElkc0NoYW5nZWQuZW1pdCh0aGlzLmRhdGFzZXRJZHMpO1xuICAgICAgICB0aGlzLnNhdmVTdGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlT3B0aW9uc09mUmVuZGVyaW5nSGludHMoZGF0YXNldDogSURhdGFzZXQpOiBUIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY3JlYXRlU3R5bGVzKGRhdGFzZXQuaW50ZXJuYWxJZCkgYXMgRGF0YXNldE9wdGlvbnM7XG4gICAgICAgIGlmIChkYXRhc2V0LnJlbmRlcmluZ0hpbnRzKSB7XG4gICAgICAgICAgICBpZiAoZGF0YXNldC5yZW5kZXJpbmdIaW50cy5wcm9wZXJ0aWVzICYmIGRhdGFzZXQucmVuZGVyaW5nSGludHMucHJvcGVydGllcy5jb2xvcikge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuY29sb3IgPSBkYXRhc2V0LnJlbmRlcmluZ0hpbnRzLnByb3BlcnRpZXMuY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2ggKGRhdGFzZXQucmVuZGVyaW5nSGludHMuY2hhcnRUeXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGluZSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlTGluZVJlbmRlcmluZ0hpbnRzKGRhdGFzZXQucmVuZGVyaW5nSGludHMgYXMgTGluZVJlbmRlcmluZ0hpbnRzLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYmFyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVCYXJSZW5kZXJpbmdIaW50cyhkYXRhc2V0LnJlbmRlcmluZ0hpbnRzIGFzIEJhclJlbmRlcmluZ0hpbnRzLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9wdGlvbnMgYXMgVDtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgaGFuZGxlTGluZVJlbmRlcmluZ0hpbnRzKGxpbmVIaW50czogTGluZVJlbmRlcmluZ0hpbnRzLCBvcHRpb25zOiBEYXRhc2V0T3B0aW9ucykge1xuICAgICAgICBpZiAobGluZUhpbnRzLnByb3BlcnRpZXMud2lkdGgpIHtcbiAgICAgICAgICAgIG9wdGlvbnMubGluZVdpZHRoID0gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGxpbmVIaW50cy5wcm9wZXJ0aWVzLndpZHRoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUJhclJlbmRlcmluZ0hpbnRzKGJhckhpbnRzOiBCYXJSZW5kZXJpbmdIaW50cywgb3B0aW9uczogRGF0YXNldE9wdGlvbnMpIHtcbiAgICAgICAgaWYgKGJhckhpbnRzLnByb3BlcnRpZXMud2lkdGgpIHtcbiAgICAgICAgICAgIG9wdGlvbnMubGluZVdpZHRoID0gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGJhckhpbnRzLnByb3BlcnRpZXMud2lkdGgpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==