@greenmice/ngx-cesium
Version:
Angular library for working with Cesium.
44 lines • 4.55 kB
JavaScript
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==