@helgoland/core
Version:
142 lines (141 loc) • 12.4 kB
JavaScript
/**
* @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWhpbnRzLWRhdGFzZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoZWxnb2xhbmQvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9hYnN0cmFjdC1zZXJ2aWNlcy9yZW5kZXJpbmctaGludHMtZGF0YXNldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUs1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQUVuRDs7Ozs7O0FBQUE7SUFBd0csd0RBQWlCO0lBRXJILHNDQUNjLEdBQXdCO1FBRHRDLFlBR0ksaUJBQU8sU0FDVjtRQUhhLFNBQUcsR0FBSCxHQUFHLENBQXFCOztLQUdyQzs7Ozs7O0lBRU0saURBQVU7Ozs7O2NBQUMsVUFBa0IsRUFBRSxPQUFXOztRQUM3QyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsVUFBQyxRQUEyQjtZQUM5QyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNWLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNqQyxLQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzdDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEIsS0FBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEQ7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsS0FBSSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxV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eyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEYXRhc2V0QXBpSW50ZXJmYWNlIH0gZnJvbSAnLi4vZGF0YXNldC1hcGkvYXBpLWludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXJSZW5kZXJpbmdIaW50cywgSURhdGFzZXQsIExpbmVSZW5kZXJpbmdIaW50cyB9IGZyb20gJy4uL21vZGVsL2RhdGFzZXQtYXBpL2RhdGFzZXQnO1xuaW1wb3J0IHsgRGF0YXNldE9wdGlvbnMgfSBmcm9tICcuLi9tb2RlbC9pbnRlcm5hbC9vcHRpb25zJztcbmltcG9ydCB7IERhdGFzZXRTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhc2V0LnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVuZGVyaW5nSGludHNEYXRhc2V0U2VydmljZTxUIGV4dGVuZHMgRGF0YXNldE9wdGlvbnMgfCBEYXRhc2V0T3B0aW9uc1tdPiBleHRlbmRzIERhdGFzZXRTZXJ2aWNlPFQ+IHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgYXBpOiBEYXRhc2V0QXBpSW50ZXJmYWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZERhdGFzZXQoaW50ZXJuYWxJZDogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBPYnNlcnZlcjxib29sZWFuPikgPT4ge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFzZXRJZHMucHVzaChpbnRlcm5hbElkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFzZXRPcHRpb25zLnNldChpbnRlcm5hbElkLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRydWUpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhc2V0SWRzQ2hhbmdlZC5lbWl0KHRoaXMuZGF0YXNldElkcyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YXNldElkcy5pbmRleE9mKGludGVybmFsSWQpIDwgMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBpLmdldFNpbmdsZVRpbWVzZXJpZXNCeUludGVybmFsSWQoaW50ZXJuYWxJZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAodGltZXNlcmllcykgPT4gdGhpcy5hZGRMb2FkZWREYXRhc2V0KHRpbWVzZXJpZXMsIG9ic2VydmVyKSxcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwaS5nZXREYXRhc2V0QnlJbnRlcm5hbElkKGludGVybmFsSWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGF0YXNldCkgPT4gdGhpcy5hZGRMb2FkZWREYXRhc2V0KGRhdGFzZXQsIG9ic2VydmVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkTG9hZGVkRGF0YXNldChkYXRhc2V0OiBJRGF0YXNldCwgb2JzZXJ2ZXI6IE9ic2VydmVyPGJvb2xlYW4+KSB7XG4gICAgICAgIHRoaXMuZGF0YXNldElkcy5wdXNoKGRhdGFzZXQuaW50ZXJuYWxJZCk7XG4gICAgICAgIHRoaXMuZGF0YXNldE9wdGlvbnMuc2V0KGRhdGFzZXQuaW50ZXJuYWxJZCwgdGhpcy5jcmVhdGVPcHRpb25zT2ZSZW5kZXJpbmdIaW50cyhkYXRhc2V0KSk7XG4gICAgICAgIG9ic2VydmVyLm5leHQodHJ1ZSk7XG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuZGF0YXNldElkc0NoYW5nZWQuZW1pdCh0aGlzLmRhdGFzZXRJZHMpO1xuICAgICAgICB0aGlzLnNhdmVTdGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlT3B0aW9uc09mUmVuZGVyaW5nSGludHMoZGF0YXNldDogSURhdGFzZXQpOiBUIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY3JlYXRlU3R5bGVzKGRhdGFzZXQuaW50ZXJuYWxJZCkgYXMgRGF0YXNldE9wdGlvbnM7XG4gICAgICAgIGlmIChkYXRhc2V0LnJlbmRlcmluZ0hpbnRzKSB7XG4gICAgICAgICAgICBpZiAoZGF0YXNldC5yZW5kZXJpbmdIaW50cy5wcm9wZXJ0aWVzICYmIGRhdGFzZXQucmVuZGVyaW5nSGludHMucHJvcGVydGllcy5jb2xvcikge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuY29sb3IgPSBkYXRhc2V0LnJlbmRlcmluZ0hpbnRzLnByb3BlcnRpZXMuY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2ggKGRhdGFzZXQucmVuZGVyaW5nSGludHMuY2hhcnRUeXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGluZSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlTGluZVJlbmRlcmluZ0hpbnRzKGRhdGFzZXQucmVuZGVyaW5nSGludHMgYXMgTGluZVJlbmRlcmluZ0hpbnRzLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYmFyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVCYXJSZW5kZXJpbmdIaW50cyhkYXRhc2V0LnJlbmRlcmluZ0hpbnRzIGFzIEJhclJlbmRlcmluZ0hpbnRzLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9wdGlvbnMgYXMgVDtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgaGFuZGxlTGluZVJlbmRlcmluZ0hpbnRzKGxpbmVIaW50czogTGluZVJlbmRlcmluZ0hpbnRzLCBvcHRpb25zOiBEYXRhc2V0T3B0aW9ucykge1xuICAgICAgICBpZiAobGluZUhpbnRzLnByb3BlcnRpZXMud2lkdGgpIHtcbiAgICAgICAgICAgIG9wdGlvbnMubGluZVdpZHRoID0gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGxpbmVIaW50cy5wcm9wZXJ0aWVzLndpZHRoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUJhclJlbmRlcmluZ0hpbnRzKGJhckhpbnRzOiBCYXJSZW5kZXJpbmdIaW50cywgb3B0aW9uczogRGF0YXNldE9wdGlvbnMpIHtcbiAgICAgICAgaWYgKGJhckhpbnRzLnByb3BlcnRpZXMud2lkdGgpIHtcbiAgICAgICAgICAgIG9wdGlvbnMubGluZVdpZHRoID0gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGJhckhpbnRzLnByb3BlcnRpZXMud2lkdGgpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==