UNPKG

dockview

Version:

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

48 lines 1.95 kB
"use strict"; var __values = (this && this.__values) || function(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultDeserializer = void 0; var DefaultDeserializer = /** @class */ (function () { function DefaultDeserializer(layout, panelDeserializer) { this.layout = layout; this.panelDeserializer = panelDeserializer; } DefaultDeserializer.prototype.fromJSON = function (node) { var e_1, _a; var children = node.data.views; var active = node.data.activeView; var panels = []; try { for (var children_1 = __values(children), children_1_1 = children_1.next(); !children_1_1.done; children_1_1 = children_1.next()) { var child = children_1_1.value; var panel = this.panelDeserializer.createPanel(child); panels.push(panel); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (children_1_1 && !children_1_1.done && (_a = children_1.return)) _a.call(children_1); } finally { if (e_1) throw e_1.error; } } return this.layout.createGroup({ panels: panels, activePanel: panels.find(function (p) { return p.id === active; }), id: node.data.id, }); }; return DefaultDeserializer; }()); exports.DefaultDeserializer = DefaultDeserializer; //# sourceMappingURL=deserializer.js.map