@deephaven/golden-layout 1.11.0 → 1.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -6
- package/dist/LayoutManager.d.ts +11 -6
- package/dist/LayoutManager.d.ts.map +1 -1
- package/dist/LayoutManager.js +10 -4
- package/dist/LayoutManager.js.map +1 -1
- package/dist/__tests__/component-creation-events.test.d.ts +2 -0
- package/dist/__tests__/component-creation-events.test.d.ts.map +1 -0
- package/dist/__tests__/component-state-save.test.d.ts +2 -0
- package/dist/__tests__/component-state-save.test.d.ts.map +1 -0
- package/dist/__tests__/create-config.test.d.ts +2 -0
- package/dist/__tests__/create-config.test.d.ts.map +1 -0
- package/dist/__tests__/create-from-config.test.d.ts +2 -0
- package/dist/__tests__/create-from-config.test.d.ts.map +1 -0
- package/dist/__tests__/deferred-create-drag.test.d.ts +2 -0
- package/dist/__tests__/deferred-create-drag.test.d.ts.map +1 -0
- package/dist/__tests__/disabled-selection.test.d.ts +2 -0
- package/dist/__tests__/disabled-selection.test.d.ts.map +1 -0
- package/dist/__tests__/drag.test.d.ts +2 -0
- package/dist/__tests__/drag.test.d.ts.map +1 -0
- package/dist/__tests__/empty-item.test.d.ts +2 -0
- package/dist/__tests__/empty-item.test.d.ts.map +1 -0
- package/dist/__tests__/enabled-selection.test.d.ts +2 -0
- package/dist/__tests__/enabled-selection.test.d.ts.map +1 -0
- package/dist/__tests__/event-bubble.test.d.ts +2 -0
- package/dist/__tests__/event-bubble.test.d.ts.map +1 -0
- package/dist/__tests__/event-emitter.test.d.ts +2 -0
- package/dist/__tests__/event-emitter.test.d.ts.map +1 -0
- package/dist/__tests__/id.test.d.ts +2 -0
- package/dist/__tests__/id.test.d.ts.map +1 -0
- package/dist/__tests__/initialisation.test.d.ts +2 -0
- package/dist/__tests__/initialisation.test.d.ts.map +1 -0
- package/dist/__tests__/item-creation-events.test.d.ts +2 -0
- package/dist/__tests__/item-creation-events.test.d.ts.map +1 -0
- package/dist/__tests__/minifier.test.d.ts +2 -0
- package/dist/__tests__/minifier.test.d.ts.map +1 -0
- package/dist/__tests__/popout.test.d.ts +2 -0
- package/dist/__tests__/popout.test.d.ts.map +1 -0
- package/dist/__tests__/selector.test.d.ts +2 -0
- package/dist/__tests__/selector.test.d.ts.map +1 -0
- package/dist/__tests__/tab.test.d.ts +2 -0
- package/dist/__tests__/tab.test.d.ts.map +1 -0
- package/dist/__tests__/title.test.d.ts +2 -0
- package/dist/__tests__/title.test.d.ts.map +1 -0
- package/dist/__tests__/tree-manipulation.test.d.ts +2 -0
- package/dist/__tests__/tree-manipulation.test.d.ts.map +1 -0
- package/dist/__tests__/xss.test.d.ts +2 -0
- package/dist/__tests__/xss.test.d.ts.map +1 -0
- package/dist/config/Config.d.ts +17 -0
- package/dist/config/Config.d.ts.map +1 -1
- package/dist/config/Config.js +11 -0
- package/dist/config/Config.js.map +1 -1
- package/dist/config/ItemConfig.d.ts +2 -1
- package/dist/config/ItemConfig.d.ts.map +1 -1
- package/dist/config/ItemConfig.js.map +1 -1
- package/dist/controls/Tab.d.ts +6 -0
- package/dist/controls/Tab.d.ts.map +1 -1
- package/dist/controls/Tab.js +26 -0
- package/dist/controls/Tab.js.map +1 -1
- package/dist/items/AbstractContentItem.d.ts +1 -1
- package/dist/items/AbstractContentItem.d.ts.map +1 -1
- package/dist/items/AbstractContentItem.js +2 -2
- package/dist/items/AbstractContentItem.js.map +1 -1
- package/dist/test-utils/testUtils.d.ts +40 -0
- package/dist/test-utils/testUtils.d.ts.map +1 -0
- package/dist/test-utils/testUtils.js +119 -0
- package/dist/test-utils/testUtils.js.map +1 -0
- package/dist/utils/ConfigMinifier.d.ts +2 -2
- package/dist/utils/ConfigMinifier.d.ts.map +1 -1
- package/dist/utils/ConfigMinifier.js.map +1 -1
- package/package.json +4 -14
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { PartialConfig } from '../config';
|
|
2
|
+
import type { ItemContainer } from '../container';
|
|
3
|
+
import LayoutManager from '../LayoutManager';
|
|
4
|
+
/**
|
|
5
|
+
* Test component used in layout tests.
|
|
6
|
+
* Mimics the behavior of the original testTools.TestComponent.
|
|
7
|
+
*/
|
|
8
|
+
export declare class TestComponent {
|
|
9
|
+
isTestComponentInstance: boolean;
|
|
10
|
+
constructor(container: ItemContainer, state?: unknown);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Creates a layout with the given configuration and waits for it to initialize.
|
|
14
|
+
* @param config The layout configuration
|
|
15
|
+
* @returns A promise that resolves to the initialized layout
|
|
16
|
+
*/
|
|
17
|
+
export declare function createLayout(config: PartialConfig): Promise<LayoutManager>;
|
|
18
|
+
/**
|
|
19
|
+
* Waits for a layout to be initialized.
|
|
20
|
+
* @param layout The layout to wait for
|
|
21
|
+
* @param timeout Optional timeout in milliseconds (default: 5000)
|
|
22
|
+
*/
|
|
23
|
+
export declare function waitForLayoutInit(layout: LayoutManager, timeout?: number): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Takes a path of type.index.type.index, e.g.
|
|
26
|
+
* 'row.0.stack.1.component'
|
|
27
|
+
* and resolves it to an element.
|
|
28
|
+
*
|
|
29
|
+
* @param path The path string
|
|
30
|
+
* @param layout The layout instance
|
|
31
|
+
* @returns The content item at the path, or null if not found
|
|
32
|
+
*/
|
|
33
|
+
export declare function verifyPath(path: string, layout: LayoutManager): any | null;
|
|
34
|
+
/**
|
|
35
|
+
* Cleans up the layout and DOM after a test.
|
|
36
|
+
* Verifies that destruction succeeds when the layout was initialized and not already destroyed.
|
|
37
|
+
* @param layout The layout to destroy
|
|
38
|
+
*/
|
|
39
|
+
export declare function cleanupLayout(layout: LayoutManager | null | undefined): void;
|
|
40
|
+
//# sourceMappingURL=testUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/test-utils/testUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C;;;GAGG;AACH,qBAAa,aAAa;IACxB,uBAAuB,UAAQ;gBAEnB,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO;CAQtD;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CAYxB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,OAAO,SAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;;;;;;GAQG;AAEH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,GAAG,GAAG,IAAI,CAqB1E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAQ5E"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
2
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
3
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
5
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
|
+
import LayoutManager from "../LayoutManager.js";
|
|
7
|
+
/**
|
|
8
|
+
* Test component used in layout tests.
|
|
9
|
+
* Mimics the behavior of the original testTools.TestComponent.
|
|
10
|
+
*/
|
|
11
|
+
export class TestComponent {
|
|
12
|
+
constructor(container, state) {
|
|
13
|
+
_defineProperty(this, "isTestComponentInstance", true);
|
|
14
|
+
var htmlState = state;
|
|
15
|
+
if (htmlState === undefined) {
|
|
16
|
+
container.getElement().html('that worked');
|
|
17
|
+
} else {
|
|
18
|
+
var _htmlState$html;
|
|
19
|
+
container.getElement().html((_htmlState$html = htmlState.html) !== null && _htmlState$html !== void 0 ? _htmlState$html : '');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Creates a layout with the given configuration and waits for it to initialize.
|
|
26
|
+
* @param config The layout configuration
|
|
27
|
+
* @returns A promise that resolves to the initialized layout
|
|
28
|
+
*/
|
|
29
|
+
export function createLayout(_x) {
|
|
30
|
+
return _createLayout.apply(this, arguments);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Waits for a layout to be initialized.
|
|
35
|
+
* @param layout The layout to wait for
|
|
36
|
+
* @param timeout Optional timeout in milliseconds (default: 5000)
|
|
37
|
+
*/
|
|
38
|
+
function _createLayout() {
|
|
39
|
+
_createLayout = _asyncToGenerator(function* (config) {
|
|
40
|
+
var container = document.createElement('div');
|
|
41
|
+
container.style.width = '800px';
|
|
42
|
+
container.style.height = '600px';
|
|
43
|
+
document.body.appendChild(container);
|
|
44
|
+
var layout = new LayoutManager(config, container);
|
|
45
|
+
layout.registerComponent('testComponent', TestComponent);
|
|
46
|
+
layout.init();
|
|
47
|
+
yield waitForLayoutInit(layout);
|
|
48
|
+
return layout;
|
|
49
|
+
});
|
|
50
|
+
return _createLayout.apply(this, arguments);
|
|
51
|
+
}
|
|
52
|
+
export function waitForLayoutInit(_x2) {
|
|
53
|
+
return _waitForLayoutInit.apply(this, arguments);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Takes a path of type.index.type.index, e.g.
|
|
58
|
+
* 'row.0.stack.1.component'
|
|
59
|
+
* and resolves it to an element.
|
|
60
|
+
*
|
|
61
|
+
* @param path The path string
|
|
62
|
+
* @param layout The layout instance
|
|
63
|
+
* @returns The content item at the path, or null if not found
|
|
64
|
+
*/
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
66
|
+
function _waitForLayoutInit() {
|
|
67
|
+
_waitForLayoutInit = _asyncToGenerator(function* (layout) {
|
|
68
|
+
var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
|
|
69
|
+
return new Promise((resolve, reject) => {
|
|
70
|
+
if (layout.isInitialised) {
|
|
71
|
+
resolve();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
var timeoutId = setTimeout(() => {
|
|
75
|
+
reject(new Error('Layout initialization timeout'));
|
|
76
|
+
}, timeout);
|
|
77
|
+
layout.on('initialised', () => {
|
|
78
|
+
clearTimeout(timeoutId);
|
|
79
|
+
resolve();
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
return _waitForLayoutInit.apply(this, arguments);
|
|
84
|
+
}
|
|
85
|
+
export function verifyPath(path, layout) {
|
|
86
|
+
expect(layout.root).toBeDefined();
|
|
87
|
+
expect(layout.root.contentItems.length).toBe(1);
|
|
88
|
+
var pathSegments = path.split('.');
|
|
89
|
+
var node = layout.root.contentItems[0];
|
|
90
|
+
for (var i = 0; i < pathSegments.length; i++) {
|
|
91
|
+
var segment = pathSegments[i];
|
|
92
|
+
if (isNaN(Number(segment))) {
|
|
93
|
+
expect(node.type).toBe(segment);
|
|
94
|
+
} else {
|
|
95
|
+
node = node.contentItems[parseInt(segment, 10)];
|
|
96
|
+
expect(node).toBeDefined();
|
|
97
|
+
if (node === undefined) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return node;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Cleans up the layout and DOM after a test.
|
|
107
|
+
* Verifies that destruction succeeds when the layout was initialized and not already destroyed.
|
|
108
|
+
* @param layout The layout to destroy
|
|
109
|
+
*/
|
|
110
|
+
export function cleanupLayout(layout) {
|
|
111
|
+
if (layout !== null && layout !== void 0 && layout.isInitialised && layout.root.contentItems.length > 0) {
|
|
112
|
+
// Layout is initialized and has content - destroy it and verify
|
|
113
|
+
layout.destroy();
|
|
114
|
+
expect(layout.root.contentItems.length).toBe(0);
|
|
115
|
+
}
|
|
116
|
+
// Clear all layout containers from body
|
|
117
|
+
document.body.innerHTML = '';
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=testUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.js","names":["LayoutManager","TestComponent","constructor","container","state","_defineProperty","htmlState","undefined","getElement","html","_htmlState$html","createLayout","_x","_createLayout","apply","arguments","_asyncToGenerator","config","document","createElement","style","width","height","body","appendChild","layout","registerComponent","init","waitForLayoutInit","_x2","_waitForLayoutInit","timeout","length","Promise","resolve","reject","isInitialised","timeoutId","setTimeout","Error","on","clearTimeout","verifyPath","path","expect","root","toBeDefined","contentItems","toBe","pathSegments","split","node","i","segment","isNaN","Number","type","parseInt","cleanupLayout","destroy","innerHTML"],"sources":["../../src/test-utils/testUtils.ts"],"sourcesContent":["import type { PartialConfig } from '../config';\nimport type { ItemContainer } from '../container';\nimport LayoutManager from '../LayoutManager';\n\n/**\n * Test component used in layout tests.\n * Mimics the behavior of the original testTools.TestComponent.\n */\nexport class TestComponent {\n isTestComponentInstance = true;\n\n constructor(container: ItemContainer, state?: unknown) {\n const htmlState = state as { html?: string } | undefined;\n if (htmlState === undefined) {\n container.getElement().html('that worked');\n } else {\n container.getElement().html(htmlState.html ?? '');\n }\n }\n}\n\n/**\n * Creates a layout with the given configuration and waits for it to initialize.\n * @param config The layout configuration\n * @returns A promise that resolves to the initialized layout\n */\nexport async function createLayout(\n config: PartialConfig\n): Promise<LayoutManager> {\n const container = document.createElement('div');\n container.style.width = '800px';\n container.style.height = '600px';\n document.body.appendChild(container);\n\n const layout = new LayoutManager(config, container);\n layout.registerComponent('testComponent', TestComponent);\n layout.init();\n\n await waitForLayoutInit(layout);\n return layout;\n}\n\n/**\n * Waits for a layout to be initialized.\n * @param layout The layout to wait for\n * @param timeout Optional timeout in milliseconds (default: 5000)\n */\nexport async function waitForLayoutInit(\n layout: LayoutManager,\n timeout = 5000\n): Promise<void> {\n return new Promise((resolve, reject) => {\n if (layout.isInitialised) {\n resolve();\n return;\n }\n\n const timeoutId = setTimeout(() => {\n reject(new Error('Layout initialization timeout'));\n }, timeout);\n\n layout.on('initialised', () => {\n clearTimeout(timeoutId);\n resolve();\n });\n });\n}\n\n/**\n * Takes a path of type.index.type.index, e.g.\n * 'row.0.stack.1.component'\n * and resolves it to an element.\n *\n * @param path The path string\n * @param layout The layout instance\n * @returns The content item at the path, or null if not found\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function verifyPath(path: string, layout: LayoutManager): any | null {\n expect(layout.root).toBeDefined();\n expect(layout.root.contentItems.length).toBe(1);\n\n const pathSegments = path.split('.');\n let node = layout.root.contentItems[0];\n\n for (let i = 0; i < pathSegments.length; i++) {\n const segment = pathSegments[i];\n if (isNaN(Number(segment))) {\n expect(node.type).toBe(segment);\n } else {\n node = node.contentItems[parseInt(segment, 10)];\n expect(node).toBeDefined();\n if (node === undefined) {\n return null;\n }\n }\n }\n\n return node;\n}\n\n/**\n * Cleans up the layout and DOM after a test.\n * Verifies that destruction succeeds when the layout was initialized and not already destroyed.\n * @param layout The layout to destroy\n */\nexport function cleanupLayout(layout: LayoutManager | null | undefined): void {\n if (layout?.isInitialised && layout.root.contentItems.length > 0) {\n // Layout is initialized and has content - destroy it and verify\n layout.destroy();\n expect(layout.root.contentItems.length).toBe(0);\n }\n // Clear all layout containers from body\n document.body.innerHTML = '';\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Config } from '../config';
|
|
1
|
+
import type { Config, PartialConfig } from '../config';
|
|
2
2
|
/**
|
|
3
3
|
* Takes a GoldenLayout configuration object and
|
|
4
4
|
* replaces its keys and values recursively with
|
|
@@ -8,7 +8,7 @@ import type { Config } from '../config';
|
|
|
8
8
|
*
|
|
9
9
|
* @returns minified config
|
|
10
10
|
*/
|
|
11
|
-
export declare function minifyConfig(config: Partial<Config>): {};
|
|
11
|
+
export declare function minifyConfig(config: Partial<Config> | PartialConfig): {};
|
|
12
12
|
/**
|
|
13
13
|
* Takes a configuration Object that was previously minified
|
|
14
14
|
* using minifyConfig and returns its original version
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigMinifier.d.ts","sourceRoot":"","sources":["../../src/utils/ConfigMinifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfigMinifier.d.ts","sourceRoot":"","sources":["../../src/utils/ConfigMinifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAyDvD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,aAAa,MAQnE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,MAAM,CAQR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigMinifier.js","names":["_keys","_values","minifyConfig","config","length","Error","min","_nextLevel","unminifyConfig","minifiedConfig","orig","from","to","translationFnName","translationFn","_min","_max","key","hasOwnProperty","fromItem","Array","isArray","Number","parseInt","toItem","minKey","value","dictionary","index","indexOf","toString","substr"],"sources":["../../src/utils/ConfigMinifier.ts"],"sourcesContent":["import type { Config } from '../config';\n\n/**\n * Minifies and unminifies configs by replacing frequent keys\n * and values with one letter substitutes. Config options must\n * retain array position/index, add new options at the end.\n */\n\nconst _keys = [\n 'settings',\n 'hasHeaders',\n 'constrainDragToContainer',\n 'selectionEnabled',\n 'dimensions',\n 'borderWidth',\n 'minItemHeight',\n 'minItemWidth',\n 'headerHeight',\n 'dragProxyWidth',\n 'dragProxyHeight',\n 'labels',\n 'close',\n 'maximise',\n 'minimise',\n 'popout',\n 'content',\n 'componentName',\n 'componentState',\n 'id',\n 'width',\n 'type',\n 'height',\n 'isClosable',\n 'title',\n 'popoutWholeStack',\n 'openPopouts',\n 'parentId',\n 'activeItemIndex',\n 'reorderEnabled',\n 'borderGrabWidth',\n\n //Maximum 36 entries, do not cross this line!\n];\n\nconst _values = [\n true,\n false,\n 'row',\n 'column',\n 'stack',\n 'component',\n 'close',\n 'maximise',\n 'minimise',\n 'open in new window',\n];\n\n/**\n * Takes a GoldenLayout configuration object and\n * replaces its keys and values recursively with\n * one letter counterparts\n *\n * @param config A GoldenLayout config object\n *\n * @returns minified config\n */\nexport function minifyConfig(config: Partial<Config>) {\n if (_keys.length > 36) {\n throw new Error('Too many keys in config minifier map');\n }\n\n const min = {};\n _nextLevel(config, min, '_min');\n return min;\n}\n\n/**\n * Takes a configuration Object that was previously minified\n * using minifyConfig and returns its original version\n *\n * @param minifiedConfig\n *\n * @returns the original configuration\n */\nexport function unminifyConfig(\n minifiedConfig: Record<string, unknown>\n): Config {\n if (_keys.length > 36) {\n throw new Error('Too many keys in config minifier map');\n }\n\n const orig = {};\n _nextLevel(minifiedConfig, orig, '_max');\n return orig as Config;\n}\n\n/**\n * Recursive function, called for every level of the config structure\n *\n * @param orig\n * @param min\n * @param translationFnName\n */\nfunction _nextLevel(\n from: unknown[] | Record<string, unknown>,\n to: unknown[] | Record<string, unknown>,\n translationFnName: '_min' | '_max'\n) {\n const translationFn = translationFnName === '_min' ? _min : _max;\n for (let key in from) {\n /**\n * In case something has extended Object prototypes\n */\n if (!from.hasOwnProperty(key)) continue;\n\n const fromItem = Array.isArray(from)\n ? from[Number.parseInt(key, 10)]\n : from[key];\n /**\n * For Arrays and Objects, create a new Array/Object\n * on the minified object and recurse into it\n */\n if (typeof fromItem === 'object' && fromItem != null) {\n const toItem = fromItem instanceof Array ? [] : {};\n\n if (Array.isArray(to)) {\n to[Number.parseInt(key, 10)] = toItem;\n } else {\n const minKey = translationFn(key, _keys);\n to[minKey] = toItem;\n }\n\n _nextLevel(\n fromItem as Record<string, unknown>,\n toItem,\n translationFnName\n );\n\n /**\n * For primitive values (Strings, Numbers, Boolean etc.)\n * minify the value\n */\n } else {\n const toItem = translationFn(fromItem, _values);\n\n if (Array.isArray(to)) {\n to[Number.parseInt(key, 10)] = toItem;\n } else {\n const minKey = translationFn(key, _keys);\n to[minKey] = toItem;\n }\n }\n }\n}\n\n/**\n * Minifies value based on a dictionary\n *\n * @param value\n * @param dictionary\n *\n * @returns The minified version\n */\nfunction _min<T>(value: T, dictionary: T[]): T | string {\n /**\n * If a value actually is a single character, prefix it\n * with ___ to avoid mistaking it for a minification code\n */\n if (typeof value === 'string' && value.length === 1) {\n return '___' + value;\n }\n\n var index = dictionary.indexOf(value);\n\n /**\n * value not found in the dictionary, return it unmodified\n */\n if (index === -1) {\n return value;\n\n /**\n * value found in dictionary, return its base36 counterpart\n */\n } else {\n return index.toString(36);\n }\n}\n\nfunction _max<T>(value: T, dictionary: T[]): T | string {\n /**\n * value is a single character. Assume that it's a translation\n * and return the original value from the dictionary\n */\n if (typeof value === 'string' && value.length === 1) {\n return dictionary[parseInt(value, 36)];\n }\n\n /**\n * value originally was a single character and was prefixed with ___\n * to avoid mistaking it for a translation. Remove the prefix\n * and return the original character\n */\n if (typeof value === 'string' && value.substr(0, 3) === '___') {\n return value[3];\n }\n /**\n * value was not minified\n */\n return value;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAMA,KAAK,GAAG,CACZ,UAAU,EACV,YAAY,EACZ,0BAA0B,EAC1B,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB;;AAEA;AAAA,CACD;AAED,IAAMC,OAAO,GAAG,CACd,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,oBAAoB,CACrB;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAACC,
|
|
1
|
+
{"version":3,"file":"ConfigMinifier.js","names":["_keys","_values","minifyConfig","config","length","Error","min","_nextLevel","unminifyConfig","minifiedConfig","orig","from","to","translationFnName","translationFn","_min","_max","key","hasOwnProperty","fromItem","Array","isArray","Number","parseInt","toItem","minKey","value","dictionary","index","indexOf","toString","substr"],"sources":["../../src/utils/ConfigMinifier.ts"],"sourcesContent":["import type { Config, PartialConfig } from '../config';\n\n/**\n * Minifies and unminifies configs by replacing frequent keys\n * and values with one letter substitutes. Config options must\n * retain array position/index, add new options at the end.\n */\n\nconst _keys = [\n 'settings',\n 'hasHeaders',\n 'constrainDragToContainer',\n 'selectionEnabled',\n 'dimensions',\n 'borderWidth',\n 'minItemHeight',\n 'minItemWidth',\n 'headerHeight',\n 'dragProxyWidth',\n 'dragProxyHeight',\n 'labels',\n 'close',\n 'maximise',\n 'minimise',\n 'popout',\n 'content',\n 'componentName',\n 'componentState',\n 'id',\n 'width',\n 'type',\n 'height',\n 'isClosable',\n 'title',\n 'popoutWholeStack',\n 'openPopouts',\n 'parentId',\n 'activeItemIndex',\n 'reorderEnabled',\n 'borderGrabWidth',\n\n //Maximum 36 entries, do not cross this line!\n];\n\nconst _values = [\n true,\n false,\n 'row',\n 'column',\n 'stack',\n 'component',\n 'close',\n 'maximise',\n 'minimise',\n 'open in new window',\n];\n\n/**\n * Takes a GoldenLayout configuration object and\n * replaces its keys and values recursively with\n * one letter counterparts\n *\n * @param config A GoldenLayout config object\n *\n * @returns minified config\n */\nexport function minifyConfig(config: Partial<Config> | PartialConfig) {\n if (_keys.length > 36) {\n throw new Error('Too many keys in config minifier map');\n }\n\n const min = {};\n _nextLevel(config, min, '_min');\n return min;\n}\n\n/**\n * Takes a configuration Object that was previously minified\n * using minifyConfig and returns its original version\n *\n * @param minifiedConfig\n *\n * @returns the original configuration\n */\nexport function unminifyConfig(\n minifiedConfig: Record<string, unknown>\n): Config {\n if (_keys.length > 36) {\n throw new Error('Too many keys in config minifier map');\n }\n\n const orig = {};\n _nextLevel(minifiedConfig, orig, '_max');\n return orig as Config;\n}\n\n/**\n * Recursive function, called for every level of the config structure\n *\n * @param orig\n * @param min\n * @param translationFnName\n */\nfunction _nextLevel(\n from: unknown[] | Record<string, unknown>,\n to: unknown[] | Record<string, unknown>,\n translationFnName: '_min' | '_max'\n) {\n const translationFn = translationFnName === '_min' ? _min : _max;\n for (let key in from) {\n /**\n * In case something has extended Object prototypes\n */\n if (!from.hasOwnProperty(key)) continue;\n\n const fromItem = Array.isArray(from)\n ? from[Number.parseInt(key, 10)]\n : from[key];\n /**\n * For Arrays and Objects, create a new Array/Object\n * on the minified object and recurse into it\n */\n if (typeof fromItem === 'object' && fromItem != null) {\n const toItem = fromItem instanceof Array ? [] : {};\n\n if (Array.isArray(to)) {\n to[Number.parseInt(key, 10)] = toItem;\n } else {\n const minKey = translationFn(key, _keys);\n to[minKey] = toItem;\n }\n\n _nextLevel(\n fromItem as Record<string, unknown>,\n toItem,\n translationFnName\n );\n\n /**\n * For primitive values (Strings, Numbers, Boolean etc.)\n * minify the value\n */\n } else {\n const toItem = translationFn(fromItem, _values);\n\n if (Array.isArray(to)) {\n to[Number.parseInt(key, 10)] = toItem;\n } else {\n const minKey = translationFn(key, _keys);\n to[minKey] = toItem;\n }\n }\n }\n}\n\n/**\n * Minifies value based on a dictionary\n *\n * @param value\n * @param dictionary\n *\n * @returns The minified version\n */\nfunction _min<T>(value: T, dictionary: T[]): T | string {\n /**\n * If a value actually is a single character, prefix it\n * with ___ to avoid mistaking it for a minification code\n */\n if (typeof value === 'string' && value.length === 1) {\n return '___' + value;\n }\n\n var index = dictionary.indexOf(value);\n\n /**\n * value not found in the dictionary, return it unmodified\n */\n if (index === -1) {\n return value;\n\n /**\n * value found in dictionary, return its base36 counterpart\n */\n } else {\n return index.toString(36);\n }\n}\n\nfunction _max<T>(value: T, dictionary: T[]): T | string {\n /**\n * value is a single character. Assume that it's a translation\n * and return the original value from the dictionary\n */\n if (typeof value === 'string' && value.length === 1) {\n return dictionary[parseInt(value, 36)];\n }\n\n /**\n * value originally was a single character and was prefixed with ___\n * to avoid mistaking it for a translation. Remove the prefix\n * and return the original character\n */\n if (typeof value === 'string' && value.substr(0, 3) === '___') {\n return value[3];\n }\n /**\n * value was not minified\n */\n return value;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/golden-layout",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.1",
|
|
4
4
|
"author": "Deephaven Data Labs LLC",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"description": "A multi-screen javascript Layout manager",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"source": "src/index.ts",
|
|
11
11
|
"type": "module",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@deephaven/components": "^1.
|
|
13
|
+
"@deephaven/components": "^1.12.1",
|
|
14
14
|
"jquery": "^3.6.0",
|
|
15
15
|
"nanoid": "^5.0.7"
|
|
16
16
|
},
|
|
@@ -21,11 +21,7 @@
|
|
|
21
21
|
"scripts": {
|
|
22
22
|
"build": "cross-env NODE_ENV=production run-p build:*",
|
|
23
23
|
"build:sass": "sass --embed-sources --load-path=../../node_modules --style=compressed ./src:./dist ./scss:./css",
|
|
24
|
-
"build:babel": "babel ./src --out-dir ./dist --extensions \".ts,.js,.tsx,.jsx\" --source-maps --root-mode upward"
|
|
25
|
-
"test": "run-s build test-start",
|
|
26
|
-
"test-start": "karma start karma.conf.cjs",
|
|
27
|
-
"test:ci": "run-s build test:ci-start",
|
|
28
|
-
"test:ci-start": "karma start karma.conf.cjs --single-run"
|
|
24
|
+
"build:babel": "babel ./src --out-dir ./dist --extensions \".ts,.js,.tsx,.jsx\" --source-maps --root-mode upward"
|
|
29
25
|
},
|
|
30
26
|
"repository": {
|
|
31
27
|
"type": "git",
|
|
@@ -50,11 +46,5 @@
|
|
|
50
46
|
"publishConfig": {
|
|
51
47
|
"access": "public"
|
|
52
48
|
},
|
|
53
|
-
"
|
|
54
|
-
"babelify": "^10.0.0",
|
|
55
|
-
"browserify": "^17.0.0",
|
|
56
|
-
"karma-browserify": "^8.1.0",
|
|
57
|
-
"watchify": "^4.0.0"
|
|
58
|
-
},
|
|
59
|
-
"gitHead": "7b2a23ea3b33c11f136e7b9d44a204880c674866"
|
|
49
|
+
"gitHead": "596cbf468ab8d8222872bf620493f12dc75e7d0a"
|
|
60
50
|
}
|