@eclipse-scout/core 22.0.0-beta.1 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/eclipse-scout-core-theme-dark.css +135 -46
  2. package/dist/eclipse-scout-core-theme-dark.css.map +1 -1
  3. package/dist/eclipse-scout-core-theme.css +134 -45
  4. package/dist/eclipse-scout-core-theme.css.map +1 -1
  5. package/dist/eclipse-scout-core.js +744 -640
  6. package/dist/eclipse-scout-core.js.map +1 -1
  7. package/package.json +2 -2
  8. package/src/App.js +86 -17
  9. package/src/RemoteApp.js +1 -0
  10. package/src/desktop/Desktop.js +3 -3
  11. package/src/desktop/desktoptab/DesktopTab.less +14 -0
  12. package/src/desktop/notification/DesktopNotification.js +33 -8
  13. package/src/desktop/outline/Outline.js +2 -32
  14. package/src/desktop/outline/Outline.less +14 -6
  15. package/src/desktop/outline/OutlineViewButton.js +1 -0
  16. package/src/desktop/viewbutton/ViewButtonBox.js +2 -2
  17. package/src/filechooser/FileChooser.js +2 -1
  18. package/src/form/Form.js +11 -3
  19. package/src/form/fields/groupbox/GroupBox.less +3 -1
  20. package/src/glasspane/DeferredGlassPaneTarget.js +2 -2
  21. package/src/index.js +2 -1
  22. package/src/login/LoginBox.less +8 -1
  23. package/src/main.less +1 -1
  24. package/src/menu/ComboMenu.js +22 -17
  25. package/src/menu/ComboMenu.less +71 -26
  26. package/src/menu/ContextMenuPopup.js +3 -2
  27. package/src/menu/ContextMenuPopup.less +1 -1
  28. package/src/menu/EllipsisMenu.js +4 -0
  29. package/src/menu/Menu.js +24 -11
  30. package/src/menu/menubar/MenuBar.js +2 -19
  31. package/src/menu/menubar/MenuBarBox.js +3 -34
  32. package/src/menu/menubar/MenuBarLayout.js +6 -19
  33. package/src/menu/menubox/MenuBoxLayout.js +1 -1
  34. package/src/menu/menus.js +4 -10
  35. package/src/messagebox/MessageBox.js +3 -22
  36. package/src/modeselector/ModeSelectorLayout.js +11 -6
  37. package/src/notification/Notification.js +15 -14
  38. package/src/popup/Popup.js +3 -20
  39. package/src/session/BusyIndicator.js +2 -1
  40. package/src/session/Session.js +4 -63
  41. package/src/status/Status.js +2 -1
  42. package/src/style/colors-dark.less +3 -1
  43. package/src/style/colors.less +2 -0
  44. package/src/style/sizes.less +5 -3
  45. package/src/table/Table.js +7 -3
  46. package/src/table/Table.less +13 -3
  47. package/src/table/columns/Column.js +4 -0
  48. package/src/tile/fields/htmlfield/TileHtmlField.js +28 -0
  49. package/src/tooltip/Tooltip.less +7 -5
  50. package/src/tree/LazyNodeFilter.js +24 -15
  51. package/src/tree/Tree.js +112 -143
  52. package/src/tree/Tree.less +2 -2
  53. package/src/tree/TreeLayout.js +1 -1
  54. package/src/tree/TreeNode.js +2 -2
  55. package/src/util/Device.js +6 -2
  56. package/src/widget/FilterSupport.js +6 -4
  57. package/src/widget/FilterSupport.less +38 -9
  58. package/src/widget/LoadingSupport.js +1 -1
  59. package/src/widget/Widget.js +41 -36
  60. package/src/widget/WidgetSupport.js +1 -1
@@ -16,7 +16,7 @@ __webpack_require__.r(__webpack_exports__);
16
16
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
17
17
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
18
18
  /*
19
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
19
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
20
20
  * All rights reserved. This program and the accompanying materials
21
21
  * are made available under the terms of the Eclipse Public License v1.0
22
22
  * which accompanies this distribution, and is available at
@@ -52,7 +52,8 @@ class App {
52
52
  constructor() {
53
53
  this.events = this._createEventSupport();
54
54
  this.initialized = false;
55
- this.sessions = []; // register the listeners which were added to scout before the app is created
55
+ this.sessions = [];
56
+ this._loadingTimeoutId = null; // register the listeners which were added to scout before the app is created
56
57
 
57
58
  listeners.forEach(function (listener) {
58
59
  this.addListener(listener);
@@ -203,9 +204,13 @@ class App {
203
204
 
204
205
  _init(options) {
205
206
  options = options || {};
207
+ this.setLoading(true);
206
208
 
207
- if (!this._checkBrowserCompatibility(options)) {
208
- return;
209
+ let compatibilityPromise = this._checkBrowserCompatibility(options);
210
+
211
+ if (compatibilityPromise) {
212
+ this.setLoading(false);
213
+ return compatibilityPromise.then(newOptions => this._init(newOptions));
209
214
  }
210
215
 
211
216
  this._initVersion(options);
@@ -236,28 +241,87 @@ class App {
236
241
 
237
242
  _checkBrowserCompatibility(options) {
238
243
  let device = _index__WEBPACK_IMPORTED_MODULE_0__.Device.get();
239
- let app = this;
240
244
  jquery__WEBPACK_IMPORTED_MODULE_1___default().log.isInfoEnabled() && jquery__WEBPACK_IMPORTED_MODULE_1___default().log.info('Detected browser ' + device.browser + ' version ' + device.browserVersion);
241
245
 
242
246
  if (!_index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(options.checkBrowserCompatibility, true) || device.isSupportedBrowser()) {
243
247
  // No check requested or browser is supported
244
- return true;
248
+ return;
245
249
  }
246
250
 
251
+ let deferred = jquery__WEBPACK_IMPORTED_MODULE_1___default().Deferred();
252
+ let newOptions = _index__WEBPACK_IMPORTED_MODULE_0__.objects.valueCopy(options);
253
+ newOptions.checkBrowserCompatibility = false;
247
254
  jquery__WEBPACK_IMPORTED_MODULE_1___default()('.scout').each(function () {
248
- let $entryPoint = jquery__WEBPACK_IMPORTED_MODULE_1___default()(this),
249
- $box = $entryPoint.appendDiv(),
250
- newOptions = _index__WEBPACK_IMPORTED_MODULE_0__.objects.valueCopy(options);
251
- newOptions.checkBrowserCompatibility = false;
255
+ let $entryPoint = jquery__WEBPACK_IMPORTED_MODULE_1___default()(this);
256
+ let $box = $entryPoint.appendDiv();
252
257
  $box.load('unsupported-browser.html', () => {
253
258
  $box.find('button').on('click', () => {
254
259
  $box.remove();
255
-
256
- app._init(newOptions);
260
+ deferred.resolve(newOptions);
257
261
  });
258
262
  });
259
263
  });
260
- return false;
264
+ return deferred.promise();
265
+ }
266
+
267
+ setLoading(loading) {
268
+ if (loading) {
269
+ this._loadingTimeoutId = setTimeout(() => {
270
+ // Don't start loading if a desktop is already rendered to prevent flickering when the loading will be set to false after app initialization finishes
271
+ if (!this.sessions.some(session => session.desktop && session.desktop.rendered)) {
272
+ this._renderLoading();
273
+ }
274
+ }, 200);
275
+ } else {
276
+ clearTimeout(this._loadingTimeoutId);
277
+ this._loadingTimeoutId = null;
278
+
279
+ this._removeLoading();
280
+ }
281
+ }
282
+
283
+ _renderLoading() {
284
+ let $body = jquery__WEBPACK_IMPORTED_MODULE_1___default()('body'),
285
+ $loadingRoot = $body.children('.application-loading-root');
286
+
287
+ if (!$loadingRoot.length) {
288
+ $loadingRoot = $body.appendDiv('application-loading-root').addClass('application-loading-root').fadeIn();
289
+ }
290
+
291
+ this._renderLoadingElement($loadingRoot, 'application-loading01');
292
+
293
+ this._renderLoadingElement($loadingRoot, 'application-loading02');
294
+
295
+ this._renderLoadingElement($loadingRoot, 'application-loading03');
296
+ }
297
+
298
+ _renderLoadingElement($loadingRoot, cssClass) {
299
+ if ($loadingRoot.children('.' + cssClass).length) {
300
+ return;
301
+ } // noinspection JSValidateTypes
302
+
303
+
304
+ $loadingRoot.appendDiv(cssClass).hide().fadeIn();
305
+ }
306
+
307
+ _removeLoading() {
308
+ let $loadingRoot = jquery__WEBPACK_IMPORTED_MODULE_1___default()('body').children('.application-loading-root'); // the fadeout animation only contains a to-value and no from-value
309
+ // therefore set the current value to the elements style
310
+
311
+ $loadingRoot.css('opacity', $loadingRoot.css('opacity')); // Add animation listener before adding the classes to ensure the listener will always be triggered even while debugging
312
+
313
+ $loadingRoot.oneAnimationEnd(() => $loadingRoot.remove());
314
+
315
+ if ($loadingRoot.css('opacity') == 1) {
316
+ $loadingRoot.addClass('fadeout and-more');
317
+ } else {
318
+ $loadingRoot.addClass('fadeout');
319
+ }
320
+
321
+ if (!_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsCssAnimation()) {
322
+ // fallback for old browsers that do not support the animation-end event
323
+ $loadingRoot.remove();
324
+ }
261
325
  }
262
326
 
263
327
  _initVersion(options) {
@@ -363,9 +427,8 @@ class App {
363
427
 
364
428
  let desktop = this._createDesktop(session.root);
365
429
 
366
- this.trigger('desktopReady', {
367
- desktop: desktop
368
- });
430
+ this._triggerDesktopReady(desktop);
431
+
369
432
  session.render(() => {
370
433
  session._renderDesktop(); // Ensure layout is valid (explicitly layout immediately and don't wait for setTimeout to run to make layouting invisible to the user)
371
434
 
@@ -373,14 +436,26 @@ class App {
373
436
  session.layoutValidator.validate();
374
437
  session.focusManager.validateFocus();
375
438
  session.ready = true;
376
- this.trigger('sessionReady', {
377
- session: session
378
- });
439
+
440
+ this._triggerSessionReady(session);
441
+
379
442
  jquery__WEBPACK_IMPORTED_MODULE_1___default().log.isInfoEnabled() && jquery__WEBPACK_IMPORTED_MODULE_1___default().log.info('Session initialized. Detected ' + _index__WEBPACK_IMPORTED_MODULE_0__.Device.get());
380
443
  });
381
444
  return jquery__WEBPACK_IMPORTED_MODULE_1___default().resolvedPromise();
382
445
  }
383
446
 
447
+ _triggerDesktopReady(desktop) {
448
+ this.trigger('desktopReady', {
449
+ desktop: desktop
450
+ });
451
+ }
452
+
453
+ _triggerSessionReady(session) {
454
+ this.trigger('sessionReady', {
455
+ session: session
456
+ });
457
+ }
458
+
384
459
  _createSession(options) {
385
460
  return _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('Session', options, {
386
461
  ensureUniqueId: false
@@ -403,6 +478,7 @@ class App {
403
478
 
404
479
  _initDone(options) {
405
480
  this.initialized = true;
481
+ this.setLoading(false);
406
482
  this.trigger('init', {
407
483
  options: options
408
484
  });
@@ -415,6 +491,7 @@ class App {
415
491
  }
416
492
 
417
493
  jquery__WEBPACK_IMPORTED_MODULE_1___default().log.error('App initialization failed.');
494
+ this.setLoading(false);
418
495
  return this.errorHandler.handle(error, ...args).then(errorInfo => {
419
496
  let $error = jquery__WEBPACK_IMPORTED_MODULE_1___default()('body').appendDiv('startup-error');
420
497
  $error.appendDiv('startup-error-title').text('The application could not be started');
@@ -1257,7 +1334,8 @@ class RemoteApp extends _index__WEBPACK_IMPORTED_MODULE_0__.App {
1257
1334
  }
1258
1335
 
1259
1336
  _fail(options, error) {
1260
- jquery__WEBPACK_IMPORTED_MODULE_1___default().log.error('App initialization failed', error); // Session.js already handled the error -> don't show a message here
1337
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.error('App initialization failed', error);
1338
+ this.setLoading(false); // Session.js already handled the error -> don't show a message here
1261
1339
  // Reject with original rejection arguments
1262
1340
 
1263
1341
  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
@@ -9232,13 +9310,13 @@ class Desktop extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
9232
9310
  return this.getPopups().filter(popup => widget.has(popup));
9233
9311
  }
9234
9312
  /**
9235
- * Destroys every popup which is a descendant of the given widget.
9313
+ * Removes every popup which is a descendant of the given widget.
9236
9314
  */
9237
9315
 
9238
9316
 
9239
- destroyPopupsFor(widget) {
9317
+ removePopupsFor(widget) {
9240
9318
  this.getPopupsFor(widget).forEach(popup => {
9241
- popup.destroy();
9319
+ popup.remove();
9242
9320
  });
9243
9321
  }
9244
9322
  /**
@@ -14143,7 +14221,7 @@ __webpack_require__.r(__webpack_exports__);
14143
14221
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14144
14222
 
14145
14223
  /*
14146
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
14224
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
14147
14225
  * All rights reserved. This program and the accompanying materials
14148
14226
  * are made available under the terms of the Eclipse Public License v1.0
14149
14227
  * which accompanies this distribution, and is available at
@@ -14162,7 +14240,8 @@ class DesktopNotification extends _index__WEBPACK_IMPORTED_MODULE_0__.Notificati
14162
14240
  this._removing = false;
14163
14241
  this.nativeOnly = false;
14164
14242
  this.nativeNotificationTitle = null;
14165
- this.nativeNotificationIconId = null;
14243
+ this.nativeNotificationStatus = null; // holds native message & native icon
14244
+
14166
14245
  this.nativeNotificationVisibility = DesktopNotification.NativeNotificationVisibility.NONE;
14167
14246
  this.nativeNotification = null;
14168
14247
  this.nativeNotificationShown = false;
@@ -14181,8 +14260,16 @@ class DesktopNotification extends _index__WEBPACK_IMPORTED_MODULE_0__.Notificati
14181
14260
 
14182
14261
  if (defaults) {
14183
14262
  this.nativeNotificationTitle = model.nativeNotificationTitle !== undefined ? model.nativeNotificationTitle : defaults.title;
14184
- this.nativeNotificationIconId = model.nativeNotificationIconId !== undefined ? model.nativeNotificationIconId : defaults.iconId;
14185
- this.nativeNotificationVisibility = scout.nvl(model.nativeNotificationVisibility !== undefined ? model.nativeNotificationVisibility : defaults.visibility, DesktopNotification.NativeNotificationVisibility.NONE);
14263
+
14264
+ if (this.nativeNotificationStatus) {
14265
+ this.nativeNotificationStatus.iconId = this.nativeNotificationStatus.iconId !== undefined ? this.nativeNotificationStatus.iconId : defaults.iconId;
14266
+ } else {
14267
+ this.nativeNotificationStatus = new _index__WEBPACK_IMPORTED_MODULE_0__.Status({
14268
+ iconId: defaults.iconId
14269
+ });
14270
+ }
14271
+
14272
+ this.nativeNotificationVisibility = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(model.nativeNotificationVisibility !== undefined ? model.nativeNotificationVisibility : defaults.visibility, DesktopNotification.NativeNotificationVisibility.NONE);
14186
14273
  }
14187
14274
 
14188
14275
  this.resolveTextKeys(['nativeNotificationTitle']);
@@ -14237,11 +14324,33 @@ class DesktopNotification extends _index__WEBPACK_IMPORTED_MODULE_0__.Notificati
14237
14324
  return;
14238
14325
  }
14239
14326
 
14240
- let title = scout.nvl(this.nativeNotificationTitle, '');
14241
- let body = scout.nvl(_index__WEBPACK_IMPORTED_MODULE_0__.strings.nl2br(this.status.message), '');
14327
+ let title = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(this.nativeNotificationTitle, '');
14328
+ let body = (this.nativeNotificationStatus || {}).message;
14329
+
14330
+ if (_index__WEBPACK_IMPORTED_MODULE_0__.strings.empty(body)) {
14331
+ body = (this.status || {}).message;
14332
+ }
14333
+
14334
+ if (!body) {
14335
+ body = '';
14336
+ }
14337
+
14338
+ if (this.htmlEnabled) {
14339
+ body = _index__WEBPACK_IMPORTED_MODULE_0__.strings.plainText(body, {
14340
+ removeFontIcons: true
14341
+ });
14342
+ }
14343
+
14344
+ let iconId = (this.nativeNotificationStatus || {}).iconId;
14345
+
14346
+ if (_index__WEBPACK_IMPORTED_MODULE_0__.strings.empty(iconId)) {
14347
+ // icon must not be null or empty. If no icon it must be undefined
14348
+ iconId = undefined;
14349
+ }
14350
+
14242
14351
  this.nativeNotification = new Notification(title, {
14243
14352
  body: body,
14244
- icon: this.nativeNotificationIconId
14353
+ icon: iconId
14245
14354
  });
14246
14355
  this.nativeNotification.addEventListener('show', event => {
14247
14356
  this._setNativeNotificationShown(true);
@@ -14383,8 +14492,14 @@ class DesktopNotification extends _index__WEBPACK_IMPORTED_MODULE_0__.Notificati
14383
14492
  this.setProperty('nativeNotificationTitle', title);
14384
14493
  }
14385
14494
 
14386
- setNativeNotificationIconId(iconId) {
14387
- this.setProperty('nativeNotificationIconId', iconId);
14495
+ setNativeNotificationStatus(status) {
14496
+ this.setProperty('nativeNotificationStatus', status);
14497
+ }
14498
+
14499
+ _setNativeNotificationStatus(status) {
14500
+ status = _index__WEBPACK_IMPORTED_MODULE_0__.Status.ensure(status);
14501
+
14502
+ this._setProperty('nativeNotificationStatus', status);
14388
14503
  }
14389
14504
 
14390
14505
  setNativeNotificationVisibility(visibility) {
@@ -15791,10 +15906,10 @@ class Outline extends _index__WEBPACK_IMPORTED_MODULE_0__.Tree {
15791
15906
  this.setProperty('nodeMenuBarVisible', visible);
15792
15907
  }
15793
15908
 
15794
- glassPaneTargets() {
15909
+ glassPaneTargets(element) {
15795
15910
  // MessageBoxes are often created with Outlines as displayParent. The default implementation of this function
15796
15911
  // would not render any glass panes when the outline is collapsed, thus we need to override this behavior.
15797
- return this._glassPaneTargets();
15912
+ return this._glassPaneTargets(element);
15798
15913
  }
15799
15914
 
15800
15915
  _glassPaneTargets(element) {
@@ -15805,10 +15920,6 @@ class Outline extends _index__WEBPACK_IMPORTED_MODULE_0__.Tree {
15805
15920
  $elements.push(desktop.navigation.$body);
15806
15921
  }
15807
15922
 
15808
- if (desktop.bench && element instanceof _index__WEBPACK_IMPORTED_MODULE_0__.Form && element.displayHint === _index__WEBPACK_IMPORTED_MODULE_0__.Form.DisplayHint.VIEW) {
15809
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushAll($elements, this._getBenchGlassPaneTargetsForView(element));
15810
- }
15811
-
15812
15923
  if (desktop.bench && desktop.bench.outlineContent) {
15813
15924
  _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushAll($elements, desktop.bench.outlineContent.glassPaneTargets(element));
15814
15925
  }
@@ -15816,33 +15927,6 @@ class Outline extends _index__WEBPACK_IMPORTED_MODULE_0__.Tree {
15816
15927
  return $elements;
15817
15928
  }
15818
15929
 
15819
- _getBenchGlassPaneTargetsForView(view) {
15820
- let $glassPanes = [];
15821
- $glassPanes = $glassPanes.concat(this._getTabGlassPaneTargetsForView(view, this.session.desktop.header));
15822
- this.session.desktop.bench.visibleTabBoxes().forEach(function (tabBox) {
15823
- if (tabBox.hasView(view)) {
15824
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushAll($glassPanes, this._getTabGlassPaneTargetsForView(view, tabBox));
15825
- } else if (tabBox.$container) {
15826
- $glassPanes.push(tabBox.$container);
15827
- }
15828
- }, this);
15829
- return $glassPanes;
15830
- }
15831
-
15832
- _getTabGlassPaneTargetsForView(view, tabBox) {
15833
- let $glassPanes = [];
15834
- tabBox.tabArea.tabs.forEach(tab => {
15835
- if (tab.view !== view && tab.view.displayParent === this) {
15836
- $glassPanes.push(tab.$container); // Workaround for javascript not being able to prevent hover event propagation:
15837
- // In case of tabs, the hover selector is defined on the element that is the direct parent
15838
- // of the glass pane. Under these circumstances, the hover style isn't be prevented by the glass pane.
15839
-
15840
- tab.$container.addClass('glasspane-parent');
15841
- }
15842
- });
15843
- return $glassPanes;
15844
- }
15845
-
15846
15930
  _onGlassPaneMouseDown(glassPaneOwner, $glassPane) {
15847
15931
  let desktop = this.session.desktop;
15848
15932
 
@@ -16487,6 +16571,7 @@ __webpack_require__.r(__webpack_exports__);
16487
16571
  class OutlineViewButton extends _index__WEBPACK_IMPORTED_MODULE_0__.ViewButton {
16488
16572
  constructor() {
16489
16573
  super();
16574
+ this.outline = null;
16490
16575
 
16491
16576
  this._addWidgetProperties('outline');
16492
16577
 
@@ -19629,7 +19714,7 @@ __webpack_require__.r(__webpack_exports__);
19629
19714
  /* harmony export */ });
19630
19715
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../index */ "./src/index.js");
19631
19716
  /*
19632
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
19717
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
19633
19718
  * All rights reserved. This program and the accompanying materials
19634
19719
  * are made available under the terms of the Eclipse Public License v1.0
19635
19720
  * which accompanies this distribution, and is available at
@@ -20511,7 +20596,7 @@ __webpack_require__.r(__webpack_exports__);
20511
20596
  /* harmony export */ });
20512
20597
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
20513
20598
  /*
20514
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
20599
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
20515
20600
  * All rights reserved. This program and the accompanying materials
20516
20601
  * are made available under the terms of the Eclipse Public License v1.0
20517
20602
  * which accompanies this distribution, and is available at
@@ -20531,6 +20616,7 @@ class FileChooser extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
20531
20616
  this.boxButtons = null;
20532
20617
  this.uploadButton = null;
20533
20618
  this.cancelButton = null;
20619
+ this.inheritAccessibility = false; // inherit not necessary. if the FileChooser can be opened, it must be editable. Opening a disabled chooser makes no sense.
20534
20620
 
20535
20621
  this._addWidgetProperties(['boxButtons', 'uploadButton', 'cancelButton']);
20536
20622
  }
@@ -22896,7 +22982,9 @@ class Form extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
22896
22982
  throw error;
22897
22983
  }
22898
22984
  /**
22899
- * Method may be implemented to load the data. By default, the provided this.data is returned.
22985
+ * Method may be implemented to load the data. <br>
22986
+ * By default, a resolved promise containing the provided this.data is returned.
22987
+ * @returns {Promise}
22900
22988
  */
22901
22989
 
22902
22990
 
@@ -22923,6 +23011,10 @@ class Form extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
22923
23011
  _postLoad() {
22924
23012
  return jquery__WEBPACK_IMPORTED_MODULE_1___default().resolvedPromise();
22925
23013
  }
23014
+ /**
23015
+ * @param {any} data
23016
+ */
23017
+
22926
23018
 
22927
23019
  setData(data) {
22928
23020
  this.setProperty('data', data);
@@ -22930,8 +23022,13 @@ class Form extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
22930
23022
 
22931
23023
  importData() {// NOP
22932
23024
  }
23025
+ /**
23026
+ * @returns {any}
23027
+ */
23028
+
22933
23029
 
22934
- exportData() {// NOP
23030
+ exportData() {
23031
+ return null;
22935
23032
  }
22936
23033
  /**
22937
23034
  * Saves and closes the form.
@@ -22988,7 +23085,7 @@ class Form extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
22988
23085
  }
22989
23086
  /**
22990
23087
  * This function is called by the lifecycle, when the 'save' function is called.<p>
22991
- * The data given to this function is the result of 'exportData' which was called in advance.
23088
+ * The data given to this function is the result of {@link exportData} which was called in advance.
22992
23089
  *
22993
23090
  * @returns {Promise} promise which may contain a Status specifying if the save operation was successful. The promise may be empty which means the save operation was successful.
22994
23091
  */
@@ -52204,8 +52301,8 @@ __webpack_require__.r(__webpack_exports__);
52204
52301
  */
52205
52302
  class DeferredGlassPaneTarget {
52206
52303
  constructor() {
52207
- this.$glassPaneTargets;
52208
- this.glassPaneRenderer;
52304
+ this.$glassPaneTargets = null;
52305
+ this.glassPaneRenderer = null;
52209
52306
  }
52210
52307
 
52211
52308
  ready($glassPaneTargets) {
@@ -54545,93 +54642,94 @@ __webpack_require__.r(__webpack_exports__);
54545
54642
  /* harmony export */ "FormFieldTileAdapter": () => (/* reexport safe */ _tile_fields_FormFieldTileAdapter__WEBPACK_IMPORTED_MODULE_594__["default"]),
54546
54643
  /* harmony export */ "ButtonTile": () => (/* reexport safe */ _tile_fields_button_ButtonTile__WEBPACK_IMPORTED_MODULE_595__["default"]),
54547
54644
  /* harmony export */ "TileButton": () => (/* reexport safe */ _tile_fields_button_TileButton__WEBPACK_IMPORTED_MODULE_596__["default"]),
54548
- /* harmony export */ "TileTableField": () => (/* reexport safe */ _tile_fields_tablefield_TileTableField__WEBPACK_IMPORTED_MODULE_597__["default"]),
54549
- /* harmony export */ "SimpleTab": () => (/* reexport safe */ _tabbox_SimpleTab__WEBPACK_IMPORTED_MODULE_598__["default"]),
54550
- /* harmony export */ "SimpleTabArea": () => (/* reexport safe */ _tabbox_SimpleTabArea__WEBPACK_IMPORTED_MODULE_599__["default"]),
54551
- /* harmony export */ "SimpleTabAreaLayout": () => (/* reexport safe */ _tabbox_SimpleTabAreaLayout__WEBPACK_IMPORTED_MODULE_600__["default"]),
54552
- /* harmony export */ "Desktop": () => (/* reexport safe */ _desktop_Desktop__WEBPACK_IMPORTED_MODULE_601__["default"]),
54553
- /* harmony export */ "DesktopAdapter": () => (/* reexport safe */ _desktop_DesktopAdapter__WEBPACK_IMPORTED_MODULE_602__["default"]),
54554
- /* harmony export */ "DesktopLogo": () => (/* reexport safe */ _desktop_DesktopLogo__WEBPACK_IMPORTED_MODULE_603__["default"]),
54555
- /* harmony export */ "DesktopLayout": () => (/* reexport safe */ _desktop_DesktopLayout__WEBPACK_IMPORTED_MODULE_604__["default"]),
54556
- /* harmony export */ "DesktopTab": () => (/* reexport safe */ _desktop_desktoptab_DesktopTab__WEBPACK_IMPORTED_MODULE_605__["default"]),
54557
- /* harmony export */ "DesktopTabArea": () => (/* reexport safe */ _desktop_desktoptab_DesktopTabArea__WEBPACK_IMPORTED_MODULE_606__["default"]),
54558
- /* harmony export */ "DesktopTabAreaLayout": () => (/* reexport safe */ _desktop_desktoptab_DesktopTabAreaLayout__WEBPACK_IMPORTED_MODULE_607__["default"]),
54559
- /* harmony export */ "DesktopTabBoxController": () => (/* reexport safe */ _desktop_DesktopTabBoxController__WEBPACK_IMPORTED_MODULE_608__["default"]),
54560
- /* harmony export */ "DesktopTabSelectKeyStroke": () => (/* reexport safe */ _desktop_bench_DesktopTabSelectKeyStroke__WEBPACK_IMPORTED_MODULE_609__["default"]),
54561
- /* harmony export */ "DisableBrowserF5ReloadKeyStroke": () => (/* reexport safe */ _desktop_DisableBrowserF5ReloadKeyStroke__WEBPACK_IMPORTED_MODULE_610__["default"]),
54562
- /* harmony export */ "PopupWindow": () => (/* reexport safe */ _desktop_PopupWindow__WEBPACK_IMPORTED_MODULE_611__["default"]),
54563
- /* harmony export */ "OpenUriHandler": () => (/* reexport safe */ _desktop_OpenUriHandler__WEBPACK_IMPORTED_MODULE_612__["default"]),
54564
- /* harmony export */ "DesktopBench": () => (/* reexport safe */ _desktop_bench_DesktopBench__WEBPACK_IMPORTED_MODULE_613__["default"]),
54565
- /* harmony export */ "BenchColumn": () => (/* reexport safe */ _desktop_bench_BenchColumn__WEBPACK_IMPORTED_MODULE_614__["default"]),
54566
- /* harmony export */ "BenchRowLayoutData": () => (/* reexport safe */ _desktop_bench_layout_BenchRowLayoutData__WEBPACK_IMPORTED_MODULE_615__["default"]),
54567
- /* harmony export */ "BenchColumnLayoutData": () => (/* reexport safe */ _desktop_bench_layout_BenchColumnLayoutData__WEBPACK_IMPORTED_MODULE_616__["default"]),
54568
- /* harmony export */ "DisableBrowserTabSwitchingKeyStroke": () => (/* reexport safe */ _desktop_desktoptab_DisableBrowserTabSwitchingKeyStroke__WEBPACK_IMPORTED_MODULE_617__["default"]),
54569
- /* harmony export */ "DesktopHeader": () => (/* reexport safe */ _desktop_header_DesktopHeader__WEBPACK_IMPORTED_MODULE_618__["default"]),
54570
- /* harmony export */ "HeaderTabBoxController": () => (/* reexport safe */ _desktop_header_HeaderTabBoxController__WEBPACK_IMPORTED_MODULE_619__["default"]),
54571
- /* harmony export */ "DesktopHeaderLayout": () => (/* reexport safe */ _desktop_header_DesktopHeaderLayout__WEBPACK_IMPORTED_MODULE_620__["default"]),
54572
- /* harmony export */ "DesktopNavigation": () => (/* reexport safe */ _desktop_navigation_DesktopNavigation__WEBPACK_IMPORTED_MODULE_621__["default"]),
54573
- /* harmony export */ "DesktopNavigationHandle": () => (/* reexport safe */ _desktop_navigation_DesktopNavigationHandle__WEBPACK_IMPORTED_MODULE_622__["default"]),
54574
- /* harmony export */ "DesktopNavigationLayout": () => (/* reexport safe */ _desktop_navigation_DesktopNavigationLayout__WEBPACK_IMPORTED_MODULE_623__["default"]),
54575
- /* harmony export */ "ShrinkNavigationKeyStroke": () => (/* reexport safe */ _desktop_navigation_ShrinkNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_624__["default"]),
54576
- /* harmony export */ "EnlargeNavigationKeyStroke": () => (/* reexport safe */ _desktop_navigation_EnlargeNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_625__["default"]),
54577
- /* harmony export */ "DesktopNotification": () => (/* reexport safe */ _desktop_notification_DesktopNotification__WEBPACK_IMPORTED_MODULE_626__["default"]),
54578
- /* harmony export */ "DesktopNotificationAdapter": () => (/* reexport safe */ _desktop_notification_DesktopNotificationAdapter__WEBPACK_IMPORTED_MODULE_627__["default"]),
54579
- /* harmony export */ "OfflineDesktopNotification": () => (/* reexport safe */ _desktop_notification_OfflineDesktopNotification__WEBPACK_IMPORTED_MODULE_628__["default"]),
54580
- /* harmony export */ "PopupBlockerHandler": () => (/* reexport safe */ _desktop_popupblocker_PopupBlockerHandler__WEBPACK_IMPORTED_MODULE_629__["default"]),
54581
- /* harmony export */ "PopupBlockerDesktopNotification": () => (/* reexport safe */ _desktop_popupblocker_PopupBlockerDesktopNotification__WEBPACK_IMPORTED_MODULE_630__["default"]),
54582
- /* harmony export */ "DesktopToolBox": () => (/* reexport safe */ _desktop_toolbox_DesktopToolBox__WEBPACK_IMPORTED_MODULE_631__["default"]),
54583
- /* harmony export */ "ViewButtonActionKeyStroke": () => (/* reexport safe */ _desktop_viewbutton_ViewButtonActionKeyStroke__WEBPACK_IMPORTED_MODULE_632__["default"]),
54584
- /* harmony export */ "ViewButton": () => (/* reexport safe */ _desktop_viewbutton_ViewButton__WEBPACK_IMPORTED_MODULE_633__["default"]),
54585
- /* harmony export */ "ViewButtonAdapter": () => (/* reexport safe */ _desktop_viewbutton_ViewButtonAdapter__WEBPACK_IMPORTED_MODULE_634__["default"]),
54586
- /* harmony export */ "ViewButtonBox": () => (/* reexport safe */ _desktop_viewbutton_ViewButtonBox__WEBPACK_IMPORTED_MODULE_635__["default"]),
54587
- /* harmony export */ "ViewMenuOpenKeyStroke": () => (/* reexport safe */ _desktop_viewbutton_ViewMenuOpenKeyStroke__WEBPACK_IMPORTED_MODULE_636__["default"]),
54588
- /* harmony export */ "ViewMenuPopup": () => (/* reexport safe */ _desktop_viewbutton_ViewMenuPopup__WEBPACK_IMPORTED_MODULE_637__["default"]),
54589
- /* harmony export */ "ViewMenuPopupEnterKeyStroke": () => (/* reexport safe */ _desktop_viewbutton_ViewMenuPopupEnterKeyStroke__WEBPACK_IMPORTED_MODULE_638__["default"]),
54590
- /* harmony export */ "ViewMenuTab": () => (/* reexport safe */ _desktop_viewbutton_ViewMenuTab__WEBPACK_IMPORTED_MODULE_639__["default"]),
54591
- /* harmony export */ "Page": () => (/* reexport safe */ _desktop_outline_pages_Page__WEBPACK_IMPORTED_MODULE_640__["default"]),
54592
- /* harmony export */ "PageWithNodes": () => (/* reexport safe */ _desktop_outline_pages_PageWithNodes__WEBPACK_IMPORTED_MODULE_641__["default"]),
54593
- /* harmony export */ "PageWithTable": () => (/* reexport safe */ _desktop_outline_pages_PageWithTable__WEBPACK_IMPORTED_MODULE_642__["default"]),
54594
- /* harmony export */ "PageTileButton": () => (/* reexport safe */ _desktop_outline_pages_PageTileButton__WEBPACK_IMPORTED_MODULE_643__["default"]),
54595
- /* harmony export */ "PageTileGrid": () => (/* reexport safe */ _desktop_outline_pages_PageTileGrid__WEBPACK_IMPORTED_MODULE_644__["default"]),
54596
- /* harmony export */ "PageTileGridSelectKeyStroke": () => (/* reexport safe */ _desktop_outline_pages_PageTileGridSelectKeyStroke__WEBPACK_IMPORTED_MODULE_645__["default"]),
54597
- /* harmony export */ "AutoLeafPageWithNodes": () => (/* reexport safe */ _desktop_outline_pages_AutoLeafPageWithNodes__WEBPACK_IMPORTED_MODULE_646__["default"]),
54598
- /* harmony export */ "DetailTableTreeFilter": () => (/* reexport safe */ _desktop_outline_DetailTableTreeFilter__WEBPACK_IMPORTED_MODULE_647__["default"]),
54599
- /* harmony export */ "Outline": () => (/* reexport safe */ _desktop_outline_Outline__WEBPACK_IMPORTED_MODULE_648__["default"]),
54600
- /* harmony export */ "OutlineAdapter": () => (/* reexport safe */ _desktop_outline_OutlineAdapter__WEBPACK_IMPORTED_MODULE_649__["default"]),
54601
- /* harmony export */ "OutlineMediator": () => (/* reexport safe */ _desktop_outline_OutlineMediator__WEBPACK_IMPORTED_MODULE_650__["default"]),
54602
- /* harmony export */ "OutlineLayout": () => (/* reexport safe */ _desktop_outline_OutlineLayout__WEBPACK_IMPORTED_MODULE_651__["default"]),
54603
- /* harmony export */ "OutlineViewButton": () => (/* reexport safe */ _desktop_outline_OutlineViewButton__WEBPACK_IMPORTED_MODULE_652__["default"]),
54604
- /* harmony export */ "OutlineViewButtonAdapter": () => (/* reexport safe */ _desktop_outline_OutlineViewButtonAdapter__WEBPACK_IMPORTED_MODULE_653__["default"]),
54605
- /* harmony export */ "OutlineTileField": () => (/* reexport safe */ _desktop_outline_OutlineTileField__WEBPACK_IMPORTED_MODULE_654__["default"]),
54606
- /* harmony export */ "OutlineTileFieldAdapter": () => (/* reexport safe */ _desktop_outline_OutlineTileFieldAdapter__WEBPACK_IMPORTED_MODULE_655__["default"]),
54607
- /* harmony export */ "PageLayout": () => (/* reexport safe */ _desktop_outline_PageLayout__WEBPACK_IMPORTED_MODULE_656__["default"]),
54608
- /* harmony export */ "SearchOutline": () => (/* reexport safe */ _desktop_outline_SearchOutline__WEBPACK_IMPORTED_MODULE_657__["default"]),
54609
- /* harmony export */ "SearchOutlineAdapter": () => (/* reexport safe */ _desktop_outline_SearchOutlineAdapter__WEBPACK_IMPORTED_MODULE_658__["default"]),
54610
- /* harmony export */ "SearchOutlineLayout": () => (/* reexport safe */ _desktop_outline_SearchOutlineLayout__WEBPACK_IMPORTED_MODULE_659__["default"]),
54611
- /* harmony export */ "NavigateButton": () => (/* reexport safe */ _desktop_outline_navigation_NavigateButton__WEBPACK_IMPORTED_MODULE_660__["default"]),
54612
- /* harmony export */ "NavigateDownButton": () => (/* reexport safe */ _desktop_outline_navigation_NavigateDownButton__WEBPACK_IMPORTED_MODULE_661__["default"]),
54613
- /* harmony export */ "NavigateUpButton": () => (/* reexport safe */ _desktop_outline_navigation_NavigateUpButton__WEBPACK_IMPORTED_MODULE_662__["default"]),
54614
- /* harmony export */ "OutlineKeyStrokeContext": () => (/* reexport safe */ _desktop_outline_keystrokes_OutlineKeyStrokeContext__WEBPACK_IMPORTED_MODULE_663__["default"]),
54615
- /* harmony export */ "OutlineNavigateToTopKeyStroke": () => (/* reexport safe */ _desktop_outline_keystrokes_OutlineNavigateToTopKeyStroke__WEBPACK_IMPORTED_MODULE_664__["default"]),
54616
- /* harmony export */ "OutlineOverview": () => (/* reexport safe */ _desktop_outline_overview_OutlineOverview__WEBPACK_IMPORTED_MODULE_665__["default"]),
54617
- /* harmony export */ "TileOutlineOverview": () => (/* reexport safe */ _desktop_outline_overview_TileOutlineOverview__WEBPACK_IMPORTED_MODULE_666__["default"]),
54618
- /* harmony export */ "DesktopFormController": () => (/* reexport safe */ _desktop_DesktopFormController__WEBPACK_IMPORTED_MODULE_667__["default"]),
54619
- /* harmony export */ "FilterFieldsGroupBox": () => (/* reexport safe */ _table_FilterFieldsGroupBox__WEBPACK_IMPORTED_MODULE_668__["default"]),
54620
- /* harmony export */ "Resizable": () => (/* reexport safe */ _resizable_Resizable__WEBPACK_IMPORTED_MODULE_669__["default"]),
54621
- /* harmony export */ "UnsavedFormChangesForm": () => (/* reexport safe */ _desktop_unsavedchanges_UnsavedFormChangesForm__WEBPACK_IMPORTED_MODULE_670__["default"]),
54622
- /* harmony export */ "UnsavedFormsLookupCall": () => (/* reexport safe */ _desktop_unsavedchanges_UnsavedFormsLookupCall__WEBPACK_IMPORTED_MODULE_671__["default"]),
54623
- /* harmony export */ "TileTableHeaderBox": () => (/* reexport safe */ _table_TileTableHeaderBox__WEBPACK_IMPORTED_MODULE_672__["default"]),
54624
- /* harmony export */ "LoginApp": () => (/* reexport safe */ _login_LoginApp__WEBPACK_IMPORTED_MODULE_673__["default"]),
54625
- /* harmony export */ "LoginBox": () => (/* reexport safe */ _login_LoginBox__WEBPACK_IMPORTED_MODULE_674__["default"]),
54626
- /* harmony export */ "LogoutApp": () => (/* reexport safe */ _login_LogoutApp__WEBPACK_IMPORTED_MODULE_675__["default"]),
54627
- /* harmony export */ "LogoutBox": () => (/* reexport safe */ _login_LogoutBox__WEBPACK_IMPORTED_MODULE_676__["default"]),
54628
- /* harmony export */ "BreadcrumbItem": () => (/* reexport safe */ _breadcrumbbar_BreadcrumbItem__WEBPACK_IMPORTED_MODULE_677__["default"]),
54629
- /* harmony export */ "BreadcrumbItemAdapter": () => (/* reexport safe */ _breadcrumbbar_BreadcrumbItemAdapter__WEBPACK_IMPORTED_MODULE_678__["default"]),
54630
- /* harmony export */ "BreadcrumbBar": () => (/* reexport safe */ _breadcrumbbar_BreadcrumbBar__WEBPACK_IMPORTED_MODULE_679__["default"]),
54631
- /* harmony export */ "BreadcrumbBarLayout": () => (/* reexport safe */ _breadcrumbbar_BreadcrumbBarLayout__WEBPACK_IMPORTED_MODULE_680__["default"]),
54632
- /* harmony export */ "BreadcrumbBarAdapter": () => (/* reexport safe */ _breadcrumbbar_BreadcrumbBarAdapter__WEBPACK_IMPORTED_MODULE_681__["default"]),
54633
- /* harmony export */ "BreadcrumbBarField": () => (/* reexport safe */ _form_fields_breadcrumbbarfield_BreadcrumbBarField__WEBPACK_IMPORTED_MODULE_682__["default"]),
54634
- /* harmony export */ "BreadcrumbBarFieldAdapter": () => (/* reexport safe */ _form_fields_breadcrumbbarfield_BreadcrumbBarFieldAdapter__WEBPACK_IMPORTED_MODULE_683__["default"]),
54645
+ /* harmony export */ "TileHtmlField": () => (/* reexport safe */ _tile_fields_htmlfield_TileHtmlField__WEBPACK_IMPORTED_MODULE_597__["default"]),
54646
+ /* harmony export */ "TileTableField": () => (/* reexport safe */ _tile_fields_tablefield_TileTableField__WEBPACK_IMPORTED_MODULE_598__["default"]),
54647
+ /* harmony export */ "SimpleTab": () => (/* reexport safe */ _tabbox_SimpleTab__WEBPACK_IMPORTED_MODULE_599__["default"]),
54648
+ /* harmony export */ "SimpleTabArea": () => (/* reexport safe */ _tabbox_SimpleTabArea__WEBPACK_IMPORTED_MODULE_600__["default"]),
54649
+ /* harmony export */ "SimpleTabAreaLayout": () => (/* reexport safe */ _tabbox_SimpleTabAreaLayout__WEBPACK_IMPORTED_MODULE_601__["default"]),
54650
+ /* harmony export */ "Desktop": () => (/* reexport safe */ _desktop_Desktop__WEBPACK_IMPORTED_MODULE_602__["default"]),
54651
+ /* harmony export */ "DesktopAdapter": () => (/* reexport safe */ _desktop_DesktopAdapter__WEBPACK_IMPORTED_MODULE_603__["default"]),
54652
+ /* harmony export */ "DesktopLogo": () => (/* reexport safe */ _desktop_DesktopLogo__WEBPACK_IMPORTED_MODULE_604__["default"]),
54653
+ /* harmony export */ "DesktopLayout": () => (/* reexport safe */ _desktop_DesktopLayout__WEBPACK_IMPORTED_MODULE_605__["default"]),
54654
+ /* harmony export */ "DesktopTab": () => (/* reexport safe */ _desktop_desktoptab_DesktopTab__WEBPACK_IMPORTED_MODULE_606__["default"]),
54655
+ /* harmony export */ "DesktopTabArea": () => (/* reexport safe */ _desktop_desktoptab_DesktopTabArea__WEBPACK_IMPORTED_MODULE_607__["default"]),
54656
+ /* harmony export */ "DesktopTabAreaLayout": () => (/* reexport safe */ _desktop_desktoptab_DesktopTabAreaLayout__WEBPACK_IMPORTED_MODULE_608__["default"]),
54657
+ /* harmony export */ "DesktopTabBoxController": () => (/* reexport safe */ _desktop_DesktopTabBoxController__WEBPACK_IMPORTED_MODULE_609__["default"]),
54658
+ /* harmony export */ "DesktopTabSelectKeyStroke": () => (/* reexport safe */ _desktop_bench_DesktopTabSelectKeyStroke__WEBPACK_IMPORTED_MODULE_610__["default"]),
54659
+ /* harmony export */ "DisableBrowserF5ReloadKeyStroke": () => (/* reexport safe */ _desktop_DisableBrowserF5ReloadKeyStroke__WEBPACK_IMPORTED_MODULE_611__["default"]),
54660
+ /* harmony export */ "PopupWindow": () => (/* reexport safe */ _desktop_PopupWindow__WEBPACK_IMPORTED_MODULE_612__["default"]),
54661
+ /* harmony export */ "OpenUriHandler": () => (/* reexport safe */ _desktop_OpenUriHandler__WEBPACK_IMPORTED_MODULE_613__["default"]),
54662
+ /* harmony export */ "DesktopBench": () => (/* reexport safe */ _desktop_bench_DesktopBench__WEBPACK_IMPORTED_MODULE_614__["default"]),
54663
+ /* harmony export */ "BenchColumn": () => (/* reexport safe */ _desktop_bench_BenchColumn__WEBPACK_IMPORTED_MODULE_615__["default"]),
54664
+ /* harmony export */ "BenchRowLayoutData": () => (/* reexport safe */ _desktop_bench_layout_BenchRowLayoutData__WEBPACK_IMPORTED_MODULE_616__["default"]),
54665
+ /* harmony export */ "BenchColumnLayoutData": () => (/* reexport safe */ _desktop_bench_layout_BenchColumnLayoutData__WEBPACK_IMPORTED_MODULE_617__["default"]),
54666
+ /* harmony export */ "DisableBrowserTabSwitchingKeyStroke": () => (/* reexport safe */ _desktop_desktoptab_DisableBrowserTabSwitchingKeyStroke__WEBPACK_IMPORTED_MODULE_618__["default"]),
54667
+ /* harmony export */ "DesktopHeader": () => (/* reexport safe */ _desktop_header_DesktopHeader__WEBPACK_IMPORTED_MODULE_619__["default"]),
54668
+ /* harmony export */ "HeaderTabBoxController": () => (/* reexport safe */ _desktop_header_HeaderTabBoxController__WEBPACK_IMPORTED_MODULE_620__["default"]),
54669
+ /* harmony export */ "DesktopHeaderLayout": () => (/* reexport safe */ _desktop_header_DesktopHeaderLayout__WEBPACK_IMPORTED_MODULE_621__["default"]),
54670
+ /* harmony export */ "DesktopNavigation": () => (/* reexport safe */ _desktop_navigation_DesktopNavigation__WEBPACK_IMPORTED_MODULE_622__["default"]),
54671
+ /* harmony export */ "DesktopNavigationHandle": () => (/* reexport safe */ _desktop_navigation_DesktopNavigationHandle__WEBPACK_IMPORTED_MODULE_623__["default"]),
54672
+ /* harmony export */ "DesktopNavigationLayout": () => (/* reexport safe */ _desktop_navigation_DesktopNavigationLayout__WEBPACK_IMPORTED_MODULE_624__["default"]),
54673
+ /* harmony export */ "ShrinkNavigationKeyStroke": () => (/* reexport safe */ _desktop_navigation_ShrinkNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_625__["default"]),
54674
+ /* harmony export */ "EnlargeNavigationKeyStroke": () => (/* reexport safe */ _desktop_navigation_EnlargeNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_626__["default"]),
54675
+ /* harmony export */ "DesktopNotification": () => (/* reexport safe */ _desktop_notification_DesktopNotification__WEBPACK_IMPORTED_MODULE_627__["default"]),
54676
+ /* harmony export */ "DesktopNotificationAdapter": () => (/* reexport safe */ _desktop_notification_DesktopNotificationAdapter__WEBPACK_IMPORTED_MODULE_628__["default"]),
54677
+ /* harmony export */ "OfflineDesktopNotification": () => (/* reexport safe */ _desktop_notification_OfflineDesktopNotification__WEBPACK_IMPORTED_MODULE_629__["default"]),
54678
+ /* harmony export */ "PopupBlockerHandler": () => (/* reexport safe */ _desktop_popupblocker_PopupBlockerHandler__WEBPACK_IMPORTED_MODULE_630__["default"]),
54679
+ /* harmony export */ "PopupBlockerDesktopNotification": () => (/* reexport safe */ _desktop_popupblocker_PopupBlockerDesktopNotification__WEBPACK_IMPORTED_MODULE_631__["default"]),
54680
+ /* harmony export */ "DesktopToolBox": () => (/* reexport safe */ _desktop_toolbox_DesktopToolBox__WEBPACK_IMPORTED_MODULE_632__["default"]),
54681
+ /* harmony export */ "ViewButtonActionKeyStroke": () => (/* reexport safe */ _desktop_viewbutton_ViewButtonActionKeyStroke__WEBPACK_IMPORTED_MODULE_633__["default"]),
54682
+ /* harmony export */ "ViewButton": () => (/* reexport safe */ _desktop_viewbutton_ViewButton__WEBPACK_IMPORTED_MODULE_634__["default"]),
54683
+ /* harmony export */ "ViewButtonAdapter": () => (/* reexport safe */ _desktop_viewbutton_ViewButtonAdapter__WEBPACK_IMPORTED_MODULE_635__["default"]),
54684
+ /* harmony export */ "ViewButtonBox": () => (/* reexport safe */ _desktop_viewbutton_ViewButtonBox__WEBPACK_IMPORTED_MODULE_636__["default"]),
54685
+ /* harmony export */ "ViewMenuOpenKeyStroke": () => (/* reexport safe */ _desktop_viewbutton_ViewMenuOpenKeyStroke__WEBPACK_IMPORTED_MODULE_637__["default"]),
54686
+ /* harmony export */ "ViewMenuPopup": () => (/* reexport safe */ _desktop_viewbutton_ViewMenuPopup__WEBPACK_IMPORTED_MODULE_638__["default"]),
54687
+ /* harmony export */ "ViewMenuPopupEnterKeyStroke": () => (/* reexport safe */ _desktop_viewbutton_ViewMenuPopupEnterKeyStroke__WEBPACK_IMPORTED_MODULE_639__["default"]),
54688
+ /* harmony export */ "ViewMenuTab": () => (/* reexport safe */ _desktop_viewbutton_ViewMenuTab__WEBPACK_IMPORTED_MODULE_640__["default"]),
54689
+ /* harmony export */ "Page": () => (/* reexport safe */ _desktop_outline_pages_Page__WEBPACK_IMPORTED_MODULE_641__["default"]),
54690
+ /* harmony export */ "PageWithNodes": () => (/* reexport safe */ _desktop_outline_pages_PageWithNodes__WEBPACK_IMPORTED_MODULE_642__["default"]),
54691
+ /* harmony export */ "PageWithTable": () => (/* reexport safe */ _desktop_outline_pages_PageWithTable__WEBPACK_IMPORTED_MODULE_643__["default"]),
54692
+ /* harmony export */ "PageTileButton": () => (/* reexport safe */ _desktop_outline_pages_PageTileButton__WEBPACK_IMPORTED_MODULE_644__["default"]),
54693
+ /* harmony export */ "PageTileGrid": () => (/* reexport safe */ _desktop_outline_pages_PageTileGrid__WEBPACK_IMPORTED_MODULE_645__["default"]),
54694
+ /* harmony export */ "PageTileGridSelectKeyStroke": () => (/* reexport safe */ _desktop_outline_pages_PageTileGridSelectKeyStroke__WEBPACK_IMPORTED_MODULE_646__["default"]),
54695
+ /* harmony export */ "AutoLeafPageWithNodes": () => (/* reexport safe */ _desktop_outline_pages_AutoLeafPageWithNodes__WEBPACK_IMPORTED_MODULE_647__["default"]),
54696
+ /* harmony export */ "DetailTableTreeFilter": () => (/* reexport safe */ _desktop_outline_DetailTableTreeFilter__WEBPACK_IMPORTED_MODULE_648__["default"]),
54697
+ /* harmony export */ "Outline": () => (/* reexport safe */ _desktop_outline_Outline__WEBPACK_IMPORTED_MODULE_649__["default"]),
54698
+ /* harmony export */ "OutlineAdapter": () => (/* reexport safe */ _desktop_outline_OutlineAdapter__WEBPACK_IMPORTED_MODULE_650__["default"]),
54699
+ /* harmony export */ "OutlineMediator": () => (/* reexport safe */ _desktop_outline_OutlineMediator__WEBPACK_IMPORTED_MODULE_651__["default"]),
54700
+ /* harmony export */ "OutlineLayout": () => (/* reexport safe */ _desktop_outline_OutlineLayout__WEBPACK_IMPORTED_MODULE_652__["default"]),
54701
+ /* harmony export */ "OutlineViewButton": () => (/* reexport safe */ _desktop_outline_OutlineViewButton__WEBPACK_IMPORTED_MODULE_653__["default"]),
54702
+ /* harmony export */ "OutlineViewButtonAdapter": () => (/* reexport safe */ _desktop_outline_OutlineViewButtonAdapter__WEBPACK_IMPORTED_MODULE_654__["default"]),
54703
+ /* harmony export */ "OutlineTileField": () => (/* reexport safe */ _desktop_outline_OutlineTileField__WEBPACK_IMPORTED_MODULE_655__["default"]),
54704
+ /* harmony export */ "OutlineTileFieldAdapter": () => (/* reexport safe */ _desktop_outline_OutlineTileFieldAdapter__WEBPACK_IMPORTED_MODULE_656__["default"]),
54705
+ /* harmony export */ "PageLayout": () => (/* reexport safe */ _desktop_outline_PageLayout__WEBPACK_IMPORTED_MODULE_657__["default"]),
54706
+ /* harmony export */ "SearchOutline": () => (/* reexport safe */ _desktop_outline_SearchOutline__WEBPACK_IMPORTED_MODULE_658__["default"]),
54707
+ /* harmony export */ "SearchOutlineAdapter": () => (/* reexport safe */ _desktop_outline_SearchOutlineAdapter__WEBPACK_IMPORTED_MODULE_659__["default"]),
54708
+ /* harmony export */ "SearchOutlineLayout": () => (/* reexport safe */ _desktop_outline_SearchOutlineLayout__WEBPACK_IMPORTED_MODULE_660__["default"]),
54709
+ /* harmony export */ "NavigateButton": () => (/* reexport safe */ _desktop_outline_navigation_NavigateButton__WEBPACK_IMPORTED_MODULE_661__["default"]),
54710
+ /* harmony export */ "NavigateDownButton": () => (/* reexport safe */ _desktop_outline_navigation_NavigateDownButton__WEBPACK_IMPORTED_MODULE_662__["default"]),
54711
+ /* harmony export */ "NavigateUpButton": () => (/* reexport safe */ _desktop_outline_navigation_NavigateUpButton__WEBPACK_IMPORTED_MODULE_663__["default"]),
54712
+ /* harmony export */ "OutlineKeyStrokeContext": () => (/* reexport safe */ _desktop_outline_keystrokes_OutlineKeyStrokeContext__WEBPACK_IMPORTED_MODULE_664__["default"]),
54713
+ /* harmony export */ "OutlineNavigateToTopKeyStroke": () => (/* reexport safe */ _desktop_outline_keystrokes_OutlineNavigateToTopKeyStroke__WEBPACK_IMPORTED_MODULE_665__["default"]),
54714
+ /* harmony export */ "OutlineOverview": () => (/* reexport safe */ _desktop_outline_overview_OutlineOverview__WEBPACK_IMPORTED_MODULE_666__["default"]),
54715
+ /* harmony export */ "TileOutlineOverview": () => (/* reexport safe */ _desktop_outline_overview_TileOutlineOverview__WEBPACK_IMPORTED_MODULE_667__["default"]),
54716
+ /* harmony export */ "DesktopFormController": () => (/* reexport safe */ _desktop_DesktopFormController__WEBPACK_IMPORTED_MODULE_668__["default"]),
54717
+ /* harmony export */ "FilterFieldsGroupBox": () => (/* reexport safe */ _table_FilterFieldsGroupBox__WEBPACK_IMPORTED_MODULE_669__["default"]),
54718
+ /* harmony export */ "Resizable": () => (/* reexport safe */ _resizable_Resizable__WEBPACK_IMPORTED_MODULE_670__["default"]),
54719
+ /* harmony export */ "UnsavedFormChangesForm": () => (/* reexport safe */ _desktop_unsavedchanges_UnsavedFormChangesForm__WEBPACK_IMPORTED_MODULE_671__["default"]),
54720
+ /* harmony export */ "UnsavedFormsLookupCall": () => (/* reexport safe */ _desktop_unsavedchanges_UnsavedFormsLookupCall__WEBPACK_IMPORTED_MODULE_672__["default"]),
54721
+ /* harmony export */ "TileTableHeaderBox": () => (/* reexport safe */ _table_TileTableHeaderBox__WEBPACK_IMPORTED_MODULE_673__["default"]),
54722
+ /* harmony export */ "LoginApp": () => (/* reexport safe */ _login_LoginApp__WEBPACK_IMPORTED_MODULE_674__["default"]),
54723
+ /* harmony export */ "LoginBox": () => (/* reexport safe */ _login_LoginBox__WEBPACK_IMPORTED_MODULE_675__["default"]),
54724
+ /* harmony export */ "LogoutApp": () => (/* reexport safe */ _login_LogoutApp__WEBPACK_IMPORTED_MODULE_676__["default"]),
54725
+ /* harmony export */ "LogoutBox": () => (/* reexport safe */ _login_LogoutBox__WEBPACK_IMPORTED_MODULE_677__["default"]),
54726
+ /* harmony export */ "BreadcrumbItem": () => (/* reexport safe */ _breadcrumbbar_BreadcrumbItem__WEBPACK_IMPORTED_MODULE_678__["default"]),
54727
+ /* harmony export */ "BreadcrumbItemAdapter": () => (/* reexport safe */ _breadcrumbbar_BreadcrumbItemAdapter__WEBPACK_IMPORTED_MODULE_679__["default"]),
54728
+ /* harmony export */ "BreadcrumbBar": () => (/* reexport safe */ _breadcrumbbar_BreadcrumbBar__WEBPACK_IMPORTED_MODULE_680__["default"]),
54729
+ /* harmony export */ "BreadcrumbBarLayout": () => (/* reexport safe */ _breadcrumbbar_BreadcrumbBarLayout__WEBPACK_IMPORTED_MODULE_681__["default"]),
54730
+ /* harmony export */ "BreadcrumbBarAdapter": () => (/* reexport safe */ _breadcrumbbar_BreadcrumbBarAdapter__WEBPACK_IMPORTED_MODULE_682__["default"]),
54731
+ /* harmony export */ "BreadcrumbBarField": () => (/* reexport safe */ _form_fields_breadcrumbbarfield_BreadcrumbBarField__WEBPACK_IMPORTED_MODULE_683__["default"]),
54732
+ /* harmony export */ "BreadcrumbBarFieldAdapter": () => (/* reexport safe */ _form_fields_breadcrumbbarfield_BreadcrumbBarFieldAdapter__WEBPACK_IMPORTED_MODULE_684__["default"]),
54635
54733
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
54636
54734
  /* harmony export */ });
54637
54735
  /* harmony import */ var _scout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./scout */ "./src/scout.js");
@@ -55231,101 +55329,102 @@ __webpack_require__.r(__webpack_exports__);
55231
55329
  /* harmony import */ var _tile_fields_FormFieldTileAdapter__WEBPACK_IMPORTED_MODULE_594__ = __webpack_require__(/*! ./tile/fields/FormFieldTileAdapter */ "./src/tile/fields/FormFieldTileAdapter.js");
55232
55330
  /* harmony import */ var _tile_fields_button_ButtonTile__WEBPACK_IMPORTED_MODULE_595__ = __webpack_require__(/*! ./tile/fields/button/ButtonTile */ "./src/tile/fields/button/ButtonTile.js");
55233
55331
  /* harmony import */ var _tile_fields_button_TileButton__WEBPACK_IMPORTED_MODULE_596__ = __webpack_require__(/*! ./tile/fields/button/TileButton */ "./src/tile/fields/button/TileButton.js");
55234
- /* harmony import */ var _tile_fields_tablefield_TileTableField__WEBPACK_IMPORTED_MODULE_597__ = __webpack_require__(/*! ./tile/fields/tablefield/TileTableField */ "./src/tile/fields/tablefield/TileTableField.js");
55235
- /* harmony import */ var _tabbox_SimpleTab__WEBPACK_IMPORTED_MODULE_598__ = __webpack_require__(/*! ./tabbox/SimpleTab */ "./src/tabbox/SimpleTab.js");
55236
- /* harmony import */ var _tabbox_SimpleTabArea__WEBPACK_IMPORTED_MODULE_599__ = __webpack_require__(/*! ./tabbox/SimpleTabArea */ "./src/tabbox/SimpleTabArea.js");
55237
- /* harmony import */ var _tabbox_SimpleTabAreaLayout__WEBPACK_IMPORTED_MODULE_600__ = __webpack_require__(/*! ./tabbox/SimpleTabAreaLayout */ "./src/tabbox/SimpleTabAreaLayout.js");
55238
- /* harmony import */ var _desktop_Desktop__WEBPACK_IMPORTED_MODULE_601__ = __webpack_require__(/*! ./desktop/Desktop */ "./src/desktop/Desktop.js");
55239
- /* harmony import */ var _desktop_DesktopAdapter__WEBPACK_IMPORTED_MODULE_602__ = __webpack_require__(/*! ./desktop/DesktopAdapter */ "./src/desktop/DesktopAdapter.js");
55240
- /* harmony import */ var _desktop_DesktopLogo__WEBPACK_IMPORTED_MODULE_603__ = __webpack_require__(/*! ./desktop/DesktopLogo */ "./src/desktop/DesktopLogo.js");
55241
- /* harmony import */ var _desktop_DesktopLayout__WEBPACK_IMPORTED_MODULE_604__ = __webpack_require__(/*! ./desktop/DesktopLayout */ "./src/desktop/DesktopLayout.js");
55242
- /* harmony import */ var _desktop_desktoptab_DesktopTab__WEBPACK_IMPORTED_MODULE_605__ = __webpack_require__(/*! ./desktop/desktoptab/DesktopTab */ "./src/desktop/desktoptab/DesktopTab.js");
55243
- /* harmony import */ var _desktop_desktoptab_DesktopTabArea__WEBPACK_IMPORTED_MODULE_606__ = __webpack_require__(/*! ./desktop/desktoptab/DesktopTabArea */ "./src/desktop/desktoptab/DesktopTabArea.js");
55244
- /* harmony import */ var _desktop_desktoptab_DesktopTabAreaLayout__WEBPACK_IMPORTED_MODULE_607__ = __webpack_require__(/*! ./desktop/desktoptab/DesktopTabAreaLayout */ "./src/desktop/desktoptab/DesktopTabAreaLayout.js");
55245
- /* harmony import */ var _desktop_DesktopTabBoxController__WEBPACK_IMPORTED_MODULE_608__ = __webpack_require__(/*! ./desktop/DesktopTabBoxController */ "./src/desktop/DesktopTabBoxController.js");
55246
- /* harmony import */ var _desktop_bench_DesktopTabSelectKeyStroke__WEBPACK_IMPORTED_MODULE_609__ = __webpack_require__(/*! ./desktop/bench/DesktopTabSelectKeyStroke */ "./src/desktop/bench/DesktopTabSelectKeyStroke.js");
55247
- /* harmony import */ var _desktop_DisableBrowserF5ReloadKeyStroke__WEBPACK_IMPORTED_MODULE_610__ = __webpack_require__(/*! ./desktop/DisableBrowserF5ReloadKeyStroke */ "./src/desktop/DisableBrowserF5ReloadKeyStroke.js");
55248
- /* harmony import */ var _desktop_PopupWindow__WEBPACK_IMPORTED_MODULE_611__ = __webpack_require__(/*! ./desktop/PopupWindow */ "./src/desktop/PopupWindow.js");
55249
- /* harmony import */ var _desktop_OpenUriHandler__WEBPACK_IMPORTED_MODULE_612__ = __webpack_require__(/*! ./desktop/OpenUriHandler */ "./src/desktop/OpenUriHandler.js");
55250
- /* harmony import */ var _desktop_bench_DesktopBench__WEBPACK_IMPORTED_MODULE_613__ = __webpack_require__(/*! ./desktop/bench/DesktopBench */ "./src/desktop/bench/DesktopBench.js");
55251
- /* harmony import */ var _desktop_bench_BenchColumn__WEBPACK_IMPORTED_MODULE_614__ = __webpack_require__(/*! ./desktop/bench/BenchColumn */ "./src/desktop/bench/BenchColumn.js");
55252
- /* harmony import */ var _desktop_bench_layout_BenchRowLayoutData__WEBPACK_IMPORTED_MODULE_615__ = __webpack_require__(/*! ./desktop/bench/layout/BenchRowLayoutData */ "./src/desktop/bench/layout/BenchRowLayoutData.js");
55253
- /* harmony import */ var _desktop_bench_layout_BenchColumnLayoutData__WEBPACK_IMPORTED_MODULE_616__ = __webpack_require__(/*! ./desktop/bench/layout/BenchColumnLayoutData */ "./src/desktop/bench/layout/BenchColumnLayoutData.js");
55254
- /* harmony import */ var _desktop_desktoptab_DisableBrowserTabSwitchingKeyStroke__WEBPACK_IMPORTED_MODULE_617__ = __webpack_require__(/*! ./desktop/desktoptab/DisableBrowserTabSwitchingKeyStroke */ "./src/desktop/desktoptab/DisableBrowserTabSwitchingKeyStroke.js");
55255
- /* harmony import */ var _desktop_header_DesktopHeader__WEBPACK_IMPORTED_MODULE_618__ = __webpack_require__(/*! ./desktop/header/DesktopHeader */ "./src/desktop/header/DesktopHeader.js");
55256
- /* harmony import */ var _desktop_header_HeaderTabBoxController__WEBPACK_IMPORTED_MODULE_619__ = __webpack_require__(/*! ./desktop/header/HeaderTabBoxController */ "./src/desktop/header/HeaderTabBoxController.js");
55257
- /* harmony import */ var _desktop_header_DesktopHeaderLayout__WEBPACK_IMPORTED_MODULE_620__ = __webpack_require__(/*! ./desktop/header/DesktopHeaderLayout */ "./src/desktop/header/DesktopHeaderLayout.js");
55258
- /* harmony import */ var _desktop_navigation_DesktopNavigation__WEBPACK_IMPORTED_MODULE_621__ = __webpack_require__(/*! ./desktop/navigation/DesktopNavigation */ "./src/desktop/navigation/DesktopNavigation.js");
55259
- /* harmony import */ var _desktop_navigation_DesktopNavigationHandle__WEBPACK_IMPORTED_MODULE_622__ = __webpack_require__(/*! ./desktop/navigation/DesktopNavigationHandle */ "./src/desktop/navigation/DesktopNavigationHandle.js");
55260
- /* harmony import */ var _desktop_navigation_DesktopNavigationLayout__WEBPACK_IMPORTED_MODULE_623__ = __webpack_require__(/*! ./desktop/navigation/DesktopNavigationLayout */ "./src/desktop/navigation/DesktopNavigationLayout.js");
55261
- /* harmony import */ var _desktop_navigation_ShrinkNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_624__ = __webpack_require__(/*! ./desktop/navigation/ShrinkNavigationKeyStroke */ "./src/desktop/navigation/ShrinkNavigationKeyStroke.js");
55262
- /* harmony import */ var _desktop_navigation_EnlargeNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_625__ = __webpack_require__(/*! ./desktop/navigation/EnlargeNavigationKeyStroke */ "./src/desktop/navigation/EnlargeNavigationKeyStroke.js");
55263
- /* harmony import */ var _desktop_notification_DesktopNotification__WEBPACK_IMPORTED_MODULE_626__ = __webpack_require__(/*! ./desktop/notification/DesktopNotification */ "./src/desktop/notification/DesktopNotification.js");
55264
- /* harmony import */ var _desktop_notification_DesktopNotificationAdapter__WEBPACK_IMPORTED_MODULE_627__ = __webpack_require__(/*! ./desktop/notification/DesktopNotificationAdapter */ "./src/desktop/notification/DesktopNotificationAdapter.js");
55265
- /* harmony import */ var _desktop_notification_OfflineDesktopNotification__WEBPACK_IMPORTED_MODULE_628__ = __webpack_require__(/*! ./desktop/notification/OfflineDesktopNotification */ "./src/desktop/notification/OfflineDesktopNotification.js");
55266
- /* harmony import */ var _desktop_popupblocker_PopupBlockerHandler__WEBPACK_IMPORTED_MODULE_629__ = __webpack_require__(/*! ./desktop/popupblocker/PopupBlockerHandler */ "./src/desktop/popupblocker/PopupBlockerHandler.js");
55267
- /* harmony import */ var _desktop_popupblocker_PopupBlockerDesktopNotification__WEBPACK_IMPORTED_MODULE_630__ = __webpack_require__(/*! ./desktop/popupblocker/PopupBlockerDesktopNotification */ "./src/desktop/popupblocker/PopupBlockerDesktopNotification.js");
55268
- /* harmony import */ var _desktop_toolbox_DesktopToolBox__WEBPACK_IMPORTED_MODULE_631__ = __webpack_require__(/*! ./desktop/toolbox/DesktopToolBox */ "./src/desktop/toolbox/DesktopToolBox.js");
55269
- /* harmony import */ var _desktop_viewbutton_ViewButtonActionKeyStroke__WEBPACK_IMPORTED_MODULE_632__ = __webpack_require__(/*! ./desktop/viewbutton/ViewButtonActionKeyStroke */ "./src/desktop/viewbutton/ViewButtonActionKeyStroke.js");
55270
- /* harmony import */ var _desktop_viewbutton_ViewButton__WEBPACK_IMPORTED_MODULE_633__ = __webpack_require__(/*! ./desktop/viewbutton/ViewButton */ "./src/desktop/viewbutton/ViewButton.js");
55271
- /* harmony import */ var _desktop_viewbutton_ViewButtonAdapter__WEBPACK_IMPORTED_MODULE_634__ = __webpack_require__(/*! ./desktop/viewbutton/ViewButtonAdapter */ "./src/desktop/viewbutton/ViewButtonAdapter.js");
55272
- /* harmony import */ var _desktop_viewbutton_ViewButtonBox__WEBPACK_IMPORTED_MODULE_635__ = __webpack_require__(/*! ./desktop/viewbutton/ViewButtonBox */ "./src/desktop/viewbutton/ViewButtonBox.js");
55273
- /* harmony import */ var _desktop_viewbutton_ViewMenuOpenKeyStroke__WEBPACK_IMPORTED_MODULE_636__ = __webpack_require__(/*! ./desktop/viewbutton/ViewMenuOpenKeyStroke */ "./src/desktop/viewbutton/ViewMenuOpenKeyStroke.js");
55274
- /* harmony import */ var _desktop_viewbutton_ViewMenuPopup__WEBPACK_IMPORTED_MODULE_637__ = __webpack_require__(/*! ./desktop/viewbutton/ViewMenuPopup */ "./src/desktop/viewbutton/ViewMenuPopup.js");
55275
- /* harmony import */ var _desktop_viewbutton_ViewMenuPopupEnterKeyStroke__WEBPACK_IMPORTED_MODULE_638__ = __webpack_require__(/*! ./desktop/viewbutton/ViewMenuPopupEnterKeyStroke */ "./src/desktop/viewbutton/ViewMenuPopupEnterKeyStroke.js");
55276
- /* harmony import */ var _desktop_viewbutton_ViewMenuTab__WEBPACK_IMPORTED_MODULE_639__ = __webpack_require__(/*! ./desktop/viewbutton/ViewMenuTab */ "./src/desktop/viewbutton/ViewMenuTab.js");
55277
- /* harmony import */ var _desktop_outline_pages_Page__WEBPACK_IMPORTED_MODULE_640__ = __webpack_require__(/*! ./desktop/outline/pages/Page */ "./src/desktop/outline/pages/Page.js");
55278
- /* harmony import */ var _desktop_outline_pages_PageWithNodes__WEBPACK_IMPORTED_MODULE_641__ = __webpack_require__(/*! ./desktop/outline/pages/PageWithNodes */ "./src/desktop/outline/pages/PageWithNodes.js");
55279
- /* harmony import */ var _desktop_outline_pages_PageWithTable__WEBPACK_IMPORTED_MODULE_642__ = __webpack_require__(/*! ./desktop/outline/pages/PageWithTable */ "./src/desktop/outline/pages/PageWithTable.js");
55280
- /* harmony import */ var _desktop_outline_pages_PageTileButton__WEBPACK_IMPORTED_MODULE_643__ = __webpack_require__(/*! ./desktop/outline/pages/PageTileButton */ "./src/desktop/outline/pages/PageTileButton.js");
55281
- /* harmony import */ var _desktop_outline_pages_PageTileGrid__WEBPACK_IMPORTED_MODULE_644__ = __webpack_require__(/*! ./desktop/outline/pages/PageTileGrid */ "./src/desktop/outline/pages/PageTileGrid.js");
55282
- /* harmony import */ var _desktop_outline_pages_PageTileGridSelectKeyStroke__WEBPACK_IMPORTED_MODULE_645__ = __webpack_require__(/*! ./desktop/outline/pages/PageTileGridSelectKeyStroke */ "./src/desktop/outline/pages/PageTileGridSelectKeyStroke.js");
55283
- /* harmony import */ var _desktop_outline_pages_AutoLeafPageWithNodes__WEBPACK_IMPORTED_MODULE_646__ = __webpack_require__(/*! ./desktop/outline/pages/AutoLeafPageWithNodes */ "./src/desktop/outline/pages/AutoLeafPageWithNodes.js");
55284
- /* harmony import */ var _desktop_outline_DetailTableTreeFilter__WEBPACK_IMPORTED_MODULE_647__ = __webpack_require__(/*! ./desktop/outline/DetailTableTreeFilter */ "./src/desktop/outline/DetailTableTreeFilter.js");
55285
- /* harmony import */ var _desktop_outline_Outline__WEBPACK_IMPORTED_MODULE_648__ = __webpack_require__(/*! ./desktop/outline/Outline */ "./src/desktop/outline/Outline.js");
55286
- /* harmony import */ var _desktop_outline_OutlineAdapter__WEBPACK_IMPORTED_MODULE_649__ = __webpack_require__(/*! ./desktop/outline/OutlineAdapter */ "./src/desktop/outline/OutlineAdapter.js");
55287
- /* harmony import */ var _desktop_outline_OutlineMediator__WEBPACK_IMPORTED_MODULE_650__ = __webpack_require__(/*! ./desktop/outline/OutlineMediator */ "./src/desktop/outline/OutlineMediator.js");
55288
- /* harmony import */ var _desktop_outline_OutlineLayout__WEBPACK_IMPORTED_MODULE_651__ = __webpack_require__(/*! ./desktop/outline/OutlineLayout */ "./src/desktop/outline/OutlineLayout.js");
55289
- /* harmony import */ var _desktop_outline_OutlineViewButton__WEBPACK_IMPORTED_MODULE_652__ = __webpack_require__(/*! ./desktop/outline/OutlineViewButton */ "./src/desktop/outline/OutlineViewButton.js");
55290
- /* harmony import */ var _desktop_outline_OutlineViewButtonAdapter__WEBPACK_IMPORTED_MODULE_653__ = __webpack_require__(/*! ./desktop/outline/OutlineViewButtonAdapter */ "./src/desktop/outline/OutlineViewButtonAdapter.js");
55291
- /* harmony import */ var _desktop_outline_OutlineTileField__WEBPACK_IMPORTED_MODULE_654__ = __webpack_require__(/*! ./desktop/outline/OutlineTileField */ "./src/desktop/outline/OutlineTileField.js");
55292
- /* harmony import */ var _desktop_outline_OutlineTileFieldAdapter__WEBPACK_IMPORTED_MODULE_655__ = __webpack_require__(/*! ./desktop/outline/OutlineTileFieldAdapter */ "./src/desktop/outline/OutlineTileFieldAdapter.js");
55293
- /* harmony import */ var _desktop_outline_PageLayout__WEBPACK_IMPORTED_MODULE_656__ = __webpack_require__(/*! ./desktop/outline/PageLayout */ "./src/desktop/outline/PageLayout.js");
55294
- /* harmony import */ var _desktop_outline_SearchOutline__WEBPACK_IMPORTED_MODULE_657__ = __webpack_require__(/*! ./desktop/outline/SearchOutline */ "./src/desktop/outline/SearchOutline.js");
55295
- /* harmony import */ var _desktop_outline_SearchOutlineAdapter__WEBPACK_IMPORTED_MODULE_658__ = __webpack_require__(/*! ./desktop/outline/SearchOutlineAdapter */ "./src/desktop/outline/SearchOutlineAdapter.js");
55296
- /* harmony import */ var _desktop_outline_SearchOutlineLayout__WEBPACK_IMPORTED_MODULE_659__ = __webpack_require__(/*! ./desktop/outline/SearchOutlineLayout */ "./src/desktop/outline/SearchOutlineLayout.js");
55297
- /* harmony import */ var _desktop_outline_navigation_NavigateButton__WEBPACK_IMPORTED_MODULE_660__ = __webpack_require__(/*! ./desktop/outline/navigation/NavigateButton */ "./src/desktop/outline/navigation/NavigateButton.js");
55298
- /* harmony import */ var _desktop_outline_navigation_NavigateDownButton__WEBPACK_IMPORTED_MODULE_661__ = __webpack_require__(/*! ./desktop/outline/navigation/NavigateDownButton */ "./src/desktop/outline/navigation/NavigateDownButton.js");
55299
- /* harmony import */ var _desktop_outline_navigation_NavigateUpButton__WEBPACK_IMPORTED_MODULE_662__ = __webpack_require__(/*! ./desktop/outline/navigation/NavigateUpButton */ "./src/desktop/outline/navigation/NavigateUpButton.js");
55300
- /* harmony import */ var _desktop_outline_keystrokes_OutlineKeyStrokeContext__WEBPACK_IMPORTED_MODULE_663__ = __webpack_require__(/*! ./desktop/outline/keystrokes/OutlineKeyStrokeContext */ "./src/desktop/outline/keystrokes/OutlineKeyStrokeContext.js");
55301
- /* harmony import */ var _desktop_outline_keystrokes_OutlineNavigateToTopKeyStroke__WEBPACK_IMPORTED_MODULE_664__ = __webpack_require__(/*! ./desktop/outline/keystrokes/OutlineNavigateToTopKeyStroke */ "./src/desktop/outline/keystrokes/OutlineNavigateToTopKeyStroke.js");
55302
- /* harmony import */ var _desktop_outline_overview_OutlineOverview__WEBPACK_IMPORTED_MODULE_665__ = __webpack_require__(/*! ./desktop/outline/overview/OutlineOverview */ "./src/desktop/outline/overview/OutlineOverview.js");
55303
- /* harmony import */ var _desktop_outline_overview_TileOutlineOverview__WEBPACK_IMPORTED_MODULE_666__ = __webpack_require__(/*! ./desktop/outline/overview/TileOutlineOverview */ "./src/desktop/outline/overview/TileOutlineOverview.js");
55304
- /* harmony import */ var _desktop_DesktopFormController__WEBPACK_IMPORTED_MODULE_667__ = __webpack_require__(/*! ./desktop/DesktopFormController */ "./src/desktop/DesktopFormController.js");
55305
- /* harmony import */ var _table_FilterFieldsGroupBox__WEBPACK_IMPORTED_MODULE_668__ = __webpack_require__(/*! ./table/FilterFieldsGroupBox */ "./src/table/FilterFieldsGroupBox.js");
55306
- /* harmony import */ var _resizable_Resizable__WEBPACK_IMPORTED_MODULE_669__ = __webpack_require__(/*! ./resizable/Resizable */ "./src/resizable/Resizable.js");
55307
- /* harmony import */ var _desktop_unsavedchanges_UnsavedFormChangesForm__WEBPACK_IMPORTED_MODULE_670__ = __webpack_require__(/*! ./desktop/unsavedchanges/UnsavedFormChangesForm */ "./src/desktop/unsavedchanges/UnsavedFormChangesForm.js");
55308
- /* harmony import */ var _desktop_unsavedchanges_UnsavedFormsLookupCall__WEBPACK_IMPORTED_MODULE_671__ = __webpack_require__(/*! ./desktop/unsavedchanges/UnsavedFormsLookupCall */ "./src/desktop/unsavedchanges/UnsavedFormsLookupCall.js");
55309
- /* harmony import */ var _table_TileTableHeaderBox__WEBPACK_IMPORTED_MODULE_672__ = __webpack_require__(/*! ./table/TileTableHeaderBox */ "./src/table/TileTableHeaderBox.js");
55310
- /* harmony import */ var _login_LoginApp__WEBPACK_IMPORTED_MODULE_673__ = __webpack_require__(/*! ./login/LoginApp */ "./src/login/LoginApp.js");
55311
- /* harmony import */ var _login_LoginBox__WEBPACK_IMPORTED_MODULE_674__ = __webpack_require__(/*! ./login/LoginBox */ "./src/login/LoginBox.js");
55312
- /* harmony import */ var _login_LogoutApp__WEBPACK_IMPORTED_MODULE_675__ = __webpack_require__(/*! ./login/LogoutApp */ "./src/login/LogoutApp.js");
55313
- /* harmony import */ var _login_LogoutBox__WEBPACK_IMPORTED_MODULE_676__ = __webpack_require__(/*! ./login/LogoutBox */ "./src/login/LogoutBox.js");
55314
- /* harmony import */ var _breadcrumbbar_BreadcrumbItem__WEBPACK_IMPORTED_MODULE_677__ = __webpack_require__(/*! ./breadcrumbbar/BreadcrumbItem */ "./src/breadcrumbbar/BreadcrumbItem.js");
55315
- /* harmony import */ var _breadcrumbbar_BreadcrumbItemAdapter__WEBPACK_IMPORTED_MODULE_678__ = __webpack_require__(/*! ./breadcrumbbar/BreadcrumbItemAdapter */ "./src/breadcrumbbar/BreadcrumbItemAdapter.js");
55316
- /* harmony import */ var _breadcrumbbar_BreadcrumbBar__WEBPACK_IMPORTED_MODULE_679__ = __webpack_require__(/*! ./breadcrumbbar/BreadcrumbBar */ "./src/breadcrumbbar/BreadcrumbBar.js");
55317
- /* harmony import */ var _breadcrumbbar_BreadcrumbBarLayout__WEBPACK_IMPORTED_MODULE_680__ = __webpack_require__(/*! ./breadcrumbbar/BreadcrumbBarLayout */ "./src/breadcrumbbar/BreadcrumbBarLayout.js");
55318
- /* harmony import */ var _breadcrumbbar_BreadcrumbBarAdapter__WEBPACK_IMPORTED_MODULE_681__ = __webpack_require__(/*! ./breadcrumbbar/BreadcrumbBarAdapter */ "./src/breadcrumbbar/BreadcrumbBarAdapter.js");
55319
- /* harmony import */ var _form_fields_breadcrumbbarfield_BreadcrumbBarField__WEBPACK_IMPORTED_MODULE_682__ = __webpack_require__(/*! ./form/fields/breadcrumbbarfield/BreadcrumbBarField */ "./src/form/fields/breadcrumbbarfield/BreadcrumbBarField.js");
55320
- /* harmony import */ var _form_fields_breadcrumbbarfield_BreadcrumbBarFieldAdapter__WEBPACK_IMPORTED_MODULE_683__ = __webpack_require__(/*! ./form/fields/breadcrumbbarfield/BreadcrumbBarFieldAdapter */ "./src/form/fields/breadcrumbbarfield/BreadcrumbBarFieldAdapter.js");
55321
- /* harmony import */ var _objectFactories__WEBPACK_IMPORTED_MODULE_684__ = __webpack_require__(/*! ./objectFactories */ "./src/objectFactories.js");
55322
- /* harmony import */ var _jquery_jquery_scout__WEBPACK_IMPORTED_MODULE_685__ = __webpack_require__(/*! ./jquery/jquery-scout */ "./src/jquery/jquery-scout.js");
55323
- /* harmony import */ var _jquery_jquery_scout_selectors__WEBPACK_IMPORTED_MODULE_686__ = __webpack_require__(/*! ./jquery/jquery-scout-selectors */ "./src/jquery/jquery-scout-selectors.js");
55324
- /* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_687__ = __webpack_require__(/*! ./index.js */ "./src/index.js");
55332
+ /* harmony import */ var _tile_fields_htmlfield_TileHtmlField__WEBPACK_IMPORTED_MODULE_597__ = __webpack_require__(/*! ./tile/fields/htmlfield/TileHtmlField */ "./src/tile/fields/htmlfield/TileHtmlField.js");
55333
+ /* harmony import */ var _tile_fields_tablefield_TileTableField__WEBPACK_IMPORTED_MODULE_598__ = __webpack_require__(/*! ./tile/fields/tablefield/TileTableField */ "./src/tile/fields/tablefield/TileTableField.js");
55334
+ /* harmony import */ var _tabbox_SimpleTab__WEBPACK_IMPORTED_MODULE_599__ = __webpack_require__(/*! ./tabbox/SimpleTab */ "./src/tabbox/SimpleTab.js");
55335
+ /* harmony import */ var _tabbox_SimpleTabArea__WEBPACK_IMPORTED_MODULE_600__ = __webpack_require__(/*! ./tabbox/SimpleTabArea */ "./src/tabbox/SimpleTabArea.js");
55336
+ /* harmony import */ var _tabbox_SimpleTabAreaLayout__WEBPACK_IMPORTED_MODULE_601__ = __webpack_require__(/*! ./tabbox/SimpleTabAreaLayout */ "./src/tabbox/SimpleTabAreaLayout.js");
55337
+ /* harmony import */ var _desktop_Desktop__WEBPACK_IMPORTED_MODULE_602__ = __webpack_require__(/*! ./desktop/Desktop */ "./src/desktop/Desktop.js");
55338
+ /* harmony import */ var _desktop_DesktopAdapter__WEBPACK_IMPORTED_MODULE_603__ = __webpack_require__(/*! ./desktop/DesktopAdapter */ "./src/desktop/DesktopAdapter.js");
55339
+ /* harmony import */ var _desktop_DesktopLogo__WEBPACK_IMPORTED_MODULE_604__ = __webpack_require__(/*! ./desktop/DesktopLogo */ "./src/desktop/DesktopLogo.js");
55340
+ /* harmony import */ var _desktop_DesktopLayout__WEBPACK_IMPORTED_MODULE_605__ = __webpack_require__(/*! ./desktop/DesktopLayout */ "./src/desktop/DesktopLayout.js");
55341
+ /* harmony import */ var _desktop_desktoptab_DesktopTab__WEBPACK_IMPORTED_MODULE_606__ = __webpack_require__(/*! ./desktop/desktoptab/DesktopTab */ "./src/desktop/desktoptab/DesktopTab.js");
55342
+ /* harmony import */ var _desktop_desktoptab_DesktopTabArea__WEBPACK_IMPORTED_MODULE_607__ = __webpack_require__(/*! ./desktop/desktoptab/DesktopTabArea */ "./src/desktop/desktoptab/DesktopTabArea.js");
55343
+ /* harmony import */ var _desktop_desktoptab_DesktopTabAreaLayout__WEBPACK_IMPORTED_MODULE_608__ = __webpack_require__(/*! ./desktop/desktoptab/DesktopTabAreaLayout */ "./src/desktop/desktoptab/DesktopTabAreaLayout.js");
55344
+ /* harmony import */ var _desktop_DesktopTabBoxController__WEBPACK_IMPORTED_MODULE_609__ = __webpack_require__(/*! ./desktop/DesktopTabBoxController */ "./src/desktop/DesktopTabBoxController.js");
55345
+ /* harmony import */ var _desktop_bench_DesktopTabSelectKeyStroke__WEBPACK_IMPORTED_MODULE_610__ = __webpack_require__(/*! ./desktop/bench/DesktopTabSelectKeyStroke */ "./src/desktop/bench/DesktopTabSelectKeyStroke.js");
55346
+ /* harmony import */ var _desktop_DisableBrowserF5ReloadKeyStroke__WEBPACK_IMPORTED_MODULE_611__ = __webpack_require__(/*! ./desktop/DisableBrowserF5ReloadKeyStroke */ "./src/desktop/DisableBrowserF5ReloadKeyStroke.js");
55347
+ /* harmony import */ var _desktop_PopupWindow__WEBPACK_IMPORTED_MODULE_612__ = __webpack_require__(/*! ./desktop/PopupWindow */ "./src/desktop/PopupWindow.js");
55348
+ /* harmony import */ var _desktop_OpenUriHandler__WEBPACK_IMPORTED_MODULE_613__ = __webpack_require__(/*! ./desktop/OpenUriHandler */ "./src/desktop/OpenUriHandler.js");
55349
+ /* harmony import */ var _desktop_bench_DesktopBench__WEBPACK_IMPORTED_MODULE_614__ = __webpack_require__(/*! ./desktop/bench/DesktopBench */ "./src/desktop/bench/DesktopBench.js");
55350
+ /* harmony import */ var _desktop_bench_BenchColumn__WEBPACK_IMPORTED_MODULE_615__ = __webpack_require__(/*! ./desktop/bench/BenchColumn */ "./src/desktop/bench/BenchColumn.js");
55351
+ /* harmony import */ var _desktop_bench_layout_BenchRowLayoutData__WEBPACK_IMPORTED_MODULE_616__ = __webpack_require__(/*! ./desktop/bench/layout/BenchRowLayoutData */ "./src/desktop/bench/layout/BenchRowLayoutData.js");
55352
+ /* harmony import */ var _desktop_bench_layout_BenchColumnLayoutData__WEBPACK_IMPORTED_MODULE_617__ = __webpack_require__(/*! ./desktop/bench/layout/BenchColumnLayoutData */ "./src/desktop/bench/layout/BenchColumnLayoutData.js");
55353
+ /* harmony import */ var _desktop_desktoptab_DisableBrowserTabSwitchingKeyStroke__WEBPACK_IMPORTED_MODULE_618__ = __webpack_require__(/*! ./desktop/desktoptab/DisableBrowserTabSwitchingKeyStroke */ "./src/desktop/desktoptab/DisableBrowserTabSwitchingKeyStroke.js");
55354
+ /* harmony import */ var _desktop_header_DesktopHeader__WEBPACK_IMPORTED_MODULE_619__ = __webpack_require__(/*! ./desktop/header/DesktopHeader */ "./src/desktop/header/DesktopHeader.js");
55355
+ /* harmony import */ var _desktop_header_HeaderTabBoxController__WEBPACK_IMPORTED_MODULE_620__ = __webpack_require__(/*! ./desktop/header/HeaderTabBoxController */ "./src/desktop/header/HeaderTabBoxController.js");
55356
+ /* harmony import */ var _desktop_header_DesktopHeaderLayout__WEBPACK_IMPORTED_MODULE_621__ = __webpack_require__(/*! ./desktop/header/DesktopHeaderLayout */ "./src/desktop/header/DesktopHeaderLayout.js");
55357
+ /* harmony import */ var _desktop_navigation_DesktopNavigation__WEBPACK_IMPORTED_MODULE_622__ = __webpack_require__(/*! ./desktop/navigation/DesktopNavigation */ "./src/desktop/navigation/DesktopNavigation.js");
55358
+ /* harmony import */ var _desktop_navigation_DesktopNavigationHandle__WEBPACK_IMPORTED_MODULE_623__ = __webpack_require__(/*! ./desktop/navigation/DesktopNavigationHandle */ "./src/desktop/navigation/DesktopNavigationHandle.js");
55359
+ /* harmony import */ var _desktop_navigation_DesktopNavigationLayout__WEBPACK_IMPORTED_MODULE_624__ = __webpack_require__(/*! ./desktop/navigation/DesktopNavigationLayout */ "./src/desktop/navigation/DesktopNavigationLayout.js");
55360
+ /* harmony import */ var _desktop_navigation_ShrinkNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_625__ = __webpack_require__(/*! ./desktop/navigation/ShrinkNavigationKeyStroke */ "./src/desktop/navigation/ShrinkNavigationKeyStroke.js");
55361
+ /* harmony import */ var _desktop_navigation_EnlargeNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_626__ = __webpack_require__(/*! ./desktop/navigation/EnlargeNavigationKeyStroke */ "./src/desktop/navigation/EnlargeNavigationKeyStroke.js");
55362
+ /* harmony import */ var _desktop_notification_DesktopNotification__WEBPACK_IMPORTED_MODULE_627__ = __webpack_require__(/*! ./desktop/notification/DesktopNotification */ "./src/desktop/notification/DesktopNotification.js");
55363
+ /* harmony import */ var _desktop_notification_DesktopNotificationAdapter__WEBPACK_IMPORTED_MODULE_628__ = __webpack_require__(/*! ./desktop/notification/DesktopNotificationAdapter */ "./src/desktop/notification/DesktopNotificationAdapter.js");
55364
+ /* harmony import */ var _desktop_notification_OfflineDesktopNotification__WEBPACK_IMPORTED_MODULE_629__ = __webpack_require__(/*! ./desktop/notification/OfflineDesktopNotification */ "./src/desktop/notification/OfflineDesktopNotification.js");
55365
+ /* harmony import */ var _desktop_popupblocker_PopupBlockerHandler__WEBPACK_IMPORTED_MODULE_630__ = __webpack_require__(/*! ./desktop/popupblocker/PopupBlockerHandler */ "./src/desktop/popupblocker/PopupBlockerHandler.js");
55366
+ /* harmony import */ var _desktop_popupblocker_PopupBlockerDesktopNotification__WEBPACK_IMPORTED_MODULE_631__ = __webpack_require__(/*! ./desktop/popupblocker/PopupBlockerDesktopNotification */ "./src/desktop/popupblocker/PopupBlockerDesktopNotification.js");
55367
+ /* harmony import */ var _desktop_toolbox_DesktopToolBox__WEBPACK_IMPORTED_MODULE_632__ = __webpack_require__(/*! ./desktop/toolbox/DesktopToolBox */ "./src/desktop/toolbox/DesktopToolBox.js");
55368
+ /* harmony import */ var _desktop_viewbutton_ViewButtonActionKeyStroke__WEBPACK_IMPORTED_MODULE_633__ = __webpack_require__(/*! ./desktop/viewbutton/ViewButtonActionKeyStroke */ "./src/desktop/viewbutton/ViewButtonActionKeyStroke.js");
55369
+ /* harmony import */ var _desktop_viewbutton_ViewButton__WEBPACK_IMPORTED_MODULE_634__ = __webpack_require__(/*! ./desktop/viewbutton/ViewButton */ "./src/desktop/viewbutton/ViewButton.js");
55370
+ /* harmony import */ var _desktop_viewbutton_ViewButtonAdapter__WEBPACK_IMPORTED_MODULE_635__ = __webpack_require__(/*! ./desktop/viewbutton/ViewButtonAdapter */ "./src/desktop/viewbutton/ViewButtonAdapter.js");
55371
+ /* harmony import */ var _desktop_viewbutton_ViewButtonBox__WEBPACK_IMPORTED_MODULE_636__ = __webpack_require__(/*! ./desktop/viewbutton/ViewButtonBox */ "./src/desktop/viewbutton/ViewButtonBox.js");
55372
+ /* harmony import */ var _desktop_viewbutton_ViewMenuOpenKeyStroke__WEBPACK_IMPORTED_MODULE_637__ = __webpack_require__(/*! ./desktop/viewbutton/ViewMenuOpenKeyStroke */ "./src/desktop/viewbutton/ViewMenuOpenKeyStroke.js");
55373
+ /* harmony import */ var _desktop_viewbutton_ViewMenuPopup__WEBPACK_IMPORTED_MODULE_638__ = __webpack_require__(/*! ./desktop/viewbutton/ViewMenuPopup */ "./src/desktop/viewbutton/ViewMenuPopup.js");
55374
+ /* harmony import */ var _desktop_viewbutton_ViewMenuPopupEnterKeyStroke__WEBPACK_IMPORTED_MODULE_639__ = __webpack_require__(/*! ./desktop/viewbutton/ViewMenuPopupEnterKeyStroke */ "./src/desktop/viewbutton/ViewMenuPopupEnterKeyStroke.js");
55375
+ /* harmony import */ var _desktop_viewbutton_ViewMenuTab__WEBPACK_IMPORTED_MODULE_640__ = __webpack_require__(/*! ./desktop/viewbutton/ViewMenuTab */ "./src/desktop/viewbutton/ViewMenuTab.js");
55376
+ /* harmony import */ var _desktop_outline_pages_Page__WEBPACK_IMPORTED_MODULE_641__ = __webpack_require__(/*! ./desktop/outline/pages/Page */ "./src/desktop/outline/pages/Page.js");
55377
+ /* harmony import */ var _desktop_outline_pages_PageWithNodes__WEBPACK_IMPORTED_MODULE_642__ = __webpack_require__(/*! ./desktop/outline/pages/PageWithNodes */ "./src/desktop/outline/pages/PageWithNodes.js");
55378
+ /* harmony import */ var _desktop_outline_pages_PageWithTable__WEBPACK_IMPORTED_MODULE_643__ = __webpack_require__(/*! ./desktop/outline/pages/PageWithTable */ "./src/desktop/outline/pages/PageWithTable.js");
55379
+ /* harmony import */ var _desktop_outline_pages_PageTileButton__WEBPACK_IMPORTED_MODULE_644__ = __webpack_require__(/*! ./desktop/outline/pages/PageTileButton */ "./src/desktop/outline/pages/PageTileButton.js");
55380
+ /* harmony import */ var _desktop_outline_pages_PageTileGrid__WEBPACK_IMPORTED_MODULE_645__ = __webpack_require__(/*! ./desktop/outline/pages/PageTileGrid */ "./src/desktop/outline/pages/PageTileGrid.js");
55381
+ /* harmony import */ var _desktop_outline_pages_PageTileGridSelectKeyStroke__WEBPACK_IMPORTED_MODULE_646__ = __webpack_require__(/*! ./desktop/outline/pages/PageTileGridSelectKeyStroke */ "./src/desktop/outline/pages/PageTileGridSelectKeyStroke.js");
55382
+ /* harmony import */ var _desktop_outline_pages_AutoLeafPageWithNodes__WEBPACK_IMPORTED_MODULE_647__ = __webpack_require__(/*! ./desktop/outline/pages/AutoLeafPageWithNodes */ "./src/desktop/outline/pages/AutoLeafPageWithNodes.js");
55383
+ /* harmony import */ var _desktop_outline_DetailTableTreeFilter__WEBPACK_IMPORTED_MODULE_648__ = __webpack_require__(/*! ./desktop/outline/DetailTableTreeFilter */ "./src/desktop/outline/DetailTableTreeFilter.js");
55384
+ /* harmony import */ var _desktop_outline_Outline__WEBPACK_IMPORTED_MODULE_649__ = __webpack_require__(/*! ./desktop/outline/Outline */ "./src/desktop/outline/Outline.js");
55385
+ /* harmony import */ var _desktop_outline_OutlineAdapter__WEBPACK_IMPORTED_MODULE_650__ = __webpack_require__(/*! ./desktop/outline/OutlineAdapter */ "./src/desktop/outline/OutlineAdapter.js");
55386
+ /* harmony import */ var _desktop_outline_OutlineMediator__WEBPACK_IMPORTED_MODULE_651__ = __webpack_require__(/*! ./desktop/outline/OutlineMediator */ "./src/desktop/outline/OutlineMediator.js");
55387
+ /* harmony import */ var _desktop_outline_OutlineLayout__WEBPACK_IMPORTED_MODULE_652__ = __webpack_require__(/*! ./desktop/outline/OutlineLayout */ "./src/desktop/outline/OutlineLayout.js");
55388
+ /* harmony import */ var _desktop_outline_OutlineViewButton__WEBPACK_IMPORTED_MODULE_653__ = __webpack_require__(/*! ./desktop/outline/OutlineViewButton */ "./src/desktop/outline/OutlineViewButton.js");
55389
+ /* harmony import */ var _desktop_outline_OutlineViewButtonAdapter__WEBPACK_IMPORTED_MODULE_654__ = __webpack_require__(/*! ./desktop/outline/OutlineViewButtonAdapter */ "./src/desktop/outline/OutlineViewButtonAdapter.js");
55390
+ /* harmony import */ var _desktop_outline_OutlineTileField__WEBPACK_IMPORTED_MODULE_655__ = __webpack_require__(/*! ./desktop/outline/OutlineTileField */ "./src/desktop/outline/OutlineTileField.js");
55391
+ /* harmony import */ var _desktop_outline_OutlineTileFieldAdapter__WEBPACK_IMPORTED_MODULE_656__ = __webpack_require__(/*! ./desktop/outline/OutlineTileFieldAdapter */ "./src/desktop/outline/OutlineTileFieldAdapter.js");
55392
+ /* harmony import */ var _desktop_outline_PageLayout__WEBPACK_IMPORTED_MODULE_657__ = __webpack_require__(/*! ./desktop/outline/PageLayout */ "./src/desktop/outline/PageLayout.js");
55393
+ /* harmony import */ var _desktop_outline_SearchOutline__WEBPACK_IMPORTED_MODULE_658__ = __webpack_require__(/*! ./desktop/outline/SearchOutline */ "./src/desktop/outline/SearchOutline.js");
55394
+ /* harmony import */ var _desktop_outline_SearchOutlineAdapter__WEBPACK_IMPORTED_MODULE_659__ = __webpack_require__(/*! ./desktop/outline/SearchOutlineAdapter */ "./src/desktop/outline/SearchOutlineAdapter.js");
55395
+ /* harmony import */ var _desktop_outline_SearchOutlineLayout__WEBPACK_IMPORTED_MODULE_660__ = __webpack_require__(/*! ./desktop/outline/SearchOutlineLayout */ "./src/desktop/outline/SearchOutlineLayout.js");
55396
+ /* harmony import */ var _desktop_outline_navigation_NavigateButton__WEBPACK_IMPORTED_MODULE_661__ = __webpack_require__(/*! ./desktop/outline/navigation/NavigateButton */ "./src/desktop/outline/navigation/NavigateButton.js");
55397
+ /* harmony import */ var _desktop_outline_navigation_NavigateDownButton__WEBPACK_IMPORTED_MODULE_662__ = __webpack_require__(/*! ./desktop/outline/navigation/NavigateDownButton */ "./src/desktop/outline/navigation/NavigateDownButton.js");
55398
+ /* harmony import */ var _desktop_outline_navigation_NavigateUpButton__WEBPACK_IMPORTED_MODULE_663__ = __webpack_require__(/*! ./desktop/outline/navigation/NavigateUpButton */ "./src/desktop/outline/navigation/NavigateUpButton.js");
55399
+ /* harmony import */ var _desktop_outline_keystrokes_OutlineKeyStrokeContext__WEBPACK_IMPORTED_MODULE_664__ = __webpack_require__(/*! ./desktop/outline/keystrokes/OutlineKeyStrokeContext */ "./src/desktop/outline/keystrokes/OutlineKeyStrokeContext.js");
55400
+ /* harmony import */ var _desktop_outline_keystrokes_OutlineNavigateToTopKeyStroke__WEBPACK_IMPORTED_MODULE_665__ = __webpack_require__(/*! ./desktop/outline/keystrokes/OutlineNavigateToTopKeyStroke */ "./src/desktop/outline/keystrokes/OutlineNavigateToTopKeyStroke.js");
55401
+ /* harmony import */ var _desktop_outline_overview_OutlineOverview__WEBPACK_IMPORTED_MODULE_666__ = __webpack_require__(/*! ./desktop/outline/overview/OutlineOverview */ "./src/desktop/outline/overview/OutlineOverview.js");
55402
+ /* harmony import */ var _desktop_outline_overview_TileOutlineOverview__WEBPACK_IMPORTED_MODULE_667__ = __webpack_require__(/*! ./desktop/outline/overview/TileOutlineOverview */ "./src/desktop/outline/overview/TileOutlineOverview.js");
55403
+ /* harmony import */ var _desktop_DesktopFormController__WEBPACK_IMPORTED_MODULE_668__ = __webpack_require__(/*! ./desktop/DesktopFormController */ "./src/desktop/DesktopFormController.js");
55404
+ /* harmony import */ var _table_FilterFieldsGroupBox__WEBPACK_IMPORTED_MODULE_669__ = __webpack_require__(/*! ./table/FilterFieldsGroupBox */ "./src/table/FilterFieldsGroupBox.js");
55405
+ /* harmony import */ var _resizable_Resizable__WEBPACK_IMPORTED_MODULE_670__ = __webpack_require__(/*! ./resizable/Resizable */ "./src/resizable/Resizable.js");
55406
+ /* harmony import */ var _desktop_unsavedchanges_UnsavedFormChangesForm__WEBPACK_IMPORTED_MODULE_671__ = __webpack_require__(/*! ./desktop/unsavedchanges/UnsavedFormChangesForm */ "./src/desktop/unsavedchanges/UnsavedFormChangesForm.js");
55407
+ /* harmony import */ var _desktop_unsavedchanges_UnsavedFormsLookupCall__WEBPACK_IMPORTED_MODULE_672__ = __webpack_require__(/*! ./desktop/unsavedchanges/UnsavedFormsLookupCall */ "./src/desktop/unsavedchanges/UnsavedFormsLookupCall.js");
55408
+ /* harmony import */ var _table_TileTableHeaderBox__WEBPACK_IMPORTED_MODULE_673__ = __webpack_require__(/*! ./table/TileTableHeaderBox */ "./src/table/TileTableHeaderBox.js");
55409
+ /* harmony import */ var _login_LoginApp__WEBPACK_IMPORTED_MODULE_674__ = __webpack_require__(/*! ./login/LoginApp */ "./src/login/LoginApp.js");
55410
+ /* harmony import */ var _login_LoginBox__WEBPACK_IMPORTED_MODULE_675__ = __webpack_require__(/*! ./login/LoginBox */ "./src/login/LoginBox.js");
55411
+ /* harmony import */ var _login_LogoutApp__WEBPACK_IMPORTED_MODULE_676__ = __webpack_require__(/*! ./login/LogoutApp */ "./src/login/LogoutApp.js");
55412
+ /* harmony import */ var _login_LogoutBox__WEBPACK_IMPORTED_MODULE_677__ = __webpack_require__(/*! ./login/LogoutBox */ "./src/login/LogoutBox.js");
55413
+ /* harmony import */ var _breadcrumbbar_BreadcrumbItem__WEBPACK_IMPORTED_MODULE_678__ = __webpack_require__(/*! ./breadcrumbbar/BreadcrumbItem */ "./src/breadcrumbbar/BreadcrumbItem.js");
55414
+ /* harmony import */ var _breadcrumbbar_BreadcrumbItemAdapter__WEBPACK_IMPORTED_MODULE_679__ = __webpack_require__(/*! ./breadcrumbbar/BreadcrumbItemAdapter */ "./src/breadcrumbbar/BreadcrumbItemAdapter.js");
55415
+ /* harmony import */ var _breadcrumbbar_BreadcrumbBar__WEBPACK_IMPORTED_MODULE_680__ = __webpack_require__(/*! ./breadcrumbbar/BreadcrumbBar */ "./src/breadcrumbbar/BreadcrumbBar.js");
55416
+ /* harmony import */ var _breadcrumbbar_BreadcrumbBarLayout__WEBPACK_IMPORTED_MODULE_681__ = __webpack_require__(/*! ./breadcrumbbar/BreadcrumbBarLayout */ "./src/breadcrumbbar/BreadcrumbBarLayout.js");
55417
+ /* harmony import */ var _breadcrumbbar_BreadcrumbBarAdapter__WEBPACK_IMPORTED_MODULE_682__ = __webpack_require__(/*! ./breadcrumbbar/BreadcrumbBarAdapter */ "./src/breadcrumbbar/BreadcrumbBarAdapter.js");
55418
+ /* harmony import */ var _form_fields_breadcrumbbarfield_BreadcrumbBarField__WEBPACK_IMPORTED_MODULE_683__ = __webpack_require__(/*! ./form/fields/breadcrumbbarfield/BreadcrumbBarField */ "./src/form/fields/breadcrumbbarfield/BreadcrumbBarField.js");
55419
+ /* harmony import */ var _form_fields_breadcrumbbarfield_BreadcrumbBarFieldAdapter__WEBPACK_IMPORTED_MODULE_684__ = __webpack_require__(/*! ./form/fields/breadcrumbbarfield/BreadcrumbBarFieldAdapter */ "./src/form/fields/breadcrumbbarfield/BreadcrumbBarFieldAdapter.js");
55420
+ /* harmony import */ var _objectFactories__WEBPACK_IMPORTED_MODULE_685__ = __webpack_require__(/*! ./objectFactories */ "./src/objectFactories.js");
55421
+ /* harmony import */ var _jquery_jquery_scout__WEBPACK_IMPORTED_MODULE_686__ = __webpack_require__(/*! ./jquery/jquery-scout */ "./src/jquery/jquery-scout.js");
55422
+ /* harmony import */ var _jquery_jquery_scout_selectors__WEBPACK_IMPORTED_MODULE_687__ = __webpack_require__(/*! ./jquery/jquery-scout-selectors */ "./src/jquery/jquery-scout-selectors.js");
55423
+ /* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_688__ = __webpack_require__(/*! ./index.js */ "./src/index.js");
55325
55424
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
55326
55425
 
55327
55426
  /*
55328
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
55427
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
55329
55428
  * All rights reserved. This program and the accompanying materials
55330
55429
  * are made available under the terms of the Eclipse Public License v1.0
55331
55430
  * which accompanies this distribution, and is available at
@@ -56015,6 +56114,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
56015
56114
 
56016
56115
 
56017
56116
 
56117
+
56018
56118
 
56019
56119
 
56020
56120
  // The following files don't export anything but they need to be imported so they participate on the webpack build
@@ -56027,7 +56127,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
56027
56127
 
56028
56128
 
56029
56129
 
56030
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_index_js__WEBPACK_IMPORTED_MODULE_687__);
56130
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_index_js__WEBPACK_IMPORTED_MODULE_688__);
56031
56131
  /**
56032
56132
  * @typedef {Form|TileOverviewForm|UnsavedFormChangesForm|FieldStatus|StatusMenuMapping|FormField|CompositeField|ValueField|WidgetField|Button|WizardProgressField|CarouselField|TileField|TreeField|ImageField|TableField
56033
56133
  * |PlaceholderField|WrappedFormField|PlannerField|CalendarField|AccordionField|BreadcrumbBarField|OutlineTileField|TabArea|TabBoxHeader|Tab|ProposalChooser|TableProposalChooser|TreeProposalChooser|MenuBarBox|MenuBar|MenuBox
@@ -56041,7 +56141,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
56041
56141
  // Note: the scout object on the window still needs its own scout object (window.scout.scout).
56042
56142
  // It is required when the eclipse-core/scout is mapped as external webpack library to window.scout
56043
56143
 
56044
- let windowScout = { ..._index_js__WEBPACK_IMPORTED_MODULE_687__,
56144
+ let windowScout = { ..._index_js__WEBPACK_IMPORTED_MODULE_688__,
56045
56145
  ..._scout__WEBPACK_IMPORTED_MODULE_0__
56046
56146
  }; // Add the scout object to the window
56047
56147
 
@@ -68205,18 +68305,7 @@ __webpack_require__.r(__webpack_exports__);
68205
68305
  class ComboMenu extends _index__WEBPACK_IMPORTED_MODULE_0__.Menu {
68206
68306
  constructor() {
68207
68307
  super();
68208
- this.childSelected = false;
68209
- this._childSelectedHandler = this._onChildSelected.bind(this);
68210
- }
68211
-
68212
- _setChildActions(childActions) {
68213
- this.childActions.forEach(child => child.off('propertyChange:selected', this._childSelectedHandler));
68214
-
68215
- super._setChildActions(childActions);
68216
-
68217
- this.childActions.forEach(child => child.on('propertyChange:selected', this._childSelectedHandler));
68218
-
68219
- this._updateChildSelected();
68308
+ this._childVisibleChangeHandler = this._onChildVisibleChange.bind(this);
68220
68309
  }
68221
68310
 
68222
68311
  _render() {
@@ -68233,11 +68322,17 @@ class ComboMenu extends _index__WEBPACK_IMPORTED_MODULE_0__.Menu {
68233
68322
  _renderProperties() {
68234
68323
  super._renderProperties();
68235
68324
 
68236
- this._renderChildSelected();
68237
-
68238
68325
  this._renderChildActions();
68239
68326
  }
68240
68327
 
68328
+ _setChildActions(childActions) {
68329
+ this.childActions.forEach(child => child.off('propertyChange:visible', this._childVisibleChangeHandler));
68330
+
68331
+ super._setChildActions(childActions);
68332
+
68333
+ this.childActions.forEach(child => child.on('propertyChange:visible', this._childVisibleChangeHandler));
68334
+ }
68335
+
68241
68336
  _renderChildActions() {
68242
68337
  super._renderChildActions();
68243
68338
 
@@ -68245,6 +68340,7 @@ class ComboMenu extends _index__WEBPACK_IMPORTED_MODULE_0__.Menu {
68245
68340
  childAction.addCssClass('combo-menu-child');
68246
68341
  childAction.render();
68247
68342
  });
68343
+ _index__WEBPACK_IMPORTED_MODULE_0__.widgets.updateFirstLastMarker(this.childActions);
68248
68344
  } // @override
68249
68345
 
68250
68346
 
@@ -68252,16 +68348,23 @@ class ComboMenu extends _index__WEBPACK_IMPORTED_MODULE_0__.Menu {
68252
68348
  return false;
68253
68349
  }
68254
68350
 
68255
- _onChildSelected(event) {
68256
- this._updateChildSelected();
68351
+ _onChildVisibleChange(event) {
68352
+ if (this.rendered) {
68353
+ _index__WEBPACK_IMPORTED_MODULE_0__.widgets.updateFirstLastMarker(this.childActions);
68354
+ }
68257
68355
  }
68258
68356
 
68259
- _updateChildSelected() {
68260
- this.setProperty('childSelected', this.childActions.some(child => child.selected));
68357
+ _doActionTogglesPopup() {
68358
+ return false;
68261
68359
  }
68262
68360
 
68263
- _renderChildSelected() {
68264
- this.$container.toggleClass('child-selected', this.childSelected);
68361
+ isToggleAction() {
68362
+ return false;
68363
+ }
68364
+
68365
+ isTabTarget() {
68366
+ // To make children tabbable, combo menu must never be a tab target, even if its a default menu
68367
+ return false;
68265
68368
  }
68266
68369
 
68267
68370
  }
@@ -68710,10 +68813,10 @@ class ContextMenuPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
68710
68813
  } // prevent loosing original parent
68711
68814
 
68712
68815
 
68713
- let originalParent = menu.parent;
68816
+ let originalParent = menu.parent; // Clone menu items but only clone once unless it is for a different context menu (e.g. a context menu of a combo menu inside a context menu)
68817
+ // Clone will recursively also clone all child actions.
68714
68818
 
68715
- if (this.cloneMenuItems && !menu.cloneOf) {
68716
- // clone will recursively also clone all child actions.
68819
+ if (this.cloneMenuItems && !menu.cloneOf || !this.has(menu)) {
68717
68820
  menu = menu.clone({
68718
68821
  parent: this,
68719
68822
  textPosition: _index__WEBPACK_IMPORTED_MODULE_0__.Action.TextPosition.DEFAULT
@@ -69119,6 +69222,10 @@ class EllipsisMenu extends _index__WEBPACK_IMPORTED_MODULE_0__.Menu {
69119
69222
  return super.isTabTarget() && !this.hidden;
69120
69223
  }
69121
69224
 
69225
+ _childrenForEnabledComputed() {
69226
+ return this.childActions;
69227
+ }
69228
+
69122
69229
  }
69123
69230
 
69124
69231
  /***/ }),
@@ -69137,7 +69244,7 @@ __webpack_require__.r(__webpack_exports__);
69137
69244
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
69138
69245
 
69139
69246
  /*
69140
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
69247
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
69141
69248
  * All rights reserved. This program and the accompanying materials
69142
69249
  * are made available under the terms of the Eclipse Public License v1.0
69143
69250
  * which accompanies this distribution, and is available at
@@ -69487,7 +69594,7 @@ class Menu extends _index__WEBPACK_IMPORTED_MODULE_0__.Action {
69487
69594
  }
69488
69595
 
69489
69596
  isTabTarget() {
69490
- return this.enabledComputed && this.visible && !this.overflown && (this.isButton() || !this.separator);
69597
+ return this.enabledComputed && this.visible && !this.overflown && (this.isButton() || !this.separator) && (!this.parentMenu || this.parentMenu.visible && !this.parentMenu.overflown); // Necessary for ComboMenu -> must return false if ComboMenu (parentMenu) is not shown
69491
69598
  }
69492
69599
  /**
69493
69600
  * @override Widget.js
@@ -69761,10 +69868,10 @@ class Menu extends _index__WEBPACK_IMPORTED_MODULE_0__.Action {
69761
69868
 
69762
69869
 
69763
69870
  _setInheritAccessibility(inheritAccessibility) {
69764
- this._setProperty('inheritAccessibility', inheritAccessibility);
69871
+ let changed = this._setProperty('inheritAccessibility', inheritAccessibility);
69765
69872
 
69766
- if (this.initialized) {
69767
- this._findRootMenu().recomputeEnabled();
69873
+ if (changed) {
69874
+ this._recomputeEnabledInMenuHierarchy();
69768
69875
  }
69769
69876
  }
69770
69877
  /**
@@ -69773,18 +69880,33 @@ class Menu extends _index__WEBPACK_IMPORTED_MODULE_0__.Action {
69773
69880
 
69774
69881
 
69775
69882
  _setEnabled(enabled) {
69776
- this._setProperty('enabled', enabled);
69883
+ let changed = this._setProperty('enabled', enabled);
69777
69884
 
69778
- if (this.initialized) {
69779
- this._findRootMenu().recomputeEnabled();
69885
+ if (changed) {
69886
+ this._recomputeEnabledInMenuHierarchy();
69780
69887
  }
69781
69888
  }
69782
69889
 
69783
69890
  _setVisible(visible) {
69784
- this._setProperty('visible', visible);
69891
+ let changed = this._setProperty('visible', visible);
69785
69892
 
69786
- if (this.initialized) {
69787
- this._findRootMenu().recomputeEnabled();
69893
+ if (changed) {
69894
+ this._recomputeEnabledInMenuHierarchy();
69895
+ }
69896
+ }
69897
+
69898
+ _recomputeEnabledInMenuHierarchy() {
69899
+ if (!this.initialized) {
69900
+ return;
69901
+ }
69902
+
69903
+ let rootMenu = this._findRootMenu();
69904
+
69905
+ rootMenu.recomputeEnabled();
69906
+
69907
+ if (rootMenu !== this) {
69908
+ // necessary in case this menu or a parent menu has inheritAccessibility=false. Because then this menu and its children are skipped in the line above!
69909
+ this.recomputeEnabled();
69788
69910
  }
69789
69911
  }
69790
69912
 
@@ -70983,9 +71105,7 @@ class MenuBar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
70983
71105
  if (this.defaultMenu && this.defaultMenu.isTabTarget()) {
70984
71106
  this.setTabbableMenu(this.defaultMenu);
70985
71107
  } else {
70986
- this.setTabbableMenu(_index__WEBPACK_IMPORTED_MODULE_0__.arrays.find(this.orderedMenuItems.all, item => {
70987
- return item.isTabTarget();
70988
- }));
71108
+ this.setTabbableMenu(_index__WEBPACK_IMPORTED_MODULE_0__.arrays.find(this.orderedMenuItems.all, item => item.isTabTarget()));
70989
71109
  }
70990
71110
  }
70991
71111
  }
@@ -71221,14 +71341,6 @@ class MenuBarBox extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
71221
71341
  this.tooltipPosition = _index__WEBPACK_IMPORTED_MODULE_0__.MenuBar.Position.TOP;
71222
71342
 
71223
71343
  this._addWidgetProperties('menuItems');
71224
-
71225
- this._menuItemPropertyChangeHandler = this._onMenuItemPropertyChange.bind(this);
71226
- }
71227
-
71228
- _destroy() {
71229
- super._destroy();
71230
-
71231
- this._removeMenuHandlers();
71232
71344
  }
71233
71345
 
71234
71346
  _render() {
@@ -71262,24 +71374,13 @@ class MenuBarBox extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
71262
71374
  }
71263
71375
 
71264
71376
  _setMenuItems(menuItems) {
71265
- // remove property listeners of old menu items.
71266
- this._removeMenuHandlers();
71267
-
71268
- this._setProperty('menuItems', menuItems); // add property listener of new menus
71269
-
71270
-
71271
- this._addMenuHandlers();
71377
+ this._setProperty('menuItems', menuItems);
71272
71378
 
71273
71379
  this._updateTooltipPosition();
71274
71380
  }
71275
71381
 
71276
71382
  _removeMenuItems() {
71277
- this._removeMenuHandlers();
71278
-
71279
- this.menuItems.forEach(item => {
71280
- item.overflow = false;
71281
- item.remove();
71282
- });
71383
+ this.menuItems.forEach(item => item.remove());
71283
71384
  }
71284
71385
 
71285
71386
  _renderMenuItems() {
@@ -71293,18 +71394,6 @@ class MenuBarBox extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
71293
71394
  }
71294
71395
  }
71295
71396
 
71296
- _addMenuHandlers() {
71297
- this.menuItems.forEach(function (item) {
71298
- item.off('propertyChange', this._menuItemPropertyChangeHandler);
71299
- }, this);
71300
- }
71301
-
71302
- _removeMenuHandlers() {
71303
- this.menuItems.forEach(function (item) {
71304
- item.off('propertyChange', this._menuItemPropertyChangeHandler);
71305
- }, this);
71306
- }
71307
-
71308
71397
  _renderVisible() {
71309
71398
  super._renderVisible();
71310
71399
 
@@ -71313,9 +71402,7 @@ class MenuBarBox extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
71313
71402
 
71314
71403
  _onMenuItemPropertyChange(event) {
71315
71404
  if (event.propertyName === 'visible') {
71316
- this.setVisible(this.menuItems.some(m => {
71317
- return m.visible && !m.ellipsis;
71318
- }));
71405
+ this.setVisible(this.menuItems.some(m => m.visible && !m.ellipsis));
71319
71406
  }
71320
71407
  }
71321
71408
 
@@ -71330,9 +71417,7 @@ class MenuBarBox extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
71330
71417
  }
71331
71418
 
71332
71419
  _updateTooltipPosition() {
71333
- this.menuItems.forEach(function (item) {
71334
- item.setTooltipPosition(this.tooltipPosition);
71335
- }, this);
71420
+ this.menuItems.forEach(item => item.setTooltipPosition(this.tooltipPosition));
71336
71421
  }
71337
71422
 
71338
71423
  }
@@ -71425,9 +71510,7 @@ class MenuBarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
71425
71510
 
71426
71511
  let visibleMenuItems = this.visibleMenuItems();
71427
71512
  let htmlContainer = _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get($container);
71428
- let ellipsis = _index__WEBPACK_IMPORTED_MODULE_0__.arrays.find(menuItems, menuItem => {
71429
- return menuItem.ellipsis;
71430
- });
71513
+ let ellipsis = _index__WEBPACK_IMPORTED_MODULE_0__.arrays.find(menuItems, menuItem => menuItem.ellipsis);
71431
71514
 
71432
71515
  this._setFirstLastMenuMarker(visibleMenuItems); // is required to determine available size correctly
71433
71516
 
@@ -71441,22 +71524,16 @@ class MenuBarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
71441
71524
  ellipsis.setHidden(false);
71442
71525
  }
71443
71526
 
71444
- visibleMenuItems.forEach(menuItem => {
71445
- menuItem._setOverflown(false);
71446
- }, this);
71527
+ visibleMenuItems.forEach(menuItem => menuItem._setOverflown(false));
71447
71528
 
71448
- this._overflowMenuItems.forEach(menuItem => {
71449
- menuItem._setOverflown(true);
71450
- });
71529
+ this._overflowMenuItems.forEach(menuItem => menuItem._setOverflown(true));
71451
71530
 
71452
71531
  if (ellipsis && this._overflowMenuItems.length === 0) {
71453
71532
  ellipsis.setHidden(true);
71454
71533
  } // remove all separators
71455
71534
 
71456
71535
 
71457
- this._overflowMenuItems = this._overflowMenuItems.filter(menuItem => {
71458
- return !menuItem.separator;
71459
- }); // set childActions to empty array to prevent the menuItems from calling remove.
71536
+ this._overflowMenuItems = this._overflowMenuItems.filter(menuItem => !menuItem.separator);
71460
71537
 
71461
71538
  if (ellipsis) {
71462
71539
  ellipsis._closePopup();
@@ -71465,9 +71542,7 @@ class MenuBarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
71465
71542
  } // trigger menu items layout
71466
71543
 
71467
71544
 
71468
- visibleMenuItems.forEach(menuItem => {
71469
- menuItem.validateLayout();
71470
- });
71545
+ visibleMenuItems.forEach(menuItem => menuItem.validateLayout());
71471
71546
  visibleMenuItems.forEach(menuItem => {
71472
71547
  // Make sure open popups are at the correct position after layouting
71473
71548
  if (menuItem.popup) {
@@ -71530,7 +71605,7 @@ class MenuBarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
71530
71605
  /**
71531
71606
  * Moves menu items into _overflowMenuItems until prefSize.width is smaller than prefWidth.
71532
71607
  * The moved menu items will be removed from the given visibleMenuItems parameter.
71533
- * @returns {number} the calculated preferred size
71608
+ * @returns {Dimension} the calculated preferred size
71534
71609
  */
71535
71610
 
71536
71611
 
@@ -72200,7 +72275,7 @@ class MenuBoxLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
72200
72275
  _createAndRenderEllipsis($container) {
72201
72276
  let ellipsis = _index__WEBPACK_IMPORTED_MODULE_0__.menus.createEllipsisMenu({
72202
72277
  parent: this.menuBox,
72203
- horizontalAlignment: 1,
72278
+ hidden: false,
72204
72279
  compact: this.menuBox.compact
72205
72280
  });
72206
72281
  ellipsis.uiCssClass = this.menuBox.uiMenuCssClass;
@@ -72363,8 +72438,6 @@ __webpack_require__.r(__webpack_exports__);
72363
72438
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
72364
72439
  /* harmony export */ });
72365
72440
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
72366
- /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
72367
- /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
72368
72441
  /*
72369
72442
  * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
72370
72443
  * All rights reserved. This program and the accompanying materials
@@ -72376,7 +72449,6 @@ __webpack_require__.r(__webpack_exports__);
72376
72449
  * BSI Business Systems Integration AG - initial API and implementation
72377
72450
  */
72378
72451
 
72379
-
72380
72452
  function filterAccordingToSelection(prefix, selectionLength, menus, destination, onlyVisible, enableDisableKeyStroke, notAllowedTypes) {
72381
72453
  let allowedTypes = [];
72382
72454
 
@@ -72539,16 +72611,13 @@ function _checkType(menu, types) {
72539
72611
  }
72540
72612
  }
72541
72613
  function createEllipsisMenu(options) {
72542
- let defaults = {
72543
- iconId: _index__WEBPACK_IMPORTED_MODULE_0__.icons.ELLIPSIS_V,
72544
- tabbable: false
72545
- };
72546
- options = jquery__WEBPACK_IMPORTED_MODULE_1___default().extend({}, defaults, options);
72547
- return _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('Menu', options);
72614
+ return _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('EllipsisMenu', options);
72548
72615
  }
72549
72616
  function moveMenuIntoEllipsis(menu, ellipsis) {
72550
72617
  menu.remove();
72551
- menu.overflow = true;
72618
+
72619
+ menu._setOverflown(true);
72620
+
72552
72621
  menu.overflowMenu = ellipsis;
72553
72622
  let menusInEllipsis = ellipsis.childActions.slice();
72554
72623
  menusInEllipsis.unshift(menu); // add as first element
@@ -72556,7 +72625,8 @@ function moveMenuIntoEllipsis(menu, ellipsis) {
72556
72625
  ellipsis.setChildActions(menusInEllipsis);
72557
72626
  }
72558
72627
  function removeMenuFromEllipsis(menu, $parent) {
72559
- menu.overflow = false;
72628
+ menu._setOverflown(false);
72629
+
72560
72630
  menu.overflowMenu = null;
72561
72631
 
72562
72632
  if (!menu.rendered) {
@@ -72631,7 +72701,7 @@ __webpack_require__.r(__webpack_exports__);
72631
72701
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
72632
72702
 
72633
72703
  /*
72634
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
72704
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
72635
72705
  * All rights reserved. This program and the accompanying materials
72636
72706
  * are made available under the terms of the Eclipse Public License v1.0
72637
72707
  * which accompanies this distribution, and is available at
@@ -72661,6 +72731,8 @@ class MessageBox extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
72661
72731
  this.cancelButton = null;
72662
72732
  this.abortButton = null; // button to be executed when abort() is called, e.g. when ESCAPE is pressed. points to the last (most right) button in the list (one of yes, no or cancel)
72663
72733
 
72734
+ this.inheritAccessibility = false; // do not inherit enabled-state by default. Otherwise the MessageBox cannot be closed anymore
72735
+
72664
72736
  this.$content = null;
72665
72737
  this.$header = null;
72666
72738
  this.$body = null;
@@ -73903,12 +73975,16 @@ class ModeSelectorLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLay
73903
73975
  'height': 'auto'
73904
73976
  });
73905
73977
  let maxWidth = 0;
73906
- this.modeSelector.modes.forEach(mode => {
73978
+ this.modeSelector.modes.filter(mode => mode.rendered).forEach(mode => {
73979
+ let oldModeStyle = mode.$container.attr('style');
73980
+ mode.$container.css('flex', 'none');
73907
73981
  let modeWidth = mode.htmlComp.prefSize().width;
73908
73982
 
73909
73983
  if (modeWidth > maxWidth) {
73910
73984
  maxWidth = modeWidth;
73911
73985
  }
73986
+
73987
+ mode.$container.attrOrRemove('style', oldModeStyle);
73912
73988
  });
73913
73989
  this.modeSelector.$container.attrOrRemove('style', oldStyle);
73914
73990
  prefSize.width = maxWidth * this.modeSelector.modes.length + this.modeSelector.htmlComp.insets().horizontal();
@@ -73933,7 +74009,7 @@ __webpack_require__.r(__webpack_exports__);
73933
74009
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
73934
74010
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
73935
74011
  /*
73936
- * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
74012
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
73937
74013
  * All rights reserved. This program and the accompanying materials
73938
74014
  * are made available under the terms of the Eclipse Public License v1.0
73939
74015
  * which accompanies this distribution, and is available at
@@ -73950,7 +74026,6 @@ class Notification extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
73950
74026
  this.status = _index__WEBPACK_IMPORTED_MODULE_0__.Status.info();
73951
74027
  this.closable = false;
73952
74028
  this.htmlEnabled = false;
73953
- this.iconId = null;
73954
74029
  this._icon = null;
73955
74030
  }
73956
74031
 
@@ -73960,18 +74035,17 @@ class Notification extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
73960
74035
  // a notification programmatically.
73961
74036
 
73962
74037
 
73963
- if (model.severity || model.message) {
74038
+ if (model.severity || model.message || model.iconId) {
73964
74039
  this.status = new _index__WEBPACK_IMPORTED_MODULE_0__.Status({
73965
74040
  severity: _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(model.severity, this.status.severity),
73966
- message: _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(model.message, this.status.message)
74041
+ message: _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(model.message, this.status.message),
74042
+ iconId: _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(model.iconId, this.status.iconId)
73967
74043
  });
73968
74044
  }
73969
74045
 
73970
74046
  _index__WEBPACK_IMPORTED_MODULE_0__.texts.resolveTextProperty(this.status, 'message', this.session);
73971
74047
 
73972
74048
  this._setStatus(this.status);
73973
-
73974
- this._setIconId(this.iconId);
73975
74049
  }
73976
74050
 
73977
74051
  _render() {
@@ -73994,8 +74068,6 @@ class Notification extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
73994
74068
 
73995
74069
  this._renderStatus();
73996
74070
 
73997
- this._renderIconId();
73998
-
73999
74071
  this._renderClosable();
74000
74072
  }
74001
74073
 
@@ -74022,6 +74094,8 @@ class Notification extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
74022
74094
  _renderStatus() {
74023
74095
  if (this.status) {
74024
74096
  this.$container.addClass(this.status.cssClass());
74097
+
74098
+ this._renderIconId();
74025
74099
  }
74026
74100
 
74027
74101
  this._renderMessage();
@@ -74042,15 +74116,19 @@ class Notification extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
74042
74116
  }
74043
74117
 
74044
74118
  setIconId(iconId) {
74045
- this.setProperty('iconId', iconId);
74046
- }
74119
+ if (!this.status) {
74120
+ this.status = _index__WEBPACK_IMPORTED_MODULE_0__.Status.info();
74121
+ }
74047
74122
 
74048
- _setIconId(iconId) {
74049
- this._setProperty('iconId', iconId);
74123
+ this.status.iconId = iconId;
74124
+
74125
+ if (this.rendered) {
74126
+ this._renderStatus();
74127
+ }
74050
74128
  }
74051
74129
 
74052
74130
  _renderIconId() {
74053
- let hasIcon = !!this.iconId;
74131
+ let hasIcon = this.status && !!this.status.iconId;
74054
74132
  this.$container.toggleClass('has-icon', hasIcon);
74055
74133
  this.$container.toggleClass('no-icon', !hasIcon);
74056
74134
 
@@ -74063,14 +74141,14 @@ class Notification extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
74063
74141
 
74064
74142
  _renderIcon() {
74065
74143
  if (this._icon) {
74066
- this._icon.setIconDesc(this.iconId);
74144
+ this._icon.setIconDesc(this.status.iconId);
74067
74145
 
74068
74146
  return;
74069
74147
  }
74070
74148
 
74071
74149
  this._icon = _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('Icon', {
74072
74150
  parent: this,
74073
- iconDesc: this.iconId,
74151
+ iconDesc: this.status.iconId,
74074
74152
  prepend: true
74075
74153
  });
74076
74154
 
@@ -77198,7 +77276,8 @@ class Popup extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
77198
77276
  // processing the mousedown event, it's too late to detach the event and we must
77199
77277
  // deal with that situation by checking the rendered flag. Otherwise we would
77200
77278
  // run into an error later, since the $container is not available anymore.
77201
- if (!this.rendered) {
77279
+ // Use the internal flag because popup should be closed even if the parent removal is pending due to a remove animation
77280
+ if (!this._rendered) {
77202
77281
  return;
77203
77282
  }
77204
77283
 
@@ -81849,7 +81928,7 @@ __webpack_require__.r(__webpack_exports__);
81849
81928
  /* harmony export */ });
81850
81929
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
81851
81930
  /*
81852
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
81931
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
81853
81932
  * All rights reserved. This program and the accompanying materials
81854
81933
  * are made available under the terms of the Eclipse Public License v1.0
81855
81934
  * which accompanies this distribution, and is available at
@@ -81868,6 +81947,8 @@ class BusyIndicator extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
81868
81947
  this.details = null;
81869
81948
  this.cancelButton = null;
81870
81949
  this.boxButtons = null;
81950
+ this.inheritAccessibility = false; // do not inherit enabled-state. BusyIndicator must always be enabled even if parent is disabled
81951
+
81871
81952
  this.$content = null;
81872
81953
  this.$buttons = null;
81873
81954
  this.$label = null;
@@ -83091,7 +83172,7 @@ __webpack_require__.r(__webpack_exports__);
83091
83172
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
83092
83173
 
83093
83174
  /*
83094
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
83175
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
83095
83176
  * All rights reserved. This program and the accompanying materials
83096
83177
  * are made available under the terms of the Eclipse Public License v1.0
83097
83178
  * which accompanies this distribution, and is available at
@@ -83416,8 +83497,6 @@ class Session {
83416
83497
  }
83417
83498
 
83418
83499
  function onAjaxFail(jqXHR, textStatus, errorThrown) {
83419
- this._setApplicationLoading(false);
83420
-
83421
83500
  this._processErrorResponse(jqXHR, textStatus, errorThrown, request);
83422
83501
 
83423
83502
  for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
@@ -83526,6 +83605,8 @@ class Session {
83526
83605
 
83527
83606
  this.desktop = this.getOrCreateWidget(clientSessionData.desktop, this.rootAdapter.widget);
83528
83607
 
83608
+ _index__WEBPACK_IMPORTED_MODULE_0__.App.get()._triggerDesktopReady(this.desktop);
83609
+
83529
83610
  let renderDesktopImpl = function () {
83530
83611
  this._renderDesktop(); // In case the server sent additional events, process them
83531
83612
 
@@ -83547,6 +83628,9 @@ class Session {
83547
83628
  this._resumeBackgroundJobPolling();
83548
83629
 
83549
83630
  this.ready = true;
83631
+
83632
+ _index__WEBPACK_IMPORTED_MODULE_0__.App.get()._triggerSessionReady(this);
83633
+
83550
83634
  jquery__WEBPACK_IMPORTED_MODULE_1___default().log.isInfoEnabled() && jquery__WEBPACK_IMPORTED_MODULE_1___default().log.info('Session initialized. Detected ' + _index__WEBPACK_IMPORTED_MODULE_0__.Device.get());
83551
83635
 
83552
83636
  if (jquery__WEBPACK_IMPORTED_MODULE_1___default().log.isDebugEnabled()) {
@@ -84210,8 +84294,6 @@ class Session {
84210
84294
  this._fatalMessagesOnScreen[errorCode] = true;
84211
84295
  }
84212
84296
 
84213
- this._setApplicationLoading(false);
84214
-
84215
84297
  options = options || {};
84216
84298
  let model = {
84217
84299
  session: this,
@@ -84559,67 +84641,6 @@ class Session {
84559
84641
  return request;
84560
84642
  }
84561
84643
 
84562
- _setApplicationLoading(applicationLoading) {
84563
- if (applicationLoading) {
84564
- this._applicationLoadingTimeoutId = setTimeout(() => {
84565
- if (!this.desktop || !this.desktop.rendered) {
84566
- this._renderApplicationLoading();
84567
- }
84568
- }, 200);
84569
- } else {
84570
- clearTimeout(this._applicationLoadingTimeoutId);
84571
- this._applicationLoadingTimeoutId = null;
84572
-
84573
- this._removeApplicationLoading();
84574
- }
84575
- }
84576
-
84577
- _renderApplicationLoading() {
84578
- let $body = jquery__WEBPACK_IMPORTED_MODULE_1___default()('body'),
84579
- $loadingRoot = $body.children('.application-loading-root');
84580
-
84581
- if (!$loadingRoot.length) {
84582
- $loadingRoot = $body.appendDiv('application-loading-root').addClass('application-loading-root').fadeIn();
84583
- }
84584
-
84585
- this._renderApplicationLoadingElement($loadingRoot, 'application-loading01');
84586
-
84587
- this._renderApplicationLoadingElement($loadingRoot, 'application-loading02');
84588
-
84589
- this._renderApplicationLoadingElement($loadingRoot, 'application-loading03');
84590
- }
84591
-
84592
- _renderApplicationLoadingElement($loadingRoot, cssClass) {
84593
- if ($loadingRoot.children('.' + cssClass).length) {
84594
- return;
84595
- } // noinspection JSValidateTypes
84596
-
84597
-
84598
- $loadingRoot.appendDiv(cssClass).hide().fadeIn();
84599
- }
84600
-
84601
- _removeApplicationLoading() {
84602
- let $loadingRoot = jquery__WEBPACK_IMPORTED_MODULE_1___default()('body').children('.application-loading-root'); // the fadeout animation only contains a to-value and no from-value
84603
- // therefore set the current value to the elements style
84604
-
84605
- $loadingRoot.css('opacity', $loadingRoot.css('opacity'));
84606
-
84607
- if ($loadingRoot.css('opacity') == 1) {
84608
- $loadingRoot.addClass('fadeout and-more');
84609
- } else {
84610
- $loadingRoot.addClass('fadeout');
84611
- }
84612
-
84613
- if (_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsCssAnimation()) {
84614
- $loadingRoot.oneAnimationEnd(() => {
84615
- $loadingRoot.remove();
84616
- });
84617
- } else {
84618
- // fallback for old browsers that do not support the animation-end event
84619
- $loadingRoot.remove();
84620
- }
84621
- }
84622
-
84623
84644
  _processEvents(events) {
84624
84645
  let i = 0;
84625
84646
 
@@ -84665,10 +84686,7 @@ class Session {
84665
84686
  }
84666
84687
 
84667
84688
  start() {
84668
- jquery__WEBPACK_IMPORTED_MODULE_1___default().log.isInfoEnabled() && jquery__WEBPACK_IMPORTED_MODULE_1___default().log.info('Session starting...'); // After a short time, display a loading animation (will be removed again in _renderDesktop)
84669
-
84670
- this._setApplicationLoading(true); // Send startup request
84671
-
84689
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.isInfoEnabled() && jquery__WEBPACK_IMPORTED_MODULE_1___default().log.info('Session starting...'); // Send startup request
84672
84690
 
84673
84691
  return this._sendStartupRequest();
84674
84692
  }
@@ -84719,8 +84737,6 @@ class Session {
84719
84737
  _renderDesktop() {
84720
84738
  this.desktop.render(this.$entryPoint);
84721
84739
  this.desktop.invalidateLayoutTree(false);
84722
-
84723
- this._setApplicationLoading(false);
84724
84740
  }
84725
84741
 
84726
84742
  _onLogout(event) {
@@ -85558,7 +85574,7 @@ __webpack_require__.r(__webpack_exports__);
85558
85574
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
85559
85575
 
85560
85576
  /*
85561
- * Copyright (c) 2010-2020 BSI Business Systems Integration AG.
85577
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
85562
85578
  * All rights reserved. This program and the accompanying materials
85563
85579
  * are made available under the terms of the Eclipse Public License v1.0
85564
85580
  * which accompanies this distribution, and is available at
@@ -85573,6 +85589,7 @@ class Status {
85573
85589
  constructor(model) {
85574
85590
  this.message = null;
85575
85591
  this.severity = Status.Severity.ERROR;
85592
+ this.iconId = null;
85576
85593
  this.code = 0;
85577
85594
  this.children = null;
85578
85595
  this.deletable = true;
@@ -87665,7 +87682,7 @@ __webpack_require__.r(__webpack_exports__);
87665
87682
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
87666
87683
 
87667
87684
  /*
87668
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
87685
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
87669
87686
  * All rights reserved. This program and the accompanying materials
87670
87687
  * are made available under the terms of the Eclipse Public License v1.0
87671
87688
  * which accompanies this distribution, and is available at
@@ -90009,7 +90026,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90009
90026
  let cell, column, predicate;
90010
90027
 
90011
90028
  predicate = function (column) {
90012
- if (column.guiOnly) {
90029
+ if (!column.isVisible() || column.guiOnly) {
90013
90030
  // does not support tabbing
90014
90031
  return false;
90015
90032
  }
@@ -90975,6 +90992,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90975
90992
  this.ensureRowRendered(row);
90976
90993
  let popup = column.startCellEdit(row, field);
90977
90994
  this.cellEditorPopup = popup;
90995
+ this.$container.toggleClass('has-cell-editor-popup', !!popup);
90978
90996
  return popup;
90979
90997
  }
90980
90998
  /**
@@ -91741,7 +91759,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
91741
91759
 
91742
91760
  if (filter instanceof _index__WEBPACK_IMPORTED_MODULE_0__.TableUserFilter) {
91743
91761
  let previousFilter = this.getFilter(filter.createKey());
91744
- this.filterSupport.removeFilter(previousFilter);
91762
+ this.filterSupport.removeFilter(previousFilter, false);
91745
91763
  }
91746
91764
 
91747
91765
  let added = this.filterSupport.addFilter(filter, applyFilter);
@@ -93605,6 +93623,10 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93605
93623
  this.cellEditorPopup.destroy();
93606
93624
  this.cellEditorPopup = null;
93607
93625
 
93626
+ if (this.$container) {
93627
+ this.$container.removeClass('has-cell-editor-popup');
93628
+ }
93629
+
93608
93630
  if (callback) {
93609
93631
  callback();
93610
93632
  }
@@ -102018,6 +102040,10 @@ class Column {
102018
102040
  return this.table.cellValue(this, row);
102019
102041
  }
102020
102042
 
102043
+ cellValue(row) {
102044
+ return this.table.cellValue(this, row);
102045
+ }
102046
+
102021
102047
  cellText(row) {
102022
102048
  return this.table.cellText(this, row);
102023
102049
  }
@@ -115870,6 +115896,49 @@ class TileButton extends _index__WEBPACK_IMPORTED_MODULE_0__.Button {
115870
115896
 
115871
115897
  /***/ }),
115872
115898
 
115899
+ /***/ "./src/tile/fields/htmlfield/TileHtmlField.js":
115900
+ /*!****************************************************!*\
115901
+ !*** ./src/tile/fields/htmlfield/TileHtmlField.js ***!
115902
+ \****************************************************/
115903
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
115904
+
115905
+ __webpack_require__.r(__webpack_exports__);
115906
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
115907
+ /* harmony export */ "default": () => (/* binding */ TileHtmlField)
115908
+ /* harmony export */ });
115909
+ /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../index */ "./src/index.js");
115910
+ /*
115911
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
115912
+ * All rights reserved. This program and the accompanying materials
115913
+ * are made available under the terms of the Eclipse Public License v1.0
115914
+ * which accompanies this distribution, and is available at
115915
+ * http://www.eclipse.org/legal/epl-v10.html
115916
+ *
115917
+ * Contributors:
115918
+ * BSI Business Systems Integration AG - initial API and implementation
115919
+ */
115920
+
115921
+ class TileHtmlField extends _index__WEBPACK_IMPORTED_MODULE_0__.HtmlField {
115922
+ constructor() {
115923
+ super();
115924
+ }
115925
+
115926
+ _render() {
115927
+ super._render();
115928
+
115929
+ this.$container.addClass('scrollbar-y-outside');
115930
+ }
115931
+
115932
+ _installScrollbars(options) {
115933
+ return super._installScrollbars($.extend(true, {}, options, {
115934
+ scrollShadow: 'gradient'
115935
+ }));
115936
+ }
115937
+
115938
+ }
115939
+
115940
+ /***/ }),
115941
+
115873
115942
  /***/ "./src/tile/fields/tablefield/TileTableField.js":
115874
115943
  /*!******************************************************!*\
115875
115944
  !*** ./src/tile/fields/tablefield/TileTableField.js ***!
@@ -118001,7 +118070,7 @@ __webpack_require__.r(__webpack_exports__);
118001
118070
  /* harmony export */ "default": () => (/* binding */ LazyNodeFilter)
118002
118071
  /* harmony export */ });
118003
118072
  /*
118004
- * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
118073
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
118005
118074
  * All rights reserved. This program and the accompanying materials
118006
118075
  * are made available under the terms of the Eclipse Public License v1.0
118007
118076
  * which accompanies this distribution, and is available at
@@ -118012,29 +118081,37 @@ __webpack_require__.r(__webpack_exports__);
118012
118081
  */
118013
118082
  class LazyNodeFilter {
118014
118083
  constructor(tree) {
118015
- //
118016
118084
  this.tree = tree;
118017
118085
  }
118018
118086
 
118019
118087
  accept(node) {
118020
- if (!node.expanded && node.parentNode && node.parentNode.expandedLazy && node.parentNode.lazyExpandingEnabled && this.tree.lazyExpandingEnabled) {
118021
- // if this node is not expanded and parent is lazyExpanding.
118022
- for (let i = 0; i < this.tree.selectedNodes.length; i++) {
118023
- let selectedNode = this.tree.selectedNodes[i]; // not initialized selected nodes
118088
+ if (node.expanded) {
118089
+ return true;
118090
+ } // not expanded: remove lazy expand marker (forget lazy expanded children)
118024
118091
 
118025
- if (typeof selectedNode === 'string') {
118026
- break;
118027
- }
118028
118092
 
118029
- if (selectedNode === node || selectedNode.isDescendantOf(node)) {
118030
- return true;
118031
- }
118093
+ node.childNodes.forEach(child => child._lazyNodeFilterAccepted = false);
118094
+
118095
+ if (!node.parentNode || !node.parentNode.expandedLazy || !node.parentNode.lazyExpandingEnabled || !this.tree.lazyExpandingEnabled) {
118096
+ // no lazy expanding supported
118097
+ return true;
118098
+ } // if this node is not expanded and parent is lazyExpanding.
118099
+
118100
+
118101
+ for (let i = 0; i < this.tree.selectedNodes.length; i++) {
118102
+ let selectedNode = this.tree.selectedNodes[i];
118103
+
118104
+ if (typeof selectedNode === 'string') {
118105
+ break;
118032
118106
  }
118033
118107
 
118034
- return false;
118108
+ if (selectedNode == node) {
118109
+ node._lazyNodeFilterAccepted = true;
118110
+ return true;
118111
+ }
118035
118112
  }
118036
118113
 
118037
- return true;
118114
+ return !!node._lazyNodeFilterAccepted;
118038
118115
  }
118039
118116
 
118040
118117
  }
@@ -118057,7 +118134,7 @@ __webpack_require__.r(__webpack_exports__);
118057
118134
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
118058
118135
 
118059
118136
  /*
118060
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
118137
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
118061
118138
  * All rights reserved. This program and the accompanying materials
118062
118139
  * are made available under the terms of the Eclipse Public License v1.0
118063
118140
  * which accompanies this distribution, and is available at
@@ -118185,10 +118262,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
118185
118262
 
118186
118263
  this._ensureTreeNodes(this.nodes);
118187
118264
 
118188
- this.visitNodes(this._initTreeNode.bind(this));
118189
- this.visitNodes(this._updateFlatListAndSelectionPath.bind(this));
118265
+ this._initNodes(this.nodes);
118266
+
118190
118267
  this.initialTraversing = false;
118191
- this.selectedNodes = this._nodesByIds(this.selectedNodes);
118192
118268
  this.menuBar = _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('MenuBar', {
118193
118269
  parent: this,
118194
118270
  position: _index__WEBPACK_IMPORTED_MODULE_0__.MenuBar.Position.BOTTOM,
@@ -118205,6 +118281,27 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
118205
118281
 
118206
118282
  this._setMenus(this.menus);
118207
118283
  }
118284
+ /**
118285
+ * Initialize nodes, applies filters and updates flat list
118286
+ */
118287
+
118288
+
118289
+ _initNodes(nodes, parentNode) {
118290
+ if (!nodes) {
118291
+ nodes = this.nodes;
118292
+ }
118293
+
118294
+ Tree.visitNodes(this._initTreeNode.bind(this), nodes, parentNode);
118295
+
118296
+ if (typeof this.selectedNodes[0] === 'string') {
118297
+ this.selectedNodes = this._nodesByIds(this.selectedNodes);
118298
+ }
118299
+
118300
+ this._updateSelectionPath();
118301
+
118302
+ nodes.forEach(node => this.applyFiltersForNode(node));
118303
+ Tree.visitNodes((node, parentNode) => this._addToVisibleFlatList(node, false), nodes, parentNode);
118304
+ }
118208
118305
  /**
118209
118306
  * Iterates through the given array and converts node-models to instances of TreeNode (or a subclass).
118210
118307
  * If the array element is already a TreeNode the function leaves the element untouched. This function also
@@ -118290,45 +118387,24 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
118290
118387
  }
118291
118388
 
118292
118389
  isSelectedNode(node) {
118293
- if (this.initialTraversing) {
118294
- return this.selectedNodes.indexOf(node.id) > -1;
118295
- }
118296
-
118297
118390
  return this.selectedNodes.indexOf(node) > -1;
118298
118391
  }
118299
118392
 
118300
- _updateFlatListAndSelectionPath(node, parentNode) {
118301
- // if this node is selected all parent nodes have to be added to selectionPath
118302
- if (this.isSelectedNode(node) && (node.parentNode && !this.visibleNodesMap[node.parentNode.id] || node.level === 0)) {
118303
- let p = node;
118304
-
118305
- while (p) {
118306
- this._inSelectionPathList[p.id] = true;
118307
- p.filterDirty = true;
118393
+ _updateSelectionPath() {
118394
+ let selectedNode = this.selectedNodes[0];
118308
118395
 
118309
- if (p !== node) {
118310
- // ensure node is expanded
118311
- node.expanded = true; // if parent was filtered before, try refilter after adding to selection path.
118312
-
118313
- if (p.level === 0) {
118314
- this.applyFiltersForNode(p); // add visible nodes to visible nodes array when they are initialized
118315
-
118316
- this._addToVisibleFlatList(p, false); // process children
118317
-
118318
-
118319
- this._addChildrenToFlatList(p, this.visibleNodesFlat.length - 1, false, null, true);
118320
- }
118321
- }
118322
-
118323
- p = p.parentNode;
118324
- }
118325
- } else if (node.parentNode && this.isSelectedNode(node.parentNode)) {
118326
- this._inSelectionPathList[node.id] = true;
118396
+ if (!selectedNode) {
118397
+ return;
118327
118398
  }
118328
118399
 
118329
- this.applyFiltersForNode(node); // add visible nodes to visible nodes array when they are initialized
118400
+ this._inSelectionPathList[selectedNode.id] = true;
118401
+ selectedNode.childNodes.forEach(child => this._inSelectionPathList[child.id] = true);
118402
+ let parentNode = selectedNode.parentNode;
118330
118403
 
118331
- this._addToVisibleFlatList(node, false);
118404
+ while (parentNode) {
118405
+ this._inSelectionPathList[parentNode.id] = true;
118406
+ parentNode = parentNode.parentNode;
118407
+ }
118332
118408
  }
118333
118409
 
118334
118410
  _initTreeNode(node, parentNode) {
@@ -118376,7 +118452,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
118376
118452
  this._removeFromFlatList(node, false); // ensure node is not longer in visible nodes list.
118377
118453
 
118378
118454
 
118379
- node.destroy();
118455
+ node.destroy(); // noinspection JSUnresolvedVariable
118380
118456
 
118381
118457
  if (this._onNodeDeleted) {
118382
118458
  // Necessary for subclasses
@@ -118447,8 +118523,8 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
118447
118523
  }
118448
118524
 
118449
118525
  _remove() {
118450
- // remove listener
118451
- this.session.desktop.off('popupOpen', this._popupOpenHandler); // stop all animations
118526
+ this.session.desktop.off('popupOpen', this._popupOpenHandler);
118527
+ this.filterSupport.remove(); // stop all animations
118452
118528
 
118453
118529
  if (this._$animationWrapper) {
118454
118530
  this._$animationWrapper.stop(false, true);
@@ -118462,10 +118538,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
118462
118538
 
118463
118539
  this.$fillBefore = null;
118464
118540
  this.$fillAfter = null;
118465
- this.$data = null; // reset rendered view range because now range is rendered
118541
+ this.$data = null; // reset rendered view range because no range is rendered
118466
118542
 
118467
118543
  this.viewRangeRendered = new _index__WEBPACK_IMPORTED_MODULE_0__.Range(0, 0);
118468
- this.filterSupport.remove();
118469
118544
 
118470
118545
  super._remove();
118471
118546
  }
@@ -119618,9 +119693,8 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119618
119693
  renderExpansionOpts.expandLazyChanged = node.expandedLazy !== lazy;
119619
119694
  node.expanded = expanded;
119620
119695
  node.expandedLazy = lazy;
119621
- let filterStateChanged = this.applyFiltersForNode(node, false, renderAnimated);
119622
119696
 
119623
- if (filterStateChanged && renderExpansionOpts.expansionChanged) {
119697
+ if (renderExpansionOpts.expansionChanged) {
119624
119698
  if (node.parentNode) {
119625
119699
  // ensure node is visible under the parent node if there is a parent.
119626
119700
  this._rebuildParent(node.parentNode, opts);
@@ -119630,9 +119704,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119630
119704
  this._removeFromFlatList(node, false);
119631
119705
  }
119632
119706
  } else if (renderExpansionOpts.expandLazyChanged) {
119633
- node.childNodes.forEach(child => {
119634
- this.applyFiltersForNode(child, false, renderAnimated);
119635
- });
119707
+ this.applyFiltersForNode(node, false, renderAnimated);
119636
119708
  }
119637
119709
 
119638
119710
  if (this.groupedNodes[node.id]) {
@@ -119640,7 +119712,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119640
119712
  }
119641
119713
 
119642
119714
  if (node.expanded) {
119643
- node.ensureLoadChildren().done(this._addChildrenToFlatList.bind(this, node, null, renderAnimated, null, true));
119715
+ node.ensureLoadChildren().done(this._addChildrenToFlatList.bind(this, node, null, renderAnimated, null, true
119716
+ /* required that ctrl+shift+add expands all rows of a table-page */
119717
+ ));
119644
119718
  } else {
119645
119719
  this._removeChildrenFromFlatList(node, renderAnimated);
119646
119720
  }
@@ -119675,7 +119749,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119675
119749
  }
119676
119750
 
119677
119751
  if (node.expanded || node.expandedLazy) {
119678
- this._addChildrenToFlatList(node, null, false, null, true);
119752
+ this._addChildrenToFlatList(node, null, true, null, true
119753
+ /* required so that double clicking a table-page-row expands the clicked child row */
119754
+ );
119679
119755
  } else {
119680
119756
  this._removeChildrenFromFlatList(node, false);
119681
119757
  } // Render expansion
@@ -119797,8 +119873,6 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119797
119873
  }
119798
119874
 
119799
119875
  _removeFromFlatList(node, animatedRemove) {
119800
- let removedNodes = [];
119801
-
119802
119876
  if (this.visibleNodesMap[node.id]) {
119803
119877
  let index = this.visibleNodesFlat.indexOf(node);
119804
119878
 
@@ -119812,13 +119886,10 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119812
119886
  }
119813
119887
  }
119814
119888
 
119815
- removedNodes = _index__WEBPACK_IMPORTED_MODULE_0__.arrays.ensure(this.visibleNodesFlat.splice(index, 1));
119889
+ this.visibleNodesFlat.splice(index, 1);
119816
119890
  delete this.visibleNodesMap[node.id];
119817
119891
  this.hideNode(node, animatedRemove);
119818
119892
  }
119819
-
119820
- removedNodes.push(node);
119821
- return removedNodes;
119822
119893
  }
119823
119894
  /**
119824
119895
  * @returns {boolean} whether or not the function added a node to the flat list
@@ -119828,7 +119899,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119828
119899
  _addToVisibleFlatList(node, renderingAnimated) {
119829
119900
  // if node already is in visible list don't do anything. If no parentNode is available this node is on toplevel, if a parent is available
119830
119901
  // it has to be in visible list and also be expanded
119831
- if (!this.visibleNodesMap[node.id] && node.isFilterAccepted() && (!node.parentNode || node.parentNode.expanded && this.visibleNodesMap[node.parentNode.id])) {
119902
+ if (!this.visibleNodesMap[node.id] && node.filterAccepted && (!node.parentNode || node.parentNode.expanded && this.visibleNodesMap[node.parentNode.id])) {
119832
119903
  if (this.initialTraversing) {
119833
119904
  // for faster index calculation
119834
119905
  this._addToVisibleFlatListNoCheck(node, this.visibleNodesFlat.length, renderingAnimated);
@@ -119878,12 +119949,11 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119878
119949
  isAlreadyAdded = this.visibleNodesMap[node.id];
119879
119950
 
119880
119951
  if (isAlreadyAdded) {
119881
- this.insertBatchInVisibleNodes(insertBatch, this._showNodes(insertBatch), animatedRendering);
119882
- this.checkAndHandleBatchAnimationWrapper(parentNode, animatedRendering, insertBatch);
119883
- insertBatch = this.newInsertBatch(insertBatch.nextBatchInsertIndex());
119884
- insertBatch = this._addChildrenToFlatListIfExpanded(1, node, insertIndex, animatedRendering, insertBatch, forceFilter); // do not animate following
119952
+ this.insertBatchInVisibleNodes(insertBatch, this._showNodes(insertBatch), animatedRendering); // Animate rendering is always false because it would generate a bunch of animation wrappers which stay forever without really starting an animation...
119885
119953
 
119886
- animatedRendering = false;
119954
+ this.checkAndHandleBatchAnimationWrapper(parentNode, false, insertBatch);
119955
+ insertBatch = this.newInsertBatch(insertBatch.nextBatchInsertIndex());
119956
+ insertBatch = this._addChildrenToFlatListIfExpanded(1, node, insertIndex, animatedRendering, insertBatch, forceFilter);
119887
119957
  } else {
119888
119958
  insertBatch.insertNodes.push(node);
119889
119959
  this.visibleNodesMap[node.id] = true;
@@ -120487,11 +120557,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
120487
120557
  nodes.forEach(entry => {
120488
120558
  parentNode.childNodes.push(entry);
120489
120559
  });
120490
- } // initialize node and add to visible list if node is visible
120491
-
120560
+ }
120492
120561
 
120493
- Tree.visitNodes(this._initTreeNode.bind(this), nodes, parentNode);
120494
- Tree.visitNodes(this._updateFlatListAndSelectionPath.bind(this), nodes, parentNode);
120562
+ this._initNodes(nodes, parentNode);
120495
120563
 
120496
120564
  if (this.groupedNodes[parentNode.id]) {
120497
120565
  this._updateItemPath(false, parentNode);
@@ -120518,11 +120586,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
120518
120586
  this._updateChildNodeIndex(this.nodes, nodes[0].childNodeIndex);
120519
120587
  } else {
120520
120588
  _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushAll(this.nodes, nodes);
120521
- } // initialize node and add to visible list if node is visible
120522
-
120589
+ }
120523
120590
 
120524
- Tree.visitNodes(this._initTreeNode.bind(this), nodes, parentNode);
120525
- Tree.visitNodes(this._updateFlatListAndSelectionPath.bind(this), nodes, parentNode);
120591
+ this._initNodes(nodes, parentNode);
120526
120592
  }
120527
120593
 
120528
120594
  if (this.rendered) {
@@ -120663,9 +120729,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
120663
120729
  Tree.visitNodes(this._destroyTreeNode.bind(this), node.childNodes);
120664
120730
  }, this); // update child node indices
120665
120731
 
120666
- parentNodesToReindex.forEach(function (p) {
120667
- this._updateChildNodeIndex(p.childNodes);
120668
- }, this);
120732
+ parentNodesToReindex.forEach(p => this._updateChildNodeIndex(p.childNodes));
120669
120733
 
120670
120734
  this._updateChildNodeIndex(topLevelNodesToReindex);
120671
120735
 
@@ -121118,10 +121182,8 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121118
121182
 
121119
121183
  this.nodes.forEach(node => {
121120
121184
  let result = this.applyFiltersForNode(node, false, this.filterAnimated);
121121
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.removeAll(newlyHidden, result.newlyShown);
121122
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.removeAll(newlyShown, result.newlyHidden);
121123
- result.newlyHidden.forEach(hidden => _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushSet(newlyHidden, hidden));
121124
- result.newlyShown.forEach(shown => _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushSet(newlyShown, shown));
121185
+ newlyHidden.push(...result.newlyHidden);
121186
+ newlyShown.push(...result.newlyShown);
121125
121187
  });
121126
121188
  return {
121127
121189
  newlyHidden: newlyHidden,
@@ -121135,34 +121197,34 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121135
121197
  }
121136
121198
 
121137
121199
  if (opts.textFilterText) {
121138
- result.newlyShown.forEach(node => this._expandAllParentNodes(node));
121200
+ this._nodesByIds(Object.keys(this.nodesMap)).filter(it => it.filterAccepted).forEach(node => this._expandAllParentNodes(node));
121139
121201
  }
121140
121202
 
121141
121203
  result.newlyShown.forEach(node => this._addToVisibleFlatList(node, this.filterAnimated));
121142
-
121143
- this._nodesFiltered(result.newlyHidden.flatMap(node => this._removeFromFlatList(node, this.filterAnimated)));
121144
-
121204
+ result.newlyHidden.forEach(node => this._removeFromFlatList(node, this.filterAnimated));
121145
121205
  this.filteredElementsDirty = false;
121146
121206
  }
121147
121207
 
121148
121208
  filterVisibleNodes(animated) {
121149
121209
  // Filter nodes
121150
- let newlyHidden = [];
121210
+ let newlyHidden = []; // iterate from end to beginning (child nodes first) so that the state of the children has already been updated
121151
121211
 
121152
- for (let i = 0; i < this.visibleNodesFlat.length; i++) {
121212
+ for (let i = this.visibleNodesFlat.length - 1; i >= 0; i--) {
121153
121213
  let node = this.visibleNodesFlat[i];
121154
- let result = this.applyFiltersForNode(node, false, animated);
121214
+
121215
+ let result = this._applyFiltersForNodeRec(node, true, animated);
121155
121216
 
121156
121217
  if (result.newlyHidden.length) {
121157
121218
  if (!node.isFilterAccepted()) {
121158
- i--;
121159
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushAll(newlyHidden, this._removeFromFlatList(node, animated));
121219
+ newlyHidden.push(...result.newlyHidden);
121160
121220
  }
121161
121221
 
121162
121222
  this.viewRangeDirty = true;
121163
121223
  }
121164
121224
  }
121165
121225
 
121226
+ newlyHidden.forEach(h => this._removeFromFlatList(h, animated));
121227
+
121166
121228
  this._nodesFiltered(newlyHidden);
121167
121229
  }
121168
121230
 
@@ -121174,69 +121236,73 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121174
121236
  applyFiltersForNode(node) {
121175
121237
  let applyNewHiddenShownNodes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
121176
121238
  let animated = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
121239
+
121240
+ let result = this._applyFiltersForNodeRec(node, true, animated); // the result so far only includes the node and all its children.
121241
+ // always include the parent nodes as well so that the filter has an effect
121242
+
121243
+
121244
+ let parent = node.parentNode;
121245
+
121246
+ while (parent) {
121247
+ let parentResult = this._applyFiltersForNodeRec(parent, false, animated);
121248
+
121249
+ result.newlyHidden.unshift(...parentResult.newlyHidden);
121250
+ result.newlyShown.unshift(...parentResult.newlyShown);
121251
+ parent = parent.parentNode;
121252
+ }
121253
+
121254
+ this._nodesFiltered(result.newlyHidden);
121255
+
121256
+ if (applyNewHiddenShownNodes) {
121257
+ result.newlyShown.forEach(node => this._addToVisibleFlatList(node, animated));
121258
+ result.newlyHidden.forEach(node => this._removeFromFlatList(node, animated));
121259
+ }
121260
+
121261
+ return result;
121262
+ }
121263
+
121264
+ _applyFiltersForNodeRec(node, recursive) {
121265
+ let animated = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
121177
121266
  let newlyHidden = [],
121178
121267
  newlyShown = [];
121179
121268
  animated = animated && this.filterAnimated;
121180
- node.filterDirty = true;
121181
121269
 
121182
121270
  let changed = this._applyFiltersForNode(node);
121183
121271
 
121184
- if (changed) {
121185
- let parents = [];
121186
- let parent = node.parentNode; // collect all parents that need to be updated
121187
- // show: if node.filterAccepted === true, all parents with parent.filterAccepted === false need to be updated
121188
- // hide: if node.filterAccepted === false, all parents with parent.filterAccepted === true need to be updated...
121189
- // ...EXCEPT there are other childNodes of parent with childNode.filterAccepted === true OR the parent is directly accepted by all filters
121190
-
121191
- while (parent && parent.filterAccepted !== node.filterAccepted && (node.filterAccepted || parent.childNodes.filter(child => parents.indexOf(child) === -1).every(child => !child.filterAccepted) && !this.filterSupport.elementAcceptedByFilters(parent))) {
121192
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.insert(parents, parent, 0);
121193
- parent = parent.parentNode;
121194
- }
121195
-
121196
- let removeFrom = node.filterAccepted ? newlyHidden : newlyShown,
121197
- pushTo = node.filterAccepted ? newlyShown : newlyHidden;
121198
- parents.forEach(p => {
121199
- p.setFilterAccepted(node.filterAccepted);
121200
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.remove(removeFrom, p);
121201
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushSet(pushTo, p);
121202
- });
121203
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushSet(pushTo, node);
121272
+ let hasChildrenWithFilterAccepted = false;
121204
121273
 
121205
- if (this.rendered) {
121206
- this.viewRangeDirty = true;
121207
- }
121208
- } else {
121209
- // this else branch is required when the filter-state of a node has not changed
121210
- // for instance Node "Telefon mit Sabrina" is visible for filter "tel" and also
121211
- // for filter "abr". However, it is possible that the node is _not_ attached, when
121212
- // we switch from one filter to another, because the node was not in the view-range
121213
- // with the previous filter. That's why we must make sure, the node is attached to
121214
- // the DOM, even though the filter state hasn't changed. Otherwise we'd have a
121215
- // problem when we insert nodes in this._insertNodeInDOMAtPlace.
121216
- if (!node.attached) {
121217
- this.showNode(node, animated);
121274
+ if (node.level < 32
121275
+ /* see org.eclipse.scout.rt.client.ui.basic.tree.AbstractTree.expandAllRec */
121276
+ ) {
121277
+ if (recursive) {
121278
+ node.childNodes.forEach(childNode => {
121279
+ let result = this._applyFiltersForNodeRec(childNode, true, animated);
121218
121280
 
121219
- if (node.attached) {
121220
- // If sibling nodes are hiding at the same time, the nodes to be shown should be added after these nodes to make the animation look correctly -> move them
121221
- node.$node.insertAfter(node.$node.nextAll('.hiding:last'));
121222
- }
121281
+ newlyHidden.push(...result.newlyHidden);
121282
+ newlyShown.push(...result.newlyShown);
121283
+ hasChildrenWithFilterAccepted = hasChildrenWithFilterAccepted || childNode.filterAccepted;
121284
+ });
121285
+ } else if (!node.filterAccepted) {
121286
+ // Check children only if filterAccepted is false because only then hasChildrenWithFilterAccepted is used (see below).
121287
+ // This has great impact on performance when there are many nodes
121288
+ hasChildrenWithFilterAccepted = node.childNodes.some(childNode => childNode.filterAccepted);
121223
121289
  }
121224
- }
121290
+ } // set filter accepted on this node if it has children with filter accepted (so that the children are visible)
121225
121291
 
121226
- if (node.level < 32) {
121227
- node.childNodes.forEach(childNode => {
121228
- let result = this.applyFiltersForNode(childNode, false, animated);
121229
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.removeAll(newlyHidden, result.newlyShown);
121230
- _index__WEBPACK_IMPORTED_MODULE_0__.arrays.removeAll(newlyShown, result.newlyHidden);
121231
- result.newlyHidden.forEach(hidden => _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushSet(newlyHidden, hidden));
121232
- result.newlyShown.forEach(shown => _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushSet(newlyShown, shown));
121233
- });
121234
- }
121235
121292
 
121236
- if (applyNewHiddenShownNodes) {
121237
- newlyShown.forEach(node => this._addToVisibleFlatList(node, animated));
121293
+ if (!node.filterAccepted && hasChildrenWithFilterAccepted) {
121294
+ node.setFilterAccepted(true);
121295
+ changed = !changed;
121296
+ } // remember changed node
121238
121297
 
121239
- this._nodesFiltered(newlyHidden.flatMap(node => this._removeFromFlatList(node, animated)));
121298
+
121299
+ if (changed) {
121300
+ let pushTo = node.filterAccepted ? newlyShown : newlyHidden;
121301
+ pushTo.unshift(node);
121302
+
121303
+ if (this.rendered) {
121304
+ this.viewRangeDirty = true;
121305
+ }
121240
121306
  }
121241
121307
 
121242
121308
  return {
@@ -121250,17 +121316,16 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121250
121316
 
121251
121317
 
121252
121318
  _applyFiltersForNode(node) {
121253
- let changed = this.filterSupport.applyFiltersForElement(node) || node.filterDirty;
121319
+ let changed = this.filterSupport.applyFiltersForElement(node);
121254
121320
 
121255
- if (changed) {
121321
+ if (changed || node.filterDirty) {
121256
121322
  node.filterDirty = false;
121257
121323
  node.childNodes.forEach(childNode => {
121258
121324
  childNode.filterDirty = true;
121259
121325
  });
121260
- return true;
121261
121326
  }
121262
121327
 
121263
- return false;
121328
+ return changed;
121264
121329
  }
121265
121330
  /**
121266
121331
  * @returns {FilterSupport}
@@ -121300,7 +121365,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121300
121365
  nodes = nodes.filter(function (node) {
121301
121366
  let index = indexHint === undefined ? this.visibleNodesFlat.indexOf(node) : indexHint;
121302
121367
 
121303
- if (index === -1 || !(this.viewRangeRendered.from + this.viewRangeSize >= index && this.viewRangeRendered.from <= index && this.viewRangeRendered.size() > 0) || node.attached) {
121368
+ if (index === -1 || !(this.viewRangeRendered.from + this.viewRangeSize >= index && this.viewRangeRendered.from <= index && this.viewRangeSize > 0) || node.attached) {
121304
121369
  // node is not visible
121305
121370
  return false;
121306
121371
  }
@@ -121488,6 +121553,10 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121488
121553
  $node.removeClass('hiding');
121489
121554
 
121490
121555
  if (!$node.hasClass('showing')) {
121556
+ // JQuery sets display to none which we don't need because node will be detached.
121557
+ // If node is added using another method than slideDown (used by show node), it would be invisible.
121558
+ // Example: parent is collapsed while nodes are hiding -> remove filter, expand parent -> invisible nodes
121559
+ $node.css('display', '');
121491
121560
  $node.detach();
121492
121561
  node.attached = false;
121493
121562
  }
@@ -121501,15 +121570,11 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121501
121570
  }
121502
121571
 
121503
121572
  _nodesToIds(nodes) {
121504
- return nodes.map(node => {
121505
- return node.id;
121506
- });
121573
+ return nodes.map(node => node.id);
121507
121574
  }
121508
121575
 
121509
121576
  _nodesByIds(ids) {
121510
- return ids.map(id => {
121511
- return this.nodesMap[id];
121512
- });
121577
+ return ids.map(id => this.nodesMap[id]);
121513
121578
  }
121514
121579
 
121515
121580
  _nodeById(id) {
@@ -122091,7 +122156,7 @@ class TreeLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
122091
122156
  exact: true
122092
122157
  }).subtract(htmlContainer.insets());
122093
122158
 
122094
- if (this.tree.toggleBreadcrumbStyleEnabled) {
122159
+ if (this.tree.toggleBreadcrumbStyleEnabled && this._sizeChanged(htmlContainer)) {
122095
122160
  this.tree.setBreadcrumbStyleActive(Math.floor(containerSize.width) <= this.tree.breadcrumbTogglingThreshold);
122096
122161
  }
122097
122162
 
@@ -122186,7 +122251,7 @@ __webpack_require__.r(__webpack_exports__);
122186
122251
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
122187
122252
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
122188
122253
  /*
122189
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
122254
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
122190
122255
  * All rights reserved. This program and the accompanying materials
122191
122256
  * are made available under the terms of the Eclipse Public License v1.0
122192
122257
  * which accompanies this distribution, and is available at
@@ -122341,7 +122406,7 @@ class TreeNode {
122341
122406
 
122342
122407
  isFilterAccepted(forceFilter) {
122343
122408
  if (this.filterDirty || forceFilter) {
122344
- this.getTree().applyFiltersForNode(this, false);
122409
+ this.getTree().applyFiltersForNode(this);
122345
122410
  }
122346
122411
 
122347
122412
  return this.filterAccepted;
@@ -123549,7 +123614,7 @@ __webpack_require__.r(__webpack_exports__);
123549
123614
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
123550
123615
 
123551
123616
  /*
123552
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
123617
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
123553
123618
  * All rights reserved. This program and the accompanying materials
123554
123619
  * are made available under the terms of the Eclipse Public License v1.0
123555
123620
  * which accompanies this distribution, and is available at
@@ -123796,7 +123861,7 @@ class Device {
123796
123861
  browser = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(browser, this.browser);
123797
123862
  version = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(version, this.browserVersion);
123798
123863
  let browsers = Device.Browser;
123799
- return browser === browsers.CHROME && version >= 69 || browser === browsers.FIREFOX && version >= 62 || browser === browsers.SAFARI && version >= 12.1;
123864
+ return browser === browsers.CHROME && version >= 69 || browser === browsers.FIREFOX && version >= 62 || browser === browsers.SAFARI && version >= 12;
123800
123865
  }
123801
123866
  /**
123802
123867
  * Can not detect type until DOM is ready because we must create a DIV to measure the scrollbars.
@@ -123900,6 +123965,11 @@ class Device {
123900
123965
  } else if (this.browser === browsers.EDGE) {
123901
123966
  versionRegex = /Edge\/([0-9]+\.?[0-9]*)/;
123902
123967
  } else if (this.browser === browsers.SAFARI) {
123968
+ if (this.isIos() && userAgent.indexOf('Version/') < 0) {
123969
+ this.browserVersion = this.systemVersion;
123970
+ return;
123971
+ }
123972
+
123903
123973
  versionRegex = /Version\/([0-9]+\.?[0-9]*)/;
123904
123974
  } else if (this.browser === browsers.FIREFOX) {
123905
123975
  versionRegex = /Firefox\/([0-9]+\.?[0-9]*)/;
@@ -132674,7 +132744,7 @@ __webpack_require__.r(__webpack_exports__);
132674
132744
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
132675
132745
  /* harmony import */ var _keystroke_FocusFilterFieldKeyStroke__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../keystroke/FocusFilterFieldKeyStroke */ "./src/keystroke/FocusFilterFieldKeyStroke.js");
132676
132746
  /*
132677
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
132747
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
132678
132748
  * All rights reserved. This program and the accompanying materials
132679
132749
  * are made available under the terms of the Eclipse Public License v1.0
132680
132750
  * which accompanies this distribution, and is available at
@@ -132804,14 +132874,20 @@ class FilterSupport extends _index__WEBPACK_IMPORTED_MODULE_0__.WidgetSupport {
132804
132874
  this._filterField.$field.attr('tabIndex', -1);
132805
132875
 
132806
132876
  let color = _index__WEBPACK_IMPORTED_MODULE_0__.styles.getFirstOpaqueBackgroundColor(this._filterField.$container),
132807
- transparentColorRgba = $.extend(true, {}, _index__WEBPACK_IMPORTED_MODULE_0__.styles.rgb(color), {
132808
- alpha: 0.5
132809
- }),
132810
- transparentColor = 'rgba(' + transparentColorRgba.red + ', ' + transparentColorRgba.green + ', ' + transparentColorRgba.blue + ', ' + transparentColorRgba.alpha + ')';
132877
+ colorRgba = $.extend(true, {
132878
+ red: 0,
132879
+ green: 0,
132880
+ blue: 0,
132881
+ alpha: 1
132882
+ }, _index__WEBPACK_IMPORTED_MODULE_0__.styles.rgb(color)),
132883
+ transparent50Color = 'rgba(' + colorRgba.red + ', ' + colorRgba.green + ', ' + colorRgba.blue + ', ' + 0.5 + ')',
132884
+ transparent80Color = 'rgba(' + colorRgba.red + ', ' + colorRgba.green + ', ' + colorRgba.blue + ', ' + 0.8 + ')';
132811
132885
 
132812
132886
  this._filterField.$container.css('--filter-field-background-color', color);
132813
132887
 
132814
- this._filterField.$container.css('--filter-field-transparent-background-color', transparentColor);
132888
+ this._filterField.$container.css('--filter-field-transparent-50-background-color', transparent50Color);
132889
+
132890
+ this._filterField.$container.css('--filter-field-transparent-80-background-color', transparent80Color);
132815
132891
 
132816
132892
  this._textFilter = this._createTextFilter();
132817
132893
  this._textFilter.synthetic = true;
@@ -133157,7 +133233,7 @@ __webpack_require__.r(__webpack_exports__);
133157
133233
  class LoadingSupport extends _WidgetSupport__WEBPACK_IMPORTED_MODULE_1__["default"] {
133158
133234
  /**
133159
133235
  * @typedef {WidgetSupportOptions} LoadingSupportOptions
133160
- * @property {number} loadingIndicatorDelay if not set: 250 ms
133236
+ * @property {number} [loadingIndicatorDelay] if not set: 250 ms
133161
133237
  */
133162
133238
 
133163
133239
  /**
@@ -133382,7 +133458,7 @@ __webpack_require__.r(__webpack_exports__);
133382
133458
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
133383
133459
 
133384
133460
  /*
133385
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
133461
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
133386
133462
  * All rights reserved. This program and the accompanying materials
133387
133463
  * are made available under the terms of the Eclipse Public License v1.0
133388
133464
  * which accompanies this distribution, and is available at
@@ -133421,7 +133497,7 @@ class Widget {
133421
133497
 
133422
133498
  this.cloneOf = null;
133423
133499
  /**
133424
- * The 'rendering' flag is set the true while the _inital_ rendering is performed.
133500
+ * The 'rendering' flag is set the true while the _initial_ rendering is performed.
133425
133501
  * It is used to to something different in a _render* method when the method is
133426
133502
  * called for the first time.
133427
133503
  */
@@ -133501,6 +133577,12 @@ class Widget {
133501
133577
  */
133502
133578
 
133503
133579
 
133580
+ /**
133581
+ * Initializes the widget instance. All properties of the model parameter (object) are set as properties on the widget instance.
133582
+ * Calls {@link Widget#_init} and triggers an <em>init</em> event when initialization has been completed.
133583
+ *
133584
+ * @param {object} model
133585
+ */
133504
133586
  init(model) {
133505
133587
  let staticModel = this._jsonModel();
133506
133588
 
@@ -133530,9 +133612,12 @@ class Widget {
133530
133612
  return model;
133531
133613
  }
133532
133614
  /**
133533
- * @param {object} options
133534
- * - parent (required): The parent widget
133535
- * - session (optional): If not specified the session of the parent is used
133615
+ * Initializes the widget instance. All properties of the model parameter (object) are set as properties on the widget instance.
133616
+ * Override this function to initialize widget specific properties in sub-classes.
133617
+ *
133618
+ * @param {object} model Properties:<ul>
133619
+ * <li>parent (required): parent widget</li>
133620
+ * <li>session (optional): If not specified, session of parent widget is used</li></ul>
133536
133621
  */
133537
133622
 
133538
133623
 
@@ -133963,10 +134048,11 @@ class Widget {
133963
134048
  this._removeInternal();
133964
134049
 
133965
134050
  return;
133966
- } // Destroy open popups first, they are not animated
134051
+ } // Remove open popups first, they would be positioned wrongly during the animation
134052
+ // Normally they would be closed automatically by a user interaction (click),
133967
134053
 
133968
134054
 
133969
- this.session.desktop.destroyPopupsFor(this);
134055
+ this.session.desktop.removePopupsFor(this);
133970
134056
  this.removalPending = true; // Don't execute immediately to make sure nothing interferes with the animation (e.g. layouting) which could make it laggy
133971
134057
 
133972
134058
  setTimeout(() => {
@@ -134262,13 +134348,18 @@ class Widget {
134262
134348
  }
134263
134349
 
134264
134350
  let computedStateForChildren = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(enabledComputedForChildren, enabledComputed);
134265
- this.children.forEach(child => {
134351
+
134352
+ this._childrenForEnabledComputed().forEach(child => {
134266
134353
  if (child.inheritAccessibility) {
134267
134354
  child.recomputeEnabled(computedStateForChildren);
134268
134355
  }
134269
134356
  });
134270
134357
  }
134271
134358
 
134359
+ _childrenForEnabledComputed() {
134360
+ return this.children;
134361
+ }
134362
+
134272
134363
  _computeEnabled(inheritAccessibility, parentEnabled) {
134273
134364
  return this.enabled && (inheritAccessibility ? parentEnabled : true);
134274
134365
  }
@@ -134944,6 +135035,7 @@ class Widget {
134944
135035
  }
134945
135036
  /**
134946
135037
  * Sets the value of the property 'propertyName' to 'newValue' and then fires a propertyChange event for that property.
135038
+ * @return {boolean} true if the property was changed, false if not.
134947
135039
  */
134948
135040
 
134949
135041
 
@@ -134952,7 +135044,7 @@ class Widget {
134952
135044
  let oldValue = this[propertyName];
134953
135045
 
134954
135046
  if (_index__WEBPACK_IMPORTED_MODULE_0__.objects.equals(oldValue, newValue)) {
134955
- return;
135047
+ return false;
134956
135048
  }
134957
135049
 
134958
135050
  this[propertyName] = newValue;
@@ -134961,7 +135053,10 @@ class Widget {
134961
135053
  if (event.defaultPrevented) {
134962
135054
  // Revert to old value if property change should be prevented
134963
135055
  this[propertyName] = oldValue;
135056
+ return false; // not changed
134964
135057
  }
135058
+
135059
+ return true;
134965
135060
  }
134966
135061
  /**
134967
135062
  * Sets a new value for a specific property. If the new value is the same value as the old one, nothing is performed.
@@ -134972,12 +135067,13 @@ class Widget {
134972
135067
  * If there is a custom remove function (e.g. _removeXY where XY is the property name), it will be called instead of removing the widgets directly.
134973
135068
  * 3. Model update: If there is a custom set function (e.g. _setXY where XY is the property name), it will be called. Otherwise the default set function _setProperty is called.
134974
135069
  * 4. DOM rendering: If the widget is rendered and there is a custom render function (e.g. _renderXY where XY is the property name), it will be called. Otherwise nothing happens.
135070
+ * @return {boolean} true if the property was changed, false if not.
134975
135071
  */
134976
135072
 
134977
135073
 
134978
135074
  setProperty(propertyName, value) {
134979
135075
  if (_index__WEBPACK_IMPORTED_MODULE_0__.objects.equals(this[propertyName], value)) {
134980
- return;
135076
+ return false;
134981
135077
  }
134982
135078
 
134983
135079
  value = this._prepareProperty(propertyName, value);
@@ -134991,6 +135087,8 @@ class Widget {
134991
135087
  if (this.rendered) {
134992
135088
  this._callRenderProperty(propertyName);
134993
135089
  }
135090
+
135091
+ return true;
134994
135092
  }
134995
135093
 
134996
135094
  _prepareProperty(propertyName, value) {
@@ -135105,11 +135203,13 @@ class Widget {
135105
135203
  * Returns the DOM elements to paint a glassPanes over, once a modal Form, message-box or file-chooser is shown with this widget as its 'displayParent'.<br>
135106
135204
  * If the widget is not rendered yet, a scout.DeferredGlassPaneTarget is returned.<br>
135107
135205
  * In both cases the method _glassPaneTargets is called which may be overridden by the actual widget.
135206
+ * @param {Widget} element widget that requested a glass pane
135207
+ * @returns [$]|[DeferredGlassPaneTarget]
135108
135208
  */
135109
135209
 
135110
135210
 
135111
135211
  glassPaneTargets(element) {
135112
- let resolveGlassPanes = function (element) {
135212
+ let resolveGlassPanes = element => {
135113
135213
  // contributions
135114
135214
  let targets = _index__WEBPACK_IMPORTED_MODULE_0__.arrays.flatMap(this._glassPaneContributions, cont => {
135115
135215
  let $elements = cont(element);
@@ -135121,7 +135221,7 @@ class Widget {
135121
135221
  return [];
135122
135222
  });
135123
135223
  return targets.concat(this._glassPaneTargets(element));
135124
- }.bind(this);
135224
+ };
135125
135225
 
135126
135226
  if (this.rendered) {
135127
135227
  return resolveGlassPanes(element);
@@ -135129,12 +135229,16 @@ class Widget {
135129
135229
 
135130
135230
  return _index__WEBPACK_IMPORTED_MODULE_0__.DeferredGlassPaneTarget.createFor(this, resolveGlassPanes.bind(this, element));
135131
135231
  }
135232
+ /**
135233
+ *
135234
+ * @param {Widget} element widget that requested a glass pane
135235
+ * @returns [$]
135236
+ */
135237
+
135132
135238
 
135133
135239
  _glassPaneTargets(element) {
135134
135240
  // since popups are rendered outside the DOM of the widget parent-child hierarchy, get glassPaneTargets of popups belonging to this widget separately.
135135
- return [this.$container].concat(this.session.desktop.getPopupsFor(this).reduce((acc, popup) => {
135136
- return acc.concat(popup.glassPaneTargets());
135137
- }, []));
135241
+ return [this.$container].concat(this.session.desktop.getPopupsFor(this).filter(popup => !element.has(popup)).reduce((acc, popup) => acc.concat(popup.glassPaneTargets()), []));
135138
135242
  }
135139
135243
 
135140
135244
  addGlassPaneContribution(contribution) {
@@ -136023,7 +136127,7 @@ class WidgetSupport {
136023
136127
  /**
136024
136128
  * @typedef WidgetSupportOptions
136025
136129
  * @property {Widget} widget Widget that created the support
136026
- * @property {$|function} $container jQuery element that will be used for the visualization.
136130
+ * @property {$|function} [$container] jQuery element that will be used for the visualization.
136027
136131
  * It may be a function to resolve the container later.
136028
136132
  * If this property is not set the $container of the widget is used by default.
136029
136133
  */