UNPKG

sunshine-layx

Version:

A magical window.

114 lines (113 loc) 4.93 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var UIComponent_1 = require("../basic/models/UIComponent"); var UISalverButton_1 = require("./UISalverButton"); var ElementHelper = require("../utils/ElementHelper"); var UISalverBar = (function (_super) { __extends(UISalverBar, _super); function UISalverBar(app) { var _this = _super.call(this, app) || this; _this.elementId = "" + (_this.app.prefix + "salver-bar"); _this.parsecloseCount = 0; _this._element = null; _this._items = []; return _this; } Object.defineProperty(UISalverBar.prototype, "element", { get: function () { return document.getElementById("" + this.elementId); }, enumerable: true, configurable: true }); Object.defineProperty(UISalverBar.prototype, "items", { get: function () { return this._items; }, set: function (value) { this._items = value; }, enumerable: true, configurable: true }); UISalverBar.prototype.present = function () { var fragment = ElementHelper.createFragment(); var salverBarElement = ElementHelper.createElement("div"); salverBarElement.id = this.elementId; ElementHelper.addClasses(salverBarElement, this.app.prefix, "salver-bar", "animate-d3s", "flexbox", "flex-row"); ElementHelper.addStyles(salverBarElement, { zIndex: "" + this.app.salverZIndex, height: UISalverButton_1.default.size + "px", bottom: "-" + (UISalverButton_1.default.size - UISalverButton_1.default.talentHeight) + "px" }); fragment.appendChild(salverBarElement); return fragment; }; UISalverBar.prototype.addOrUpdateItem = function () { var salverElement = this.element; if (!this.app.window || !salverElement) return; var lastWindow = this.app.lastWindow; if (lastWindow) { var lastSalverButton = new UISalverButton_1.default(this.app, lastWindow.id); ElementHelper.removeClasses(lastSalverButton.element, this.app.prefix, "salver-button-active"); } var windowId = this.app.window.id; var salverButton = new UISalverButton_1.default(this.app, windowId); if (this.items.indexOf(windowId) === -1) { var salverButtonElement = salverButton.present(); salverElement.appendChild(salverButtonElement); this.items.push(windowId); this.updateOffset(); } else { ElementHelper.addClasses(salverButton.element, this.app.prefix, "salver-button-active"); } }; UISalverBar.prototype.removeItem = function () { var salverElement = this.element; if (!this.app.window || !salverElement) return; var windowId = this.app.window.id; var salverButton = new UISalverButton_1.default(this.app, windowId); ElementHelper.removeElement(salverButton.element); var index = this.items.indexOf(windowId); this.items.splice(index, 1); this.updateOffset(); }; UISalverBar.prototype.updateOffset = function () { var salverElement = this.element; if (!salverElement) return; var itemsWidth = this.items.length * UISalverButton_1.default.size; ElementHelper.addStyles(salverElement, { left: (innerWidth - itemsWidth) / 2 + "px" }); }; UISalverBar.prototype.show = function (isVisible) { if (isVisible === void 0) { isVisible = true; } if (isVisible) { ElementHelper.removeClasses(this.element, this.app.prefix, "animate-salver-slide-down"); ElementHelper.addClasses(this.element, this.app.prefix, "animate-salver-slide-up", "salver-bar-keep"); } else { ElementHelper.removeClasses(this.element, this.app.prefix, "animate-salver-slide-up", "salver-bar-keep"); ElementHelper.addClasses(this.element, this.app.prefix, "animate-salver-slide-down"); } }; return UISalverBar; }(UIComponent_1.default)); exports.default = UISalverBar;