@genesislcap/foundation-layout 14.96.1 → 14.97.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/custom-elements.json +384 -357
- package/dist/dts/main/layout-main.d.ts +7 -1
- package/dist/dts/main/layout-main.d.ts.map +1 -1
- package/dist/esm/main/layout-main.js +20 -2
- package/dist/foundation-layout.api.json +20 -4
- package/dist/foundation-layout.d.ts +7 -1
- package/docs/api/foundation-layout.foundationlayout.loadlayout.md +2 -1
- package/docs/api/foundation-layout.foundationlayout.md +1 -1
- package/docs/api/foundation-layout.foundationlayout.tryloadlayoutfromlocalstorage.md +1 -1
- package/docs/api-report.md +1 -1
- package/package.json +7 -7
@@ -137,167 +137,47 @@
|
|
137
137
|
},
|
138
138
|
{
|
139
139
|
"kind": "javascript-module",
|
140
|
-
"path": "src/
|
141
|
-
"declarations": [
|
142
|
-
{
|
143
|
-
"kind": "variable",
|
144
|
-
"name": "DEFAULT_RELOAD_BUFFER",
|
145
|
-
"type": {
|
146
|
-
"text": "number"
|
147
|
-
},
|
148
|
-
"default": "500",
|
149
|
-
"description": "Default time in milliseconds for the layout to buffer calls to reloading\nthe layout while the declarative API is loading.\n\nDuring the first load of the layout, a loading spinner will be shown.",
|
150
|
-
"privacy": "public"
|
151
|
-
}
|
152
|
-
],
|
153
|
-
"exports": [
|
154
|
-
{
|
155
|
-
"kind": "js",
|
156
|
-
"name": "DEFAULT_RELOAD_BUFFER",
|
157
|
-
"declaration": {
|
158
|
-
"name": "DEFAULT_RELOAD_BUFFER",
|
159
|
-
"module": "src/utils/constants.ts"
|
160
|
-
}
|
161
|
-
}
|
162
|
-
]
|
163
|
-
},
|
164
|
-
{
|
165
|
-
"kind": "javascript-module",
|
166
|
-
"path": "src/utils/error.ts",
|
167
|
-
"declarations": [
|
168
|
-
{
|
169
|
-
"kind": "class",
|
170
|
-
"description": "",
|
171
|
-
"name": "LayoutUsageError",
|
172
|
-
"superclass": {
|
173
|
-
"name": "Error",
|
174
|
-
"module": "src/utils/error.ts"
|
175
|
-
}
|
176
|
-
},
|
177
|
-
{
|
178
|
-
"kind": "class",
|
179
|
-
"description": "",
|
180
|
-
"name": "LayoutRegistrationError",
|
181
|
-
"superclass": {
|
182
|
-
"name": "Error",
|
183
|
-
"module": "src/utils/error.ts"
|
184
|
-
}
|
185
|
-
}
|
186
|
-
],
|
187
|
-
"exports": [
|
188
|
-
{
|
189
|
-
"kind": "js",
|
190
|
-
"name": "LayoutUsageError",
|
191
|
-
"declaration": {
|
192
|
-
"name": "LayoutUsageError",
|
193
|
-
"module": "src/utils/error.ts"
|
194
|
-
}
|
195
|
-
},
|
196
|
-
{
|
197
|
-
"kind": "js",
|
198
|
-
"name": "LayoutRegistrationError",
|
199
|
-
"declaration": {
|
200
|
-
"name": "LayoutRegistrationError",
|
201
|
-
"module": "src/utils/error.ts"
|
202
|
-
}
|
203
|
-
}
|
204
|
-
]
|
205
|
-
},
|
206
|
-
{
|
207
|
-
"kind": "javascript-module",
|
208
|
-
"path": "src/utils/events.ts",
|
209
|
-
"declarations": [
|
210
|
-
{
|
211
|
-
"kind": "variable",
|
212
|
-
"name": "LayoutEmitEvents",
|
213
|
-
"type": {
|
214
|
-
"text": "{\n firstLoaded: 'first-loaded',\n itemAdded: 'item-added',\n itemRemoved: 'item-removed',\n itemResized: 'item-resized',\n}"
|
215
|
-
},
|
216
|
-
"default": "{\n firstLoaded: 'first-loaded',\n itemAdded: 'item-added',\n itemRemoved: 'item-removed',\n itemResized: 'item-resized',\n}",
|
217
|
-
"description": "Defines events that the layout system emits\n\n'firstLoaded' - emitted when the layout has finished loading the first time\nusing the declarative API after DEFAULT_RELOAD_BUFFER ms.\n<br/>\n'itemAdded' - emitted when an item is added to the layout'\n<br/>\n'itemRemoved' - emitted when an item is removed from the layout'\n<br/>\n'itemResized' - emitted when the user drags the divider to resize elements",
|
218
|
-
"privacy": "public"
|
219
|
-
},
|
220
|
-
{
|
221
|
-
"kind": "variable",
|
222
|
-
"name": "LayoutReceiveEvents",
|
223
|
-
"type": {
|
224
|
-
"text": "{\n changeTitle: 'change-title',\n autosave: 'autosave',\n}"
|
225
|
-
},
|
226
|
-
"default": "{\n changeTitle: 'change-title',\n autosave: 'autosave',\n}",
|
227
|
-
"description": "Defines events that the layout system listens for\n\n'changeTitle' - emit this from a contained item to update the title of the window that contains it.\n'autosave' - emit this from a contained item to hint to the layout system that it should autosave the layout. A contained item should do this if it has just changed some state it would like to persist. See LayoutComponentWithState.",
|
228
|
-
"privacy": "public"
|
229
|
-
}
|
230
|
-
],
|
231
|
-
"exports": [
|
232
|
-
{
|
233
|
-
"kind": "js",
|
234
|
-
"name": "LayoutEmitEvents",
|
235
|
-
"declaration": {
|
236
|
-
"name": "LayoutEmitEvents",
|
237
|
-
"module": "src/utils/events.ts"
|
238
|
-
}
|
239
|
-
},
|
240
|
-
{
|
241
|
-
"kind": "js",
|
242
|
-
"name": "LayoutReceiveEvents",
|
243
|
-
"declaration": {
|
244
|
-
"name": "LayoutReceiveEvents",
|
245
|
-
"module": "src/utils/events.ts"
|
246
|
-
}
|
247
|
-
}
|
248
|
-
]
|
249
|
-
},
|
250
|
-
{
|
251
|
-
"kind": "javascript-module",
|
252
|
-
"path": "src/utils/index.ts",
|
140
|
+
"path": "src/main/index.ts",
|
253
141
|
"declarations": [],
|
254
142
|
"exports": [
|
255
143
|
{
|
256
144
|
"kind": "js",
|
257
|
-
"name": "
|
258
|
-
"declaration": {
|
259
|
-
"name": "*",
|
260
|
-
"package": "./constants"
|
261
|
-
}
|
262
|
-
},
|
263
|
-
{
|
264
|
-
"kind": "js",
|
265
|
-
"name": "*",
|
145
|
+
"name": "FoundationLayoutItem",
|
266
146
|
"declaration": {
|
267
|
-
"name": "
|
268
|
-
"
|
147
|
+
"name": "FoundationLayoutItem",
|
148
|
+
"module": "./layout-item"
|
269
149
|
}
|
270
150
|
},
|
271
151
|
{
|
272
152
|
"kind": "js",
|
273
|
-
"name": "
|
153
|
+
"name": "FoundationLayoutRegion",
|
274
154
|
"declaration": {
|
275
|
-
"name": "
|
276
|
-
"
|
155
|
+
"name": "FoundationLayoutRegion",
|
156
|
+
"module": "./layout-region"
|
277
157
|
}
|
278
158
|
},
|
279
159
|
{
|
280
160
|
"kind": "js",
|
281
|
-
"name": "
|
161
|
+
"name": "FoundationLayout",
|
282
162
|
"declaration": {
|
283
|
-
"name": "
|
284
|
-
"
|
163
|
+
"name": "FoundationLayout",
|
164
|
+
"module": "./layout-main"
|
285
165
|
}
|
286
166
|
},
|
287
167
|
{
|
288
168
|
"kind": "js",
|
289
|
-
"name": "
|
169
|
+
"name": "layoutStyles",
|
290
170
|
"declaration": {
|
291
|
-
"name": "
|
292
|
-
"
|
171
|
+
"name": "layoutStyles",
|
172
|
+
"module": "./layout-main"
|
293
173
|
}
|
294
174
|
},
|
295
175
|
{
|
296
176
|
"kind": "js",
|
297
|
-
"name": "
|
177
|
+
"name": "layoutTemplate",
|
298
178
|
"declaration": {
|
299
|
-
"name": "
|
300
|
-
"
|
179
|
+
"name": "layoutTemplate",
|
180
|
+
"module": "./layout-main"
|
301
181
|
}
|
302
182
|
},
|
303
183
|
{
|
@@ -305,251 +185,40 @@
|
|
305
185
|
"name": "*",
|
306
186
|
"declaration": {
|
307
187
|
"name": "*",
|
308
|
-
"package": "./
|
309
|
-
}
|
310
|
-
}
|
311
|
-
]
|
312
|
-
},
|
313
|
-
{
|
314
|
-
"kind": "javascript-module",
|
315
|
-
"path": "src/utils/logger.ts",
|
316
|
-
"declarations": [
|
317
|
-
{
|
318
|
-
"kind": "variable",
|
319
|
-
"name": "logger"
|
320
|
-
}
|
321
|
-
],
|
322
|
-
"exports": [
|
323
|
-
{
|
324
|
-
"kind": "js",
|
325
|
-
"name": "logger",
|
326
|
-
"declaration": {
|
327
|
-
"name": "logger",
|
328
|
-
"module": "src/utils/logger.ts"
|
188
|
+
"package": "./layout-components"
|
329
189
|
}
|
330
190
|
}
|
331
191
|
]
|
332
192
|
},
|
333
193
|
{
|
334
194
|
"kind": "javascript-module",
|
335
|
-
"path": "src/
|
336
|
-
"declarations": [],
|
337
|
-
"exports": []
|
338
|
-
},
|
339
|
-
{
|
340
|
-
"kind": "javascript-module",
|
341
|
-
"path": "src/utils/templates.ts",
|
342
|
-
"declarations": [],
|
343
|
-
"exports": []
|
344
|
-
},
|
345
|
-
{
|
346
|
-
"kind": "javascript-module",
|
347
|
-
"path": "src/utils/types.ts",
|
348
|
-
"declarations": [],
|
349
|
-
"exports": []
|
350
|
-
},
|
351
|
-
{
|
352
|
-
"kind": "javascript-module",
|
353
|
-
"path": "src/styles/constants.ts",
|
195
|
+
"path": "src/main/layout-components.ts",
|
354
196
|
"declarations": [
|
355
197
|
{
|
356
198
|
"kind": "variable",
|
357
|
-
"name": "
|
358
|
-
"type": {
|
359
|
-
"text": "Omit<LayoutConfig, 'root'>"
|
360
|
-
},
|
361
|
-
"default": "{\n dimensions: {\n headerHeight: 38,\n borderWidth: 12,\n },\n header: {\n maximise: 'maximise',\n minimise: 'minimise',\n popout: false,\n },\n}"
|
362
|
-
},
|
363
|
-
{
|
364
|
-
"kind": "variable",
|
365
|
-
"name": "LAYOUT_ICONS",
|
199
|
+
"name": "foundationLayoutComponents",
|
366
200
|
"type": {
|
367
|
-
"text": "
|
201
|
+
"text": "object"
|
368
202
|
},
|
369
|
-
"default": "{\n
|
370
|
-
"description": "
|
203
|
+
"default": "{\n foundationLayout,\n foundationLayoutRegion,\n foundationLayoutItem,\n register(container?: Container, ...rest: any[]) {\n if (!container) {\n // preserve backward compatibility with code that loops through\n // the values of this object and calls them as funcs with no args\n return;\n }\n for (const key in this) {\n if (key === 'register') {\n continue;\n }\n this[key]().register(container, ...rest);\n }\n },\n}",
|
204
|
+
"description": "Registration object to register the layout with your design system.",
|
371
205
|
"privacy": "public"
|
372
206
|
}
|
373
207
|
],
|
374
208
|
"exports": [
|
375
209
|
{
|
376
210
|
"kind": "js",
|
377
|
-
"name": "
|
378
|
-
"declaration": {
|
379
|
-
"name": "glVisualConfig",
|
380
|
-
"module": "src/styles/constants.ts"
|
381
|
-
}
|
382
|
-
},
|
383
|
-
{
|
384
|
-
"kind": "js",
|
385
|
-
"name": "LAYOUT_ICONS",
|
211
|
+
"name": "foundationLayoutComponents",
|
386
212
|
"declaration": {
|
387
|
-
"name": "
|
388
|
-
"module": "src/
|
213
|
+
"name": "foundationLayoutComponents",
|
214
|
+
"module": "src/main/layout-components.ts"
|
389
215
|
}
|
390
216
|
}
|
391
217
|
]
|
392
218
|
},
|
393
219
|
{
|
394
220
|
"kind": "javascript-module",
|
395
|
-
"path": "src/
|
396
|
-
"declarations": [
|
397
|
-
{
|
398
|
-
"kind": "variable",
|
399
|
-
"name": "globalDraggingStyles",
|
400
|
-
"default": "`\n .lm_dragProxy .lm_content {\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);\n }\n .lm_dropTargetIndicator {\n box-shadow: inset 0 0 30px #000000;\n outline: 1px dashed #cccccc;\n transition: all 200ms ease;\n }\n .lm_dropTargetIndicator .lm_inner {\n background: var(${neutralFillStealthRest.cssCustomProperty});\n opacity: 0.2;\n }\n .lm_dragProxy.lm_left .lm_header,\n .lm_dragProxy.lm_right .lm_header {\n width: 20px;\n float: left;\n vertical-align: top;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_dragProxy.lm_right .lm_header .lm_tabs {\n transform-origin: left top;\n top: 0;\n width: 1000px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_controls,\n .lm_dragProxy.lm_right .lm_header .lm_controls {\n bottom: 0;\n }\n .lm_dragProxy.lm_left .lm_items,\n .lm_dragProxy.lm_right .lm_items {\n float: left;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs {\n transform: rotate(-90deg) scaleX(-1);\n left: 0;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs .lm_tab {\n transform: scaleX(-1);\n margin-top: 1px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabdropdown_list {\n top: initial;\n right: initial;\n left: 20px;\n }\n .lm_dragProxy.lm_right .lm_content {\n float: left;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabs {\n transform: rotate(90deg) scaleX(1);\n left: 100%;\n margin-left: 0;\n }\n .lm_dragProxy.lm_right .lm_header .lm_controls {\n left: 3px;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabdropdown_list {\n top: initial;\n right: 20px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tab {\n margin-top: 0;\n border-top: none;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_controls,\n .lm_stack.lm_bottom .lm_header .lm_controls {\n top: 3px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_bottom .lm_header .lm_tabdropdown_list {\n top: initial;\n bottom: 20px;\n }\n .lm_dragProxy {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 30;\n }\n .lm_dragProxy .lm_header {\n background: transparent;\n }\n .lm_dragProxy .lm_content {\n border-top: none;\n overflow: hidden;\n }\n .lm_dropTargetIndicator {\n display: none;\n position: absolute;\n z-index: 20;\n }\n .lm_dropTargetIndicator .lm_inner {\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n }\n .lm_transition_indicator {\n display: none;\n width: 20px;\n height: 20px;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n }\n`",
|
401
|
-
"description": "This is defined as a string rather than a css template\nbecause it is applied to a CSSStyleSheet object rather than\nused as a FAST template"
|
402
|
-
}
|
403
|
-
],
|
404
|
-
"exports": [
|
405
|
-
{
|
406
|
-
"kind": "js",
|
407
|
-
"name": "globalDraggingStyles",
|
408
|
-
"declaration": {
|
409
|
-
"name": "globalDraggingStyles",
|
410
|
-
"module": "src/styles/dragging.styles.ts"
|
411
|
-
}
|
412
|
-
}
|
413
|
-
]
|
414
|
-
},
|
415
|
-
{
|
416
|
-
"kind": "javascript-module",
|
417
|
-
"path": "src/styles/index.ts",
|
418
|
-
"declarations": [],
|
419
|
-
"exports": [
|
420
|
-
{
|
421
|
-
"kind": "js",
|
422
|
-
"name": "*",
|
423
|
-
"declaration": {
|
424
|
-
"name": "*",
|
425
|
-
"package": "./constants"
|
426
|
-
}
|
427
|
-
},
|
428
|
-
{
|
429
|
-
"kind": "js",
|
430
|
-
"name": "*",
|
431
|
-
"declaration": {
|
432
|
-
"name": "*",
|
433
|
-
"package": "./dragging.styles"
|
434
|
-
}
|
435
|
-
},
|
436
|
-
{
|
437
|
-
"kind": "js",
|
438
|
-
"name": "*",
|
439
|
-
"declaration": {
|
440
|
-
"name": "*",
|
441
|
-
"package": "./layout.styles"
|
442
|
-
}
|
443
|
-
}
|
444
|
-
]
|
445
|
-
},
|
446
|
-
{
|
447
|
-
"kind": "javascript-module",
|
448
|
-
"path": "src/styles/layout.styles.ts",
|
449
|
-
"declarations": [
|
450
|
-
{
|
451
|
-
"kind": "variable",
|
452
|
-
"name": "layoutStyles",
|
453
|
-
"default": "css`\n ${containerStyles}\n ${loadingSpinnerStyles}\n\n .lm_goldenlayout {\n padding: 1px;\n background: ${neutralLayer1};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n }\n\n .lm_stack.lm_item {\n background-color: ${neutralLayer4};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n }\n .lm_maximised .lm_header {\n background-color: ${neutralLayer4};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n position: unset;\n }\n\n .lm_maximised .lm_header .lm_tabs {\n z-index: 3;\n }\n\n .lm_content {\n background-color: ${neutralLayer3};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n border: 1px solid;\n border-color: #2e3339;\n box-sizing: border-box;\n }\n\n .lm-header {\n z-index: 1;\n }\n .lm_header .lm_tabs {\n padding: 0 16px;\n }\n\n .lm_stack > .lm_items {\n z-index: 2;\n box-shadow: 0px -1px 15px rgba(0, 0, 0, 0.35);\n }\n\n .lm_header .lm_tab.lm_active.lm_focused {\n background-color: ${neutralLayer3};\n }\n .lm_header .lm_tab.lm_active {\n background-color: ${neutralLayer3};\n border: 1px solid;\n border-color: #2e3339;\n border-bottom: 0;\n color: ${accentFillRest};\n }\n\n .lm_header .lm_tab {\n align-items: center;\n background-color: ${neutralLayer4};\n border: 1px solid;\n border-bottom-color: #2e3339;\n border-bottom: 0px solid;\n border-color: rgba(0, 0, 0, 0.35);\n border-radius: calc(${controlCornerRadius} * 1.5px) calc(${controlCornerRadius} * 1.5px) 0 0;\n box-shadow: 1px -1px 2px rgba(0, 0, 0, 0.35);\n color: rgba(255, 255, 255, 0.3);\n display: flex;\n font-family: inherit;\n font-size: 13px;\n font-weight: 700;\n height: 30px;\n margin-right: 2px;\n margin-top: 3px;\n padding: 2px 16px;\n }\n\n .lm_header .lm_tab:not(.lm_active):hover {\n background-color: rgba(255, 255, 255, 0.1);\n color: #f1f1f1;\n }\n\n .lm_header .lm_controls {\n top: 4px;\n display: flex;\n }\n .lm_header .lm_controls > * {\n width: 30px;\n height: 30px;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 16px;\n background-color: rgba(255, 255, 255, 0.03);\n border-radius: calc(${controlCornerRadius} * 1.5px);\n margin-right: 4px;\n top: 3px;\n opacity: 1;\n }\n .lm_header .lm_controls > *:hover {\n background-color: rgba(255, 255, 255, 0.1);\n cursor: pointer;\n }\n\n .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.maximiseSVG}');\n }\n .lm_maximised .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.minimiseSVG}');\n }\n .lm_controls .lm_close {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n }\n .lm_header .lm_tab .lm_close_tab {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n background-size: 10px;\n background-repeat: no-repeat;\n margin-left: 12px;\n position: relative;\n top: 0;\n right: 0;\n }\n\n .lm_header .lm_tab.lm_active {\n padding: 4px 25px 3px 10px;\n }\n\n .lm_header .lm_tab:not(.lm_active) .lm_title {\n color: ${accentFillRest};\n opacity: 0.7;\n }\n\n .lm_header .lm_controls .lm_tabdropdown::before {\n content: none;\n }\n .lm_header .lm_controls .lm_tabdropdown {\n background-image: url('${LAYOUT_ICONS.tabDropdownSVG}');\n }\n .lm_header .lm_tabdropdown_list {\n top: 38px;\n right: 108px;\n background-color: ${neutralLayer3};\n border: 1px solid;\n border-color: #2e3339;\n border-radius: calc(${controlCornerRadius} * 1.5px);\n box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.35);\n }\n .lm_header .lm_tabdropdown_list > .lm_tab {\n box-shadow: none;\n padding: 0 16px;\n white-space: nowrap;\n background-color: transparent;\n color: #c9c9c9;\n height: 36px;\n border-radius: 0;\n overflow: visible;\n text-overflow: normal;\n }\n .lm_header .lm_tabdropdown_list > .lm_tab:last-child {\n border-bottom: 0;\n }\n\n /* gl base styles start */\n .lm_root {\n position: relative;\n }\n .lm_row > .lm_item {\n float: left;\n }\n .lm_content {\n overflow: hidden;\n position: relative;\n }\n .lm_dragging,\n .lm_dragging * {\n cursor: move !important;\n user-select: none;\n }\n .lm_maximised {\n left: 0;\n padding: 1px;\n position: absolute;\n top: 0;\n z-index: 40;\n }\n .lm_maximise_placeholder {\n display: none;\n }\n .lm_splitter {\n position: relative;\n z-index: 20;\n }\n .lm_splitter:hover,\n .lm_splitter.lm_dragging {\n background: ${accentFillRest};\n border-radius: calc(${controlCornerRadius} * 4px);\n }\n .lm_splitter.lm_vertical .lm_drag_handle {\n width: 100%;\n height: 15px;\n position: absolute;\n top: -5px;\n cursor: ns-resize;\n }\n .lm_splitter.lm_horizontal {\n float: left;\n height: 100%;\n }\n .lm_splitter.lm_horizontal .lm_drag_handle {\n width: 15px;\n height: 100%;\n position: absolute;\n left: -5px;\n cursor: ew-resize;\n }\n .lm_header {\n overflow: visible;\n position: relative;\n z-index: 1;\n }\n .lm_header [class^='lm_'] {\n box-sizing: content-box !important;\n }\n .lm_header .lm_controls {\n position: absolute;\n right: 3px;\n }\n .lm_header .lm_controls > li {\n cursor: pointer;\n float: left;\n width: 18px;\n height: 18px;\n text-align: center;\n }\n .lm_header ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n .lm_header .lm_tabs {\n position: absolute;\n }\n .lm_header .lm_tab {\n cursor: pointer;\n float: left;\n margin-top: 1px;\n padding: 3px 25px 3px 10px;\n position: relative;\n }\n .lm_header .lm_tab i {\n width: 2px;\n height: 19px;\n position: absolute;\n }\n .lm_header .lm_tab i.lm_left {\n top: 0;\n left: -2px;\n }\n .lm_header .lm_tab i.lm_right {\n top: 0;\n right: -2px;\n }\n .lm_header .lm_tab .lm_title {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .lm_header .lm_tab .lm_title:only-child {\n padding-left: 10px;\n }\n .lm_header .lm_tab .lm_close_tab {\n width: 14px;\n height: 14px;\n position: absolute;\n top: 11px;\n right: 0;\n text-align: center;\n }\n .lm_stack.lm_left .lm_header,\n .lm_stack.lm_right .lm_header {\n height: 100%;\n }\n .lm_dragProxy.lm_left .lm_header,\n .lm_dragProxy.lm_right .lm_header,\n .lm_stack.lm_left .lm_header,\n .lm_stack.lm_right .lm_header {\n width: 20px;\n float: left;\n vertical-align: top;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_dragProxy.lm_right .lm_header .lm_tabs,\n .lm_stack.lm_left .lm_header .lm_tabs,\n .lm_stack.lm_right .lm_header .lm_tabs {\n transform-origin: left top;\n top: 0;\n width: 1000px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_controls,\n .lm_dragProxy.lm_right .lm_header .lm_controls,\n .lm_stack.lm_left .lm_header .lm_controls,\n .lm_stack.lm_right .lm_header .lm_controls {\n bottom: 0;\n }\n .lm_dragProxy.lm_left .lm_items,\n .lm_dragProxy.lm_right .lm_items,\n .lm_stack.lm_left .lm_items,\n .lm_stack.lm_right .lm_items {\n float: left;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_stack.lm_left .lm_header .lm_tabs {\n transform: rotate(-90deg) scaleX(-1);\n left: 0;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs .lm_tab,\n .lm_stack.lm_left .lm_header .lm_tabs .lm_tab {\n transform: scaleX(-1);\n margin-top: 1px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_left .lm_header .lm_tabdropdown_list {\n top: initial;\n right: initial;\n left: 20px;\n }\n .lm_dragProxy.lm_right .lm_content {\n float: left;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabs,\n .lm_stack.lm_right .lm_header .lm_tabs {\n transform: rotate(90deg) scaleX(1);\n left: 100%;\n margin-left: 0;\n }\n .lm_dragProxy.lm_right .lm_header .lm_controls,\n .lm_stack.lm_right .lm_header .lm_controls {\n left: 3px;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_right .lm_header .lm_tabdropdown_list {\n top: initial;\n right: 20px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tab,\n .lm_stack.lm_bottom .lm_header .lm_tab {\n margin-top: 0;\n border-top: none;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_controls,\n .lm_stack.lm_bottom .lm_header .lm_controls {\n top: 3px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_bottom .lm_header .lm_tabdropdown_list {\n top: initial;\n bottom: 20px;\n }\n .lm_drop_tab_placeholder {\n float: left;\n width: 100px;\n height: 10px;\n visibility: hidden;\n }\n .lm_header .lm_tabdropdown_list {\n position: absolute;\n top: 20px;\n right: 0;\n z-index: 5;\n overflow: hidden;\n }\n .lm_header .lm_tabdropdown_list .lm_tab {\n clear: both;\n padding-right: 10px;\n margin: 0;\n }\n .lm_header .lm_tabdropdown_list .lm_tab .lm_title {\n width: 100px;\n }\n .lm_header .lm_tabdropdown_list .lm_close_tab {\n display: none !important;\n }\n .lm_dragProxy {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 30;\n }\n .lm_dragProxy .lm_header {\n background: transparent;\n }\n .lm_dragProxy .lm_content {\n border-top: none;\n overflow: hidden;\n }\n .lm_dropTargetIndicator {\n display: none;\n position: absolute;\n z-index: 20;\n }\n .lm_dropTargetIndicator .lm_inner {\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n }\n .lm_transition_indicator {\n display: none;\n width: 20px;\n height: 20px;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n }\n .lm_popin {\n width: 20px;\n height: 20px;\n position: absolute;\n bottom: 0;\n right: 0;\n z-index: 9999;\n }\n .lm_popin > * {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n }\n .lm_popin > .lm_bg {\n z-index: 10;\n }\n .lm_popin > .lm_icon {\n z-index: 20;\n } /*# sourceMappingURL=goldenlayout-base.css.map */\n`",
|
454
|
-
"description": "`ElementStyles` which defines the css for FoundationLayout.",
|
455
|
-
"privacy": "public"
|
456
|
-
}
|
457
|
-
],
|
458
|
-
"exports": [
|
459
|
-
{
|
460
|
-
"kind": "js",
|
461
|
-
"name": "layoutStyles",
|
462
|
-
"declaration": {
|
463
|
-
"name": "layoutStyles",
|
464
|
-
"module": "src/styles/layout.styles.ts"
|
465
|
-
}
|
466
|
-
}
|
467
|
-
]
|
468
|
-
},
|
469
|
-
{
|
470
|
-
"kind": "javascript-module",
|
471
|
-
"path": "src/main/index.ts",
|
472
|
-
"declarations": [],
|
473
|
-
"exports": [
|
474
|
-
{
|
475
|
-
"kind": "js",
|
476
|
-
"name": "FoundationLayoutItem",
|
477
|
-
"declaration": {
|
478
|
-
"name": "FoundationLayoutItem",
|
479
|
-
"module": "./layout-item"
|
480
|
-
}
|
481
|
-
},
|
482
|
-
{
|
483
|
-
"kind": "js",
|
484
|
-
"name": "FoundationLayoutRegion",
|
485
|
-
"declaration": {
|
486
|
-
"name": "FoundationLayoutRegion",
|
487
|
-
"module": "./layout-region"
|
488
|
-
}
|
489
|
-
},
|
490
|
-
{
|
491
|
-
"kind": "js",
|
492
|
-
"name": "FoundationLayout",
|
493
|
-
"declaration": {
|
494
|
-
"name": "FoundationLayout",
|
495
|
-
"module": "./layout-main"
|
496
|
-
}
|
497
|
-
},
|
498
|
-
{
|
499
|
-
"kind": "js",
|
500
|
-
"name": "layoutStyles",
|
501
|
-
"declaration": {
|
502
|
-
"name": "layoutStyles",
|
503
|
-
"module": "./layout-main"
|
504
|
-
}
|
505
|
-
},
|
506
|
-
{
|
507
|
-
"kind": "js",
|
508
|
-
"name": "layoutTemplate",
|
509
|
-
"declaration": {
|
510
|
-
"name": "layoutTemplate",
|
511
|
-
"module": "./layout-main"
|
512
|
-
}
|
513
|
-
},
|
514
|
-
{
|
515
|
-
"kind": "js",
|
516
|
-
"name": "*",
|
517
|
-
"declaration": {
|
518
|
-
"name": "*",
|
519
|
-
"package": "./layout-components"
|
520
|
-
}
|
521
|
-
}
|
522
|
-
]
|
523
|
-
},
|
524
|
-
{
|
525
|
-
"kind": "javascript-module",
|
526
|
-
"path": "src/main/layout-components.ts",
|
527
|
-
"declarations": [
|
528
|
-
{
|
529
|
-
"kind": "variable",
|
530
|
-
"name": "foundationLayoutComponents",
|
531
|
-
"type": {
|
532
|
-
"text": "object"
|
533
|
-
},
|
534
|
-
"default": "{\n foundationLayout,\n foundationLayoutRegion,\n foundationLayoutItem,\n register(container?: Container, ...rest: any[]) {\n if (!container) {\n // preserve backward compatibility with code that loops through\n // the values of this object and calls them as funcs with no args\n return;\n }\n for (const key in this) {\n if (key === 'register') {\n continue;\n }\n this[key]().register(container, ...rest);\n }\n },\n}",
|
535
|
-
"description": "Registration object to register the layout with your design system.",
|
536
|
-
"privacy": "public"
|
537
|
-
}
|
538
|
-
],
|
539
|
-
"exports": [
|
540
|
-
{
|
541
|
-
"kind": "js",
|
542
|
-
"name": "foundationLayoutComponents",
|
543
|
-
"declaration": {
|
544
|
-
"name": "foundationLayoutComponents",
|
545
|
-
"module": "src/main/layout-components.ts"
|
546
|
-
}
|
547
|
-
}
|
548
|
-
]
|
549
|
-
},
|
550
|
-
{
|
551
|
-
"kind": "javascript-module",
|
552
|
-
"path": "src/main/layout-item.ts",
|
221
|
+
"path": "src/main/layout-item.ts",
|
553
222
|
"declarations": [
|
554
223
|
{
|
555
224
|
"kind": "class",
|
@@ -953,6 +622,14 @@
|
|
953
622
|
"text": "'placeholder' | 'error'"
|
954
623
|
},
|
955
624
|
"description": "what to do if the layout contains items that are not currently registered with the layout system. Defaults to 'error' which will throw an error. If set to 'placeholder' then any missing items will be replaced with a placeholder element. You can control the text of the placeholder element with {@link FoundationLayout.missingItemPlaceholder}.\n * "
|
625
|
+
},
|
626
|
+
{
|
627
|
+
"name": "disableCache",
|
628
|
+
"default": "false",
|
629
|
+
"type": {
|
630
|
+
"text": "boolean"
|
631
|
+
},
|
632
|
+
"description": "if set to true then the layout will give you a new instance of every item, even if it has a currently cached item to use. Using this will not stop you from saving and loading state via the {@link LayoutComponentWithState}interface. Defaults to false.\n * "
|
956
633
|
}
|
957
634
|
],
|
958
635
|
"privacy": "public"
|
@@ -1016,6 +693,25 @@
|
|
1016
693
|
},
|
1017
694
|
"description": "The `LifecycleMixin` can use the lifecycleUpdateToken to determine if it needs to gate\nlifecycle methods from running when other items have been added or deleted.\nThis key is updated every time one of these actions are performed, so you can check if the key has changed and know you potentially need to gate some of your lifecycle functionality.\nThis method should be called whenever we are about to perform an action which will cause a lifecycle update, should as adding or removing an item from the layout"
|
1018
695
|
},
|
696
|
+
{
|
697
|
+
"kind": "method",
|
698
|
+
"name": "removeConfigCacheInformation",
|
699
|
+
"privacy": "private",
|
700
|
+
"return": {
|
701
|
+
"type": {
|
702
|
+
"text": "LayoutConfig"
|
703
|
+
}
|
704
|
+
},
|
705
|
+
"parameters": [
|
706
|
+
{
|
707
|
+
"name": "config",
|
708
|
+
"type": {
|
709
|
+
"text": "LayoutConfig"
|
710
|
+
}
|
711
|
+
}
|
712
|
+
],
|
713
|
+
"description": "Recursively remove the instance key from the config which will mean that when the config is loaded it will instantiate a new instance for every item, even if they're in the cache."
|
714
|
+
},
|
1019
715
|
{
|
1020
716
|
"kind": "field",
|
1021
717
|
"name": "_presentation",
|
@@ -1367,6 +1063,337 @@
|
|
1367
1063
|
}
|
1368
1064
|
}
|
1369
1065
|
]
|
1066
|
+
},
|
1067
|
+
{
|
1068
|
+
"kind": "javascript-module",
|
1069
|
+
"path": "src/styles/constants.ts",
|
1070
|
+
"declarations": [
|
1071
|
+
{
|
1072
|
+
"kind": "variable",
|
1073
|
+
"name": "glVisualConfig",
|
1074
|
+
"type": {
|
1075
|
+
"text": "Omit<LayoutConfig, 'root'>"
|
1076
|
+
},
|
1077
|
+
"default": "{\n dimensions: {\n headerHeight: 38,\n borderWidth: 12,\n },\n header: {\n maximise: 'maximise',\n minimise: 'minimise',\n popout: false,\n },\n}"
|
1078
|
+
},
|
1079
|
+
{
|
1080
|
+
"kind": "variable",
|
1081
|
+
"name": "LAYOUT_ICONS",
|
1082
|
+
"type": {
|
1083
|
+
"text": "{\n renameSVG,\n maximiseSVG,\n minimiseSVG,\n closeSVG,\n tabDropdownSVG,\n}"
|
1084
|
+
},
|
1085
|
+
"default": "{\n renameSVG,\n maximiseSVG,\n minimiseSVG,\n closeSVG,\n tabDropdownSVG,\n}",
|
1086
|
+
"description": "A collection of SVG icons in base64 format.",
|
1087
|
+
"privacy": "public"
|
1088
|
+
}
|
1089
|
+
],
|
1090
|
+
"exports": [
|
1091
|
+
{
|
1092
|
+
"kind": "js",
|
1093
|
+
"name": "glVisualConfig",
|
1094
|
+
"declaration": {
|
1095
|
+
"name": "glVisualConfig",
|
1096
|
+
"module": "src/styles/constants.ts"
|
1097
|
+
}
|
1098
|
+
},
|
1099
|
+
{
|
1100
|
+
"kind": "js",
|
1101
|
+
"name": "LAYOUT_ICONS",
|
1102
|
+
"declaration": {
|
1103
|
+
"name": "LAYOUT_ICONS",
|
1104
|
+
"module": "src/styles/constants.ts"
|
1105
|
+
}
|
1106
|
+
}
|
1107
|
+
]
|
1108
|
+
},
|
1109
|
+
{
|
1110
|
+
"kind": "javascript-module",
|
1111
|
+
"path": "src/styles/dragging.styles.ts",
|
1112
|
+
"declarations": [
|
1113
|
+
{
|
1114
|
+
"kind": "variable",
|
1115
|
+
"name": "globalDraggingStyles",
|
1116
|
+
"default": "`\n .lm_dragProxy .lm_content {\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);\n }\n .lm_dropTargetIndicator {\n box-shadow: inset 0 0 30px #000000;\n outline: 1px dashed #cccccc;\n transition: all 200ms ease;\n }\n .lm_dropTargetIndicator .lm_inner {\n background: var(${neutralFillStealthRest.cssCustomProperty});\n opacity: 0.2;\n }\n .lm_dragProxy.lm_left .lm_header,\n .lm_dragProxy.lm_right .lm_header {\n width: 20px;\n float: left;\n vertical-align: top;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_dragProxy.lm_right .lm_header .lm_tabs {\n transform-origin: left top;\n top: 0;\n width: 1000px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_controls,\n .lm_dragProxy.lm_right .lm_header .lm_controls {\n bottom: 0;\n }\n .lm_dragProxy.lm_left .lm_items,\n .lm_dragProxy.lm_right .lm_items {\n float: left;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs {\n transform: rotate(-90deg) scaleX(-1);\n left: 0;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs .lm_tab {\n transform: scaleX(-1);\n margin-top: 1px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabdropdown_list {\n top: initial;\n right: initial;\n left: 20px;\n }\n .lm_dragProxy.lm_right .lm_content {\n float: left;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabs {\n transform: rotate(90deg) scaleX(1);\n left: 100%;\n margin-left: 0;\n }\n .lm_dragProxy.lm_right .lm_header .lm_controls {\n left: 3px;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabdropdown_list {\n top: initial;\n right: 20px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tab {\n margin-top: 0;\n border-top: none;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_controls,\n .lm_stack.lm_bottom .lm_header .lm_controls {\n top: 3px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_bottom .lm_header .lm_tabdropdown_list {\n top: initial;\n bottom: 20px;\n }\n .lm_dragProxy {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 30;\n }\n .lm_dragProxy .lm_header {\n background: transparent;\n }\n .lm_dragProxy .lm_content {\n border-top: none;\n overflow: hidden;\n }\n .lm_dropTargetIndicator {\n display: none;\n position: absolute;\n z-index: 20;\n }\n .lm_dropTargetIndicator .lm_inner {\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n }\n .lm_transition_indicator {\n display: none;\n width: 20px;\n height: 20px;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n }\n`",
|
1117
|
+
"description": "This is defined as a string rather than a css template\nbecause it is applied to a CSSStyleSheet object rather than\nused as a FAST template"
|
1118
|
+
}
|
1119
|
+
],
|
1120
|
+
"exports": [
|
1121
|
+
{
|
1122
|
+
"kind": "js",
|
1123
|
+
"name": "globalDraggingStyles",
|
1124
|
+
"declaration": {
|
1125
|
+
"name": "globalDraggingStyles",
|
1126
|
+
"module": "src/styles/dragging.styles.ts"
|
1127
|
+
}
|
1128
|
+
}
|
1129
|
+
]
|
1130
|
+
},
|
1131
|
+
{
|
1132
|
+
"kind": "javascript-module",
|
1133
|
+
"path": "src/styles/index.ts",
|
1134
|
+
"declarations": [],
|
1135
|
+
"exports": [
|
1136
|
+
{
|
1137
|
+
"kind": "js",
|
1138
|
+
"name": "*",
|
1139
|
+
"declaration": {
|
1140
|
+
"name": "*",
|
1141
|
+
"package": "./constants"
|
1142
|
+
}
|
1143
|
+
},
|
1144
|
+
{
|
1145
|
+
"kind": "js",
|
1146
|
+
"name": "*",
|
1147
|
+
"declaration": {
|
1148
|
+
"name": "*",
|
1149
|
+
"package": "./dragging.styles"
|
1150
|
+
}
|
1151
|
+
},
|
1152
|
+
{
|
1153
|
+
"kind": "js",
|
1154
|
+
"name": "*",
|
1155
|
+
"declaration": {
|
1156
|
+
"name": "*",
|
1157
|
+
"package": "./layout.styles"
|
1158
|
+
}
|
1159
|
+
}
|
1160
|
+
]
|
1161
|
+
},
|
1162
|
+
{
|
1163
|
+
"kind": "javascript-module",
|
1164
|
+
"path": "src/styles/layout.styles.ts",
|
1165
|
+
"declarations": [
|
1166
|
+
{
|
1167
|
+
"kind": "variable",
|
1168
|
+
"name": "layoutStyles",
|
1169
|
+
"default": "css`\n ${containerStyles}\n ${loadingSpinnerStyles}\n\n .lm_goldenlayout {\n padding: 1px;\n background: ${neutralLayer1};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n }\n\n .lm_stack.lm_item {\n background-color: ${neutralLayer4};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n }\n .lm_maximised .lm_header {\n background-color: ${neutralLayer4};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n position: unset;\n }\n\n .lm_maximised .lm_header .lm_tabs {\n z-index: 3;\n }\n\n .lm_content {\n background-color: ${neutralLayer3};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n border: 1px solid;\n border-color: #2e3339;\n box-sizing: border-box;\n }\n\n .lm-header {\n z-index: 1;\n }\n .lm_header .lm_tabs {\n padding: 0 16px;\n }\n\n .lm_stack > .lm_items {\n z-index: 2;\n box-shadow: 0px -1px 15px rgba(0, 0, 0, 0.35);\n }\n\n .lm_header .lm_tab.lm_active.lm_focused {\n background-color: ${neutralLayer3};\n }\n .lm_header .lm_tab.lm_active {\n background-color: ${neutralLayer3};\n border: 1px solid;\n border-color: #2e3339;\n border-bottom: 0;\n color: ${accentFillRest};\n }\n\n .lm_header .lm_tab {\n align-items: center;\n background-color: ${neutralLayer4};\n border: 1px solid;\n border-bottom-color: #2e3339;\n border-bottom: 0px solid;\n border-color: rgba(0, 0, 0, 0.35);\n border-radius: calc(${controlCornerRadius} * 1.5px) calc(${controlCornerRadius} * 1.5px) 0 0;\n box-shadow: 1px -1px 2px rgba(0, 0, 0, 0.35);\n color: rgba(255, 255, 255, 0.3);\n display: flex;\n font-family: inherit;\n font-size: 13px;\n font-weight: 700;\n height: 30px;\n margin-right: 2px;\n margin-top: 3px;\n padding: 2px 16px;\n }\n\n .lm_header .lm_tab:not(.lm_active):hover {\n background-color: rgba(255, 255, 255, 0.1);\n color: #f1f1f1;\n }\n\n .lm_header .lm_controls {\n top: 4px;\n display: flex;\n }\n .lm_header .lm_controls > * {\n width: 30px;\n height: 30px;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 16px;\n background-color: rgba(255, 255, 255, 0.03);\n border-radius: calc(${controlCornerRadius} * 1.5px);\n margin-right: 4px;\n top: 3px;\n opacity: 1;\n }\n .lm_header .lm_controls > *:hover {\n background-color: rgba(255, 255, 255, 0.1);\n cursor: pointer;\n }\n\n .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.maximiseSVG}');\n }\n .lm_maximised .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.minimiseSVG}');\n }\n .lm_controls .lm_close {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n }\n .lm_header .lm_tab .lm_close_tab {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n background-size: 10px;\n background-repeat: no-repeat;\n margin-left: 12px;\n position: relative;\n top: 0;\n right: 0;\n }\n\n .lm_header .lm_tab.lm_active {\n padding: 4px 25px 3px 10px;\n }\n\n .lm_header .lm_tab:not(.lm_active) .lm_title {\n color: ${accentFillRest};\n opacity: 0.7;\n }\n\n .lm_header .lm_controls .lm_tabdropdown::before {\n content: none;\n }\n .lm_header .lm_controls .lm_tabdropdown {\n background-image: url('${LAYOUT_ICONS.tabDropdownSVG}');\n }\n .lm_header .lm_tabdropdown_list {\n top: 38px;\n right: 108px;\n background-color: ${neutralLayer3};\n border: 1px solid;\n border-color: #2e3339;\n border-radius: calc(${controlCornerRadius} * 1.5px);\n box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.35);\n }\n .lm_header .lm_tabdropdown_list > .lm_tab {\n box-shadow: none;\n padding: 0 16px;\n white-space: nowrap;\n background-color: transparent;\n color: #c9c9c9;\n height: 36px;\n border-radius: 0;\n overflow: visible;\n text-overflow: normal;\n }\n .lm_header .lm_tabdropdown_list > .lm_tab:last-child {\n border-bottom: 0;\n }\n\n /* gl base styles start */\n .lm_root {\n position: relative;\n }\n .lm_row > .lm_item {\n float: left;\n }\n .lm_content {\n overflow: hidden;\n position: relative;\n }\n .lm_dragging,\n .lm_dragging * {\n cursor: move !important;\n user-select: none;\n }\n .lm_maximised {\n left: 0;\n padding: 1px;\n position: absolute;\n top: 0;\n z-index: 40;\n }\n .lm_maximise_placeholder {\n display: none;\n }\n .lm_splitter {\n position: relative;\n z-index: 20;\n }\n .lm_splitter:hover,\n .lm_splitter.lm_dragging {\n background: ${accentFillRest};\n border-radius: calc(${controlCornerRadius} * 4px);\n }\n .lm_splitter.lm_vertical .lm_drag_handle {\n width: 100%;\n height: 15px;\n position: absolute;\n top: -5px;\n cursor: ns-resize;\n }\n .lm_splitter.lm_horizontal {\n float: left;\n height: 100%;\n }\n .lm_splitter.lm_horizontal .lm_drag_handle {\n width: 15px;\n height: 100%;\n position: absolute;\n left: -5px;\n cursor: ew-resize;\n }\n .lm_header {\n overflow: visible;\n position: relative;\n z-index: 1;\n }\n .lm_header [class^='lm_'] {\n box-sizing: content-box !important;\n }\n .lm_header .lm_controls {\n position: absolute;\n right: 3px;\n }\n .lm_header .lm_controls > li {\n cursor: pointer;\n float: left;\n width: 18px;\n height: 18px;\n text-align: center;\n }\n .lm_header ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n .lm_header .lm_tabs {\n position: absolute;\n }\n .lm_header .lm_tab {\n cursor: pointer;\n float: left;\n margin-top: 1px;\n padding: 3px 25px 3px 10px;\n position: relative;\n }\n .lm_header .lm_tab i {\n width: 2px;\n height: 19px;\n position: absolute;\n }\n .lm_header .lm_tab i.lm_left {\n top: 0;\n left: -2px;\n }\n .lm_header .lm_tab i.lm_right {\n top: 0;\n right: -2px;\n }\n .lm_header .lm_tab .lm_title {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .lm_header .lm_tab .lm_title:only-child {\n padding-left: 10px;\n }\n .lm_header .lm_tab .lm_close_tab {\n width: 14px;\n height: 14px;\n position: absolute;\n top: 11px;\n right: 0;\n text-align: center;\n }\n .lm_stack.lm_left .lm_header,\n .lm_stack.lm_right .lm_header {\n height: 100%;\n }\n .lm_dragProxy.lm_left .lm_header,\n .lm_dragProxy.lm_right .lm_header,\n .lm_stack.lm_left .lm_header,\n .lm_stack.lm_right .lm_header {\n width: 20px;\n float: left;\n vertical-align: top;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_dragProxy.lm_right .lm_header .lm_tabs,\n .lm_stack.lm_left .lm_header .lm_tabs,\n .lm_stack.lm_right .lm_header .lm_tabs {\n transform-origin: left top;\n top: 0;\n width: 1000px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_controls,\n .lm_dragProxy.lm_right .lm_header .lm_controls,\n .lm_stack.lm_left .lm_header .lm_controls,\n .lm_stack.lm_right .lm_header .lm_controls {\n bottom: 0;\n }\n .lm_dragProxy.lm_left .lm_items,\n .lm_dragProxy.lm_right .lm_items,\n .lm_stack.lm_left .lm_items,\n .lm_stack.lm_right .lm_items {\n float: left;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_stack.lm_left .lm_header .lm_tabs {\n transform: rotate(-90deg) scaleX(-1);\n left: 0;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs .lm_tab,\n .lm_stack.lm_left .lm_header .lm_tabs .lm_tab {\n transform: scaleX(-1);\n margin-top: 1px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_left .lm_header .lm_tabdropdown_list {\n top: initial;\n right: initial;\n left: 20px;\n }\n .lm_dragProxy.lm_right .lm_content {\n float: left;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabs,\n .lm_stack.lm_right .lm_header .lm_tabs {\n transform: rotate(90deg) scaleX(1);\n left: 100%;\n margin-left: 0;\n }\n .lm_dragProxy.lm_right .lm_header .lm_controls,\n .lm_stack.lm_right .lm_header .lm_controls {\n left: 3px;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_right .lm_header .lm_tabdropdown_list {\n top: initial;\n right: 20px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tab,\n .lm_stack.lm_bottom .lm_header .lm_tab {\n margin-top: 0;\n border-top: none;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_controls,\n .lm_stack.lm_bottom .lm_header .lm_controls {\n top: 3px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_bottom .lm_header .lm_tabdropdown_list {\n top: initial;\n bottom: 20px;\n }\n .lm_drop_tab_placeholder {\n float: left;\n width: 100px;\n height: 10px;\n visibility: hidden;\n }\n .lm_header .lm_tabdropdown_list {\n position: absolute;\n top: 20px;\n right: 0;\n z-index: 5;\n overflow: hidden;\n }\n .lm_header .lm_tabdropdown_list .lm_tab {\n clear: both;\n padding-right: 10px;\n margin: 0;\n }\n .lm_header .lm_tabdropdown_list .lm_tab .lm_title {\n width: 100px;\n }\n .lm_header .lm_tabdropdown_list .lm_close_tab {\n display: none !important;\n }\n .lm_dragProxy {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 30;\n }\n .lm_dragProxy .lm_header {\n background: transparent;\n }\n .lm_dragProxy .lm_content {\n border-top: none;\n overflow: hidden;\n }\n .lm_dropTargetIndicator {\n display: none;\n position: absolute;\n z-index: 20;\n }\n .lm_dropTargetIndicator .lm_inner {\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n }\n .lm_transition_indicator {\n display: none;\n width: 20px;\n height: 20px;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n }\n .lm_popin {\n width: 20px;\n height: 20px;\n position: absolute;\n bottom: 0;\n right: 0;\n z-index: 9999;\n }\n .lm_popin > * {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n }\n .lm_popin > .lm_bg {\n z-index: 10;\n }\n .lm_popin > .lm_icon {\n z-index: 20;\n } /*# sourceMappingURL=goldenlayout-base.css.map */\n`",
|
1170
|
+
"description": "`ElementStyles` which defines the css for FoundationLayout.",
|
1171
|
+
"privacy": "public"
|
1172
|
+
}
|
1173
|
+
],
|
1174
|
+
"exports": [
|
1175
|
+
{
|
1176
|
+
"kind": "js",
|
1177
|
+
"name": "layoutStyles",
|
1178
|
+
"declaration": {
|
1179
|
+
"name": "layoutStyles",
|
1180
|
+
"module": "src/styles/layout.styles.ts"
|
1181
|
+
}
|
1182
|
+
}
|
1183
|
+
]
|
1184
|
+
},
|
1185
|
+
{
|
1186
|
+
"kind": "javascript-module",
|
1187
|
+
"path": "src/utils/constants.ts",
|
1188
|
+
"declarations": [
|
1189
|
+
{
|
1190
|
+
"kind": "variable",
|
1191
|
+
"name": "DEFAULT_RELOAD_BUFFER",
|
1192
|
+
"type": {
|
1193
|
+
"text": "number"
|
1194
|
+
},
|
1195
|
+
"default": "500",
|
1196
|
+
"description": "Default time in milliseconds for the layout to buffer calls to reloading\nthe layout while the declarative API is loading.\n\nDuring the first load of the layout, a loading spinner will be shown.",
|
1197
|
+
"privacy": "public"
|
1198
|
+
}
|
1199
|
+
],
|
1200
|
+
"exports": [
|
1201
|
+
{
|
1202
|
+
"kind": "js",
|
1203
|
+
"name": "DEFAULT_RELOAD_BUFFER",
|
1204
|
+
"declaration": {
|
1205
|
+
"name": "DEFAULT_RELOAD_BUFFER",
|
1206
|
+
"module": "src/utils/constants.ts"
|
1207
|
+
}
|
1208
|
+
}
|
1209
|
+
]
|
1210
|
+
},
|
1211
|
+
{
|
1212
|
+
"kind": "javascript-module",
|
1213
|
+
"path": "src/utils/error.ts",
|
1214
|
+
"declarations": [
|
1215
|
+
{
|
1216
|
+
"kind": "class",
|
1217
|
+
"description": "",
|
1218
|
+
"name": "LayoutUsageError",
|
1219
|
+
"superclass": {
|
1220
|
+
"name": "Error",
|
1221
|
+
"module": "src/utils/error.ts"
|
1222
|
+
}
|
1223
|
+
},
|
1224
|
+
{
|
1225
|
+
"kind": "class",
|
1226
|
+
"description": "",
|
1227
|
+
"name": "LayoutRegistrationError",
|
1228
|
+
"superclass": {
|
1229
|
+
"name": "Error",
|
1230
|
+
"module": "src/utils/error.ts"
|
1231
|
+
}
|
1232
|
+
}
|
1233
|
+
],
|
1234
|
+
"exports": [
|
1235
|
+
{
|
1236
|
+
"kind": "js",
|
1237
|
+
"name": "LayoutUsageError",
|
1238
|
+
"declaration": {
|
1239
|
+
"name": "LayoutUsageError",
|
1240
|
+
"module": "src/utils/error.ts"
|
1241
|
+
}
|
1242
|
+
},
|
1243
|
+
{
|
1244
|
+
"kind": "js",
|
1245
|
+
"name": "LayoutRegistrationError",
|
1246
|
+
"declaration": {
|
1247
|
+
"name": "LayoutRegistrationError",
|
1248
|
+
"module": "src/utils/error.ts"
|
1249
|
+
}
|
1250
|
+
}
|
1251
|
+
]
|
1252
|
+
},
|
1253
|
+
{
|
1254
|
+
"kind": "javascript-module",
|
1255
|
+
"path": "src/utils/events.ts",
|
1256
|
+
"declarations": [
|
1257
|
+
{
|
1258
|
+
"kind": "variable",
|
1259
|
+
"name": "LayoutEmitEvents",
|
1260
|
+
"type": {
|
1261
|
+
"text": "{\n firstLoaded: 'first-loaded',\n itemAdded: 'item-added',\n itemRemoved: 'item-removed',\n itemResized: 'item-resized',\n}"
|
1262
|
+
},
|
1263
|
+
"default": "{\n firstLoaded: 'first-loaded',\n itemAdded: 'item-added',\n itemRemoved: 'item-removed',\n itemResized: 'item-resized',\n}",
|
1264
|
+
"description": "Defines events that the layout system emits\n\n'firstLoaded' - emitted when the layout has finished loading the first time\nusing the declarative API after DEFAULT_RELOAD_BUFFER ms.\n<br/>\n'itemAdded' - emitted when an item is added to the layout'\n<br/>\n'itemRemoved' - emitted when an item is removed from the layout'\n<br/>\n'itemResized' - emitted when the user drags the divider to resize elements",
|
1265
|
+
"privacy": "public"
|
1266
|
+
},
|
1267
|
+
{
|
1268
|
+
"kind": "variable",
|
1269
|
+
"name": "LayoutReceiveEvents",
|
1270
|
+
"type": {
|
1271
|
+
"text": "{\n changeTitle: 'change-title',\n autosave: 'autosave',\n}"
|
1272
|
+
},
|
1273
|
+
"default": "{\n changeTitle: 'change-title',\n autosave: 'autosave',\n}",
|
1274
|
+
"description": "Defines events that the layout system listens for\n\n'changeTitle' - emit this from a contained item to update the title of the window that contains it.\n'autosave' - emit this from a contained item to hint to the layout system that it should autosave the layout. A contained item should do this if it has just changed some state it would like to persist. See LayoutComponentWithState.",
|
1275
|
+
"privacy": "public"
|
1276
|
+
}
|
1277
|
+
],
|
1278
|
+
"exports": [
|
1279
|
+
{
|
1280
|
+
"kind": "js",
|
1281
|
+
"name": "LayoutEmitEvents",
|
1282
|
+
"declaration": {
|
1283
|
+
"name": "LayoutEmitEvents",
|
1284
|
+
"module": "src/utils/events.ts"
|
1285
|
+
}
|
1286
|
+
},
|
1287
|
+
{
|
1288
|
+
"kind": "js",
|
1289
|
+
"name": "LayoutReceiveEvents",
|
1290
|
+
"declaration": {
|
1291
|
+
"name": "LayoutReceiveEvents",
|
1292
|
+
"module": "src/utils/events.ts"
|
1293
|
+
}
|
1294
|
+
}
|
1295
|
+
]
|
1296
|
+
},
|
1297
|
+
{
|
1298
|
+
"kind": "javascript-module",
|
1299
|
+
"path": "src/utils/index.ts",
|
1300
|
+
"declarations": [],
|
1301
|
+
"exports": [
|
1302
|
+
{
|
1303
|
+
"kind": "js",
|
1304
|
+
"name": "*",
|
1305
|
+
"declaration": {
|
1306
|
+
"name": "*",
|
1307
|
+
"package": "./constants"
|
1308
|
+
}
|
1309
|
+
},
|
1310
|
+
{
|
1311
|
+
"kind": "js",
|
1312
|
+
"name": "*",
|
1313
|
+
"declaration": {
|
1314
|
+
"name": "*",
|
1315
|
+
"package": "./error"
|
1316
|
+
}
|
1317
|
+
},
|
1318
|
+
{
|
1319
|
+
"kind": "js",
|
1320
|
+
"name": "*",
|
1321
|
+
"declaration": {
|
1322
|
+
"name": "*",
|
1323
|
+
"package": "./events"
|
1324
|
+
}
|
1325
|
+
},
|
1326
|
+
{
|
1327
|
+
"kind": "js",
|
1328
|
+
"name": "*",
|
1329
|
+
"declaration": {
|
1330
|
+
"name": "*",
|
1331
|
+
"package": "./misc"
|
1332
|
+
}
|
1333
|
+
},
|
1334
|
+
{
|
1335
|
+
"kind": "js",
|
1336
|
+
"name": "*",
|
1337
|
+
"declaration": {
|
1338
|
+
"name": "*",
|
1339
|
+
"package": "./templates"
|
1340
|
+
}
|
1341
|
+
},
|
1342
|
+
{
|
1343
|
+
"kind": "js",
|
1344
|
+
"name": "*",
|
1345
|
+
"declaration": {
|
1346
|
+
"name": "*",
|
1347
|
+
"package": "./types"
|
1348
|
+
}
|
1349
|
+
},
|
1350
|
+
{
|
1351
|
+
"kind": "js",
|
1352
|
+
"name": "*",
|
1353
|
+
"declaration": {
|
1354
|
+
"name": "*",
|
1355
|
+
"package": "./error"
|
1356
|
+
}
|
1357
|
+
}
|
1358
|
+
]
|
1359
|
+
},
|
1360
|
+
{
|
1361
|
+
"kind": "javascript-module",
|
1362
|
+
"path": "src/utils/logger.ts",
|
1363
|
+
"declarations": [
|
1364
|
+
{
|
1365
|
+
"kind": "variable",
|
1366
|
+
"name": "logger"
|
1367
|
+
}
|
1368
|
+
],
|
1369
|
+
"exports": [
|
1370
|
+
{
|
1371
|
+
"kind": "js",
|
1372
|
+
"name": "logger",
|
1373
|
+
"declaration": {
|
1374
|
+
"name": "logger",
|
1375
|
+
"module": "src/utils/logger.ts"
|
1376
|
+
}
|
1377
|
+
}
|
1378
|
+
]
|
1379
|
+
},
|
1380
|
+
{
|
1381
|
+
"kind": "javascript-module",
|
1382
|
+
"path": "src/utils/misc.ts",
|
1383
|
+
"declarations": [],
|
1384
|
+
"exports": []
|
1385
|
+
},
|
1386
|
+
{
|
1387
|
+
"kind": "javascript-module",
|
1388
|
+
"path": "src/utils/templates.ts",
|
1389
|
+
"declarations": [],
|
1390
|
+
"exports": []
|
1391
|
+
},
|
1392
|
+
{
|
1393
|
+
"kind": "javascript-module",
|
1394
|
+
"path": "src/utils/types.ts",
|
1395
|
+
"declarations": [],
|
1396
|
+
"exports": []
|
1370
1397
|
}
|
1371
1398
|
]
|
1372
1399
|
}
|
@@ -152,6 +152,7 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
152
152
|
* the JavaScript API then you don't need to call this function. If you *are* calling {@link FoundationLayout.registerItem} then you should call this function immediately afterwards.
|
153
153
|
*
|
154
154
|
* Will load the layout with `handleMissingItem = 'placeholder` so placeholder text will be shown for any missing items.
|
155
|
+
* Loads layout config with the cache disabled (this will likely only be called after the page has refreshed anyway, so there would have been no cached elements to try and recover).
|
155
156
|
* @returns boolean - true if a layout was loaded, false if not
|
156
157
|
* @public
|
157
158
|
*/
|
@@ -165,10 +166,11 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
165
166
|
*
|
166
167
|
* @param layout - any version of {@link SerialisedLayout} object describing the layout
|
167
168
|
* @param handleMissingItem - what to do if the layout contains items that are not currently registered with the layout system. Defaults to 'error' which will throw an error. If set to 'placeholder' then any missing items will be replaced with a placeholder element. You can control the text of the placeholder element with {@link FoundationLayout.missingItemPlaceholder}.
|
169
|
+
* @param disableCache - if set to true then the layout will give you a new instance of every item, even if it has a currently cached item to use. Using this will not stop you from saving and loading state via the {@link LayoutComponentWithState} interface. Defaults to false.
|
168
170
|
* @throws {@link LayoutUsageError} if you attempt to load a layout with registered items that are not currently registered with the layout system, and handleMissingItem is set to 'error' (default).
|
169
171
|
* @throws various errors if the layout string is malformed and cannot be parsed
|
170
172
|
*/
|
171
|
-
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error'): void;
|
173
|
+
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error', disableCache?: boolean): void;
|
172
174
|
/**
|
173
175
|
* @public
|
174
176
|
* Dynamically add a new item to the layout. The user can move the new plane to whenever they want once it has been added.
|
@@ -287,6 +289,10 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
287
289
|
* @internal
|
288
290
|
*/
|
289
291
|
private getLayoutComponents;
|
292
|
+
/**
|
293
|
+
* Recursively remove the instance key from the config which will mean that when the config is loaded it will instantiate a new instance for every item, even if they're in the cache.
|
294
|
+
*/
|
295
|
+
private removeConfigCacheInformation;
|
290
296
|
}
|
291
297
|
/**
|
292
298
|
* `ViewTemplate` which defines the html for {@link FoundationLayout}.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"layout-main.d.ts","sourceRoot":"","sources":["../../../src/main/layout-main.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EAEZ,cAAc,EAGf,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAEL,eAAe,EAGf,SAAS,EACT,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EAKb,YAAY,
|
1
|
+
{"version":3,"file":"layout-main.d.ts","sourceRoot":"","sources":["../../../src/main/layout-main.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EAEZ,cAAc,EAGf,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAEL,eAAe,EAGf,SAAS,EACT,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EAKb,YAAY,EAMb,MAAM,WAAW,CAAC;AAKnB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAiBzC;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,iBAAkB,YAAW,eAAe;;IAChF,OAAO,CAAC,MAAM,CAAe;IAC7B,gBAAgB;IAChB,aAAa,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,YAAY,CAAqC;IAEzD,gBAAgB;IAChB,CAAC,aAAa,CAAC,SAAmB;IAElC;;;;OAIG;IACmC,YAAY,EAAE,MAAM,CAAyB;IACnF,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,oBAAoB,CAAK;IAEjC,gBAAgB;IACV,OAAO,CAAC,IAAI,CAAO;IAEzB,gBAAgB;IACP,OAAO,CAAC,OAAO,CAAU;IAClC;;;;;OAKG;IACmC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC3D;;;;OAIG;IACS,sBAAsB,gBAAiB,MAAM,YAC2B;IAEpF;;;OAGG;IACH,gBAAgB,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC;IAE3C;;;;;;;;;;OAUG;IACS,cAAc,UAAS;IACnC,gBAAgB;IACJ,mBAAmB,UAAS;IAExC;;;;;OAKG;IACH,aAAa,EAAE,YAAY,EAAE,CAAC;IAE9B;;;OAGG;IACS,QAAQ,EAAE,OAAO,CAAS;IAEtC;;;;;OAKG;IACI,KAAK,yBAAmC;IAE/C;;;;;;;OAOG;IACI,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAa;IAE5D,gBAAgB;;IAWhB,gBAAgB;IAChB,iBAAiB,IAAI,IAAI;IA0BzB,gBAAgB;IAChB,oBAAoB,IAAI,IAAI;IAU5B,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAInB,gBAAgB;IAChB,OAAO,CAAC,UAAU;IAMlB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAKvB,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAIxB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAOzB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAKzB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IAEH;;;;;;;;;;OAUG;IACH,MAAM,CAAC,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,EAAE;IActE;;;;;;;;OAQG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;;;;;OAMG;IACH,SAAS,IAAI,gBAAgB;IAiB7B;;;;;;;;;;;;;OAaG;IACH,6BAA6B,IAAI,OAAO;IAcxC;;;;;;;;;;;;OAYG;IACH,UAAU,CACR,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,GAAE,aAAa,GAAG,OAAiB,EACpD,YAAY,GAAE,OAAe;IAkC/B;;;;;;;;;;;OAWG;IACH,OAAO,CACL,MAAM,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,EAC3D,SAAS,GAAE,SAAmC;IA+DhD;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM;IAW/D;;OAEG;IAEH;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACH,mBAAmB,IAAI,IAAI;IAmB3B;;;;;;;OAOG;IACH,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC;IAetD;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,kBAAkB,GAAG,MAAM;IAsEtE;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAehC;;;;SAIK;IACL,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;;OAQG;IACH,OAAO,CAAC,kCAAkC;IA4B1C;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,4BAA4B;CAUrC;AAMD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,uEAK1B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;2BAI3B,CAAC"}
|
@@ -233,6 +233,7 @@ export class FoundationLayout extends FoundationElement {
|
|
233
233
|
* the JavaScript API then you don't need to call this function. If you *are* calling {@link FoundationLayout.registerItem} then you should call this function immediately afterwards.
|
234
234
|
*
|
235
235
|
* Will load the layout with `handleMissingItem = 'placeholder` so placeholder text will be shown for any missing items.
|
236
|
+
* Loads layout config with the cache disabled (this will likely only be called after the page has refreshed anyway, so there would have been no cached elements to try and recover).
|
236
237
|
* @returns boolean - true if a layout was loaded, false if not
|
237
238
|
* @public
|
238
239
|
*/
|
@@ -243,7 +244,7 @@ export class FoundationLayout extends FoundationElement {
|
|
243
244
|
if (!(this.autoSaveKey in existingLayouts))
|
244
245
|
return false;
|
245
246
|
const layout = JSON.parse(existingLayouts[this.autoSaveKey]);
|
246
|
-
this.loadLayout(layout, 'placeholder');
|
247
|
+
this.loadLayout(layout, 'placeholder', true);
|
247
248
|
return true;
|
248
249
|
}
|
249
250
|
/**
|
@@ -255,10 +256,11 @@ export class FoundationLayout extends FoundationElement {
|
|
255
256
|
*
|
256
257
|
* @param layout - any version of {@link SerialisedLayout} object describing the layout
|
257
258
|
* @param handleMissingItem - what to do if the layout contains items that are not currently registered with the layout system. Defaults to 'error' which will throw an error. If set to 'placeholder' then any missing items will be replaced with a placeholder element. You can control the text of the placeholder element with {@link FoundationLayout.missingItemPlaceholder}.
|
259
|
+
* @param disableCache - if set to true then the layout will give you a new instance of every item, even if it has a currently cached item to use. Using this will not stop you from saving and loading state via the {@link LayoutComponentWithState} interface. Defaults to false.
|
258
260
|
* @throws {@link LayoutUsageError} if you attempt to load a layout with registered items that are not currently registered with the layout system, and handleMissingItem is set to 'error' (default).
|
259
261
|
* @throws various errors if the layout string is malformed and cannot be parsed
|
260
262
|
*/
|
261
|
-
loadLayout(layout, handleMissingItem = 'error') {
|
263
|
+
loadLayout(layout, handleMissingItem = 'error', disableCache = false) {
|
262
264
|
const alreadyRegistered = this.registeredItems();
|
263
265
|
const wantedRegistered = FoundationLayout.layoutRequiredRegistrations(layout);
|
264
266
|
const missingRegisteredItems = getMissingArrayItems(wantedRegistered, alreadyRegistered);
|
@@ -268,6 +270,8 @@ export class FoundationLayout extends FoundationElement {
|
|
268
270
|
]}"`);
|
269
271
|
}
|
270
272
|
const layoutConfig = LayoutConfig.fromResolved(ResolvedLayoutConfig.unminifyConfig(layout.c));
|
273
|
+
if (disableCache)
|
274
|
+
this.removeConfigCacheInformation(layoutConfig);
|
271
275
|
if (missingRegisteredItems.length !== 0 && handleMissingItem === 'placeholder') {
|
272
276
|
this.registerPlaceholdersAndSetClosable(layoutConfig, missingRegisteredItems);
|
273
277
|
}
|
@@ -610,6 +614,20 @@ export class FoundationLayout extends FoundationElement {
|
|
610
614
|
...container.children,
|
611
615
|
]);
|
612
616
|
}
|
617
|
+
/**
|
618
|
+
* Recursively remove the instance key from the config which will mean that when the config is loaded it will instantiate a new instance for every item, even if they're in the cache.
|
619
|
+
*/
|
620
|
+
removeConfigCacheInformation(config) {
|
621
|
+
const traverse = (node) => {
|
622
|
+
var _b;
|
623
|
+
(_b = node.content) === null || _b === void 0 ? void 0 : _b.forEach((n) => traverse(n));
|
624
|
+
if (node.type === 'component') {
|
625
|
+
delete node.componentState['instance'];
|
626
|
+
}
|
627
|
+
};
|
628
|
+
traverse(config.root);
|
629
|
+
return config;
|
630
|
+
}
|
613
631
|
}
|
614
632
|
_FoundationLayout__boundDragListener = new WeakMap(), _a = componentType;
|
615
633
|
__decorate([
|
@@ -668,7 +668,7 @@
|
|
668
668
|
{
|
669
669
|
"kind": "Method",
|
670
670
|
"canonicalReference": "@genesislcap/foundation-layout!FoundationLayout#loadLayout:member(1)",
|
671
|
-
"docComment": "/**\n * Restores a layout described in the config from {@link FoundationLayout.getLayout | getLayout()}\n *\n * @remarks\n *\n * In order to restore a layout you must have registered all of the required panes with the layout system before restoring it. If you are just setting the layout using the declarative API then all of the same components will be registered. If you have added any elements using {@link FoundationLayout.registerItem} then you must ensure all of the same items have been added again. To make tracking what items are registered easier it is recommended in this case you explicitly name your registrations using the `id` parameter available on the {@link RegisteredElementConfig} and `foundation-layout-item` APIs. You can use {@link FoundationLayout.layoutRequiredRegistrations} to check which items are registered in a current layout in order to dynamically add any missing items before you can restore the layout\n *\n * @param layout - any version of {@link SerialisedLayout} object describing the layout\n *\n * @param handleMissingItem - what to do if the layout contains items that are not currently registered with the layout system. Defaults to 'error' which will throw an error. If set to 'placeholder' then any missing items will be replaced with a placeholder element. You can control the text of the placeholder element with {@link FoundationLayout.missingItemPlaceholder}.\n *\n * @throws\n *\n * {@link LayoutUsageError} if you attempt to load a layout with registered items that are not currently registered with the layout system, and handleMissingItem is set to 'error' (default).\n *\n * @throws\n *\n * various errors if the layout string is malformed and cannot be parsed\n *\n * @public\n */\n",
|
671
|
+
"docComment": "/**\n * Restores a layout described in the config from {@link FoundationLayout.getLayout | getLayout()}\n *\n * @remarks\n *\n * In order to restore a layout you must have registered all of the required panes with the layout system before restoring it. If you are just setting the layout using the declarative API then all of the same components will be registered. If you have added any elements using {@link FoundationLayout.registerItem} then you must ensure all of the same items have been added again. To make tracking what items are registered easier it is recommended in this case you explicitly name your registrations using the `id` parameter available on the {@link RegisteredElementConfig} and `foundation-layout-item` APIs. You can use {@link FoundationLayout.layoutRequiredRegistrations} to check which items are registered in a current layout in order to dynamically add any missing items before you can restore the layout\n *\n * @param layout - any version of {@link SerialisedLayout} object describing the layout\n *\n * @param handleMissingItem - what to do if the layout contains items that are not currently registered with the layout system. Defaults to 'error' which will throw an error. If set to 'placeholder' then any missing items will be replaced with a placeholder element. You can control the text of the placeholder element with {@link FoundationLayout.missingItemPlaceholder}.\n *\n * @param disableCache - if set to true then the layout will give you a new instance of every item, even if it has a currently cached item to use. Using this will not stop you from saving and loading state via the {@link LayoutComponentWithState} interface. Defaults to false.\n *\n * @throws\n *\n * {@link LayoutUsageError} if you attempt to load a layout with registered items that are not currently registered with the layout system, and handleMissingItem is set to 'error' (default).\n *\n * @throws\n *\n * various errors if the layout string is malformed and cannot be parsed\n *\n * @public\n */\n",
|
672
672
|
"excerptTokens": [
|
673
673
|
{
|
674
674
|
"kind": "Content",
|
@@ -687,6 +687,14 @@
|
|
687
687
|
"kind": "Content",
|
688
688
|
"text": "'placeholder' | 'error'"
|
689
689
|
},
|
690
|
+
{
|
691
|
+
"kind": "Content",
|
692
|
+
"text": ", disableCache?: "
|
693
|
+
},
|
694
|
+
{
|
695
|
+
"kind": "Content",
|
696
|
+
"text": "boolean"
|
697
|
+
},
|
690
698
|
{
|
691
699
|
"kind": "Content",
|
692
700
|
"text": "): "
|
@@ -702,8 +710,8 @@
|
|
702
710
|
],
|
703
711
|
"isStatic": false,
|
704
712
|
"returnTypeTokenRange": {
|
705
|
-
"startIndex":
|
706
|
-
"endIndex":
|
713
|
+
"startIndex": 7,
|
714
|
+
"endIndex": 8
|
707
715
|
},
|
708
716
|
"releaseTag": "Public",
|
709
717
|
"isProtected": false,
|
@@ -724,6 +732,14 @@
|
|
724
732
|
"endIndex": 4
|
725
733
|
},
|
726
734
|
"isOptional": true
|
735
|
+
},
|
736
|
+
{
|
737
|
+
"parameterName": "disableCache",
|
738
|
+
"parameterTypeTokenRange": {
|
739
|
+
"startIndex": 5,
|
740
|
+
"endIndex": 6
|
741
|
+
},
|
742
|
+
"isOptional": true
|
727
743
|
}
|
728
744
|
],
|
729
745
|
"isOptional": false,
|
@@ -893,7 +909,7 @@
|
|
893
909
|
{
|
894
910
|
"kind": "Method",
|
895
911
|
"canonicalReference": "@genesislcap/foundation-layout!FoundationLayout#tryLoadLayoutFromLocalStorage:member(1)",
|
896
|
-
"docComment": "/**\n * Try to load a layout from local storage, or return false. Only required if manually calling {@link FoundationLayout.registerItem}\n *\n * @remarks\n *\n * Attempt to load an autosaved layout from local storage, keyed on the `auto-save-key` attribute. If `auto-save-key` attribute is not set or there is no autosaved layout yet, this will return false. Else, true.\n *\n * This function is automatically called when loading the layout via the declarative API so if you're not registering components via the JavaScript API then you don't need to call this function. If you *are* calling {@link FoundationLayout.registerItem} then you should call this function immediately afterwards.\n *\n * Will load the layout with `handleMissingItem = 'placeholder` so placeholder text will be shown for any missing items.\n *\n * @returns boolean - true if a layout was loaded, false if not\n *\n * @public\n */\n",
|
912
|
+
"docComment": "/**\n * Try to load a layout from local storage, or return false. Only required if manually calling {@link FoundationLayout.registerItem}\n *\n * @remarks\n *\n * Attempt to load an autosaved layout from local storage, keyed on the `auto-save-key` attribute. If `auto-save-key` attribute is not set or there is no autosaved layout yet, this will return false. Else, true.\n *\n * This function is automatically called when loading the layout via the declarative API so if you're not registering components via the JavaScript API then you don't need to call this function. If you *are* calling {@link FoundationLayout.registerItem} then you should call this function immediately afterwards.\n *\n * Will load the layout with `handleMissingItem = 'placeholder` so placeholder text will be shown for any missing items. Loads layout config with the cache disabled (this will likely only be called after the page has refreshed anyway, so there would have been no cached elements to try and recover).\n *\n * @returns boolean - true if a layout was loaded, false if not\n *\n * @public\n */\n",
|
897
913
|
"excerptTokens": [
|
898
914
|
{
|
899
915
|
"kind": "Content",
|
@@ -188,6 +188,7 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
188
188
|
* the JavaScript API then you don't need to call this function. If you *are* calling {@link FoundationLayout.registerItem} then you should call this function immediately afterwards.
|
189
189
|
*
|
190
190
|
* Will load the layout with `handleMissingItem = 'placeholder` so placeholder text will be shown for any missing items.
|
191
|
+
* Loads layout config with the cache disabled (this will likely only be called after the page has refreshed anyway, so there would have been no cached elements to try and recover).
|
191
192
|
* @returns boolean - true if a layout was loaded, false if not
|
192
193
|
* @public
|
193
194
|
*/
|
@@ -201,10 +202,11 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
201
202
|
*
|
202
203
|
* @param layout - any version of {@link SerialisedLayout} object describing the layout
|
203
204
|
* @param handleMissingItem - what to do if the layout contains items that are not currently registered with the layout system. Defaults to 'error' which will throw an error. If set to 'placeholder' then any missing items will be replaced with a placeholder element. You can control the text of the placeholder element with {@link FoundationLayout.missingItemPlaceholder}.
|
205
|
+
* @param disableCache - if set to true then the layout will give you a new instance of every item, even if it has a currently cached item to use. Using this will not stop you from saving and loading state via the {@link LayoutComponentWithState} interface. Defaults to false.
|
204
206
|
* @throws {@link LayoutUsageError} if you attempt to load a layout with registered items that are not currently registered with the layout system, and handleMissingItem is set to 'error' (default).
|
205
207
|
* @throws various errors if the layout string is malformed and cannot be parsed
|
206
208
|
*/
|
207
|
-
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error'): void;
|
209
|
+
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error', disableCache?: boolean): void;
|
208
210
|
/**
|
209
211
|
* @public
|
210
212
|
* Dynamically add a new item to the layout. The user can move the new plane to whenever they want once it has been added.
|
@@ -323,6 +325,10 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
323
325
|
* @internal
|
324
326
|
*/
|
325
327
|
private getLayoutComponents;
|
328
|
+
/**
|
329
|
+
* Recursively remove the instance key from the config which will mean that when the config is loaded it will instantiate a new instance for every item, even if they're in the cache.
|
330
|
+
*/
|
331
|
+
private removeConfigCacheInformation;
|
326
332
|
}
|
327
333
|
|
328
334
|
/**
|
@@ -9,7 +9,7 @@ Restores a layout described in the config from [getLayout()](./foundation-layout
|
|
9
9
|
**Signature:**
|
10
10
|
|
11
11
|
```typescript
|
12
|
-
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error'): void;
|
12
|
+
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error', disableCache?: boolean): void;
|
13
13
|
```
|
14
14
|
|
15
15
|
## Parameters
|
@@ -18,6 +18,7 @@ loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error'
|
|
18
18
|
| --- | --- | --- |
|
19
19
|
| layout | [SerialisedLayout](./foundation-layout.serialisedlayout.md) | any version of [SerialisedLayout](./foundation-layout.serialisedlayout.md) object describing the layout |
|
20
20
|
| handleMissingItem | 'placeholder' \| 'error' | _(Optional)_ what to do if the layout contains items that are not currently registered with the layout system. Defaults to 'error' which will throw an error. If set to 'placeholder' then any missing items will be replaced with a placeholder element. You can control the text of the placeholder element with [FoundationLayout.missingItemPlaceholder](./foundation-layout.foundationlayout.missingitemplaceholder.md)<!-- -->. |
|
21
|
+
| disableCache | boolean | _(Optional)_ if set to true then the layout will give you a new instance of every item, even if it has a currently cached item to use. Using this will not stop you from saving and loading state via the [LayoutComponentWithState](./foundation-layout.layoutcomponentwithstate.md) interface. Defaults to false. |
|
21
22
|
|
22
23
|
**Returns:**
|
23
24
|
|
@@ -42,7 +42,7 @@ The constructor for this class is marked as internal. Third-party code should no
|
|
42
42
|
| [addItem(config, placement)](./foundation-layout.foundationlayout.additem.md) | | Dynamically add a new item to the layout. The user can move the new plane to whenever they want once it has been added. |
|
43
43
|
| [getLayout()](./foundation-layout.foundationlayout.getlayout.md) | | Gets a minified string containing the config describing the current layout of the layout object to later restore in [function](./foundation-layout.foundationlayout.loadlayout.md) |
|
44
44
|
| [layoutRequiredRegistrations(layout)](./foundation-layout.foundationlayout.layoutrequiredregistrations.md) | <code>static</code> | Gets all of the required element registry function names for a set of config |
|
45
|
-
| [loadLayout(layout, handleMissingItem)](./foundation-layout.foundationlayout.loadlayout.md) | | Restores a layout described in the config from [getLayout()](./foundation-layout.foundationlayout.getlayout.md) |
|
45
|
+
| [loadLayout(layout, handleMissingItem, disableCache)](./foundation-layout.foundationlayout.loadlayout.md) | | Restores a layout described in the config from [getLayout()](./foundation-layout.foundationlayout.getlayout.md) |
|
46
46
|
| [registeredItems()](./foundation-layout.foundationlayout.registereditems.md) | | Gets all of the currently registered names |
|
47
47
|
| [registerItem(registration, elements)](./foundation-layout.foundationlayout.registeritem.md) | | Register a collection of <code>Element</code> and associate them with an <code>ID</code> with the layout system for later use. |
|
48
48
|
| [tryLoadLayoutFromLocalStorage()](./foundation-layout.foundationlayout.tryloadlayoutfromlocalstorage.md) | | Try to load a layout from local storage, or return false. Only required if manually calling [FoundationLayout.registerItem()](./foundation-layout.foundationlayout.registeritem.md) |
|
@@ -23,5 +23,5 @@ Attempt to load an autosaved layout from local storage, keyed on the `auto-save-
|
|
23
23
|
|
24
24
|
This function is automatically called when loading the layout via the declarative API so if you're not registering components via the JavaScript API then you don't need to call this function. If you \*are\* calling [FoundationLayout.registerItem()](./foundation-layout.foundationlayout.registeritem.md) then you should call this function immediately afterwards.
|
25
25
|
|
26
|
-
Will load the layout with `handleMissingItem = 'placeholder` so placeholder text will be shown for any missing items.
|
26
|
+
Will load the layout with `handleMissingItem = 'placeholder` so placeholder text will be shown for any missing items. Loads layout config with the cache disabled (this will likely only be called after the page has refreshed anyway, so there would have been no cached elements to try and recover).
|
27
27
|
|
package/docs/api-report.md
CHANGED
@@ -51,7 +51,7 @@ export class FoundationLayout extends FoundationElement implements LayoutCompone
|
|
51
51
|
layoutElement: HTMLElement;
|
52
52
|
static layoutRequiredRegistrations(layout: SerialisedLayout): string[];
|
53
53
|
lifecycleUpdateToken: string | undefined;
|
54
|
-
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error'): void;
|
54
|
+
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error', disableCache?: boolean): void;
|
55
55
|
missingItemPlaceholder: (missingItem: string) => string;
|
56
56
|
registeredItems(): string[];
|
57
57
|
registerItem(registration: string, elements: Element[]): string;
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@genesislcap/foundation-layout",
|
3
3
|
"description": "Genesis Foundation UI App Layout",
|
4
|
-
"version": "14.
|
4
|
+
"version": "14.97.0",
|
5
5
|
"license": "SEE LICENSE IN license.txt",
|
6
6
|
"main": "dist/esm/index.js",
|
7
7
|
"types": "dist/foundation-layout.d.ts",
|
@@ -27,15 +27,15 @@
|
|
27
27
|
"test:debug": "genx test --debug"
|
28
28
|
},
|
29
29
|
"devDependencies": {
|
30
|
-
"@genesislcap/foundation-testing": "14.
|
31
|
-
"@genesislcap/genx": "14.
|
30
|
+
"@genesislcap/foundation-testing": "14.97.0",
|
31
|
+
"@genesislcap/genx": "14.97.0",
|
32
32
|
"rimraf": "^3.0.2"
|
33
33
|
},
|
34
34
|
"dependencies": {
|
35
35
|
"@genesis-community/golden-layout": "^2.10.1",
|
36
|
-
"@genesislcap/foundation-comms": "14.
|
37
|
-
"@genesislcap/foundation-logger": "14.
|
38
|
-
"@genesislcap/foundation-utils": "14.
|
36
|
+
"@genesislcap/foundation-comms": "14.97.0",
|
37
|
+
"@genesislcap/foundation-logger": "14.97.0",
|
38
|
+
"@genesislcap/foundation-utils": "14.97.0",
|
39
39
|
"@microsoft/fast-components": "^2.21.3",
|
40
40
|
"@microsoft/fast-element": "^1.7.0",
|
41
41
|
"@microsoft/fast-foundation": "^2.33.2",
|
@@ -50,5 +50,5 @@
|
|
50
50
|
"access": "public"
|
51
51
|
},
|
52
52
|
"customElements": "dist/custom-elements.json",
|
53
|
-
"gitHead": "
|
53
|
+
"gitHead": "8a8a410a437d11bd1ada9d540411d3701f1382e5"
|
54
54
|
}
|