UNPKG

dockview

Version:

Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support

40 lines 2.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReactPanelDeserialzier = void 0; var dockviewGroupPanel_1 = require("../dockview/dockviewGroupPanel"); var componentFactory_1 = require("../panel/componentFactory"); var component_api_1 = require("../api/component.api"); var defaultTab_1 = require("../dockview/components/tab/defaultTab"); var defaultGroupPanelView_1 = require("../dockview/defaultGroupPanelView"); var ReactPanelDeserialzier = /** @class */ (function () { function ReactPanelDeserialzier(layout) { this.layout = layout; } ReactPanelDeserialzier.prototype.fromJSON = function (panelData) { var _a, _b, _c; var panelId = panelData.id; var params = panelData.params; var title = panelData.title; var state = panelData.state; var suppressClosable = panelData.suppressClosable; var viewData = panelData.view; var view = new defaultGroupPanelView_1.DefaultGroupPanelView({ content: (0, componentFactory_1.createComponent)(viewData.content.id, viewData.content.id, this.layout.options.components, this.layout.options.frameworkComponents, (_a = this.layout.options.frameworkComponentFactory) === null || _a === void 0 ? void 0 : _a.content), tab: ((_b = viewData.tab) === null || _b === void 0 ? void 0 : _b.id) ? (0, componentFactory_1.createComponent)(viewData.tab.id, viewData.tab.id, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_c = this.layout.options.frameworkComponentFactory) === null || _c === void 0 ? void 0 : _c.tab) : new defaultTab_1.DefaultTab(), }); var panel = new dockviewGroupPanel_1.DockviewGroupPanel(panelId, new component_api_1.DockviewApi(this.layout)); panel.init({ view: view, title: title, suppressClosable: suppressClosable, params: params || {}, state: state || {}, }); return panel; }; return ReactPanelDeserialzier; }()); exports.ReactPanelDeserialzier = ReactPanelDeserialzier; //# sourceMappingURL=deserializer.js.map