UNPKG

threepipe

Version:

A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.

58 lines 2.5 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; import { createDiv, onChange, serialize } from 'ts-browser-helpers'; import { AViewerPluginSync } from '../../viewer'; import { uiToggle } from 'uiconfig.js'; export class AAssetManagerProcessStatePlugin extends AViewerPluginSync { _onEnabledChange() { if (!this.enabled) this._mainDiv.style.display = 'none'; } constructor(suffix, container) { super(); this.container = container; this.enabled = true; this._mainDiv = createDiv({ id: 'assetManager' + suffix, addToBody: false, innerHTML: '', }); this._contentDiv = createDiv({ id: 'assetManager' + suffix + 'Content', addToBody: false, innerHTML: '', }); if (!this.enabled) { this._mainDiv.style.display = 'none'; } this._mainDiv.appendChild(this._contentDiv); this._onProcessStateUpdate = this._onProcessStateUpdate.bind(this); } onAdded(viewer) { super.onAdded(viewer); (this.container ?? viewer.container).appendChild(this._mainDiv); this._updateMainDiv(viewer.assetManager.processState); viewer.assetManager.addEventListener('processStateUpdate', this._onProcessStateUpdate); } _onProcessStateUpdate() { if (!this._viewer) return; this._updateMainDiv(this._viewer.assetManager.processState); } onRemove(viewer) { this._mainDiv.remove(); // this._contentDiv?.remove() viewer.assetManager.removeEventListener('processStateUpdate', this._onProcessStateUpdate); return super.onRemove(viewer); } } __decorate([ uiToggle('Enabled'), onChange(AAssetManagerProcessStatePlugin.prototype._onEnabledChange), serialize() ], AAssetManagerProcessStatePlugin.prototype, "enabled", void 0); //# sourceMappingURL=AAssetManagerProcessStatePlugin.js.map