angular-cesium
Version:
Angular library for working with Cesium.
44 lines • 4.69 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvY2VzaXVtLWV4dGVuZGVyL2NvbGxlY3Rpb25zL2h0bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNVLGdCQUFXLEdBQW9CLEVBQUUsQ0FBQztJQWdENUMsQ0FBQztJQTlDQyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQVk7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQW1CO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTTtRQUNKLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQW1CO1FBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdG1sUHJpbWl0aXZlIH0gZnJvbSAnLi4vcHJpbWl0aXZlcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgSHRtbENvbGxlY3Rpb24ge1xyXG4gIHByaXZhdGUgX2NvbGxlY3Rpb246IEh0bWxQcmltaXRpdmVbXSA9IFtdO1xyXG5cclxuICBnZXQgbGVuZ3RoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbGxlY3Rpb24ubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgZ2V0KGluZGV4OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2xsZWN0aW9uW2luZGV4XTtcclxuICB9XHJcblxyXG4gIGFkZChvcHRpb25zOiBhbnkpOiBIdG1sUHJpbWl0aXZlIHtcclxuICAgIGNvbnN0IGh0bWwgPSBuZXcgSHRtbFByaW1pdGl2ZShvcHRpb25zLCB0aGlzKTtcclxuICAgIHRoaXMuX2NvbGxlY3Rpb24ucHVzaChodG1sKTtcclxuXHJcbiAgICByZXR1cm4gaHRtbDtcclxuICB9XHJcblxyXG4gIHJlbW92ZShodG1sOiBIdG1sUHJpbWl0aXZlKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuX2NvbGxlY3Rpb24uaW5kZXhPZihodG1sKTtcclxuICAgIGlmIChpbmRleCA9PT0gKC0xKSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fY29sbGVjdGlvbltpbmRleF0ucmVtb3ZlKCk7XHJcbiAgICB0aGlzLl9jb2xsZWN0aW9uLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZSgpIHtcclxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLl9jb2xsZWN0aW9uLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIHRoaXMuX2NvbGxlY3Rpb25baV0udXBkYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVBbGwoKSB7XHJcbiAgICB3aGlsZSAodGhpcy5fY29sbGVjdGlvbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGh0bWwgPSB0aGlzLl9jb2xsZWN0aW9uLnBvcCgpO1xyXG4gICAgICBodG1sLnJlbW92ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29udGFpbnMoaHRtbDogSHRtbFByaW1pdGl2ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENlc2l1bS5kZWZpbmVkKGh0bWwpICYmIGh0bWwuY29sbGVjdGlvbiA9PT0gdGhpcztcclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnJlbW92ZUFsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=