summaryrefslogtreecommitdiffstats
path: root/application/basilisk/components/syncedtabs/SyncedTabsDeckStore.js
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-06-04 18:21:04 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-06-04 18:21:04 +0200
commitdee00a8a79394559e0e868cc72464c2de24583ac (patch)
tree18dc2e3db8127ceabcf9b03416b135bced2976ad /application/basilisk/components/syncedtabs/SyncedTabsDeckStore.js
parent851cfd198bc01020cd411d4f1cd6586222700269 (diff)
parent363bfeb2c06e5f57136ebdab8da1ebeba0591520 (diff)
downloadUXP-dee00a8a79394559e0e868cc72464c2de24583ac.tar
UXP-dee00a8a79394559e0e868cc72464c2de24583ac.tar.gz
UXP-dee00a8a79394559e0e868cc72464c2de24583ac.tar.lz
UXP-dee00a8a79394559e0e868cc72464c2de24583ac.tar.xz
UXP-dee00a8a79394559e0e868cc72464c2de24583ac.zip
Merge branch 'master' into Basilisk-release
Diffstat (limited to 'application/basilisk/components/syncedtabs/SyncedTabsDeckStore.js')
-rw-r--r--application/basilisk/components/syncedtabs/SyncedTabsDeckStore.js60
1 files changed, 0 insertions, 60 deletions
diff --git a/application/basilisk/components/syncedtabs/SyncedTabsDeckStore.js b/application/basilisk/components/syncedtabs/SyncedTabsDeckStore.js
deleted file mode 100644
index ede6914c8..000000000
--- a/application/basilisk/components/syncedtabs/SyncedTabsDeckStore.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-"use strict";
-
-const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
-
-let { EventEmitter } = Cu.import("resource:///modules/syncedtabs/EventEmitter.jsm", {});
-
-this.EXPORTED_SYMBOLS = [
- "SyncedTabsDeckStore"
-];
-
-/**
- * SyncedTabsDeckStore
- *
- * This store keeps track of the deck view state, including the panels and which
- * one is selected. The view listens for change events on the store, which are
- * triggered whenever the state changes. If it's a small change, the state
- * will have `isUpdatable` set to true so the view can skip rerendering the whole
- * DOM.
- */
-function SyncedTabsDeckStore() {
- EventEmitter.call(this);
- this._panels = [];
-}
-
-Object.assign(SyncedTabsDeckStore.prototype, EventEmitter.prototype, {
- _change(isUpdatable = false) {
- let panels = this._panels.map(panel => {
- return {id: panel, selected: panel === this._selectedPanel};
- });
- this.emit("change", {panels, isUpdatable: isUpdatable});
- },
-
- /**
- * Sets the selected panelId and triggers a change event.
- * @param {String} panelId - ID of the panel to select.
- */
- selectPanel(panelId) {
- if (this._panels.indexOf(panelId) === -1 || this._selectedPanel === panelId) {
- return;
- }
- this._selectedPanel = panelId;
- this._change(true);
- },
-
- /**
- * Update the set of panels in the deck and trigger a change event.
- * @param {Array} panels - an array of IDs for each panel in the deck.
- */
- setPanels(panels) {
- if (panels === this._panels) {
- return;
- }
- this._panels = panels || [];
- this._change();
- }
-});