UNPKG

@greenmice/ngx-cesium

Version:
44 lines 4.55 kB
import { HtmlPrimitive } from '../primitives'; export class HtmlCollection { constructor() { this._collection = []; } get length() { return this._collection.length; } get(index) { return this._collection[index]; } add(options) { const html = new HtmlPrimitive(options, this); this._collection.push(html); return html; } remove(html) { const index = this._collection.indexOf(html); if (index === (-1)) { return false; } this._collection[index].remove(); this._collection.splice(index, 1); return true; } update() { for (let i = 0, len = this._collection.length; i < len; i++) { this._collection[i].update(); } } removeAll() { while (this._collection.length > 0) { const html = this._collection.pop(); html.remove(); } } contains(html) { return Cesium.defined(html) && html.collection === this; } destroy() { this.removeAll(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvY2VzaXVtLWV4dGVuZGVyL2NvbGxlY3Rpb25zL2h0bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNVLGdCQUFXLEdBQW9CLEVBQUUsQ0FBQztJQWdENUMsQ0FBQztJQTlDQyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQVk7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQW1CO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU07UUFDSixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFtQjtRQUMxQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHRtbFByaW1pdGl2ZSB9IGZyb20gJy4uL3ByaW1pdGl2ZXMnO1xuXG5leHBvcnQgY2xhc3MgSHRtbENvbGxlY3Rpb24ge1xuICBwcml2YXRlIF9jb2xsZWN0aW9uOiBIdG1sUHJpbWl0aXZlW10gPSBbXTtcblxuICBnZXQgbGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLl9jb2xsZWN0aW9uLmxlbmd0aDtcbiAgfVxuXG4gIGdldChpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbGxlY3Rpb25baW5kZXhdO1xuICB9XG5cbiAgYWRkKG9wdGlvbnM6IGFueSk6IEh0bWxQcmltaXRpdmUge1xuICAgIGNvbnN0IGh0bWwgPSBuZXcgSHRtbFByaW1pdGl2ZShvcHRpb25zLCB0aGlzKTtcbiAgICB0aGlzLl9jb2xsZWN0aW9uLnB1c2goaHRtbCk7XG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIHJlbW92ZShodG1sOiBIdG1sUHJpbWl0aXZlKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLl9jb2xsZWN0aW9uLmluZGV4T2YoaHRtbCk7XG4gICAgaWYgKGluZGV4ID09PSAoLTEpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5fY29sbGVjdGlvbltpbmRleF0ucmVtb3ZlKCk7XG4gICAgdGhpcy5fY29sbGVjdGlvbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLl9jb2xsZWN0aW9uLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICB0aGlzLl9jb2xsZWN0aW9uW2ldLnVwZGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUFsbCgpIHtcbiAgICB3aGlsZSAodGhpcy5fY29sbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBodG1sID0gdGhpcy5fY29sbGVjdGlvbi5wb3AoKTtcbiAgICAgIGh0bWwucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cbiAgY29udGFpbnMoaHRtbDogSHRtbFByaW1pdGl2ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDZXNpdW0uZGVmaW5lZChodG1sKSAmJiBodG1sLmNvbGxlY3Rpb24gPT09IHRoaXM7XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlQWxsKCk7XG4gIH1cbn1cbiJdfQ==