@genesislcap/foundation-layout 14.96.1 → 14.98.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -1
- package/dist/custom-elements.json +384 -357
- package/dist/dts/main/layout-main.d.ts +11 -1
- package/dist/dts/main/layout-main.d.ts.map +1 -1
- package/dist/esm/main/layout-main.js +34 -2
- package/dist/foundation-layout.api.json +20 -4
- package/dist/foundation-layout.d.ts +11 -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 +8 -8
package/README.md
CHANGED
@@ -277,8 +277,9 @@ This section concerns the behaviour of elements inside the layout. If you are us
|
|
277
277
|
|
278
278
|
There are actions that the user can perform with items in the layout which will run the component lifecycle functions (`connectedCallback` and `disconnectedCallback`) at times when you don't want them to run:
|
279
279
|
- When an item is dragged around the layout.
|
280
|
-
- Potentially, when another item is removed from the layout
|
280
|
+
- Potentially, when another item is removed from the layout.
|
281
281
|
- Potentially, when new items are added to the layout.
|
282
|
+
- When an item is maximised or minimised.
|
282
283
|
|
283
284
|
For example, if you have a component with a loaded resource on the layout (such as a grid with a `grid-pro-genesis-datasource`) and you add a new item to the layout with the JavaScript API, then the component with the loaded resource will have to reload too. It is important that any such element accounts for this, including such requirements as caching data, or resizing correctly.
|
284
285
|
|
@@ -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
|
}
|
@@ -109,6 +109,10 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
109
109
|
private onPostItemResized;
|
110
110
|
/** @internal */
|
111
111
|
private onAutosaveRequest;
|
112
|
+
/** @internal */
|
113
|
+
private onPreItemMaximised;
|
114
|
+
/** @internal */
|
115
|
+
private onPreItemMinimised;
|
112
116
|
/**
|
113
117
|
* JS API, public
|
114
118
|
*/
|
@@ -152,6 +156,7 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
152
156
|
* 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
157
|
*
|
154
158
|
* Will load the layout with `handleMissingItem = 'placeholder` so placeholder text will be shown for any missing items.
|
159
|
+
* 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
160
|
* @returns boolean - true if a layout was loaded, false if not
|
156
161
|
* @public
|
157
162
|
*/
|
@@ -165,10 +170,11 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
165
170
|
*
|
166
171
|
* @param layout - any version of {@link SerialisedLayout} object describing the layout
|
167
172
|
* @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}.
|
173
|
+
* @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
174
|
* @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
175
|
* @throws various errors if the layout string is malformed and cannot be parsed
|
170
176
|
*/
|
171
|
-
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error'): void;
|
177
|
+
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error', disableCache?: boolean): void;
|
172
178
|
/**
|
173
179
|
* @public
|
174
180
|
* 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 +293,10 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
287
293
|
* @internal
|
288
294
|
*/
|
289
295
|
private getLayoutComponents;
|
296
|
+
/**
|
297
|
+
* 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.
|
298
|
+
*/
|
299
|
+
private removeConfigCacheInformation;
|
290
300
|
}
|
291
301
|
/**
|
292
302
|
* `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;;IAahB,gBAAgB;IAChB,iBAAiB,IAAI,IAAI;IA4BzB,gBAAgB;IAChB,oBAAoB,IAAI,IAAI;IAY5B,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,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAI1B,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAI1B;;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"}
|
@@ -95,6 +95,8 @@ export class FoundationLayout extends FoundationElement {
|
|
95
95
|
this.onPostItemRemoved = this.onPostItemRemoved.bind(this);
|
96
96
|
this.onPreItemRemoved = this.onPreItemRemoved.bind(this);
|
97
97
|
this.onAutosaveRequest = this.onAutosaveRequest.bind(this);
|
98
|
+
this.onPreItemMaximised = this.onPreItemMaximised.bind(this);
|
99
|
+
this.onPreItemMinimised = this.onPreItemMinimised.bind(this);
|
98
100
|
}
|
99
101
|
/** @internal */
|
100
102
|
connectedCallback() {
|
@@ -115,6 +117,8 @@ export class FoundationLayout extends FoundationElement {
|
|
115
117
|
this.shadowRoot.addEventListener('dragStop', this.onDragStop, true);
|
116
118
|
this.shadowRoot.addEventListener('closeButtonPre', this.onPreItemRemoved, true);
|
117
119
|
this.shadowRoot.addEventListener('closeButtonPressed', this.onPostItemRemoved, true);
|
120
|
+
this.shadowRoot.addEventListener('maximised', this.onPreItemMaximised, true);
|
121
|
+
this.shadowRoot.addEventListener('minimised', this.onPreItemMinimised, true);
|
118
122
|
// events.ts events
|
119
123
|
this.shadowRoot.addEventListener(LayoutReceiveEvents.autosave, this.onAutosaveRequest, true);
|
120
124
|
this.setupCustomButtons();
|
@@ -126,6 +130,8 @@ export class FoundationLayout extends FoundationElement {
|
|
126
130
|
this.shadowRoot.removeEventListener('dragStop', this.onDragStop);
|
127
131
|
this.shadowRoot.removeEventListener('closeButtonPre', this.onPreItemRemoved);
|
128
132
|
this.shadowRoot.removeEventListener('closeButtonPressed', this.onPostItemRemoved);
|
133
|
+
this.shadowRoot.removeEventListener('maximised', this.onPreItemMaximised);
|
134
|
+
this.shadowRoot.removeEventListener('minimised', this.onPreItemMinimised);
|
129
135
|
// events.ts events
|
130
136
|
this.shadowRoot.addEventListener(LayoutReceiveEvents.autosave, this.onAutosaveRequest);
|
131
137
|
}
|
@@ -162,6 +168,14 @@ export class FoundationLayout extends FoundationElement {
|
|
162
168
|
onAutosaveRequest() {
|
163
169
|
this.cacheAndSaveLayout();
|
164
170
|
}
|
171
|
+
/** @internal */
|
172
|
+
onPreItemMaximised() {
|
173
|
+
this.updateLifecycleToken();
|
174
|
+
}
|
175
|
+
/** @internal */
|
176
|
+
onPreItemMinimised() {
|
177
|
+
this.updateLifecycleToken();
|
178
|
+
}
|
165
179
|
/**
|
166
180
|
* JS API, public
|
167
181
|
*/
|
@@ -233,6 +247,7 @@ export class FoundationLayout extends FoundationElement {
|
|
233
247
|
* 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
248
|
*
|
235
249
|
* Will load the layout with `handleMissingItem = 'placeholder` so placeholder text will be shown for any missing items.
|
250
|
+
* 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
251
|
* @returns boolean - true if a layout was loaded, false if not
|
237
252
|
* @public
|
238
253
|
*/
|
@@ -243,7 +258,7 @@ export class FoundationLayout extends FoundationElement {
|
|
243
258
|
if (!(this.autoSaveKey in existingLayouts))
|
244
259
|
return false;
|
245
260
|
const layout = JSON.parse(existingLayouts[this.autoSaveKey]);
|
246
|
-
this.loadLayout(layout, 'placeholder');
|
261
|
+
this.loadLayout(layout, 'placeholder', true);
|
247
262
|
return true;
|
248
263
|
}
|
249
264
|
/**
|
@@ -255,10 +270,11 @@ export class FoundationLayout extends FoundationElement {
|
|
255
270
|
*
|
256
271
|
* @param layout - any version of {@link SerialisedLayout} object describing the layout
|
257
272
|
* @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}.
|
273
|
+
* @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
274
|
* @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
275
|
* @throws various errors if the layout string is malformed and cannot be parsed
|
260
276
|
*/
|
261
|
-
loadLayout(layout, handleMissingItem = 'error') {
|
277
|
+
loadLayout(layout, handleMissingItem = 'error', disableCache = false) {
|
262
278
|
const alreadyRegistered = this.registeredItems();
|
263
279
|
const wantedRegistered = FoundationLayout.layoutRequiredRegistrations(layout);
|
264
280
|
const missingRegisteredItems = getMissingArrayItems(wantedRegistered, alreadyRegistered);
|
@@ -268,6 +284,8 @@ export class FoundationLayout extends FoundationElement {
|
|
268
284
|
]}"`);
|
269
285
|
}
|
270
286
|
const layoutConfig = LayoutConfig.fromResolved(ResolvedLayoutConfig.unminifyConfig(layout.c));
|
287
|
+
if (disableCache)
|
288
|
+
this.removeConfigCacheInformation(layoutConfig);
|
271
289
|
if (missingRegisteredItems.length !== 0 && handleMissingItem === 'placeholder') {
|
272
290
|
this.registerPlaceholdersAndSetClosable(layoutConfig, missingRegisteredItems);
|
273
291
|
}
|
@@ -610,6 +628,20 @@ export class FoundationLayout extends FoundationElement {
|
|
610
628
|
...container.children,
|
611
629
|
]);
|
612
630
|
}
|
631
|
+
/**
|
632
|
+
* 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.
|
633
|
+
*/
|
634
|
+
removeConfigCacheInformation(config) {
|
635
|
+
const traverse = (node) => {
|
636
|
+
var _b;
|
637
|
+
(_b = node.content) === null || _b === void 0 ? void 0 : _b.forEach((n) => traverse(n));
|
638
|
+
if (node.type === 'component') {
|
639
|
+
delete node.componentState['instance'];
|
640
|
+
}
|
641
|
+
};
|
642
|
+
traverse(config.root);
|
643
|
+
return config;
|
644
|
+
}
|
613
645
|
}
|
614
646
|
_FoundationLayout__boundDragListener = new WeakMap(), _a = componentType;
|
615
647
|
__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",
|
@@ -145,6 +145,10 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
145
145
|
private onPostItemResized;
|
146
146
|
/** @internal */
|
147
147
|
private onAutosaveRequest;
|
148
|
+
/** @internal */
|
149
|
+
private onPreItemMaximised;
|
150
|
+
/** @internal */
|
151
|
+
private onPreItemMinimised;
|
148
152
|
/**
|
149
153
|
* JS API, public
|
150
154
|
*/
|
@@ -188,6 +192,7 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
188
192
|
* 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
193
|
*
|
190
194
|
* Will load the layout with `handleMissingItem = 'placeholder` so placeholder text will be shown for any missing items.
|
195
|
+
* 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
196
|
* @returns boolean - true if a layout was loaded, false if not
|
192
197
|
* @public
|
193
198
|
*/
|
@@ -201,10 +206,11 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
201
206
|
*
|
202
207
|
* @param layout - any version of {@link SerialisedLayout} object describing the layout
|
203
208
|
* @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}.
|
209
|
+
* @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
210
|
* @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
211
|
* @throws various errors if the layout string is malformed and cannot be parsed
|
206
212
|
*/
|
207
|
-
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error'): void;
|
213
|
+
loadLayout(layout: SerialisedLayout, handleMissingItem?: 'placeholder' | 'error', disableCache?: boolean): void;
|
208
214
|
/**
|
209
215
|
* @public
|
210
216
|
* 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 +329,10 @@ export declare class FoundationLayout extends FoundationElement implements Layou
|
|
323
329
|
* @internal
|
324
330
|
*/
|
325
331
|
private getLayoutComponents;
|
332
|
+
/**
|
333
|
+
* 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.
|
334
|
+
*/
|
335
|
+
private removeConfigCacheInformation;
|
326
336
|
}
|
327
337
|
|
328
338
|
/**
|
@@ -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.98.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.98.0",
|
31
|
+
"@genesislcap/genx": "14.98.0",
|
32
32
|
"rimraf": "^3.0.2"
|
33
33
|
},
|
34
34
|
"dependencies": {
|
35
|
-
"@genesis-community/golden-layout": "^2.
|
36
|
-
"@genesislcap/foundation-comms": "14.
|
37
|
-
"@genesislcap/foundation-logger": "14.
|
38
|
-
"@genesislcap/foundation-utils": "14.
|
35
|
+
"@genesis-community/golden-layout": "^2.11.0",
|
36
|
+
"@genesislcap/foundation-comms": "14.98.0",
|
37
|
+
"@genesislcap/foundation-logger": "14.98.0",
|
38
|
+
"@genesislcap/foundation-utils": "14.98.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": "07afc08d7c91080168b8ef63b71825edccf65635"
|
54
54
|
}
|