@helgoland/core
Version:
155 lines (154 loc) • 9.94 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { EventEmitter } from '@angular/core';
import { of } from 'rxjs';
// unsupported: template constraints.
/**
* @abstract
* @template T
*/
var
// unsupported: template constraints.
/**
* @abstract
* @template T
*/
DatasetService = /** @class */ (function () {
function DatasetService() {
this.datasetIds = [];
this.datasetOptions = new Map();
this.datasetIdsChanged = new EventEmitter();
}
/**
* Adds the dataset to the selection
*
* @param {?} internalId
* @param {?=} options
* @return {?} Successfull added the dataset.
*/
DatasetService.prototype.addDataset = /**
* Adds the dataset to the selection
*
* @param {?} internalId
* @param {?=} options
* @return {?} Successfull added the dataset.
*/
function (internalId, options) {
if (this.datasetIds.indexOf(internalId) < 0) {
this.datasetIds.push(internalId);
if (options) {
this.datasetOptions.set(internalId, options);
}
else {
this.datasetOptions.set(internalId, this.createStyles(internalId));
}
this.saveState();
}
else if (options instanceof Array) {
/** @type {?} */
var temp_1 = (/** @type {?} */ (this.datasetOptions.get(internalId)));
options.forEach(function (e) { return temp_1.push(e); });
this.saveState();
}
this.datasetIdsChanged.emit(this.datasetIds);
return of(true);
};
/**
* @return {?}
*/
DatasetService.prototype.removeAllDatasets = /**
* @return {?}
*/
function () {
this.datasetIds.length = 0;
this.datasetOptions.clear();
this.datasetIdsChanged.emit(this.datasetIds);
this.saveState();
};
/**
* @param {?} internalId
* @return {?}
*/
DatasetService.prototype.removeDataset = /**
* @param {?} internalId
* @return {?}
*/
function (internalId) {
/** @type {?} */
var datasetIdx = this.datasetIds.indexOf(internalId);
if (datasetIdx > -1) {
this.datasetIds.splice(datasetIdx, 1);
this.datasetOptions.delete(internalId);
}
this.datasetIdsChanged.emit(this.datasetIds);
this.saveState();
};
/**
* @return {?}
*/
DatasetService.prototype.hasDatasets = /**
* @return {?}
*/
function () {
return this.datasetIds.length > 0;
};
/**
* @param {?} id
* @return {?}
*/
DatasetService.prototype.hasDataset = /**
* @param {?} id
* @return {?}
*/
function (id) {
return this.datasetIds.indexOf(id) >= 0;
};
/**
* @param {?} options
* @param {?} internalId
* @return {?}
*/
DatasetService.prototype.updateDatasetOptions = /**
* @param {?} options
* @param {?} internalId
* @return {?}
*/
function (options, internalId) {
this.datasetOptions.set(internalId, options);
this.saveState();
};
return DatasetService;
}());
// unsupported: template constraints.
/**
* @abstract
* @template T
*/
export { DatasetService };
if (false) {
/** @type {?} */
DatasetService.prototype.datasetIds;
/** @type {?} */
DatasetService.prototype.datasetOptions;
/** @type {?} */
DatasetService.prototype.datasetIdsChanged;
/**
* @abstract
* @param {?} internalId
* @return {?}
*/
DatasetService.prototype.createStyles = function (internalId) { };
/**
* @abstract
* @return {?}
*/
DatasetService.prototype.saveState = function () { };
/**
* @abstract
* @return {?}
*/
DatasetService.prototype.loadState = function () { };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhlbGdvbGFuZC9jb3JlLyIsInNvdXJjZXMiOlsibGliL2Fic3RyYWN0LXNlcnZpY2VzL2RhdGFzZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFJdEM7Ozs7OztBQUFBOzswQkFFa0MsRUFBRTs4QkFFUSxJQUFJLEdBQUcsRUFBRTtpQ0FFRSxJQUFJLFlBQVksRUFBRTs7Ozs7Ozs7O0lBUzlELG1DQUFVOzs7Ozs7O2NBQUMsVUFBa0IsRUFBRSxPQUFXO1FBQzdDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDakMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDVixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDaEQ7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDSixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2FBQ3RFO1lBQ0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BCO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDOztZQUNsQyxJQUFNLE1BQUksR0FBRyxtQkFBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQXFCLEVBQUMsQ0FBQztZQUN2RSxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsTUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBWixDQUFZLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7OztJQUdiLDBDQUFpQjs7OztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Ozs7OztJQUdkLHNDQUFhOzs7O2NBQUMsVUFBa0I7O1FBQ25DLElBQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELEVBQUUsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDOzs7OztJQUdkLG9DQUFXOzs7O1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzs7Ozs7O0lBRy9CLG1DQUFVOzs7O2NBQUMsRUFBVTtRQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7Ozs7O0lBR3JDLDZDQUFvQjs7Ozs7Y0FBQyxPQUFVLEVBQUUsVUFBa0I7UUFDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzs7eUJBakV6QjtJQTBFQyxDQUFBOzs7Ozs7QUFyRUQsMEJBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEYXRhc2V0T3B0aW9ucyB9IGZyb20gJy4uL21vZGVsL2ludGVybmFsL29wdGlvbnMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YXNldFNlcnZpY2U8VCBleHRlbmRzIERhdGFzZXRPcHRpb25zIHwgRGF0YXNldE9wdGlvbnNbXT4ge1xuXG4gICAgcHVibGljIGRhdGFzZXRJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICBwdWJsaWMgZGF0YXNldE9wdGlvbnM6IE1hcDxzdHJpbmcsIFQ+ID0gbmV3IE1hcCgpO1xuXG4gICAgcHVibGljIGRhdGFzZXRJZHNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICogQWRkcyB0aGUgZGF0YXNldCB0byB0aGUgc2VsZWN0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW50ZXJuYWxJZFxuICAgICAqIEBwYXJhbSBbb3B0aW9uc11cbiAgICAgKiBAcmV0dXJucyBTdWNjZXNzZnVsbCBhZGRlZCB0aGUgZGF0YXNldC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkRGF0YXNldChpbnRlcm5hbElkOiBzdHJpbmcsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFzZXRJZHMuaW5kZXhPZihpbnRlcm5hbElkKSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YXNldElkcy5wdXNoKGludGVybmFsSWQpO1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFzZXRPcHRpb25zLnNldChpbnRlcm5hbElkLCBvcHRpb25zKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhc2V0T3B0aW9ucy5zZXQoaW50ZXJuYWxJZCwgdGhpcy5jcmVhdGVTdHlsZXMoaW50ZXJuYWxJZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zYXZlU3RhdGUoKTtcbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXAgPSAodGhpcy5kYXRhc2V0T3B0aW9ucy5nZXQoaW50ZXJuYWxJZCkgYXMgRGF0YXNldE9wdGlvbnNbXSk7XG4gICAgICAgICAgICBvcHRpb25zLmZvckVhY2goKGUpID0+IHRlbXAucHVzaChlKSk7XG4gICAgICAgICAgICB0aGlzLnNhdmVTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGF0YXNldElkc0NoYW5nZWQuZW1pdCh0aGlzLmRhdGFzZXRJZHMpO1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUFsbERhdGFzZXRzKCkge1xuICAgICAgICB0aGlzLmRhdGFzZXRJZHMubGVuZ3RoID0gMDtcbiAgICAgICAgdGhpcy5kYXRhc2V0T3B0aW9ucy5jbGVhcigpO1xuICAgICAgICB0aGlzLmRhdGFzZXRJZHNDaGFuZ2VkLmVtaXQodGhpcy5kYXRhc2V0SWRzKTtcbiAgICAgICAgdGhpcy5zYXZlU3RhdGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlRGF0YXNldChpbnRlcm5hbElkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZGF0YXNldElkeCA9IHRoaXMuZGF0YXNldElkcy5pbmRleE9mKGludGVybmFsSWQpO1xuICAgICAgICBpZiAoZGF0YXNldElkeCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFzZXRJZHMuc3BsaWNlKGRhdGFzZXRJZHgsIDEpO1xuICAgICAgICAgICAgdGhpcy5kYXRhc2V0T3B0aW9ucy5kZWxldGUoaW50ZXJuYWxJZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kYXRhc2V0SWRzQ2hhbmdlZC5lbWl0KHRoaXMuZGF0YXNldElkcyk7XG4gICAgICAgIHRoaXMuc2F2ZVN0YXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0RhdGFzZXRzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhc2V0SWRzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0RhdGFzZXQoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhc2V0SWRzLmluZGV4T2YoaWQpID49IDA7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZURhdGFzZXRPcHRpb25zKG9wdGlvbnM6IFQsIGludGVybmFsSWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmRhdGFzZXRPcHRpb25zLnNldChpbnRlcm5hbElkLCBvcHRpb25zKTtcbiAgICAgICAgdGhpcy5zYXZlU3RhdGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlU3R5bGVzKGludGVybmFsSWQ6IHN0cmluZyk6IFQ7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2F2ZVN0YXRlKCk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9hZFN0YXRlKCk6IHZvaWQ7XG5cbn1cbiJdfQ==