@helgoland/core
Version:
151 lines (150 loc) • 13 kB
JavaScript
/**
* @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==