Files
UXP-Fixed/devtools/client/inspector/layout/layout.js
T
2018-02-02 04:16:08 -05:00

56 lines
1.5 KiB
JavaScript

/* 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 Services = require("Services");
const { createFactory, createElement } = require("devtools/client/shared/vendor/react");
const { Provider } = require("devtools/client/shared/vendor/react-redux");
const App = createFactory(require("./components/App"));
const Store = require("./store");
const { LocalizationHelper } = require("devtools/shared/l10n");
const INSPECTOR_L10N =
new LocalizationHelper("devtools/client/locales/inspector.properties");
function LayoutView(inspector, window) {
this.inspector = inspector;
this.document = window.document;
this.store = null;
this.init();
}
LayoutView.prototype = {
init() {
let store = this.store = Store();
let provider = createElement(Provider, {
store,
id: "layoutview",
title: INSPECTOR_L10N.getStr("inspector.sidebar.layoutViewTitle"),
key: "layoutview",
}, App());
let defaultTab = Services.prefs.getCharPref("devtools.inspector.activeSidebar");
this.inspector.addSidebarTab(
"layoutview",
INSPECTOR_L10N.getStr("inspector.sidebar.layoutViewTitle"),
provider,
defaultTab == "layoutview"
);
},
destroy() {
this.inspector = null;
this.document = null;
this.store = null;
},
};
exports.LayoutView = LayoutView;