UNPKG

dcl-ui-toolkit

Version:

A collection of UI helpers to make it easier to build a Decentraland scene using the SDK 7.

51 lines 5.93 kB
import { Timer } from '../../utils/timerUtils'; export class UIObject { constructor({ startHidden = true }) { this.visible = !startHidden; } show(duration) { this.visible = true; } hide() { this.visible = false; } isVisible() { return this.visible; } } export class DelayedHidingUIObject extends UIObject { constructor(config) { super(config); const { startHidden, duration } = config; if (!startHidden && duration) { this._createAndStartTimer(duration); } } show(duration) { super.show(); this._createAndStartTimer(duration); } hide() { super.hide(); this._clearTimer(); } _createAndStartTimer(duration) { if (!duration || !this.visible) return; this._clearTimer(); this._timer = new Timer({ seconds: duration, callback: () => { console.log('end timer callback_________________'); this.hide(); }, }); this._timer.start(); } _clearTimer() { if (!this._timer) return; this._timer.stop(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWktZW50aXRpZXMvVUlPYmplY3QvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQWlDOUMsTUFBTSxPQUFnQixRQUFRO0lBRzVCLFlBQXNCLEVBQUUsV0FBVyxHQUFHLElBQUksRUFBa0I7UUFDMUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQTtJQUM3QixDQUFDO0lBS00sSUFBSSxDQUFDLFFBQWlCO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO0lBQ3JCLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7SUFDdEIsQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztDQUNGO0FBTUQsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSxRQUFRO0lBRzFELFlBQXNCLE1BQW1DO1FBQ3ZELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUViLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBRXhDLElBQUksQ0FBQyxXQUFXLElBQUksUUFBUSxFQUFFO1lBQzVCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtTQUNwQztJQUNILENBQUM7SUFFTSxJQUFJLENBQUMsUUFBaUI7UUFDM0IsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRVosSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFTSxJQUFJO1FBQ1QsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRVosSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ3BCLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxRQUFpQjtRQUM1QyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFNO1FBRXRDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUVsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxHQUFTLEVBQUU7Z0JBQ25CLE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQTtnQkFDbEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ2IsQ0FBQztTQUNGLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDckIsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTTtRQUV4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdEVjcyBmcm9tICdAZGNsL3Nkay9yZWFjdC1lY3MnXG5cbmltcG9ydCB7IFRpbWVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvdGltZXJVdGlscydcblxuZXhwb3J0IGludGVyZmFjZSBVSU9iamVjdEludGVyZmFjZSB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIFVpRW50aXR5LlxuICAgKi9cbiAgcmVuZGVyKGtleT86IHN0cmluZyk6IFJlYWN0RWNzLkpTWC5FbGVtZW50XG5cbiAgLyoqXG4gICAqIE1ha2VzIGFuIGludmlzaWJsZSB2aXNpYmxlLlxuICAgKi9cbiAgc2hvdygpOiB2b2lkXG5cbiAgLyoqXG4gICAqIE1ha2VzIGFuIGludmlzaWJsZSB2aXNpYmxlIHdpdGggZGVsYXllZCBoaWRpbmcuXG4gICAqL1xuICBzaG93KGR1cmF0aW9uPzogbnVtYmVyKTogdm9pZFxuXG4gIC8qKlxuICAgKiBNYWtlcyB2aXNpYmxlIGFuIGludmlzaWJsZS5cbiAgICovXG4gIGhpZGUoKTogdm9pZFxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBvYmplY3RcbiAgICovXG4gIGlzVmlzaWJsZSgpOiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIFVJT2JqZWN0Q29uZmlnID0ge1xuICBzdGFydEhpZGRlbj86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFVJT2JqZWN0IGltcGxlbWVudHMgVUlPYmplY3RJbnRlcmZhY2Uge1xuICBwcm90ZWN0ZWQgdmlzaWJsZTogYm9vbGVhblxuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcih7IHN0YXJ0SGlkZGVuID0gdHJ1ZSB9OiBVSU9iamVjdENvbmZpZykge1xuICAgIHRoaXMudmlzaWJsZSA9ICFzdGFydEhpZGRlblxuICB9XG5cbiAgYWJzdHJhY3QgcmVuZGVyKGtleT86IHN0cmluZyk6IFJlYWN0RWNzLkpTWC5FbGVtZW50XG5cbiAgcHVibGljIHNob3coKTogdm9pZFxuICBwdWJsaWMgc2hvdyhkdXJhdGlvbj86IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWVcbiAgfVxuXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlXG4gIH1cblxuICBwdWJsaWMgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBEZWxheWVkSGlkaW5nVUlPYmplY3RDb25maWcgPSBVSU9iamVjdENvbmZpZyAmIHtcbiAgZHVyYXRpb24/OiBudW1iZXJcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERlbGF5ZWRIaWRpbmdVSU9iamVjdCBleHRlbmRzIFVJT2JqZWN0IHtcbiAgcHJpdmF0ZSBfdGltZXI6IFRpbWVyIHwgdW5kZWZpbmVkXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGNvbmZpZzogRGVsYXllZEhpZGluZ1VJT2JqZWN0Q29uZmlnKSB7XG4gICAgc3VwZXIoY29uZmlnKVxuXG4gICAgY29uc3QgeyBzdGFydEhpZGRlbiwgZHVyYXRpb24gfSA9IGNvbmZpZ1xuXG4gICAgaWYgKCFzdGFydEhpZGRlbiAmJiBkdXJhdGlvbikge1xuICAgICAgdGhpcy5fY3JlYXRlQW5kU3RhcnRUaW1lcihkdXJhdGlvbilcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvdyhkdXJhdGlvbj86IG51bWJlcik6IHZvaWQge1xuICAgIHN1cGVyLnNob3coKVxuXG4gICAgdGhpcy5fY3JlYXRlQW5kU3RhcnRUaW1lcihkdXJhdGlvbilcbiAgfVxuXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIHN1cGVyLmhpZGUoKVxuXG4gICAgdGhpcy5fY2xlYXJUaW1lcigpXG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVBbmRTdGFydFRpbWVyKGR1cmF0aW9uPzogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCFkdXJhdGlvbiB8fCAhdGhpcy52aXNpYmxlKSByZXR1cm5cblxuICAgIHRoaXMuX2NsZWFyVGltZXIoKVxuXG4gICAgdGhpcy5fdGltZXIgPSBuZXcgVGltZXIoe1xuICAgICAgc2Vjb25kczogZHVyYXRpb24sXG4gICAgICBjYWxsYmFjazogKCk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnZW5kIHRpbWVyIGNhbGxiYWNrX19fX19fX19fX19fX19fX18nKVxuICAgICAgICB0aGlzLmhpZGUoKVxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgdGhpcy5fdGltZXIuc3RhcnQoKVxuICB9XG5cbiAgcHJpdmF0ZSBfY2xlYXJUaW1lcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3RpbWVyKSByZXR1cm5cblxuICAgIHRoaXMuX3RpbWVyLnN0b3AoKVxuICB9XG59XG4iXX0=