@eclipse-scout/core 22.0.0 → 22.0.10

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 (166) hide show
  1. package/dist/eclipse-scout-core-e5e8740e3649f5b9f279.min.js +2 -0
  2. package/dist/eclipse-scout-core-e5e8740e3649f5b9f279.min.js.map +1 -0
  3. package/dist/eclipse-scout-core-theme-74b63e0d57bed407a729.min.css +1 -0
  4. package/dist/eclipse-scout-core-theme-dark-b82aea152f416e38ce7f.min.css +1 -0
  5. package/dist/eclipse-scout-core-theme-dark.css +597 -422
  6. package/dist/eclipse-scout-core-theme-dark.css.map +1 -1
  7. package/dist/eclipse-scout-core-theme.css +333 -158
  8. package/dist/eclipse-scout-core-theme.css.map +1 -1
  9. package/dist/eclipse-scout-core.js +1196 -811
  10. package/dist/eclipse-scout-core.js.map +1 -1
  11. package/dist/file-list +7 -0
  12. package/dist/locales.json +47126 -0
  13. package/dist/texts.json +1153 -0
  14. package/package.json +2 -2
  15. package/src/App.js +1 -1
  16. package/src/ErrorHandler.js +66 -28
  17. package/src/{table/TableHeaderMenuButtonKeyStroke.js → action/ActionExecKeyStroke.js} +4 -5
  18. package/src/action/Button.less +1 -0
  19. package/src/box/Box.less +12 -8
  20. package/src/breadcrumbbar/BreadcrumbBarLayout.js +2 -2
  21. package/src/breadcrumbbar/BreadcrumbItem.less +3 -6
  22. package/src/calendar/Calendar.js +40 -58
  23. package/src/calendar/Calendar.less +10 -10
  24. package/src/calendar/CalendarLayout.js +3 -1
  25. package/src/checkbox/CheckBox.less +3 -1
  26. package/src/datepicker/DatePicker.less +1 -0
  27. package/src/datepicker/DatePickerTouchPopup.js +8 -0
  28. package/src/desktop/DisableBrowserF5ReloadKeyStroke.js +1 -0
  29. package/src/desktop/bench/DesktopTabSelectKeyStroke.js +2 -1
  30. package/src/desktop/desktoptab/DesktopTab.less +5 -2
  31. package/src/desktop/desktoptab/DesktopTabArea.less +7 -3
  32. package/src/desktop/desktoptab/DesktopTabAreaLayout.js +1 -1
  33. package/src/desktop/desktoptab/DisableBrowserTabSwitchingKeyStroke.js +1 -0
  34. package/src/desktop/navigation/DesktopNavigation.less +4 -0
  35. package/src/desktop/navigation/EnlargeNavigationKeyStroke.js +1 -0
  36. package/src/desktop/navigation/ShrinkNavigationKeyStroke.js +1 -0
  37. package/src/desktop/notification/DesktopNotification.js +11 -4
  38. package/src/desktop/notification/DesktopNotification.less +5 -3
  39. package/src/desktop/outline/Outline.less +4 -4
  40. package/src/desktop/viewbutton/ViewButton.less +18 -9
  41. package/src/desktop/viewbutton/ViewMenuPopupEnterKeyStroke.js +2 -1
  42. package/src/desktop/viewbutton/ViewMenuTab.less +3 -2
  43. package/src/filechooser/FileChooser.js +1 -1
  44. package/src/filechooser/FileChooser.less +16 -11
  45. package/src/focus/FocusContext.js +11 -8
  46. package/src/focus/FocusManager.js +24 -5
  47. package/src/form/Form.less +1 -0
  48. package/src/form/fields/LookupBox.js +5 -2
  49. package/src/form/fields/LookupBox.less +28 -2
  50. package/src/form/fields/TextFieldIcon.less +2 -2
  51. package/src/form/fields/ValueField.js +11 -2
  52. package/src/form/fields/breadcrumbbarfield/BreadcrumbBarField.less +20 -0
  53. package/src/form/fields/button/ButtonKeyStroke.js +0 -3
  54. package/src/form/fields/datefield/DateField.js +31 -47
  55. package/src/form/fields/filechooserfield/FileChooserFieldBrowseKeyStroke.js +1 -3
  56. package/src/form/fields/filechooserfield/FileChooserFieldDeleteKeyStroke.js +1 -3
  57. package/src/form/fields/groupbox/GroupBox.js +14 -9
  58. package/src/form/fields/groupbox/GroupBox.less +1 -0
  59. package/src/form/fields/htmlfield/HtmlField.less +0 -1
  60. package/src/form/fields/listbox/ListBox.js +13 -7
  61. package/src/form/fields/lookupfield/lookupField.js +6 -5
  62. package/src/form/fields/smartfield/ProposalField.js +2 -1
  63. package/src/form/fields/smartfield/ProposalTreeNode.js +4 -8
  64. package/src/form/fields/smartfield/SmartField.js +4 -20
  65. package/src/form/fields/smartfield/SmartField.less +24 -11
  66. package/src/form/fields/splitbox/SplitBoxCollapseKeyStroke.js +1 -0
  67. package/src/form/fields/splitbox/SplitBoxFirstCollapseKeyStroke.js +1 -0
  68. package/src/form/fields/splitbox/SplitBoxSecondCollapseKeyStroke.js +1 -0
  69. package/src/form/fields/tabbox/TabAreaLayout.js +63 -66
  70. package/src/form/fields/tabbox/TabAreaLeftKeyStroke.js +2 -0
  71. package/src/form/fields/tabbox/TabAreaRightKeyStroke.js +2 -0
  72. package/src/form/fields/tabbox/TabBox.js +8 -7
  73. package/src/form/fields/tabbox/TabBox.less +2 -1
  74. package/src/form/fields/tabbox/TabBoxHeader.js +4 -0
  75. package/src/form/fields/tabbox/TabBoxHeaderLayout.js +5 -5
  76. package/src/form/fields/tabbox/TabItem.js +4 -0
  77. package/src/form/fields/treebox/TreeBox.js +6 -5
  78. package/src/glasspane/GlassPane.js +3 -3
  79. package/src/group/Group.less +1 -1
  80. package/src/index.js +1 -1
  81. package/src/index.less +1 -0
  82. package/src/jquery/jquery-scout.js +17 -4
  83. package/src/keystroke/CloseKeyStroke.js +1 -0
  84. package/src/keystroke/ContextMenuKeyStroke.js +1 -0
  85. package/src/keystroke/FocusFilterFieldKeyStroke.js +1 -0
  86. package/src/keystroke/KeyStroke.js +11 -3
  87. package/src/keystroke/TabItemKeyStroke.js +8 -5
  88. package/src/logging/logging.js +16 -8
  89. package/src/login/LoginBox.js +3 -2
  90. package/src/login/LoginBox.less +27 -8
  91. package/src/menu/ContextMenuPopup.less +9 -2
  92. package/src/menu/Menu.less +1 -0
  93. package/src/menu/MenuExecKeyStroke.js +3 -17
  94. package/src/menu/MenuNavigationKeyStroke.js +1 -0
  95. package/src/menu/menubar/MenuBarLeftKeyStroke.js +2 -0
  96. package/src/menu/menubar/MenuBarRightKeyStroke.js +2 -0
  97. package/src/messagebox/MessageBox.less +20 -20
  98. package/src/modeselector/Mode.less +15 -37
  99. package/src/modeselector/ModeSelector.js +1 -1
  100. package/src/modeselector/ModeSelector.less +2 -1
  101. package/src/planner/Planner.js +2 -0
  102. package/src/planner/PlannerHeader.less +2 -1
  103. package/src/popup/Popup.js +24 -8
  104. package/src/popup/PopupLayout.js +2 -8
  105. package/src/scrollbar/Scrollbar.less +8 -1
  106. package/src/scrollbar/scrollbars.js +26 -4
  107. package/src/session/Session.js +8 -5
  108. package/src/style/colors-dark.less +25 -11
  109. package/src/style/colors.less +17 -3
  110. package/src/style/fonts.less +10 -1
  111. package/src/style/mixins.less +21 -14
  112. package/src/style/sizes-dark.less +4 -1
  113. package/src/style/sizes.less +17 -9
  114. package/src/table/Table.js +63 -49
  115. package/src/table/Table.less +50 -20
  116. package/src/table/TableAdapter.js +9 -12
  117. package/src/table/TableHeader.js +10 -8
  118. package/src/table/TableHeader.less +1 -0
  119. package/src/table/TableHeaderMenu.js +3 -1
  120. package/src/table/TableHeaderMenu.less +7 -2
  121. package/src/table/TableHeaderMenuButton.js +2 -2
  122. package/src/table/TableLayout.js +6 -0
  123. package/src/table/columns/BooleanColumn.js +2 -2
  124. package/src/table/columns/Column.js +10 -7
  125. package/src/table/columns/ColumnOptimalWidthMeasurer.js +1 -1
  126. package/src/table/editor/CellEditorPopup.js +29 -15
  127. package/src/table/keystrokes/AbstractTableNavigationKeyStroke.js +1 -0
  128. package/src/table/keystrokes/TableCopyKeyStroke.js +1 -0
  129. package/src/table/keystrokes/TableNavigationCollapseKeyStroke.js +2 -2
  130. package/src/table/keystrokes/TableNavigationEndKeyStroke.js +2 -2
  131. package/src/table/keystrokes/TableNavigationExpandKeyStroke.js +2 -2
  132. package/src/table/keystrokes/TableNavigationHomeKeyStroke.js +2 -2
  133. package/src/table/keystrokes/TableNavigationPageDownKeyStroke.js +2 -2
  134. package/src/table/keystrokes/TableNavigationPageUpKeyStroke.js +2 -2
  135. package/src/table/keystrokes/TableNavigationUpKeyStroke.js +2 -2
  136. package/src/table/keystrokes/TableRefreshKeyStroke.js +2 -2
  137. package/src/table/keystrokes/TableSelectAllKeyStroke.js +3 -2
  138. package/src/table/keystrokes/TableStartCellEditKeyStroke.js +2 -2
  139. package/src/tagbar/TagBarOverflowPopupLayout.js +1 -1
  140. package/src/testing/index.js +1 -0
  141. package/src/testing/lookup/AbortableMicrotaskStaticLookupCall.js +50 -0
  142. package/src/tile/TileGrid.js +10 -12
  143. package/src/tile/TileGridLayout.js +2 -2
  144. package/src/tile/accordion/TileAccordion.js +16 -1
  145. package/src/tile/fields/FormFieldTile.less +18 -11
  146. package/src/tile/fields/button/ButtonTile.js +1 -1
  147. package/src/tile/fields/tablefield/TileTableField.less +19 -2
  148. package/src/tile/keystrokes/TileGridSelectKeyStroke.js +3 -2
  149. package/src/timepicker/TimePickerTouchPopup.js +8 -0
  150. package/src/tree/CompactTree.less +1 -1
  151. package/src/tree/LazyNodeFilter.js +4 -2
  152. package/src/tree/Tree.js +7 -5
  153. package/src/tree/Tree.less +13 -5
  154. package/src/tree/keystrokes/AbstractTreeNavigationKeyStroke.js +1 -0
  155. package/src/tree/keystrokes/TreeCollapseAllKeyStroke.js +2 -2
  156. package/src/tree/keystrokes/TreeExpandOrDrillDownKeyStroke.js +2 -2
  157. package/src/tree/keystrokes/TreeNavigationDownKeyStroke.js +2 -2
  158. package/src/tree/keystrokes/TreeNavigationEndKeyStroke.js +2 -2
  159. package/src/tree/keystrokes/TreeNavigationUpKeyStroke.js +2 -2
  160. package/src/util/Device.js +4 -4
  161. package/src/util/arrays.js +44 -2
  162. package/src/util/dragAndDrop.js +5 -4
  163. package/src/util/events.js +1 -1
  164. package/src/util/objects.js +4 -1
  165. package/src/widget/FilterSupport.js +1 -1
  166. package/src/widget/Widget.js +17 -7
@@ -312,7 +312,7 @@ class App {
312
312
 
313
313
  $loadingRoot.oneAnimationEnd(() => $loadingRoot.remove());
314
314
 
315
- if ($loadingRoot.css('opacity') == 1) {
315
+ if ($loadingRoot.css('opacity') === '1') {
316
316
  $loadingRoot.addClass('fadeout and-more');
317
317
  } else {
318
318
  $loadingRoot.addClass('fadeout');
@@ -618,23 +618,41 @@ class ErrorHandler {
618
618
 
619
619
  _onWindowError(errorMessage, fileName, lineNumber, columnNumber, error) {
620
620
  try {
621
+ if (this._isIgnorableScriptError(errorMessage, fileName, lineNumber, columnNumber, error)) {
622
+ this.handleErrorInfo({
623
+ log: "Ignoring error. Message: ".concat(errorMessage),
624
+ level: _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.INFO
625
+ });
626
+ return;
627
+ }
628
+
621
629
  if (error instanceof Error) {
622
630
  this.handle(error).catch(error => {
623
631
  console.error('Error in global JavaScript error handler', error);
624
632
  });
625
- } else {
626
- let code = 'J00';
627
- let log = errorMessage + ' at ' + fileName + ':' + lineNumber + '\n(' + 'Code ' + code + ')';
628
- this.handleErrorInfo({
629
- code: code,
630
- message: errorMessage,
631
- log: log
632
- });
633
+ return;
633
634
  }
635
+
636
+ let code = 'J00';
637
+ let log = errorMessage + ' at ' + fileName + ':' + lineNumber + '\n(' + 'Code ' + code + ')';
638
+ this.handleErrorInfo({
639
+ code: code,
640
+ message: errorMessage,
641
+ log: log
642
+ });
634
643
  } catch (err) {
635
644
  throw new Error('Error in global JavaScript error handler: ' + err.message + ' (original error: ' + errorMessage + ' at ' + fileName + ':' + lineNumber + ')');
636
645
  }
637
646
  }
647
+
648
+ _isIgnorableScriptError(message, fileName, lineNumber, columnNumber, error) {
649
+ // Ignore errors caused by scripts from a different origin.
650
+ // Example: Firefox on iOS throws an error, probably caused by an internal Firefox script.
651
+ // The error does not affect the application and cannot be prevented by the app either since we don't know what script it is and what it does.
652
+ // In that case the error must no be shown to the user, instead just log it silently.
653
+ // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror
654
+ return message && message.toLowerCase().indexOf('script error') > -1 && !fileName && !lineNumber && !columnNumber && !error;
655
+ }
638
656
  /**
639
657
  * Handles unexpected JavaScript errors. The arguments are first analyzed and then handled.
640
658
  *
@@ -859,23 +877,10 @@ class ErrorHandler {
859
877
 
860
878
 
861
879
  handleErrorInfo(errorInfo) {
862
- if (this.logError && errorInfo.log) {
863
- jquery__WEBPACK_IMPORTED_MODULE_1___default().log.error(errorInfo.log); // Note: when the null-logger is active it has already written the error to the console
864
- // when the $.log.error function has been called above, so we don't have to log again here.
865
-
866
- let writeToConsole = ErrorHandler.CONSOLE_OUTPUT;
867
-
868
- if ((jquery__WEBPACK_IMPORTED_MODULE_1___default().log) instanceof _index__WEBPACK_IMPORTED_MODULE_0__.NullLogger) {
869
- writeToConsole = false;
870
- }
880
+ errorInfo.level = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(errorInfo.level, _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.ERROR);
871
881
 
872
- if (writeToConsole && window && window.console) {
873
- if (window.console.error) {
874
- window.console.error(errorInfo.log);
875
- } else if (window.console.log) {
876
- window.console.log(errorInfo.log);
877
- }
878
- }
882
+ if (this.logError && errorInfo.log) {
883
+ this._logErrorInfo(errorInfo);
879
884
  } // Note: The error handler is installed globally and we cannot tell in which scout session the error happened.
880
885
  // We simply use the first scout session to display the message box and log the error. This is not ideal in the
881
886
  // multi-session-case (portlet), but currently there is no other way. Besides, this feature is not in use yet.
@@ -884,17 +889,58 @@ class ErrorHandler {
884
889
  if (_index__WEBPACK_IMPORTED_MODULE_0__.App.get().sessions.length > 0) {
885
890
  let session = _index__WEBPACK_IMPORTED_MODULE_0__.App.get().sessions[0];
886
891
 
887
- if (this.displayError) {
892
+ if (this.displayError && errorInfo.level === _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.ERROR) {
888
893
  this._showMessageBox(session, errorInfo.message, errorInfo.code, errorInfo.log);
889
894
  }
890
895
 
891
896
  if (this.sendError) {
892
- this._sendErrorMessage(session, errorInfo.log);
897
+ this._sendErrorMessage(session, errorInfo.log, errorInfo.level);
893
898
  }
894
899
  }
895
900
 
896
901
  return errorInfo;
897
902
  }
903
+
904
+ _logErrorInfo(errorInfo) {
905
+ switch (errorInfo.level) {
906
+ case _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.TRACE:
907
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.trace(errorInfo.log);
908
+ break;
909
+
910
+ case _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.DEBUG:
911
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.debug(errorInfo.log);
912
+ break;
913
+
914
+ case _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.INFO:
915
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.info(errorInfo.log);
916
+ break;
917
+
918
+ case _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.WARN:
919
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.warn(errorInfo.log);
920
+ break;
921
+
922
+ default:
923
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.error(errorInfo.log);
924
+ } // Note: when the null-logger is active it has already written the error to the console
925
+ // when the $.log.error function has been called above, so we don't have to log again here.
926
+
927
+
928
+ let writeToConsole = ErrorHandler.CONSOLE_OUTPUT;
929
+
930
+ if ((jquery__WEBPACK_IMPORTED_MODULE_1___default().log) instanceof _index__WEBPACK_IMPORTED_MODULE_0__.NullLogger) {
931
+ writeToConsole = false;
932
+ }
933
+
934
+ if (writeToConsole && window && window.console) {
935
+ if (errorInfo.level === _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.ERROR && window.console.error) {
936
+ window.console.error(errorInfo.log);
937
+ } else if (errorInfo.level === _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.WARN && window.console.warn) {
938
+ window.console.warn(errorInfo.log);
939
+ } else if (window.console.log) {
940
+ window.console.log(errorInfo.log);
941
+ }
942
+ }
943
+ }
898
944
  /**
899
945
  * Generate a "cool looking" error code from the JS error object, that
900
946
  * does not reveal too much technical information, but at least indicates
@@ -954,8 +1000,8 @@ class ErrorHandler {
954
1000
  session.showFatalMessage(options, errorCode);
955
1001
  }
956
1002
 
957
- _sendErrorMessage(session, logMessage) {
958
- session.sendLogRequest(logMessage);
1003
+ _sendErrorMessage(session, logMessage, logLevel) {
1004
+ session.sendLogRequest(logMessage, logLevel);
959
1005
  }
960
1006
 
961
1007
  }
@@ -2412,6 +2458,44 @@ class ActionAdapter extends _index__WEBPACK_IMPORTED_MODULE_0__.ModelAdapter {
2412
2458
 
2413
2459
  /***/ }),
2414
2460
 
2461
+ /***/ "./src/action/ActionExecKeyStroke.js":
2462
+ /*!*******************************************!*\
2463
+ !*** ./src/action/ActionExecKeyStroke.js ***!
2464
+ \*******************************************/
2465
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2466
+
2467
+ __webpack_require__.r(__webpack_exports__);
2468
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2469
+ /* harmony export */ "default": () => (/* binding */ ActionExecKeyStroke)
2470
+ /* harmony export */ });
2471
+ /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
2472
+ /*
2473
+ * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
2474
+ * All rights reserved. This program and the accompanying materials
2475
+ * are made available under the terms of the Eclipse Public License v1.0
2476
+ * which accompanies this distribution, and is available at
2477
+ * http://www.eclipse.org/legal/epl-v10.html
2478
+ *
2479
+ * Contributors:
2480
+ * BSI Business Systems Integration AG - initial API and implementation
2481
+ */
2482
+
2483
+ class ActionExecKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
2484
+ constructor(menu) {
2485
+ super();
2486
+ this.field = menu;
2487
+ this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.SPACE, _index__WEBPACK_IMPORTED_MODULE_0__.keys.ENTER];
2488
+ this.stopPropagation = true;
2489
+ }
2490
+
2491
+ handle(event) {
2492
+ this.field.doAction();
2493
+ }
2494
+
2495
+ }
2496
+
2497
+ /***/ }),
2498
+
2415
2499
  /***/ "./src/action/ActionKeyStroke.js":
2416
2500
  /*!***************************************!*\
2417
2501
  !*** ./src/action/ActionKeyStroke.js ***!
@@ -3189,8 +3273,6 @@ __webpack_require__.r(__webpack_exports__);
3189
3273
  /* harmony export */ "default": () => (/* binding */ BreadcrumbBarLayout)
3190
3274
  /* harmony export */ });
3191
3275
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
3192
- 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; }
3193
-
3194
3276
  /*
3195
3277
  * Copyright (c) 2010-2020 BSI Business Systems Integration AG.
3196
3278
  * All rights reserved. This program and the accompanying materials
@@ -3205,40 +3287,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
3205
3287
  class BreadcrumbBarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
3206
3288
  constructor(breadcrumbBar) {
3207
3289
  super();
3208
-
3209
- _defineProperty(this, "_collapse", function ($container, containerSize) {
3210
- let currentIndex = 1;
3211
-
3212
- const visibleBreadcrumbItems = this._visibleBreadcrumbItems();
3213
-
3214
- let prefSize = this._actualPrefSize(visibleBreadcrumbItems, true);
3215
-
3216
- while (prefSize.width > containerSize.width && currentIndex < visibleBreadcrumbItems.length - 1) {
3217
- // remove breadcrumbItems until size fits or only 2 breadcrumbItems are visible
3218
- const crumb = visibleBreadcrumbItems[currentIndex];
3219
- crumb.$container.hide();
3220
- crumb._layHidden = true;
3221
- visibleBreadcrumbItems.splice(currentIndex, 1);
3222
- prefSize = this._actualPrefSize(visibleBreadcrumbItems, true);
3223
- }
3224
- });
3225
-
3226
- _defineProperty(this, "_breadcrumbItemsWidth", function (breadcrumbItems, considerEllipsis) {
3227
- let breadcrumbsWidth = 0;
3228
- breadcrumbItems = breadcrumbItems || this._visibleBreadcrumbItems();
3229
- breadcrumbItems.forEach(breadcrumbItem => {
3230
- if (breadcrumbItem.rendered) {
3231
- breadcrumbsWidth += breadcrumbItem.$container.outerWidth(true);
3232
- }
3233
- }, this);
3234
-
3235
- if (considerEllipsis && this._breadcrumbBar._ellipsisBreadcrumbItem && this._breadcrumbBar._ellipsisBreadcrumbItem.rendered) {
3236
- breadcrumbsWidth += this._breadcrumbBar._ellipsisBreadcrumbItem.$container.outerWidth(true);
3237
- }
3238
-
3239
- return breadcrumbsWidth;
3240
- });
3241
-
3242
3290
  this._breadcrumbBar = breadcrumbBar;
3243
3291
  }
3244
3292
 
@@ -3271,6 +3319,23 @@ class BreadcrumbBarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLa
3271
3319
  this._collapse(breadcrumbItems, containerSize);
3272
3320
  }
3273
3321
 
3322
+ _collapse($container, containerSize) {
3323
+ let currentIndex = 1;
3324
+
3325
+ const visibleBreadcrumbItems = this._visibleBreadcrumbItems();
3326
+
3327
+ let prefSize = this._actualPrefSize(visibleBreadcrumbItems, true);
3328
+
3329
+ while (prefSize.width > containerSize.width && currentIndex < visibleBreadcrumbItems.length - 1) {
3330
+ // remove breadcrumbItems until size fits or only 2 breadcrumbItems are visible
3331
+ const crumb = visibleBreadcrumbItems[currentIndex];
3332
+ crumb.$container.hide();
3333
+ crumb._layHidden = true;
3334
+ visibleBreadcrumbItems.splice(currentIndex, 1);
3335
+ prefSize = this._actualPrefSize(visibleBreadcrumbItems, true);
3336
+ }
3337
+ }
3338
+
3274
3339
  _applyToEllipsis(fun) {
3275
3340
  if (this._breadcrumbBar._ellipsisBreadcrumbItem) {
3276
3341
  fun(this._breadcrumbBar._ellipsisBreadcrumbItem);
@@ -3327,6 +3392,22 @@ class BreadcrumbBarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLa
3327
3392
  */
3328
3393
 
3329
3394
 
3395
+ _breadcrumbItemsWidth(breadcrumbItems, considerEllipsis) {
3396
+ let breadcrumbsWidth = 0;
3397
+ breadcrumbItems = breadcrumbItems || this._visibleBreadcrumbItems();
3398
+ breadcrumbItems.forEach(breadcrumbItem => {
3399
+ if (breadcrumbItem.rendered) {
3400
+ breadcrumbsWidth += breadcrumbItem.$container.outerWidth(true);
3401
+ }
3402
+ }, this);
3403
+
3404
+ if (considerEllipsis && this._breadcrumbBar._ellipsisBreadcrumbItem && this._breadcrumbBar._ellipsisBreadcrumbItem.rendered) {
3405
+ breadcrumbsWidth += this._breadcrumbBar._ellipsisBreadcrumbItem.$container.outerWidth(true);
3406
+ }
3407
+
3408
+ return breadcrumbsWidth;
3409
+ }
3410
+
3330
3411
  }
3331
3412
 
3332
3413
  /***/ }),
@@ -3432,7 +3513,7 @@ __webpack_require__.r(__webpack_exports__);
3432
3513
  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; }
3433
3514
 
3434
3515
  /*
3435
- * Copyright (c) 2010-2020 BSI Business Systems Integration AG.
3516
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
3436
3517
  * All rights reserved. This program and the accompanying materials
3437
3518
  * are made available under the terms of the Eclipse Public License v1.0
3438
3519
  * which accompanies this distribution, and is available at
@@ -4215,7 +4296,8 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4215
4296
  this.$topGrid.find('.calendar-day-name').data('new-width', 0);
4216
4297
  this.$grids.find('.calendar-day').data('new-width', 0);
4217
4298
  let newWidthWorkWeek = Math.round(contentW / this.workDayIndices.length);
4218
- jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-day-name:nth-child(-n+6), ' + '.calendar-day:nth-child(-n+6)', this.$topGrid).data('new-width', newWidthWorkWeek);
4299
+ this.$topGrid.find('.calendar-day-name').slice(0, 5).data('new-width', newWidthWorkWeek);
4300
+ this.$topGrid.find('.calendar-day').slice(0, 5).data('new-width', newWidthWorkWeek);
4219
4301
  jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-day:nth-child(-n+6)', this.$grid).data('new-width', newWidthWorkWeek);
4220
4302
  this.widthPerDivision = newWidthWorkWeek;
4221
4303
  } else if (this._isMonth() || this._isWeek()) {
@@ -4232,23 +4314,33 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4232
4314
  $day = $comp.closest('.calendar-day');
4233
4315
  $comp.toggleClass('compact', $day.data('new-width') < _index__WEBPACK_IMPORTED_MODULE_0__.CalendarComponent.MONTH_COMPACT_THRESHOLD);
4234
4316
  });
4235
- }
4317
+ } // animate old to new sizes
4236
4318
 
4237
- let afterLayoutCallback = this._afterLayout.bind(this); // animate old to new sizes
4238
4319
 
4239
-
4240
- jquery__WEBPACK_IMPORTED_MODULE_1___default()('div', this.$container).each(function () {
4241
- let $e = jquery__WEBPACK_IMPORTED_MODULE_1___default()(this),
4242
- w = $e.data('new-width'),
4243
- h = $e.data('new-height');
4320
+ jquery__WEBPACK_IMPORTED_MODULE_1___default()('div', this.$container).each((i, elem) => {
4321
+ let $e = jquery__WEBPACK_IMPORTED_MODULE_1___default()(elem);
4322
+ let w = $e.data('new-width');
4323
+ let h = $e.data('new-height');
4244
4324
  $e.stop(false, true);
4245
4325
 
4246
4326
  if (w !== undefined && w !== $e.outerWidth()) {
4247
4327
  if (animate) {
4248
- $e.animateAVCSD('width', w, afterLayoutCallback.bind(this, $e, animate));
4328
+ let opts = {
4329
+ complete: () => this._afterLayout($e, animate)
4330
+ };
4331
+
4332
+ if ($e[0] === this.$grids[0]) {
4333
+ // Grid contains scroll shadows that should be updated during animation (don't due it always for performance reasons)
4334
+ opts.progress = () => this._afterLayout($e, animate);
4335
+ }
4336
+
4337
+ $e.animate({
4338
+ width: w
4339
+ }, opts);
4249
4340
  } else {
4250
4341
  $e.css('width', w);
4251
- afterLayoutCallback($e, animate);
4342
+
4343
+ this._afterLayout($e, animate);
4252
4344
  }
4253
4345
  }
4254
4346
 
@@ -4263,7 +4355,7 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4263
4355
  $e.addClass('hidden');
4264
4356
  }
4265
4357
 
4266
- afterLayoutCallback($e, animate);
4358
+ this._afterLayout($e, animate);
4267
4359
  });
4268
4360
  } else {
4269
4361
  $e.css('height', h);
@@ -4272,7 +4364,7 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4272
4364
  $e.addClass('hidden');
4273
4365
  }
4274
4366
 
4275
- afterLayoutCallback($e, animate);
4367
+ this._afterLayout($e, animate);
4276
4368
  }
4277
4369
  }
4278
4370
  });
@@ -4312,13 +4404,18 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4312
4404
 
4313
4405
  _updateScrollbars($parent, animate) {
4314
4406
  let $scrollables = jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-scrollable-components', $parent);
4315
- $scrollables.each(function () {
4316
- let $scrollable = jquery__WEBPACK_IMPORTED_MODULE_1___default()(this);
4317
- _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.update($scrollable, true);
4407
+ $scrollables.each((i, elem) => {
4408
+ _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.update(jquery__WEBPACK_IMPORTED_MODULE_1___default()(elem), true);
4318
4409
  });
4319
4410
  this.updateScrollPosition(animate);
4320
4411
  }
4321
4412
 
4413
+ _uninstallComponentScrollbars($parent) {
4414
+ $parent.find('.calendar-scrollable-components').each((i, elem) => {
4415
+ _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.uninstall(jquery__WEBPACK_IMPORTED_MODULE_1___default()(elem), this.session);
4416
+ });
4417
+ }
4418
+
4322
4419
  _updateTopGrid() {
4323
4420
  jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-component', this.$topGrid).each((index, part) => {
4324
4421
  let component = jquery__WEBPACK_IMPORTED_MODULE_1___default()(part).data('component');
@@ -4497,17 +4594,9 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4497
4594
  }
4498
4595
 
4499
4596
  _remove() {
4500
- let $days = jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-day', this.$grid); // Ensure that scrollbars are unregistered
4501
-
4502
- for (let k = 0; k < $days.length; k++) {
4503
- let $day = $days.eq(k);
4504
- let $scrollableContainer = $day.children('.calendar-scrollable-components');
4597
+ this._uninstallComponentScrollbars(this.$grid);
4505
4598
 
4506
- if ($scrollableContainer.length > 0) {
4507
- _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.uninstall($scrollableContainer, this.session);
4508
- $scrollableContainer.remove();
4509
- }
4510
- }
4599
+ this._uninstallComponentScrollbars(this.$topGrid);
4511
4600
 
4512
4601
  this.$window.off('mousemove touchmove', this._mouseMoveHandler).off('mouseup touchend touchcancel', this._mouseUpHandler);
4513
4602
  this._moveData = null;
@@ -4642,6 +4731,8 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4642
4731
  if (this._isMonth()) {
4643
4732
  this._uninstallScrollbars();
4644
4733
 
4734
+ this._uninstallComponentScrollbars(this.$topGrid);
4735
+
4645
4736
  this.$grid.removeClass('calendar-scrollable-components');
4646
4737
  } else {
4647
4738
  this.$grid.addClass('calendar-scrollable-components'); // If we're in the non-month views, the time can scroll. Add scrollbars
@@ -4652,16 +4743,21 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4652
4743
  axis: 'y'
4653
4744
  });
4654
4745
 
4655
- let $topDays = jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-scrollable-components', this.$topGrid);
4746
+ this.$topGrid.find('.calendar-scrollable-components').each((i, elem) => {
4747
+ let $topDay = jquery__WEBPACK_IMPORTED_MODULE_1___default()(elem);
4748
+
4749
+ if ($topDay.data('scrollable')) {
4750
+ _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.update($topDay);
4751
+ return;
4752
+ }
4656
4753
 
4657
- for (k = 0; k < $topDays.length; k++) {
4658
- let $topDay = $topDays.eq(k);
4659
4754
  _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.install($topDay, {
4660
4755
  parent: this,
4661
4756
  session: this.session,
4662
- axis: 'y'
4757
+ axis: 'y',
4758
+ scrollShadow: 'none'
4663
4759
  });
4664
- }
4760
+ });
4665
4761
  }
4666
4762
  }
4667
4763
 
@@ -5680,6 +5776,7 @@ class CalendarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout
5680
5776
  this.calendar = calendar;
5681
5777
  this.stacked = false;
5682
5778
  this.compacted = false;
5779
+ this.compactWidth = 550;
5683
5780
  }
5684
5781
 
5685
5782
  layout($container) {
@@ -5697,7 +5794,8 @@ class CalendarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout
5697
5794
  this.stack();
5698
5795
  }
5699
5796
 
5700
- if ($header[0].scrollWidth > $container.width()) {
5797
+ if ($container.width() < this.compactWidth || $header[0].scrollWidth > $container.width()) {
5798
+ // Title may take a lot of space, make it always compact for small devices so it won't toggle when changing display mode or view range
5701
5799
  this.compact();
5702
5800
  }
5703
5801
 
@@ -8321,6 +8419,16 @@ class DatePickerTouchPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.TouchPopu
8321
8419
 
8322
8420
  this._touchField._triggerAcceptInput();
8323
8421
  }
8422
+ /**
8423
+ * @override
8424
+ */
8425
+
8426
+
8427
+ _acceptInput() {
8428
+ this._field.acceptDate();
8429
+
8430
+ this.close();
8431
+ }
8324
8432
 
8325
8433
  }
8326
8434
 
@@ -10960,6 +11068,7 @@ class DisableBrowserF5ReloadKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0_
10960
11068
  this.keyStrokeFirePolicy = _index__WEBPACK_IMPORTED_MODULE_0__.Action.KeyStrokeFirePolicy.ALWAYS; // ignore glass panes
10961
11069
 
10962
11070
  this.renderingHints.render = false;
11071
+ this.inheritAccessibility = false;
10963
11072
  }
10964
11073
  /**
10965
11074
  * @override KeyStroke.js
@@ -12559,6 +12668,8 @@ class DesktopTabSelectKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Rang
12559
12668
  let viewIndex = event.which - _index__WEBPACK_IMPORTED_MODULE_0__.keys[1];
12560
12669
  return this._viewTabs()[viewIndex].$container;
12561
12670
  };
12671
+
12672
+ this.inheritAccessibility = false;
12562
12673
  }
12563
12674
  /**
12564
12675
  * @override KeyStroke.js
@@ -12934,6 +13045,7 @@ class DisableBrowserTabSwitchingKeyStroke extends _index__WEBPACK_IMPORTED_MODUL
12934
13045
 
12935
13046
  this.renderingHints.render = false;
12936
13047
  this.preventDefault = true;
13048
+ this.inheritAccessibility = false;
12937
13049
  }
12938
13050
  /**
12939
13051
  * @override KeyStroke.js
@@ -14109,6 +14221,8 @@ class EnlargeNavigationKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Key
14109
14221
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.forBrowser(_index__WEBPACK_IMPORTED_MODULE_0__.keys.ANGULAR_BRACKET)];
14110
14222
 
14111
14223
  this.renderingHints.$drawingArea = ($drawingArea, event) => this.desktop.$container;
14224
+
14225
+ this.inheritAccessibility = false;
14112
14226
  }
14113
14227
 
14114
14228
  _accept(event) {
@@ -14174,6 +14288,8 @@ class ShrinkNavigationKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyS
14174
14288
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.forBrowser(_index__WEBPACK_IMPORTED_MODULE_0__.keys.ANGULAR_BRACKET)];
14175
14289
 
14176
14290
  this.renderingHints.$drawingArea = ($drawingArea, event) => this.desktop.$container;
14291
+
14292
+ this.inheritAccessibility = false;
14177
14293
  }
14178
14294
 
14179
14295
  _accept(event) {
@@ -14379,18 +14495,19 @@ class DesktopNotification extends _index__WEBPACK_IMPORTED_MODULE_0__.Notificati
14379
14495
  }
14380
14496
 
14381
14497
  if (this.nativeNotificationVisibility === DesktopNotification.NativeNotificationVisibility.NONE) {
14498
+ this._hideLaterIfNativeOnly();
14499
+
14382
14500
  return;
14383
14501
  }
14384
14502
 
14385
14503
  if (this.nativeNotificationVisibility === DesktopNotification.NativeNotificationVisibility.BACKGROUND && !this._isDocumentHidden()) {
14504
+ this._hideLaterIfNativeOnly();
14505
+
14386
14506
  return;
14387
14507
  }
14388
14508
 
14389
14509
  if (window.Notification && Notification.permission === 'denied') {
14390
- if (this.nativeOnly) {
14391
- // If native notifications are not allowed, there is no need to keep the (invisible) desktop notification open
14392
- this.hide();
14393
- }
14510
+ this._hideLaterIfNativeOnly();
14394
14511
 
14395
14512
  return;
14396
14513
  }
@@ -14402,6 +14519,15 @@ class DesktopNotification extends _index__WEBPACK_IMPORTED_MODULE_0__.Notificati
14402
14519
  Notification.requestPermission(this._showNativeNotification.bind(this));
14403
14520
  }
14404
14521
  }
14522
+
14523
+ _hideLaterIfNativeOnly() {
14524
+ if (!this.nativeOnly) {
14525
+ return;
14526
+ } // If native notifications are not shown, there is no need to keep the (invisible) desktop notification open (prevent dom-leak)
14527
+
14528
+
14529
+ setTimeout(() => this.hide()); // async because this method is called in render and removing the notification within render throws exception
14530
+ }
14405
14531
  /**
14406
14532
  * Checks if browser supports the promise-based version of the method requestPermission. Safari only supports the older callback version.
14407
14533
  */
@@ -20128,6 +20254,8 @@ class ViewMenuPopupEnterKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Ke
20128
20254
  return tile.$container;
20129
20255
  }
20130
20256
  };
20257
+
20258
+ this.inheritAccessibility = false;
20131
20259
  }
20132
20260
 
20133
20261
  accept(event) {
@@ -20708,7 +20836,7 @@ class FileChooser extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
20708
20836
  this.$container.addClass('calc-helper');
20709
20837
  let windowSize = this.$container.windowSize(); // Use css width, but ensure that it is not larger than the window (mobile)
20710
20838
 
20711
- let w = Math.min(this.$container.width(), windowSize.width - 20);
20839
+ let w = Math.min(this.$container.width(), windowSize.width);
20712
20840
  this.$container.css('min-width', w);
20713
20841
  this.$container.css('max-width', w);
20714
20842
  this.$container.removeClass('calc-helper'); // Render modality glass-panes
@@ -21614,7 +21742,7 @@ class FocusContext {
21614
21742
  let $target = jquery__WEBPACK_IMPORTED_MODULE_1___default()(event.target);
21615
21743
  $target.on('remove', this._removeListener);
21616
21744
  this.focusedElement = event.target; // Do not update current focus context nor validate focus if target is $entryPoint.
21617
- // That is because focusing the $entryPoint is done whenever no control is currently focusable, e.g. due to glasspanes.
21745
+ // That is because focusing the $entryPoint is done whenever no control is currently focusable, e.g. due to glass panes.
21618
21746
 
21619
21747
  if (event.target === this.$container.entryPoint(true)) {
21620
21748
  return;
@@ -21663,12 +21791,12 @@ class FocusContext {
21663
21791
  /**
21664
21792
  * Focuses the given element if being a child of this context's container and matches the given filter (if provided).
21665
21793
  *
21666
- * @param element
21667
- * the element to gain focus, or null to focus the context's first focusable element matching the given filter.
21668
- * @param filter
21669
- * filter to control which element to gain focus, or null to accept all focusable candidates.
21794
+ * @param {HTMLElement|$} [element]
21795
+ * the element to focus, or null to focus the context's first focusable element matching the given filter.
21796
+ * @param {function} [filter]
21797
+ * filter that controls which element should be focused, or null to accept all focusable candidates.
21670
21798
  * @param {object} [options]
21671
- * @param {boolean} [options.preventScroll] a boolean whether to prevent scrolling to focused element or not (defaults to false)
21799
+ * @param {boolean} [options.preventScroll] prevents scrolling to new focused element (defaults to false)
21672
21800
  */
21673
21801
 
21674
21802
 
@@ -21713,8 +21841,11 @@ class FocusContext {
21713
21841
  }
21714
21842
  /**
21715
21843
  * Focuses the requested element.
21844
+ *
21845
+ * @param {HTMLElement} element
21846
+ * the element to focus, or null to focus the context's first focusable element matching the given filter.
21716
21847
  * @param {object} [options]
21717
- * @param {boolean} [options.preventScroll] a boolean whether to prevent scrolling to focused element or not (defaults to false)
21848
+ * @param {boolean} [options.preventScroll] prevents scrolling to new focused element (defaults to false)
21718
21849
  */
21719
21850
 
21720
21851
 
@@ -21740,7 +21871,7 @@ class FocusContext {
21740
21871
  }
21741
21872
 
21742
21873
  elementToFocus = null;
21743
- } // Focus $entryPoint if current focus is to be blured.
21874
+ } // Focus $entryPoint if current focus is to be blurred.
21744
21875
  // Otherwise, the HTML body would be focused which makes global keystrokes (like backspace) not to work anymore.
21745
21876
 
21746
21877
 
@@ -21809,7 +21940,8 @@ class FocusManager {
21809
21940
  // Auto focusing of elements is bad with on screen keyboards -> deactivate to prevent unwanted popping up of the keyboard
21810
21941
  active: !_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsOnlyTouch(),
21811
21942
  // Preventing blur is bad on touch devices because every touch on a non input field is supposed to close the keyboard which does not happen if preventDefault is used on mouse down
21812
- restrictedFocusGain: !_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsOnlyTouch()
21943
+ restrictedFocusGain: !_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsOnlyTouch(),
21944
+ session: null
21813
21945
  };
21814
21946
  jquery__WEBPACK_IMPORTED_MODULE_1___default().extend(this, defaults, options);
21815
21947
 
@@ -22059,16 +22191,35 @@ class FocusManager {
22059
22191
  }
22060
22192
 
22061
22193
  requestFocusIfReady(element, filter) {
22062
- return this.requestFocus(element, filter, true);
22194
+ return this.requestFocus(element, filter, {
22195
+ onlyIfReady: true
22196
+ });
22063
22197
  }
22064
22198
  /**
22065
22199
  * Requests the focus for the given element, but only if being a valid focus location.
22066
22200
  *
22201
+ * @param {HTMLElement|$} [element]
22202
+ * the element to focus, or null to focus the context's first focusable element matching the given filter.
22203
+ * @param {function} [filter]
22204
+ * filter that controls which element should be focused, or null to accept all focusable candidates.
22205
+ * @param {object|boolean} [options]
22206
+ * Use object, boolean is deprecated
22207
+ * @param {boolean} [options.preventScroll] prevents scrolling to new focused element (defaults to false)
22208
+ * @param {boolean} [options.onlyIfReady] prevents focusing if not ready
22067
22209
  * @return {boolean} true if focus was gained, false otherwise.
22068
22210
  */
22069
22211
 
22070
22212
 
22071
- requestFocus(element, filter, onlyIfReady) {
22213
+ requestFocus(element, filter, options) {
22214
+ // backward compatibility
22215
+ if (typeof options === 'boolean') {
22216
+ options = {
22217
+ onlyIfReady: options
22218
+ };
22219
+ } else {
22220
+ options = options || {};
22221
+ }
22222
+
22072
22223
  element = element instanceof (jquery__WEBPACK_IMPORTED_MODULE_1___default()) ? element[0] : element;
22073
22224
 
22074
22225
  if (!element) {
@@ -22078,11 +22229,11 @@ class FocusManager {
22078
22229
  let context = this._findFocusContextFor(element);
22079
22230
 
22080
22231
  if (context) {
22081
- if (onlyIfReady && !context.prepared) {
22232
+ if (_index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(options.onlyIfReady, false) && !context.prepared) {
22082
22233
  return false;
22083
22234
  }
22084
22235
 
22085
- context.validateAndSetFocus(element, filter);
22236
+ context.validateAndSetFocus(element, filter, options);
22086
22237
  }
22087
22238
 
22088
22239
  return _index__WEBPACK_IMPORTED_MODULE_0__.focusUtils.isActiveElement(element);
@@ -28890,11 +29041,11 @@ __webpack_require__.r(__webpack_exports__);
28890
29041
  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; }
28891
29042
 
28892
29043
  /*
28893
- * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
29044
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
28894
29045
  * All rights reserved. This program and the accompanying materials
28895
29046
  * are made available under the terms of the Eclipse Public License v1.0
28896
29047
  * which accompanies this distribution, and is available at
28897
- * http://www.eclipse.org/legal/epl-v10.html
29048
+ * https://www.eclipse.org/legal/epl-v10.html
28898
29049
  *
28899
29050
  * Contributors:
28900
29051
  * BSI Business Systems Integration AG - initial API and implementation
@@ -28908,6 +29059,7 @@ class LookupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
28908
29059
  this.gridDataHints.weightY = 1.0;
28909
29060
  this.gridDataHints.h = 2;
28910
29061
  this.value = [];
29062
+ this.clearable = _index__WEBPACK_IMPORTED_MODULE_0__.ValueField.Clearable.NEVER;
28911
29063
  this.lookupCall = null;
28912
29064
  this._pendingLookup = null;
28913
29065
  this._currentLookupCall = null;
@@ -28956,6 +29108,8 @@ class LookupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
28956
29108
  this.$field.addClass('structure');
28957
29109
 
28958
29110
  this._renderFilterBox();
29111
+
29112
+ this.$container.css('--inactive-lookup-row-suffix-text', "'".concat(this.session.text('InactiveState'), "'"));
28959
29113
  }
28960
29114
 
28961
29115
  _renderFilterBox() {
@@ -29435,6 +29589,7 @@ class ValueField extends _index__WEBPACK_IMPORTED_MODULE_0__.FormField {
29435
29589
  this.value = null;
29436
29590
  this.validators = [];
29437
29591
  this.validators.push(this._validateValue.bind(this));
29592
+ this._updateDisplayTextPending = false;
29438
29593
  this.$clearIcon = null;
29439
29594
 
29440
29595
  this._addCloneProperties(['value', 'displayText', 'clearable']);
@@ -29979,14 +30134,22 @@ class ValueField extends _index__WEBPACK_IMPORTED_MODULE_0__.FormField {
29979
30134
  value = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(value, this.value);
29980
30135
  let returned = this.formatValue(value);
29981
30136
 
29982
- if (returned && jquery__WEBPACK_IMPORTED_MODULE_1___default().isFunction(returned.promise)) {
29983
- // Promise is returned -> set display text later
30137
+ if (_index__WEBPACK_IMPORTED_MODULE_0__.objects.isPromise(returned)) {
30138
+ this._updateDisplayTextPending = true; // Promise is returned -> set display text later
30139
+
29984
30140
  returned.done(this.setDisplayText.bind(this)).fail(() => {
29985
- this.setDisplayText('');
30141
+ // If display text was updated in the meantime, don't override the text with an empty string
30142
+ if (this._updateDisplayTextPending) {
30143
+ this.setDisplayText('');
30144
+ }
30145
+
29986
30146
  jquery__WEBPACK_IMPORTED_MODULE_1___default().log.isInfoEnabled() && jquery__WEBPACK_IMPORTED_MODULE_1___default().log.info('Could not resolve display text for value: ' + value);
30147
+ }).always(() => {
30148
+ this._updateDisplayTextPending = false;
29987
30149
  });
29988
30150
  } else {
29989
30151
  this.setDisplayText(returned);
30152
+ this._updateDisplayTextPending = false;
29990
30153
  }
29991
30154
  }
29992
30155
  /**
@@ -31867,10 +32030,6 @@ class ButtonKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
31867
32030
  this.stopPropagation = true;
31868
32031
  this.stopImmediatePropagation = true;
31869
32032
  this.renderingHints.hAlign = _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.RIGHT;
31870
-
31871
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
31872
- return this.field.$container;
31873
- }.bind(this);
31874
32033
  }
31875
32034
  /**
31876
32035
  * @override KeyStroke.js
@@ -33728,7 +33887,7 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
33728
33887
  }
33729
33888
 
33730
33889
  _renderDateClearable() {
33731
- if (this.hasDate || this.isClearable()) {
33890
+ if (this.hasDate && this.isClearable()) {
33732
33891
  if (!this.$dateClearIcon) {
33733
33892
  // date clear icon
33734
33893
  this.$dateClearIcon = this.$field.appendSpan('icon date-clear unfocusable text-field-icon action').on('mousedown', this._onDateClearIconMouseDown.bind(this));
@@ -33743,13 +33902,17 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
33743
33902
  }
33744
33903
 
33745
33904
  _renderTimeClearable() {
33746
- if (this.hasTime && this.isClearable() && !this.$timeClearIcon) {
33747
- // date clear icon
33748
- this.$timeClearIcon = this.$field.appendSpan('icon time-clear unfocusable text-field-icon action').on('mousedown', this._onTimeClearIconMouseDown.bind(this));
33749
- } else if ((!this.hasTime || !this.isClearable()) && this.$timeClearIcon) {
33750
- // Remove $dateField
33751
- this.$timeClearIcon.remove();
33752
- this.$timeClearIcon = null;
33905
+ if (this.hasTime && this.isClearable()) {
33906
+ if (!this.$timeClearIcon) {
33907
+ // time clear icon
33908
+ this.$timeClearIcon = this.$field.appendSpan('icon time-clear unfocusable text-field-icon action').on('mousedown', this._onTimeClearIconMouseDown.bind(this));
33909
+ }
33910
+ } else {
33911
+ if (this.$timeClearIcon) {
33912
+ // Remove clear icon
33913
+ this.$timeClearIcon.remove();
33914
+ this.$timeClearIcon = null;
33915
+ }
33753
33916
  }
33754
33917
  }
33755
33918
 
@@ -34283,29 +34446,23 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
34283
34446
  }
34284
34447
 
34285
34448
  _onDatePickerDateSelect(event) {
34286
- this._setDateValid(true);
34287
-
34288
- this._setTimeValid(true);
34289
-
34290
- let newValue = this._newTimestampAsDate(event.date, this.value);
34291
-
34292
- this.setValue(newValue);
34293
- this.closePopup();
34294
-
34295
- this._triggerAcceptInput();
34449
+ this._setNewDateTimeValue(this._newTimestampAsDate(event.date, this.value));
34296
34450
  }
34297
34451
 
34298
34452
  _onTimePickerTimeSelect(event) {
34453
+ this._setNewDateTimeValue(this._newTimestampAsDate(this.value, event.time));
34454
+ }
34455
+
34456
+ _setNewDateTimeValue(newValue) {
34299
34457
  this._setDateValid(true);
34300
34458
 
34301
34459
  this._setTimeValid(true);
34302
34460
 
34303
- let newValue = this._newTimestampAsDate(this.value, event.time);
34304
-
34305
34461
  this.setValue(newValue);
34306
- this.closePopup();
34307
34462
 
34308
34463
  this._triggerAcceptInput();
34464
+
34465
+ this.closePopup();
34309
34466
  }
34310
34467
 
34311
34468
  _createPredictionField($inputField) {
@@ -34510,11 +34667,14 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
34510
34667
  this.popup = this.createDatePopup();
34511
34668
  this.popup.open();
34512
34669
  this.$dateField.addClass('focused');
34513
- this.popup.on('remove', event => {
34514
- this._onPopupRemove(event);
34670
+ this.popup.one('destroy', event => {
34671
+ // Removing the class must happen before _onPopupDestroy() is called, otherwise the date field no longer exists,
34672
+ // because in touch mode _onPopupDestroy() destroys the date field.
34673
+ this.$dateField.removeClass('focused');
34674
+
34675
+ this._onPopupDestroy(event);
34515
34676
 
34516
34677
  this.popup = null;
34517
- this.$dateField.removeClass('focused');
34518
34678
  });
34519
34679
  this.getDatePicker().on('dateSelect', this._onDatePickerDateSelect.bind(this));
34520
34680
  }
@@ -34544,11 +34704,14 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
34544
34704
  this.popup = this.createTimePopup();
34545
34705
  this.popup.open();
34546
34706
  this.$timeField.addClass('focused');
34547
- this.popup.on('remove', event => {
34548
- this._onPopupRemove(event);
34707
+ this.popup.one('destroy', event => {
34708
+ // Removing the class must happen before _onPopupDestroy() is called, otherwise the date field no longer exists,
34709
+ // because in touch mode _onPopupDestroy() destroys the date field.
34710
+ this.$timeField.removeClass('focused');
34711
+
34712
+ this._onPopupDestroy(event);
34549
34713
 
34550
34714
  this.popup = null;
34551
- this.$timeField.removeClass('focused');
34552
34715
  });
34553
34716
  this.getTimePicker().on('timeSelect', this._onTimePickerTimeSelect.bind(this));
34554
34717
  }
@@ -34846,7 +35009,7 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
34846
35009
  }
34847
35010
  }
34848
35011
 
34849
- _onPopupRemove(event) {
35012
+ _onPopupDestroy(event) {
34850
35013
  if (!this.touchMode || !this._cellEditorPopup) {
34851
35014
  return;
34852
35015
  }
@@ -36163,9 +36326,7 @@ class FileChooserFieldBrowseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0_
36163
36326
  this.stopPropagation = true;
36164
36327
  this.renderingHints.hAlign = _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.LEFT;
36165
36328
 
36166
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
36167
- return this.field.$fieldContainer;
36168
- }.bind(this);
36329
+ this.renderingHints.$drawingArea = ($drawingArea, event) => this.field.$fieldContainer;
36169
36330
  }
36170
36331
  /**
36171
36332
  * @override KeyStroke.js
@@ -36211,9 +36372,7 @@ class FileChooserFieldDeleteKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0_
36211
36372
  this.renderingHints.offset = 25;
36212
36373
  this.renderingHints.hAlign = _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.RIGHT;
36213
36374
 
36214
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
36215
- return this.field.$fieldContainer;
36216
- }.bind(this);
36375
+ this.renderingHints.$drawingArea = ($drawingArea, event) => this.field.$fieldContainer;
36217
36376
  }
36218
36377
  /**
36219
36378
  * @override KeyStroke.js
@@ -36287,6 +36446,7 @@ class GroupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
36287
36446
  this.processButtons = [];
36288
36447
  this.processMenus = [];
36289
36448
  this.staticMenus = [];
36449
+ this.selectionKeystroke = null;
36290
36450
  this.responsive = null;
36291
36451
  this.$header = null;
36292
36452
  this.$body = null;
@@ -36407,13 +36567,13 @@ class GroupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
36407
36567
  render: () => true,
36408
36568
  offset: 0,
36409
36569
  hAlign: _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.RIGHT,
36410
- $drawingArea: function ($drawingArea, event) {
36411
- if (this.labelVisible) {
36570
+ $drawingArea: ($drawingArea, event) => {
36571
+ if (this.$header && this.$header.isVisible()) {
36412
36572
  return this.$header;
36413
36573
  }
36414
36574
 
36415
36575
  return this.$body;
36416
- }.bind(this)
36576
+ }
36417
36577
  };
36418
36578
  keyStrokes.forEach(keyStroke => {
36419
36579
  keyStroke.actionKeyStroke.renderingHints = jquery__WEBPACK_IMPORTED_MODULE_1___default().extend({}, keyStroke.actionKeyStroke.renderingHints, groupBoxRenderingHints);
@@ -36630,13 +36790,11 @@ class GroupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
36630
36790
  this.$container.toggleClass('has-scroll-shadow-bottom', hasScrollShadowBottom);
36631
36791
 
36632
36792
  if ((headerVisible || hasMenubarTop) && oldHasScrollShadowTop !== hasScrollShadowTop || hasMenubarBottom && oldHasScrollShadowBottom !== hasScrollShadowBottom) {
36633
- this.invalidateLayout();
36793
+ this.invalidateLayoutTree(false);
36634
36794
  } // Enlarge header line if there is a shadow, but don't do it if there is a menubar on top
36635
36795
 
36636
36796
 
36637
- _index__WEBPACK_IMPORTED_MODULE_0__.fields.adjustStatusPositionForScrollShadow(this, () => hasScrollShadowTop && headerVisible && !hasMenubarTop); // Prevent flickering of status icon
36638
-
36639
- this.validateLayout();
36797
+ _index__WEBPACK_IMPORTED_MODULE_0__.fields.adjustStatusPositionForScrollShadow(this, () => hasScrollShadowTop && headerVisible && !hasMenubarTop);
36640
36798
  }
36641
36799
 
36642
36800
  setMainBox(mainBox) {
@@ -37078,10 +37236,18 @@ class GroupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
37078
37236
  }
37079
37237
 
37080
37238
  _onControlClick(event) {
37081
- if (this.expandable) {
37082
- this.setExpanded(!this.expanded);
37239
+ if (!this.expandable) {
37240
+ return;
37241
+ }
37242
+
37243
+ const target = _index__WEBPACK_IMPORTED_MODULE_0__.scout.widget(event.target);
37244
+
37245
+ if (this.menuBarPosition === GroupBox.MenuBarPosition.TITLE && this.menuBar.has(target)) {
37246
+ // If the position of the menubar is set to title and a menu has been clicked, then the event must not be handled
37247
+ return;
37083
37248
  }
37084
37249
 
37250
+ this.setExpanded(!this.expanded);
37085
37251
  jquery__WEBPACK_IMPORTED_MODULE_1___default().suppressEvent(event); // otherwise, the event would be triggered twice sometimes (by group-box-control and group-box-title)
37086
37252
  }
37087
37253
 
@@ -38506,11 +38672,11 @@ __webpack_require__.r(__webpack_exports__);
38506
38672
  /* harmony export */ });
38507
38673
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../index */ "./src/index.js");
38508
38674
  /*
38509
- * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
38675
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
38510
38676
  * All rights reserved. This program and the accompanying materials
38511
38677
  * are made available under the terms of the Eclipse Public License v1.0
38512
38678
  * which accompanies this distribution, and is available at
38513
- * http://www.eclipse.org/legal/epl-v10.html
38679
+ * https://www.eclipse.org/legal/epl-v10.html
38514
38680
  *
38515
38681
  * Contributors:
38516
38682
  * BSI Business Systems Integration AG - initial API and implementation
@@ -38521,7 +38687,6 @@ class ListBox extends _index__WEBPACK_IMPORTED_MODULE_0__.LookupBox {
38521
38687
  super();
38522
38688
  this.table = null;
38523
38689
  this.lookupStatus = null;
38524
- this.clearable = _index__WEBPACK_IMPORTED_MODULE_0__.ValueField.Clearable.NEVER;
38525
38690
 
38526
38691
  this._addWidgetProperties(['table', 'filterBox']);
38527
38692
  }
@@ -38536,6 +38701,13 @@ class ListBox extends _index__WEBPACK_IMPORTED_MODULE_0__.LookupBox {
38536
38701
  _initStructure(value) {
38537
38702
  if (!this.table) {
38538
38703
  this.table = this._createDefaultListBoxTable();
38704
+ } // align checkableColumn in table with checkboxes of tree fields
38705
+
38706
+
38707
+ if (this.table.checkableColumn) {
38708
+ // may be null if a non-default list-box-table with checkable=false is used
38709
+ this.table.checkableColumn.minWidth = 28;
38710
+ this.table.checkableColumn.width = this.table.checkableColumn.minWidth; // do not use setWidth here
38539
38711
  }
38540
38712
  }
38541
38713
 
@@ -38685,14 +38857,15 @@ class ListBox extends _index__WEBPACK_IMPORTED_MODULE_0__.LookupBox {
38685
38857
  row.enabled = false;
38686
38858
  }
38687
38859
 
38688
- if (lookupRow.active === false) {
38689
- row.active = false;
38690
- }
38691
-
38692
38860
  if (lookupRow.cssClass) {
38693
38861
  row.cssClass = lookupRow.cssClass;
38694
38862
  }
38695
38863
 
38864
+ if (lookupRow.active === false) {
38865
+ row.active = false;
38866
+ row.cssClass = (row.cssClass ? row.cssClass + ' ' : '') + 'inactive';
38867
+ }
38868
+
38696
38869
  return row;
38697
38870
  }
38698
38871
 
@@ -38852,11 +39025,11 @@ __webpack_require__.r(__webpack_exports__);
38852
39025
  /* harmony export */ });
38853
39026
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../index */ "./src/index.js");
38854
39027
  /*
38855
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
39028
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
38856
39029
  * All rights reserved. This program and the accompanying materials
38857
39030
  * are made available under the terms of the Eclipse Public License v1.0
38858
39031
  * which accompanies this distribution, and is available at
38859
- * http://www.eclipse.org/legal/epl-v10.html
39032
+ * https://www.eclipse.org/legal/epl-v10.html
38860
39033
  *
38861
39034
  * Contributors:
38862
39035
  * BSI Business Systems Integration AG - initial API and implementation
@@ -38880,14 +39053,15 @@ function createTableRow(lookupRow, multipleColumns) {
38880
39053
  row.enabled = false;
38881
39054
  }
38882
39055
 
38883
- if (lookupRow.active === false) {
38884
- row.active = false;
38885
- }
38886
-
38887
39056
  if (lookupRow.cssClass) {
38888
39057
  row.cssClass = lookupRow.cssClass;
38889
39058
  }
38890
39059
 
39060
+ if (lookupRow.active === false) {
39061
+ row.active = false;
39062
+ row.cssClass = (row.cssClass ? row.cssClass + ' ' : '') + 'inactive';
39063
+ }
39064
+
38891
39065
  if (!multipleColumns) {
38892
39066
  cells.push(createTableCell(lookupRow, null, null));
38893
39067
  }
@@ -42111,11 +42285,13 @@ class ProposalField extends _index__WEBPACK_IMPORTED_MODULE_0__.SmartField {
42111
42285
 
42112
42286
 
42113
42287
  if (searchTextChanged) {
42288
+ this.clearErrorStatus();
42289
+
42114
42290
  this._acceptByText(sync, searchText);
42115
42291
  } else if (!this._hasUiError()) {
42116
42292
  this._inputAccepted(false);
42117
42293
  } else {
42118
- // even though there's nothing todo, someone could wait for our promise to be resolved
42294
+ // even though there's nothing to do, someone could wait for our promise to be resolved
42119
42295
  this._acceptInputDeferred.resolve();
42120
42296
  }
42121
42297
 
@@ -42185,11 +42361,11 @@ __webpack_require__.r(__webpack_exports__);
42185
42361
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
42186
42362
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
42187
42363
  /*
42188
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
42364
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
42189
42365
  * All rights reserved. This program and the accompanying materials
42190
42366
  * are made available under the terms of the Eclipse Public License v1.0
42191
42367
  * which accompanies this distribution, and is available at
42192
- * http://www.eclipse.org/legal/epl-v10.html
42368
+ * https://www.eclipse.org/legal/epl-v10.html
42193
42369
  *
42194
42370
  * Contributors:
42195
42371
  * BSI Business Systems Integration AG - initial API and implementation
@@ -42206,16 +42382,10 @@ class ProposalTreeNode extends _index__WEBPACK_IMPORTED_MODULE_0__.TreeNode {
42206
42382
  }
42207
42383
 
42208
42384
  _renderText() {
42209
- let text = this.text;
42210
-
42211
- if (this.lookupRow.active === false) {
42212
- text += ' (' + this.session.text('InactiveState') + ')';
42213
- }
42214
-
42215
42385
  if (this.htmlEnabled) {
42216
- this.$text.html(text);
42386
+ this.$text.html(this.text);
42217
42387
  } else {
42218
- this.$text.textOrNbsp(text);
42388
+ this.$text.textOrNbsp(this.text);
42219
42389
  }
42220
42390
  }
42221
42391
 
@@ -42276,11 +42446,11 @@ __webpack_require__.r(__webpack_exports__);
42276
42446
  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; }
42277
42447
 
42278
42448
  /*
42279
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
42449
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
42280
42450
  * All rights reserved. This program and the accompanying materials
42281
42451
  * are made available under the terms of the Eclipse Public License v1.0
42282
42452
  * which accompanies this distribution, and is available at
42283
- * http://www.eclipse.org/legal/epl-v10.html
42453
+ * https://www.eclipse.org/legal/epl-v10.html
42284
42454
  *
42285
42455
  * Contributors:
42286
42456
  * BSI Business Systems Integration AG - initial API and implementation
@@ -43237,6 +43407,7 @@ class SmartField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
43237
43407
  status: status
43238
43408
  });
43239
43409
  this.popup.open();
43410
+ this.popup.$container.css('--inactive-lookup-row-suffix-text', "'".concat(this.session.text('InactiveState'), "'"));
43240
43411
  /* This variable is required to route events to the right field:
43241
43412
  * - in normal mode popup events should be processed by the normal smart-field
43242
43413
  * - in touch mode, the field flagged with the 'touch' property should process no
@@ -46415,6 +46586,7 @@ class SplitBoxCollapseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyS
46415
46586
  super();
46416
46587
  this.field = splitBox;
46417
46588
  this.parseAndSetKeyStroke(keyStroke);
46589
+ this.inheritAccessibility = false;
46418
46590
  }
46419
46591
 
46420
46592
  handle(event) {
@@ -46460,6 +46632,7 @@ class SplitBoxFirstCollapseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__
46460
46632
  super();
46461
46633
  this.field = splitBox;
46462
46634
  this.parseAndSetKeyStroke(keyStroke);
46635
+ this.inheritAccessibility = false;
46463
46636
  }
46464
46637
 
46465
46638
  handle(event) {
@@ -46737,6 +46910,7 @@ class SplitBoxSecondCollapseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0_
46737
46910
  super();
46738
46911
  this.field = splitBox;
46739
46912
  this.parseAndSetKeyStroke(keyStroke);
46913
+ this.inheritAccessibility = false;
46740
46914
  }
46741
46915
 
46742
46916
  handle(event) {
@@ -48228,7 +48402,7 @@ __webpack_require__.r(__webpack_exports__);
48228
48402
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
48229
48403
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
48230
48404
  /*
48231
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
48405
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
48232
48406
  * All rights reserved. This program and the accompanying materials
48233
48407
  * are made available under the terms of the Eclipse Public License v1.0
48234
48408
  * which accompanies this distribution, and is available at
@@ -48256,30 +48430,37 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48256
48430
  }
48257
48431
 
48258
48432
  layout($container) {
48259
- let ellipsis = this.tabArea.ellipsis,
48260
- htmlContainer = _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get($container),
48433
+ let htmlContainer = _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get($container),
48261
48434
  containerSize = htmlContainer.availableSize().subtract(htmlContainer.insets()); // compute visible and overflown tabs
48262
48435
 
48263
48436
  this.preferredLayoutSize($container, {
48264
48437
  widthHint: containerSize.width
48265
48438
  });
48266
48439
 
48267
- if (this.overflowTabs.length > 0) {
48268
- ellipsis.setHidden(false);
48269
- }
48440
+ this._layoutSelectionMarker();
48441
+ }
48270
48442
 
48271
- this.visibleTabs.forEach(tabItem => {
48272
- tabItem.setOverflown(false);
48273
- });
48274
- this.overflowTabs.forEach(tabItem => {
48275
- tabItem.setOverflown(true);
48276
- });
48443
+ _layoutSelectionMarker() {
48444
+ let $selectionMarker = this.tabArea.$selectionMarker,
48445
+ selectedTab = this.tabArea.selectedTab,
48446
+ selectedItemBounds;
48277
48447
 
48278
- if (this.overflowTabs.length === 0) {
48279
- ellipsis.setHidden(true);
48448
+ if (selectedTab) {
48449
+ $selectionMarker.setVisible(true);
48450
+ selectedItemBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds(selectedTab.$container);
48451
+ $selectionMarker.cssLeft(selectedItemBounds.x);
48452
+ $selectionMarker.cssWidth(selectedItemBounds.width);
48453
+ } else {
48454
+ $selectionMarker.setVisible(false);
48280
48455
  }
48456
+ }
48281
48457
 
48458
+ _updateEllipsis() {
48459
+ let ellipsis = this.tabArea.ellipsis;
48460
+ ellipsis.setHidden(this.overflowTabs.length < 1);
48282
48461
  ellipsis.setText(this.overflowTabs.length + '');
48462
+ this.visibleTabs.forEach(tabItem => tabItem.setOverflown(false));
48463
+ this.overflowTabs.forEach(tabItem => tabItem.setOverflown(true));
48283
48464
  ellipsis.setChildActions(this.overflowTabs.map(tab => {
48284
48465
  let menu = _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('Menu', {
48285
48466
  parent: ellipsis,
@@ -48296,38 +48477,21 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48296
48477
  });
48297
48478
  return menu;
48298
48479
  }, this));
48299
-
48300
- this._layoutSelectionMarker();
48301
- }
48302
-
48303
- _layoutSelectionMarker() {
48304
- let $selectionMarker = this.tabArea.$selectionMarker,
48305
- selectedTab = this.tabArea.selectedTab,
48306
- selectedItemBounds;
48307
-
48308
- if (selectedTab) {
48309
- $selectionMarker.setVisible(true);
48310
- selectedItemBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds(selectedTab.$container);
48311
- $selectionMarker.cssLeft(selectedItemBounds.x);
48312
- $selectionMarker.cssWidth(selectedItemBounds.width);
48313
- } else {
48314
- $selectionMarker.setVisible(false);
48315
- }
48316
48480
  }
48317
48481
 
48318
48482
  preferredLayoutSize($container, options) {
48319
48483
  let htmlComp = _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get($container),
48320
48484
  prefSize = new _index__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0),
48321
- prefWidth = Number.MAX_VALUE,
48322
- visibleTabItems = this.tabArea.visibleTabs(),
48323
- overflowableIndexes = visibleTabItems.map((tabItem, index) => {
48485
+ prefWidth = Number.MAX_VALUE;
48486
+ this.visibleTabs = this.tabArea.visibleTabs();
48487
+ let overflowableIndexes = this.visibleTabs.map((tabItem, index) => {
48324
48488
  if (tabItem.selected) {
48325
48489
  return -1;
48326
48490
  }
48327
48491
 
48328
48492
  return index;
48329
48493
  }).filter(index => index >= 0);
48330
- this.overflowTabs = []; // consider avoid falsy 0 in tabboxes a 0 withHint will be used to calculate the minimum width
48494
+ this.overflowTabs = []; // consider avoid falsy 0 in tab-boxes a 0 withHint will be used to calculate the minimum width
48331
48495
 
48332
48496
  if (options.widthHint === 0 || options.widthHint) {
48333
48497
  prefWidth = options.widthHint - htmlComp.insets().horizontal();
@@ -48335,26 +48499,28 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48335
48499
 
48336
48500
 
48337
48501
  if (prefWidth <= 0) {
48338
- return this._minSize(visibleTabItems).add(htmlComp.insets());
48502
+ return this._minSize(this.visibleTabs).add(htmlComp.insets());
48339
48503
  }
48340
48504
 
48341
- let overflowIndex = -1;
48505
+ this._setFirstLastMarker(this.visibleTabs);
48342
48506
 
48343
- this._setFirstLastMarker(visibleTabItems);
48507
+ this._updateEllipsis();
48344
48508
 
48345
- prefSize = this._prefSize(visibleTabItems);
48509
+ prefSize = this._prefSize(this.visibleTabs);
48346
48510
 
48347
48511
  while (prefSize.width > prefWidth && overflowableIndexes.length > 0) {
48348
- overflowIndex = overflowableIndexes.splice(-1)[0];
48349
- this.overflowTabs.splice(0, 0, visibleTabItems[overflowIndex]);
48350
- visibleTabItems.splice(overflowIndex, 1);
48512
+ let overflowIndex = overflowableIndexes.splice(-1)[0];
48513
+ this.overflowTabs.splice(0, 0, this.visibleTabs[overflowIndex]);
48514
+ this.visibleTabs.splice(overflowIndex, 1);
48351
48515
 
48352
- this._setFirstLastMarker(visibleTabItems);
48516
+ this._setFirstLastMarker(this.visibleTabs);
48517
+
48518
+ this._updateEllipsis(); // update ellipsis here already so that the prefSize on the next line is correct
48353
48519
 
48354
- prefSize = this._prefSize(visibleTabItems);
48355
- }
48356
48520
 
48357
- this.visibleTabs = visibleTabItems; // Use the total available space if spreading tabs evenly.
48521
+ prefSize = this._prefSize(this.visibleTabs);
48522
+ } // Use the total available space if spreading tabs evenly.
48523
+
48358
48524
 
48359
48525
  if (this.tabArea.displayStyle === _index__WEBPACK_IMPORTED_MODULE_0__.TabArea.DisplayStyle.SPREAD_EVEN) {
48360
48526
  return _index__WEBPACK_IMPORTED_MODULE_0__.graphics.prefSize($container, options);
@@ -48364,8 +48530,7 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48364
48530
  }
48365
48531
 
48366
48532
  _minSize(tabItems) {
48367
- let visibleTabItems = [],
48368
- prefSize;
48533
+ let visibleTabItems = [];
48369
48534
  this.overflowTabs = tabItems.filter(tabItem => {
48370
48535
  if (tabItem.selected) {
48371
48536
  visibleTabItems.push(tabItem);
@@ -48378,21 +48543,20 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48378
48543
 
48379
48544
  this._setFirstLastMarker(visibleTabItems);
48380
48545
 
48381
- prefSize = this._prefSize(visibleTabItems);
48382
- return prefSize;
48546
+ return this._prefSize(visibleTabItems);
48383
48547
  }
48384
48548
 
48385
48549
  _prefSize(tabItems, considerEllipsis) {
48386
- let prefSize = tabItems.map(tabItem => this._tabItemSize(tabItem.htmlComp)).reduce((prefSize, itemSize) => {
48550
+ let prefSize = tabItems.map(tabItem => this._tabItemSize(tabItem)).reduce((prefSize, itemSize) => {
48387
48551
  prefSize.height = Math.max(prefSize.height, itemSize.height);
48388
48552
  prefSize.width += itemSize.width;
48389
48553
  return prefSize;
48390
- }, new _index__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0)),
48391
- ellipsisSize = new _index__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0);
48554
+ }, new _index__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0));
48392
48555
  considerEllipsis = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(considerEllipsis, this.overflowTabs.length > 0);
48393
48556
 
48394
48557
  if (considerEllipsis) {
48395
- ellipsisSize = this._tabItemSize(this.tabArea.ellipsis.htmlComp);
48558
+ let ellipsisSize = this._tabItemSize(this.tabArea.ellipsis);
48559
+
48396
48560
  prefSize.height = Math.max(prefSize.height, ellipsisSize.height);
48397
48561
  prefSize.width += ellipsisSize.width;
48398
48562
  }
@@ -48419,8 +48583,9 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48419
48583
  }
48420
48584
  }
48421
48585
 
48422
- _tabItemSize(htmlComp) {
48423
- let prefSize,
48586
+ _tabItemSize(item) {
48587
+ let htmlComp = item.htmlComp,
48588
+ prefSize,
48424
48589
  classList = htmlComp.$comp.attr('class'); // temporarily revert display style to default. otherwise the pref size of the tab item will be the size of the container.
48425
48590
 
48426
48591
  if (this.tabArea.displayStyle === _index__WEBPACK_IMPORTED_MODULE_0__.TabArea.DisplayStyle.SPREAD_EVEN) {
@@ -48432,6 +48597,27 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48432
48597
  prefSize = htmlComp.prefSize({
48433
48598
  exact: true
48434
48599
  }).add(_index__WEBPACK_IMPORTED_MODULE_0__.graphics.margins(htmlComp.$comp));
48600
+
48601
+ if (item.fieldStatus && item.fieldStatus.htmlComp) {
48602
+ let statusOverflownAndHidden = item.overflown && !item.fieldStatus.visible;
48603
+
48604
+ if (statusOverflownAndHidden) {
48605
+ // overflown tabs have no fieldStatus: explicitly set to visible so that the real consumed space can be computed
48606
+ item.fieldStatus.setVisible(true);
48607
+ }
48608
+
48609
+ let statusWidth = item.fieldStatus.htmlComp.prefSize({
48610
+ includeMargin: true
48611
+ }).width;
48612
+
48613
+ if (statusOverflownAndHidden) {
48614
+ // restore
48615
+ item.fieldStatus.setVisible(false);
48616
+ }
48617
+
48618
+ prefSize.width += statusWidth;
48619
+ }
48620
+
48435
48621
  htmlComp.$comp.attrOrRemove('class', classList);
48436
48622
 
48437
48623
  if (this.tabArea.displayStyle === _index__WEBPACK_IMPORTED_MODULE_0__.TabArea.DisplayStyle.SPREAD_EVEN) {
@@ -48474,6 +48660,7 @@ __webpack_require__.r(__webpack_exports__);
48474
48660
  */
48475
48661
 
48476
48662
  class TabAreaLeftKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
48663
+ // noinspection DuplicatedCode
48477
48664
  constructor(tabArea) {
48478
48665
  super();
48479
48666
  this.field = tabArea;
@@ -48481,6 +48668,7 @@ class TabAreaLeftKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke
48481
48668
  this.renderingHints.render = false;
48482
48669
  this.stopPropagation = true;
48483
48670
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
48671
+ this.inheritAccessibility = false;
48484
48672
  }
48485
48673
 
48486
48674
  handle(event) {
@@ -48515,6 +48703,7 @@ __webpack_require__.r(__webpack_exports__);
48515
48703
  */
48516
48704
 
48517
48705
  class TabAreaRightKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
48706
+ // noinspection DuplicatedCode
48518
48707
  constructor(tabArea) {
48519
48708
  super();
48520
48709
  this.field = tabArea;
@@ -48522,6 +48711,7 @@ class TabAreaRightKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStrok
48522
48711
  this.renderingHints.render = false;
48523
48712
  this.stopPropagation = true;
48524
48713
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
48714
+ this.inheritAccessibility = false;
48525
48715
  }
48526
48716
 
48527
48717
  handle(event) {
@@ -48579,7 +48769,6 @@ class TabBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
48579
48769
  this._addPreserveOnPropertyChangeProperties(['selectedTab']);
48580
48770
 
48581
48771
  this._tabBoxHeaderPropertyChangeHander = this._onTabBoxHeaderPropertyChange.bind(this);
48582
- this._selectedTabScrollTopChangeHandler = this._updateScrollShadow.bind(this);
48583
48772
  }
48584
48773
  /**
48585
48774
  * @override FormField.js
@@ -48733,17 +48922,19 @@ class TabBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
48733
48922
  _renderSelectedTab() {
48734
48923
  if (this.selectedTab) {
48735
48924
  this.selectedTab.render(this._$tabContent);
48736
- this.selectedTab.on('propertyChange:scrollTop', this._selectedTabScrollTopChangeHandler);
48925
+ this.selectedTab.get$Scrollable().data('scroll-shadow-customizer', this._updateScrollShadow.bind(this));
48737
48926
  }
48738
48927
 
48739
48928
  if (this.rendered) {
48929
+ this._updateScrollShadow();
48930
+
48740
48931
  _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get(this._$tabContent).invalidateLayoutTree();
48741
48932
  }
48742
48933
  }
48743
48934
 
48744
48935
  _removeSelectedTab() {
48745
48936
  if (this.selectedTab) {
48746
- this.selectedTab.off('propertyChange:scrollTop', this._selectedTabScrollTopChangeHandler);
48937
+ this.selectedTab.get$Scrollable().removeData('scroll-shadow-customizer');
48747
48938
  this.selectedTab.remove();
48748
48939
  }
48749
48940
  }
@@ -48758,13 +48949,11 @@ class TabBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
48758
48949
  this.$container.toggleClass('has-scroll-shadow-top', hasScrollShadowTop);
48759
48950
 
48760
48951
  if (oldHasScrollShadowTop !== hasScrollShadowTop) {
48761
- this.invalidateLayout();
48952
+ this.invalidateLayoutTree(false);
48762
48953
  } // Enlarge header line if there is a shadow, but only if there is a header (controlled by labelVisible)
48763
48954
 
48764
48955
 
48765
- _index__WEBPACK_IMPORTED_MODULE_0__.fields.adjustStatusPositionForScrollShadow(this, () => hasScrollShadowTop && this.labelVisible); // Prevent flickering of status icon
48766
-
48767
- this.validateLayout();
48956
+ _index__WEBPACK_IMPORTED_MODULE_0__.fields.adjustStatusPositionForScrollShadow(this, () => hasScrollShadowTop && this.labelVisible);
48768
48957
  }
48769
48958
 
48770
48959
  setTabAreaStyle(tabAreaStyle) {
@@ -48868,6 +49057,10 @@ class TabBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
48868
49057
  this.header.focusTabItem(tabItem);
48869
49058
  }
48870
49059
 
49060
+ getTabForItem(tabItem) {
49061
+ return this.header.getTabForItem(tabItem);
49062
+ }
49063
+
48871
49064
  _onTabBoxHeaderPropertyChange(event) {
48872
49065
  if (event.propertyName === 'selectedTabItem') {
48873
49066
  this.setSelectedTab(event.newValue);
@@ -49020,6 +49213,10 @@ class TabBoxHeader extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
49020
49213
  this.tabArea.focusTabItem(tabItem);
49021
49214
  }
49022
49215
 
49216
+ getTabForItem(tabItem) {
49217
+ return this.tabArea.getTabForItem(tabItem);
49218
+ }
49219
+
49023
49220
  _onTabBoxPropertyChange(event) {
49024
49221
  if (event.propertyName === 'menus') {
49025
49222
  this.menuBar.setMenuItems(this.tabBox.menus);
@@ -49050,7 +49247,7 @@ __webpack_require__.r(__webpack_exports__);
49050
49247
  /* harmony export */ });
49051
49248
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../index */ "./src/index.js");
49052
49249
  /*
49053
- * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
49250
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
49054
49251
  * All rights reserved. This program and the accompanying materials
49055
49252
  * are made available under the terms of the Eclipse Public License v1.0
49056
49253
  * which accompanies this distribution, and is available at
@@ -49085,21 +49282,20 @@ class TabBoxHeaderLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLay
49085
49282
  }
49086
49283
 
49087
49284
  layout($container) {
49088
- //
49089
49285
  let htmlContainer = _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get($container),
49090
49286
  tabArea = this.tabBoxHeader.tabArea,
49091
49287
  tabAreaMargins = tabArea.htmlComp.margins(),
49092
49288
  tabAreaPrefSize,
49093
49289
  menuBar = this.tabBoxHeader.menuBar,
49094
49290
  menuBarMargins = menuBar.htmlComp.margins(),
49095
- menuBarMinumumSize,
49291
+ menuBarMinimumSize,
49096
49292
  $status = this.tabBoxHeader.tabBox.$status,
49097
49293
  statusSizeLarge = new _index__WEBPACK_IMPORTED_MODULE_0__.Dimension(),
49098
49294
  insets = htmlContainer.insets(),
49099
49295
  containerSize = htmlContainer.availableSize({
49100
49296
  exact: true
49101
49297
  }).subtract(htmlContainer.insets());
49102
- menuBarMinumumSize = menuBar.htmlComp.prefSize({
49298
+ menuBarMinimumSize = menuBar.htmlComp.prefSize({
49103
49299
  widthHint: 0
49104
49300
  });
49105
49301
 
@@ -49109,7 +49305,7 @@ class TabBoxHeaderLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLay
49109
49305
  }
49110
49306
 
49111
49307
  tabAreaPrefSize = tabArea.htmlComp.prefSize({
49112
- widthHint: containerSize.width - menuBarMinumumSize.width - menuBarMargins.horizontal() - statusSizeLarge.width,
49308
+ widthHint: containerSize.width - menuBarMinimumSize.width - menuBarMargins.horizontal() - statusSizeLarge.width,
49113
49309
  exact: false
49114
49310
  }); // layout tabArea
49115
49311
 
@@ -49409,6 +49605,10 @@ class TabItem extends _index__WEBPACK_IMPORTED_MODULE_0__.GroupBox {
49409
49605
  }
49410
49606
  }
49411
49607
 
49608
+ getTab() {
49609
+ return this.parent.getTabForItem(this);
49610
+ }
49611
+
49412
49612
  }
49413
49613
 
49414
49614
  /***/ }),
@@ -50967,11 +51167,11 @@ __webpack_require__.r(__webpack_exports__);
50967
51167
  /* harmony export */ });
50968
51168
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../index */ "./src/index.js");
50969
51169
  /*
50970
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
51170
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
50971
51171
  * All rights reserved. This program and the accompanying materials
50972
51172
  * are made available under the terms of the Eclipse Public License v1.0
50973
51173
  * which accompanies this distribution, and is available at
50974
- * http://www.eclipse.org/legal/epl-v10.html
51174
+ * https://www.eclipse.org/legal/epl-v10.html
50975
51175
  *
50976
51176
  * Contributors:
50977
51177
  * BSI Business Systems Integration AG - initial API and implementation
@@ -51176,14 +51376,15 @@ class TreeBox extends _index__WEBPACK_IMPORTED_MODULE_0__.LookupBox {
51176
51376
  node.enabled = false;
51177
51377
  }
51178
51378
 
51179
- if (lookupRow.active === false) {
51180
- node.active = false;
51181
- }
51182
-
51183
51379
  if (lookupRow.cssClass) {
51184
51380
  node.cssClass = lookupRow.cssClass;
51185
51381
  }
51186
51382
 
51383
+ if (lookupRow.active === false) {
51384
+ node.active = false;
51385
+ node.cssClass = (node.cssClass ? node.cssClass + ' ' : '') + 'inactive';
51386
+ }
51387
+
51187
51388
  return node;
51188
51389
  }
51189
51390
 
@@ -52373,7 +52574,7 @@ __webpack_require__.r(__webpack_exports__);
52373
52574
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
52374
52575
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
52375
52576
  /*
52376
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
52577
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
52377
52578
  * All rights reserved. This program and the accompanying materials
52378
52579
  * are made available under the terms of the Eclipse Public License v1.0
52379
52580
  * which accompanies this distribution, and is available at
@@ -52394,7 +52595,7 @@ class GlassPane extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
52394
52595
  this.$parent.addClass('glasspane-parent');
52395
52596
  let cssPosition = this.$parent.css('position');
52396
52597
 
52397
- if (!_index__WEBPACK_IMPORTED_MODULE_0__.scout.isOneOf(cssPosition, 'relative', 'absolute')) {
52598
+ if (cssPosition === 'static') {
52398
52599
  this.$parent.css('position', 'relative');
52399
52600
  } // Register 'glassPaneTarget' in focus manager.
52400
52601
 
@@ -54218,134 +54419,134 @@ __webpack_require__.r(__webpack_exports__);
54218
54419
  /* harmony export */ "WidgetTooltip": () => (/* reexport safe */ _tooltip_WidgetTooltip__WEBPACK_IMPORTED_MODULE_170__["default"]),
54219
54420
  /* harmony export */ "Action": () => (/* reexport safe */ _action_Action__WEBPACK_IMPORTED_MODULE_171__["default"]),
54220
54421
  /* harmony export */ "ActionAdapter": () => (/* reexport safe */ _action_ActionAdapter__WEBPACK_IMPORTED_MODULE_172__["default"]),
54221
- /* harmony export */ "ActionKeyStroke": () => (/* reexport safe */ _action_ActionKeyStroke__WEBPACK_IMPORTED_MODULE_173__["default"]),
54222
- /* harmony export */ "Box": () => (/* reexport safe */ _box_Box__WEBPACK_IMPORTED_MODULE_174__["default"]),
54223
- /* harmony export */ "Label": () => (/* reexport safe */ _label_Label__WEBPACK_IMPORTED_MODULE_175__["default"]),
54224
- /* harmony export */ "LabelAdapter": () => (/* reexport safe */ _label_LabelAdapter__WEBPACK_IMPORTED_MODULE_176__["default"]),
54225
- /* harmony export */ "Popup": () => (/* reexport safe */ _popup_Popup__WEBPACK_IMPORTED_MODULE_177__["default"]),
54226
- /* harmony export */ "PopupAdapter": () => (/* reexport safe */ _popup_PopupAdapter__WEBPACK_IMPORTED_MODULE_178__["default"]),
54227
- /* harmony export */ "PopupLayout": () => (/* reexport safe */ _popup_PopupLayout__WEBPACK_IMPORTED_MODULE_179__["default"]),
54228
- /* harmony export */ "PopupManager": () => (/* reexport safe */ _popup_PopupManager__WEBPACK_IMPORTED_MODULE_180__["default"]),
54229
- /* harmony export */ "PopupManagerAdapter": () => (/* reexport safe */ _popup_PopupManagerAdapter__WEBPACK_IMPORTED_MODULE_181__["default"]),
54230
- /* harmony export */ "TouchPopup": () => (/* reexport safe */ _popup_TouchPopup__WEBPACK_IMPORTED_MODULE_182__["default"]),
54231
- /* harmony export */ "TouchPopupLayout": () => (/* reexport safe */ _popup_TouchPopupLayout__WEBPACK_IMPORTED_MODULE_183__["default"]),
54232
- /* harmony export */ "WidgetPopup": () => (/* reexport safe */ _popup_WidgetPopup__WEBPACK_IMPORTED_MODULE_184__["default"]),
54233
- /* harmony export */ "WidgetPopupAdapter": () => (/* reexport safe */ _popup_WidgetPopupAdapter__WEBPACK_IMPORTED_MODULE_185__["default"]),
54234
- /* harmony export */ "WidgetPopupLayout": () => (/* reexport safe */ _popup_WidgetPopupLayout__WEBPACK_IMPORTED_MODULE_186__["default"]),
54235
- /* harmony export */ "MobilePopup": () => (/* reexport safe */ _popup_MobilePopup__WEBPACK_IMPORTED_MODULE_187__["default"]),
54236
- /* harmony export */ "MobilePopupAdapter": () => (/* reexport safe */ _popup_MobilePopupAdapter__WEBPACK_IMPORTED_MODULE_188__["default"]),
54237
- /* harmony export */ "MobilePopupLayout": () => (/* reexport safe */ _popup_MobilePopupLayout__WEBPACK_IMPORTED_MODULE_189__["default"]),
54238
- /* harmony export */ "DatePicker": () => (/* reexport safe */ _datepicker_DatePicker__WEBPACK_IMPORTED_MODULE_190__["default"]),
54239
- /* harmony export */ "DatePickerPopup": () => (/* reexport safe */ _datepicker_DatePickerPopup__WEBPACK_IMPORTED_MODULE_191__["default"]),
54240
- /* harmony export */ "DatePickerPopupLayout": () => (/* reexport safe */ _datepicker_DatePickerPopupLayout__WEBPACK_IMPORTED_MODULE_192__["default"]),
54241
- /* harmony export */ "DatePickerTouchPopup": () => (/* reexport safe */ _datepicker_DatePickerTouchPopup__WEBPACK_IMPORTED_MODULE_193__["default"]),
54242
- /* harmony export */ "DatePickerTouchPopupLayout": () => (/* reexport safe */ _datepicker_DatePickerTouchPopupLayout__WEBPACK_IMPORTED_MODULE_194__["default"]),
54243
- /* harmony export */ "Group": () => (/* reexport safe */ _group_Group__WEBPACK_IMPORTED_MODULE_195__["default"]),
54244
- /* harmony export */ "GroupAdapter": () => (/* reexport safe */ _group_GroupAdapter__WEBPACK_IMPORTED_MODULE_196__["default"]),
54245
- /* harmony export */ "GroupLayout": () => (/* reexport safe */ _group_GroupLayout__WEBPACK_IMPORTED_MODULE_197__["default"]),
54246
- /* harmony export */ "GroupToggleCollapseKeyStroke": () => (/* reexport safe */ _group_keystrokes_GroupToggleCollapseKeyStroke__WEBPACK_IMPORTED_MODULE_198__["default"]),
54247
- /* harmony export */ "Icon": () => (/* reexport safe */ _image_Icon__WEBPACK_IMPORTED_MODULE_199__["default"]),
54248
- /* harmony export */ "IconDesc": () => (/* reexport safe */ _image_IconDesc__WEBPACK_IMPORTED_MODULE_200__["default"]),
54249
- /* harmony export */ "Image": () => (/* reexport safe */ _image_Image__WEBPACK_IMPORTED_MODULE_201__["default"]),
54250
- /* harmony export */ "ImageLayout": () => (/* reexport safe */ _image_ImageLayout__WEBPACK_IMPORTED_MODULE_202__["default"]),
54251
- /* harmony export */ "Notification": () => (/* reexport safe */ _notification_Notification__WEBPACK_IMPORTED_MODULE_203__["default"]),
54252
- /* harmony export */ "NotificationAdapter": () => (/* reexport safe */ _notification_NotificationAdapter__WEBPACK_IMPORTED_MODULE_204__["default"]),
54253
- /* harmony export */ "menus": () => (/* reexport safe */ _menu_menus__WEBPACK_IMPORTED_MODULE_205__["default"]),
54254
- /* harmony export */ "MenuDestinations": () => (/* reexport safe */ _menu_MenuDestinations__WEBPACK_IMPORTED_MODULE_206__["default"]),
54255
- /* harmony export */ "Menu": () => (/* reexport safe */ _menu_Menu__WEBPACK_IMPORTED_MODULE_207__["default"]),
54256
- /* harmony export */ "EllipsisMenu": () => (/* reexport safe */ _menu_EllipsisMenu__WEBPACK_IMPORTED_MODULE_208__["default"]),
54257
- /* harmony export */ "MenuAdapter": () => (/* reexport safe */ _menu_MenuAdapter__WEBPACK_IMPORTED_MODULE_209__["default"]),
54258
- /* harmony export */ "MenuKeyStroke": () => (/* reexport safe */ _menu_MenuKeyStroke__WEBPACK_IMPORTED_MODULE_210__["default"]),
54259
- /* harmony export */ "MenuExecKeyStroke": () => (/* reexport safe */ _menu_MenuExecKeyStroke__WEBPACK_IMPORTED_MODULE_211__["default"]),
54260
- /* harmony export */ "MenuItemsOrder": () => (/* reexport safe */ _menu_MenuItemsOrder__WEBPACK_IMPORTED_MODULE_212__["default"]),
54261
- /* harmony export */ "ComboMenu": () => (/* reexport safe */ _menu_ComboMenu__WEBPACK_IMPORTED_MODULE_213__["default"]),
54262
- /* harmony export */ "ComboMenuAdapter": () => (/* reexport safe */ _menu_ComboMenuAdapter__WEBPACK_IMPORTED_MODULE_214__["default"]),
54263
- /* harmony export */ "ContextMenuPopup": () => (/* reexport safe */ _menu_ContextMenuPopup__WEBPACK_IMPORTED_MODULE_215__["default"]),
54264
- /* harmony export */ "ContextMenuPopupLayout": () => (/* reexport safe */ _menu_ContextMenuPopupLayout__WEBPACK_IMPORTED_MODULE_216__["default"]),
54265
- /* harmony export */ "MenuNavigationKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_217__["default"]),
54266
- /* harmony export */ "MenuNavigationExecKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationExecKeyStroke__WEBPACK_IMPORTED_MODULE_218__["default"]),
54267
- /* harmony export */ "MenuExecByNumberKeyStroke": () => (/* reexport safe */ _menu_MenuExecByNumberKeyStroke__WEBPACK_IMPORTED_MODULE_219__["default"]),
54268
- /* harmony export */ "MenuNavigationDownKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationDownKeyStroke__WEBPACK_IMPORTED_MODULE_220__["default"]),
54269
- /* harmony export */ "MenuNavigationUpKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationUpKeyStroke__WEBPACK_IMPORTED_MODULE_221__["default"]),
54270
- /* harmony export */ "SubCloseKeyStroke": () => (/* reexport safe */ _menu_SubCloseKeyStroke__WEBPACK_IMPORTED_MODULE_222__["default"]),
54271
- /* harmony export */ "menuNavigationKeyStrokes": () => (/* reexport safe */ _menu_menuNavigationKeyStrokes__WEBPACK_IMPORTED_MODULE_223__["default"]),
54272
- /* harmony export */ "ButtonAdapterMenu": () => (/* reexport safe */ _menu_ButtonAdapterMenu__WEBPACK_IMPORTED_MODULE_224__["default"]),
54273
- /* harmony export */ "FormFieldMenu": () => (/* reexport safe */ _menu_form_field_FormFieldMenu__WEBPACK_IMPORTED_MODULE_225__["default"]),
54274
- /* harmony export */ "FormFieldMenuAdapter": () => (/* reexport safe */ _menu_form_field_FormFieldMenuAdapter__WEBPACK_IMPORTED_MODULE_226__["default"]),
54275
- /* harmony export */ "MenuBox": () => (/* reexport safe */ _menu_menubox_MenuBox__WEBPACK_IMPORTED_MODULE_227__["default"]),
54276
- /* harmony export */ "MenuBoxLayout": () => (/* reexport safe */ _menu_menubox_MenuBoxLayout__WEBPACK_IMPORTED_MODULE_228__["default"]),
54277
- /* harmony export */ "MenuBar": () => (/* reexport safe */ _menu_menubar_MenuBar__WEBPACK_IMPORTED_MODULE_229__["default"]),
54278
- /* harmony export */ "MenuBarLayout": () => (/* reexport safe */ _menu_menubar_MenuBarLayout__WEBPACK_IMPORTED_MODULE_230__["default"]),
54279
- /* harmony export */ "MenuBarLeftKeyStroke": () => (/* reexport safe */ _menu_menubar_MenuBarLeftKeyStroke__WEBPACK_IMPORTED_MODULE_231__["default"]),
54280
- /* harmony export */ "MenuBarRightKeyStroke": () => (/* reexport safe */ _menu_menubar_MenuBarRightKeyStroke__WEBPACK_IMPORTED_MODULE_232__["default"]),
54281
- /* harmony export */ "MenuBarPopup": () => (/* reexport safe */ _menu_menubar_MenuBarPopup__WEBPACK_IMPORTED_MODULE_233__["default"]),
54282
- /* harmony export */ "MenuBarBox": () => (/* reexport safe */ _menu_menubar_MenuBarBox__WEBPACK_IMPORTED_MODULE_234__["default"]),
54283
- /* harmony export */ "MenuBarBoxLayout": () => (/* reexport safe */ _menu_menubar_MenuBarBoxLayout__WEBPACK_IMPORTED_MODULE_235__["default"]),
54284
- /* harmony export */ "Calendar": () => (/* reexport safe */ _calendar_Calendar__WEBPACK_IMPORTED_MODULE_236__["default"]),
54285
- /* harmony export */ "CalendarAdapter": () => (/* reexport safe */ _calendar_CalendarAdapter__WEBPACK_IMPORTED_MODULE_237__["default"]),
54286
- /* harmony export */ "CalendarComponent": () => (/* reexport safe */ _calendar_CalendarComponent__WEBPACK_IMPORTED_MODULE_238__["default"]),
54287
- /* harmony export */ "CalendarComponentAdapter": () => (/* reexport safe */ _calendar_CalendarComponentAdapter__WEBPACK_IMPORTED_MODULE_239__["default"]),
54288
- /* harmony export */ "CalendarListComponent": () => (/* reexport safe */ _calendar_CalendarListComponent__WEBPACK_IMPORTED_MODULE_240__["default"]),
54289
- /* harmony export */ "CalendarLayout": () => (/* reexport safe */ _calendar_CalendarLayout__WEBPACK_IMPORTED_MODULE_241__["default"]),
54290
- /* harmony export */ "CalendarModeMenu": () => (/* reexport safe */ _calendar_CalendarModeMenu__WEBPACK_IMPORTED_MODULE_242__["default"]),
54291
- /* harmony export */ "CalendarModesMenu": () => (/* reexport safe */ _calendar_CalendarModesMenu__WEBPACK_IMPORTED_MODULE_243__["default"]),
54292
- /* harmony export */ "DateRange": () => (/* reexport safe */ _calendar_DateRange__WEBPACK_IMPORTED_MODULE_244__["default"]),
54293
- /* harmony export */ "YearPanel": () => (/* reexport safe */ _calendar_YearPanel__WEBPACK_IMPORTED_MODULE_245__["default"]),
54294
- /* harmony export */ "Lifecycle": () => (/* reexport safe */ _lifecycle_Lifecycle__WEBPACK_IMPORTED_MODULE_246__["default"]),
54295
- /* harmony export */ "Planner": () => (/* reexport safe */ _planner_Planner__WEBPACK_IMPORTED_MODULE_247__["default"]),
54296
- /* harmony export */ "PlannerAdapter": () => (/* reexport safe */ _planner_PlannerAdapter__WEBPACK_IMPORTED_MODULE_248__["default"]),
54297
- /* harmony export */ "PlannerHeader": () => (/* reexport safe */ _planner_PlannerHeader__WEBPACK_IMPORTED_MODULE_249__["default"]),
54298
- /* harmony export */ "PlannerLayout": () => (/* reexport safe */ _planner_PlannerLayout__WEBPACK_IMPORTED_MODULE_250__["default"]),
54299
- /* harmony export */ "PlannerMenuItemsOrder": () => (/* reexport safe */ _planner_PlannerMenuItemsOrder__WEBPACK_IMPORTED_MODULE_251__["default"]),
54300
- /* harmony export */ "FileChooser": () => (/* reexport safe */ _filechooser_FileChooser__WEBPACK_IMPORTED_MODULE_252__["default"]),
54301
- /* harmony export */ "FileChooserAdapter": () => (/* reexport safe */ _filechooser_FileChooserAdapter__WEBPACK_IMPORTED_MODULE_253__["default"]),
54302
- /* harmony export */ "FileChooserController": () => (/* reexport safe */ _filechooser_FileChooserController__WEBPACK_IMPORTED_MODULE_254__["default"]),
54303
- /* harmony export */ "FileInput": () => (/* reexport safe */ _filechooser_FileInput__WEBPACK_IMPORTED_MODULE_255__["default"]),
54304
- /* harmony export */ "Route": () => (/* reexport safe */ _router_Route__WEBPACK_IMPORTED_MODULE_256__["default"]),
54305
- /* harmony export */ "router": () => (/* reexport safe */ _router_router__WEBPACK_IMPORTED_MODULE_257__["default"]),
54306
- /* harmony export */ "Slider": () => (/* reexport safe */ _slider_Slider__WEBPACK_IMPORTED_MODULE_258__["default"]),
54307
- /* harmony export */ "SliderAdapter": () => (/* reexport safe */ _slider_SliderAdapter__WEBPACK_IMPORTED_MODULE_259__["default"]),
54308
- /* harmony export */ "SliderLayout": () => (/* reexport safe */ _slider_SliderLayout__WEBPACK_IMPORTED_MODULE_260__["default"]),
54309
- /* harmony export */ "Mode": () => (/* reexport safe */ _modeselector_Mode__WEBPACK_IMPORTED_MODULE_261__["default"]),
54310
- /* harmony export */ "ModeAdapter": () => (/* reexport safe */ _modeselector_ModeAdapter__WEBPACK_IMPORTED_MODULE_262__["default"]),
54311
- /* harmony export */ "ModeSelector": () => (/* reexport safe */ _modeselector_ModeSelector__WEBPACK_IMPORTED_MODULE_263__["default"]),
54312
- /* harmony export */ "ModeSelectorLayout": () => (/* reexport safe */ _modeselector_ModeSelectorLayout__WEBPACK_IMPORTED_MODULE_264__["default"]),
54313
- /* harmony export */ "Form": () => (/* reexport safe */ _form_Form__WEBPACK_IMPORTED_MODULE_265__["default"]),
54314
- /* harmony export */ "FormAdapter": () => (/* reexport safe */ _form_FormAdapter__WEBPACK_IMPORTED_MODULE_266__["default"]),
54315
- /* harmony export */ "FormGrid": () => (/* reexport safe */ _form_FormGrid__WEBPACK_IMPORTED_MODULE_267__["default"]),
54316
- /* harmony export */ "FormLayout": () => (/* reexport safe */ _form_FormLayout__WEBPACK_IMPORTED_MODULE_268__["default"]),
54317
- /* harmony export */ "FormMenuActionKeyStroke": () => (/* reexport safe */ _form_FormMenuActionKeyStroke__WEBPACK_IMPORTED_MODULE_269__["default"]),
54318
- /* harmony export */ "FormMenu": () => (/* reexport safe */ _form_FormMenu__WEBPACK_IMPORTED_MODULE_270__["default"]),
54319
- /* harmony export */ "FormMenuAdapter": () => (/* reexport safe */ _form_FormMenuAdapter__WEBPACK_IMPORTED_MODULE_271__["default"]),
54320
- /* harmony export */ "FormLifecycle": () => (/* reexport safe */ _form_lifecycle_FormLifecycle__WEBPACK_IMPORTED_MODULE_272__["default"]),
54321
- /* harmony export */ "CancelMenu": () => (/* reexport safe */ _form_lifecycle_CancelMenu__WEBPACK_IMPORTED_MODULE_273__["default"]),
54322
- /* harmony export */ "CloseMenu": () => (/* reexport safe */ _form_lifecycle_CloseMenu__WEBPACK_IMPORTED_MODULE_274__["default"]),
54323
- /* harmony export */ "OkMenu": () => (/* reexport safe */ _form_lifecycle_OkMenu__WEBPACK_IMPORTED_MODULE_275__["default"]),
54324
- /* harmony export */ "ResetMenu": () => (/* reexport safe */ _form_lifecycle_ResetMenu__WEBPACK_IMPORTED_MODULE_276__["default"]),
54325
- /* harmony export */ "SaveMenu": () => (/* reexport safe */ _form_lifecycle_SaveMenu__WEBPACK_IMPORTED_MODULE_277__["default"]),
54326
- /* harmony export */ "DialogLayout": () => (/* reexport safe */ _form_DialogLayout__WEBPACK_IMPORTED_MODULE_278__["default"]),
54327
- /* harmony export */ "ResponsiveManager": () => (/* reexport safe */ _form_ResponsiveManager__WEBPACK_IMPORTED_MODULE_279__["default"]),
54328
- /* harmony export */ "ResponsiveHandler": () => (/* reexport safe */ _form_ResponsiveHandler__WEBPACK_IMPORTED_MODULE_280__["default"]),
54329
- /* harmony export */ "GroupBoxResponsiveHandler": () => (/* reexport safe */ _form_GroupBoxResponsiveHandler__WEBPACK_IMPORTED_MODULE_281__["default"]),
54330
- /* harmony export */ "DesktopResponsiveHandler": () => (/* reexport safe */ _form_DesktopResponsiveHandler__WEBPACK_IMPORTED_MODULE_282__["default"]),
54331
- /* harmony export */ "TileOverviewForm": () => (/* reexport safe */ _form_TileOverviewForm__WEBPACK_IMPORTED_MODULE_283__["default"]),
54332
- /* harmony export */ "TileOverviewFormAdapter": () => (/* reexport safe */ _form_TileOverviewFormAdapter__WEBPACK_IMPORTED_MODULE_284__["default"]),
54333
- /* harmony export */ "Table": () => (/* reexport safe */ _table_Table__WEBPACK_IMPORTED_MODULE_285__["default"]),
54334
- /* harmony export */ "TableAdapter": () => (/* reexport safe */ _table_TableAdapter__WEBPACK_IMPORTED_MODULE_286__["default"]),
54335
- /* harmony export */ "TableCompactHandler": () => (/* reexport safe */ _table_TableCompactHandler__WEBPACK_IMPORTED_MODULE_287__["default"]),
54336
- /* harmony export */ "TableRow": () => (/* reexport safe */ _table_TableRow__WEBPACK_IMPORTED_MODULE_288__["default"]),
54337
- /* harmony export */ "TableMatrix": () => (/* reexport safe */ _table_TableMatrix__WEBPACK_IMPORTED_MODULE_289__["default"]),
54338
- /* harmony export */ "TableFooter": () => (/* reexport safe */ _table_TableFooter__WEBPACK_IMPORTED_MODULE_290__["default"]),
54339
- /* harmony export */ "TableFooterLayout": () => (/* reexport safe */ _table_TableFooterLayout__WEBPACK_IMPORTED_MODULE_291__["default"]),
54340
- /* harmony export */ "TableInfoFilterTooltip": () => (/* reexport safe */ _table_TableInfoFilterTooltip__WEBPACK_IMPORTED_MODULE_292__["default"]),
54341
- /* harmony export */ "TableInfoLoadTooltip": () => (/* reexport safe */ _table_TableInfoLoadTooltip__WEBPACK_IMPORTED_MODULE_293__["default"]),
54342
- /* harmony export */ "TableInfoSelectionTooltip": () => (/* reexport safe */ _table_TableInfoSelectionTooltip__WEBPACK_IMPORTED_MODULE_294__["default"]),
54343
- /* harmony export */ "TableHeader": () => (/* reexport safe */ _table_TableHeader__WEBPACK_IMPORTED_MODULE_295__["default"]),
54344
- /* harmony export */ "TableHeaderMenu": () => (/* reexport safe */ _table_TableHeaderMenu__WEBPACK_IMPORTED_MODULE_296__["default"]),
54345
- /* harmony export */ "TableHeaderMenuLayout": () => (/* reexport safe */ _table_TableHeaderMenuLayout__WEBPACK_IMPORTED_MODULE_297__["default"]),
54346
- /* harmony export */ "TableHeaderMenuGroup": () => (/* reexport safe */ _table_TableHeaderMenuGroup__WEBPACK_IMPORTED_MODULE_298__["default"]),
54347
- /* harmony export */ "TableHeaderMenuButton": () => (/* reexport safe */ _table_TableHeaderMenuButton__WEBPACK_IMPORTED_MODULE_299__["default"]),
54348
- /* harmony export */ "TableHeaderMenuButtonKeyStroke": () => (/* reexport safe */ _table_TableHeaderMenuButtonKeyStroke__WEBPACK_IMPORTED_MODULE_300__["default"]),
54422
+ /* harmony export */ "ActionExecKeyStroke": () => (/* reexport safe */ _action_ActionExecKeyStroke__WEBPACK_IMPORTED_MODULE_173__["default"]),
54423
+ /* harmony export */ "ActionKeyStroke": () => (/* reexport safe */ _action_ActionKeyStroke__WEBPACK_IMPORTED_MODULE_174__["default"]),
54424
+ /* harmony export */ "Box": () => (/* reexport safe */ _box_Box__WEBPACK_IMPORTED_MODULE_175__["default"]),
54425
+ /* harmony export */ "Label": () => (/* reexport safe */ _label_Label__WEBPACK_IMPORTED_MODULE_176__["default"]),
54426
+ /* harmony export */ "LabelAdapter": () => (/* reexport safe */ _label_LabelAdapter__WEBPACK_IMPORTED_MODULE_177__["default"]),
54427
+ /* harmony export */ "Popup": () => (/* reexport safe */ _popup_Popup__WEBPACK_IMPORTED_MODULE_178__["default"]),
54428
+ /* harmony export */ "PopupAdapter": () => (/* reexport safe */ _popup_PopupAdapter__WEBPACK_IMPORTED_MODULE_179__["default"]),
54429
+ /* harmony export */ "PopupLayout": () => (/* reexport safe */ _popup_PopupLayout__WEBPACK_IMPORTED_MODULE_180__["default"]),
54430
+ /* harmony export */ "PopupManager": () => (/* reexport safe */ _popup_PopupManager__WEBPACK_IMPORTED_MODULE_181__["default"]),
54431
+ /* harmony export */ "PopupManagerAdapter": () => (/* reexport safe */ _popup_PopupManagerAdapter__WEBPACK_IMPORTED_MODULE_182__["default"]),
54432
+ /* harmony export */ "TouchPopup": () => (/* reexport safe */ _popup_TouchPopup__WEBPACK_IMPORTED_MODULE_183__["default"]),
54433
+ /* harmony export */ "TouchPopupLayout": () => (/* reexport safe */ _popup_TouchPopupLayout__WEBPACK_IMPORTED_MODULE_184__["default"]),
54434
+ /* harmony export */ "WidgetPopup": () => (/* reexport safe */ _popup_WidgetPopup__WEBPACK_IMPORTED_MODULE_185__["default"]),
54435
+ /* harmony export */ "WidgetPopupAdapter": () => (/* reexport safe */ _popup_WidgetPopupAdapter__WEBPACK_IMPORTED_MODULE_186__["default"]),
54436
+ /* harmony export */ "WidgetPopupLayout": () => (/* reexport safe */ _popup_WidgetPopupLayout__WEBPACK_IMPORTED_MODULE_187__["default"]),
54437
+ /* harmony export */ "MobilePopup": () => (/* reexport safe */ _popup_MobilePopup__WEBPACK_IMPORTED_MODULE_188__["default"]),
54438
+ /* harmony export */ "MobilePopupAdapter": () => (/* reexport safe */ _popup_MobilePopupAdapter__WEBPACK_IMPORTED_MODULE_189__["default"]),
54439
+ /* harmony export */ "MobilePopupLayout": () => (/* reexport safe */ _popup_MobilePopupLayout__WEBPACK_IMPORTED_MODULE_190__["default"]),
54440
+ /* harmony export */ "DatePicker": () => (/* reexport safe */ _datepicker_DatePicker__WEBPACK_IMPORTED_MODULE_191__["default"]),
54441
+ /* harmony export */ "DatePickerPopup": () => (/* reexport safe */ _datepicker_DatePickerPopup__WEBPACK_IMPORTED_MODULE_192__["default"]),
54442
+ /* harmony export */ "DatePickerPopupLayout": () => (/* reexport safe */ _datepicker_DatePickerPopupLayout__WEBPACK_IMPORTED_MODULE_193__["default"]),
54443
+ /* harmony export */ "DatePickerTouchPopup": () => (/* reexport safe */ _datepicker_DatePickerTouchPopup__WEBPACK_IMPORTED_MODULE_194__["default"]),
54444
+ /* harmony export */ "DatePickerTouchPopupLayout": () => (/* reexport safe */ _datepicker_DatePickerTouchPopupLayout__WEBPACK_IMPORTED_MODULE_195__["default"]),
54445
+ /* harmony export */ "Group": () => (/* reexport safe */ _group_Group__WEBPACK_IMPORTED_MODULE_196__["default"]),
54446
+ /* harmony export */ "GroupAdapter": () => (/* reexport safe */ _group_GroupAdapter__WEBPACK_IMPORTED_MODULE_197__["default"]),
54447
+ /* harmony export */ "GroupLayout": () => (/* reexport safe */ _group_GroupLayout__WEBPACK_IMPORTED_MODULE_198__["default"]),
54448
+ /* harmony export */ "GroupToggleCollapseKeyStroke": () => (/* reexport safe */ _group_keystrokes_GroupToggleCollapseKeyStroke__WEBPACK_IMPORTED_MODULE_199__["default"]),
54449
+ /* harmony export */ "Icon": () => (/* reexport safe */ _image_Icon__WEBPACK_IMPORTED_MODULE_200__["default"]),
54450
+ /* harmony export */ "IconDesc": () => (/* reexport safe */ _image_IconDesc__WEBPACK_IMPORTED_MODULE_201__["default"]),
54451
+ /* harmony export */ "Image": () => (/* reexport safe */ _image_Image__WEBPACK_IMPORTED_MODULE_202__["default"]),
54452
+ /* harmony export */ "ImageLayout": () => (/* reexport safe */ _image_ImageLayout__WEBPACK_IMPORTED_MODULE_203__["default"]),
54453
+ /* harmony export */ "Notification": () => (/* reexport safe */ _notification_Notification__WEBPACK_IMPORTED_MODULE_204__["default"]),
54454
+ /* harmony export */ "NotificationAdapter": () => (/* reexport safe */ _notification_NotificationAdapter__WEBPACK_IMPORTED_MODULE_205__["default"]),
54455
+ /* harmony export */ "menus": () => (/* reexport safe */ _menu_menus__WEBPACK_IMPORTED_MODULE_206__["default"]),
54456
+ /* harmony export */ "MenuDestinations": () => (/* reexport safe */ _menu_MenuDestinations__WEBPACK_IMPORTED_MODULE_207__["default"]),
54457
+ /* harmony export */ "Menu": () => (/* reexport safe */ _menu_Menu__WEBPACK_IMPORTED_MODULE_208__["default"]),
54458
+ /* harmony export */ "EllipsisMenu": () => (/* reexport safe */ _menu_EllipsisMenu__WEBPACK_IMPORTED_MODULE_209__["default"]),
54459
+ /* harmony export */ "MenuAdapter": () => (/* reexport safe */ _menu_MenuAdapter__WEBPACK_IMPORTED_MODULE_210__["default"]),
54460
+ /* harmony export */ "MenuKeyStroke": () => (/* reexport safe */ _menu_MenuKeyStroke__WEBPACK_IMPORTED_MODULE_211__["default"]),
54461
+ /* harmony export */ "MenuExecKeyStroke": () => (/* reexport safe */ _menu_MenuExecKeyStroke__WEBPACK_IMPORTED_MODULE_212__["default"]),
54462
+ /* harmony export */ "MenuItemsOrder": () => (/* reexport safe */ _menu_MenuItemsOrder__WEBPACK_IMPORTED_MODULE_213__["default"]),
54463
+ /* harmony export */ "ComboMenu": () => (/* reexport safe */ _menu_ComboMenu__WEBPACK_IMPORTED_MODULE_214__["default"]),
54464
+ /* harmony export */ "ComboMenuAdapter": () => (/* reexport safe */ _menu_ComboMenuAdapter__WEBPACK_IMPORTED_MODULE_215__["default"]),
54465
+ /* harmony export */ "ContextMenuPopup": () => (/* reexport safe */ _menu_ContextMenuPopup__WEBPACK_IMPORTED_MODULE_216__["default"]),
54466
+ /* harmony export */ "ContextMenuPopupLayout": () => (/* reexport safe */ _menu_ContextMenuPopupLayout__WEBPACK_IMPORTED_MODULE_217__["default"]),
54467
+ /* harmony export */ "MenuNavigationKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_218__["default"]),
54468
+ /* harmony export */ "MenuNavigationExecKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationExecKeyStroke__WEBPACK_IMPORTED_MODULE_219__["default"]),
54469
+ /* harmony export */ "MenuExecByNumberKeyStroke": () => (/* reexport safe */ _menu_MenuExecByNumberKeyStroke__WEBPACK_IMPORTED_MODULE_220__["default"]),
54470
+ /* harmony export */ "MenuNavigationDownKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationDownKeyStroke__WEBPACK_IMPORTED_MODULE_221__["default"]),
54471
+ /* harmony export */ "MenuNavigationUpKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationUpKeyStroke__WEBPACK_IMPORTED_MODULE_222__["default"]),
54472
+ /* harmony export */ "SubCloseKeyStroke": () => (/* reexport safe */ _menu_SubCloseKeyStroke__WEBPACK_IMPORTED_MODULE_223__["default"]),
54473
+ /* harmony export */ "menuNavigationKeyStrokes": () => (/* reexport safe */ _menu_menuNavigationKeyStrokes__WEBPACK_IMPORTED_MODULE_224__["default"]),
54474
+ /* harmony export */ "ButtonAdapterMenu": () => (/* reexport safe */ _menu_ButtonAdapterMenu__WEBPACK_IMPORTED_MODULE_225__["default"]),
54475
+ /* harmony export */ "FormFieldMenu": () => (/* reexport safe */ _menu_form_field_FormFieldMenu__WEBPACK_IMPORTED_MODULE_226__["default"]),
54476
+ /* harmony export */ "FormFieldMenuAdapter": () => (/* reexport safe */ _menu_form_field_FormFieldMenuAdapter__WEBPACK_IMPORTED_MODULE_227__["default"]),
54477
+ /* harmony export */ "MenuBox": () => (/* reexport safe */ _menu_menubox_MenuBox__WEBPACK_IMPORTED_MODULE_228__["default"]),
54478
+ /* harmony export */ "MenuBoxLayout": () => (/* reexport safe */ _menu_menubox_MenuBoxLayout__WEBPACK_IMPORTED_MODULE_229__["default"]),
54479
+ /* harmony export */ "MenuBar": () => (/* reexport safe */ _menu_menubar_MenuBar__WEBPACK_IMPORTED_MODULE_230__["default"]),
54480
+ /* harmony export */ "MenuBarLayout": () => (/* reexport safe */ _menu_menubar_MenuBarLayout__WEBPACK_IMPORTED_MODULE_231__["default"]),
54481
+ /* harmony export */ "MenuBarLeftKeyStroke": () => (/* reexport safe */ _menu_menubar_MenuBarLeftKeyStroke__WEBPACK_IMPORTED_MODULE_232__["default"]),
54482
+ /* harmony export */ "MenuBarRightKeyStroke": () => (/* reexport safe */ _menu_menubar_MenuBarRightKeyStroke__WEBPACK_IMPORTED_MODULE_233__["default"]),
54483
+ /* harmony export */ "MenuBarPopup": () => (/* reexport safe */ _menu_menubar_MenuBarPopup__WEBPACK_IMPORTED_MODULE_234__["default"]),
54484
+ /* harmony export */ "MenuBarBox": () => (/* reexport safe */ _menu_menubar_MenuBarBox__WEBPACK_IMPORTED_MODULE_235__["default"]),
54485
+ /* harmony export */ "MenuBarBoxLayout": () => (/* reexport safe */ _menu_menubar_MenuBarBoxLayout__WEBPACK_IMPORTED_MODULE_236__["default"]),
54486
+ /* harmony export */ "Calendar": () => (/* reexport safe */ _calendar_Calendar__WEBPACK_IMPORTED_MODULE_237__["default"]),
54487
+ /* harmony export */ "CalendarAdapter": () => (/* reexport safe */ _calendar_CalendarAdapter__WEBPACK_IMPORTED_MODULE_238__["default"]),
54488
+ /* harmony export */ "CalendarComponent": () => (/* reexport safe */ _calendar_CalendarComponent__WEBPACK_IMPORTED_MODULE_239__["default"]),
54489
+ /* harmony export */ "CalendarComponentAdapter": () => (/* reexport safe */ _calendar_CalendarComponentAdapter__WEBPACK_IMPORTED_MODULE_240__["default"]),
54490
+ /* harmony export */ "CalendarListComponent": () => (/* reexport safe */ _calendar_CalendarListComponent__WEBPACK_IMPORTED_MODULE_241__["default"]),
54491
+ /* harmony export */ "CalendarLayout": () => (/* reexport safe */ _calendar_CalendarLayout__WEBPACK_IMPORTED_MODULE_242__["default"]),
54492
+ /* harmony export */ "CalendarModeMenu": () => (/* reexport safe */ _calendar_CalendarModeMenu__WEBPACK_IMPORTED_MODULE_243__["default"]),
54493
+ /* harmony export */ "CalendarModesMenu": () => (/* reexport safe */ _calendar_CalendarModesMenu__WEBPACK_IMPORTED_MODULE_244__["default"]),
54494
+ /* harmony export */ "DateRange": () => (/* reexport safe */ _calendar_DateRange__WEBPACK_IMPORTED_MODULE_245__["default"]),
54495
+ /* harmony export */ "YearPanel": () => (/* reexport safe */ _calendar_YearPanel__WEBPACK_IMPORTED_MODULE_246__["default"]),
54496
+ /* harmony export */ "Lifecycle": () => (/* reexport safe */ _lifecycle_Lifecycle__WEBPACK_IMPORTED_MODULE_247__["default"]),
54497
+ /* harmony export */ "Planner": () => (/* reexport safe */ _planner_Planner__WEBPACK_IMPORTED_MODULE_248__["default"]),
54498
+ /* harmony export */ "PlannerAdapter": () => (/* reexport safe */ _planner_PlannerAdapter__WEBPACK_IMPORTED_MODULE_249__["default"]),
54499
+ /* harmony export */ "PlannerHeader": () => (/* reexport safe */ _planner_PlannerHeader__WEBPACK_IMPORTED_MODULE_250__["default"]),
54500
+ /* harmony export */ "PlannerLayout": () => (/* reexport safe */ _planner_PlannerLayout__WEBPACK_IMPORTED_MODULE_251__["default"]),
54501
+ /* harmony export */ "PlannerMenuItemsOrder": () => (/* reexport safe */ _planner_PlannerMenuItemsOrder__WEBPACK_IMPORTED_MODULE_252__["default"]),
54502
+ /* harmony export */ "FileChooser": () => (/* reexport safe */ _filechooser_FileChooser__WEBPACK_IMPORTED_MODULE_253__["default"]),
54503
+ /* harmony export */ "FileChooserAdapter": () => (/* reexport safe */ _filechooser_FileChooserAdapter__WEBPACK_IMPORTED_MODULE_254__["default"]),
54504
+ /* harmony export */ "FileChooserController": () => (/* reexport safe */ _filechooser_FileChooserController__WEBPACK_IMPORTED_MODULE_255__["default"]),
54505
+ /* harmony export */ "FileInput": () => (/* reexport safe */ _filechooser_FileInput__WEBPACK_IMPORTED_MODULE_256__["default"]),
54506
+ /* harmony export */ "Route": () => (/* reexport safe */ _router_Route__WEBPACK_IMPORTED_MODULE_257__["default"]),
54507
+ /* harmony export */ "router": () => (/* reexport safe */ _router_router__WEBPACK_IMPORTED_MODULE_258__["default"]),
54508
+ /* harmony export */ "Slider": () => (/* reexport safe */ _slider_Slider__WEBPACK_IMPORTED_MODULE_259__["default"]),
54509
+ /* harmony export */ "SliderAdapter": () => (/* reexport safe */ _slider_SliderAdapter__WEBPACK_IMPORTED_MODULE_260__["default"]),
54510
+ /* harmony export */ "SliderLayout": () => (/* reexport safe */ _slider_SliderLayout__WEBPACK_IMPORTED_MODULE_261__["default"]),
54511
+ /* harmony export */ "Mode": () => (/* reexport safe */ _modeselector_Mode__WEBPACK_IMPORTED_MODULE_262__["default"]),
54512
+ /* harmony export */ "ModeAdapter": () => (/* reexport safe */ _modeselector_ModeAdapter__WEBPACK_IMPORTED_MODULE_263__["default"]),
54513
+ /* harmony export */ "ModeSelector": () => (/* reexport safe */ _modeselector_ModeSelector__WEBPACK_IMPORTED_MODULE_264__["default"]),
54514
+ /* harmony export */ "ModeSelectorLayout": () => (/* reexport safe */ _modeselector_ModeSelectorLayout__WEBPACK_IMPORTED_MODULE_265__["default"]),
54515
+ /* harmony export */ "Form": () => (/* reexport safe */ _form_Form__WEBPACK_IMPORTED_MODULE_266__["default"]),
54516
+ /* harmony export */ "FormAdapter": () => (/* reexport safe */ _form_FormAdapter__WEBPACK_IMPORTED_MODULE_267__["default"]),
54517
+ /* harmony export */ "FormGrid": () => (/* reexport safe */ _form_FormGrid__WEBPACK_IMPORTED_MODULE_268__["default"]),
54518
+ /* harmony export */ "FormLayout": () => (/* reexport safe */ _form_FormLayout__WEBPACK_IMPORTED_MODULE_269__["default"]),
54519
+ /* harmony export */ "FormMenuActionKeyStroke": () => (/* reexport safe */ _form_FormMenuActionKeyStroke__WEBPACK_IMPORTED_MODULE_270__["default"]),
54520
+ /* harmony export */ "FormMenu": () => (/* reexport safe */ _form_FormMenu__WEBPACK_IMPORTED_MODULE_271__["default"]),
54521
+ /* harmony export */ "FormMenuAdapter": () => (/* reexport safe */ _form_FormMenuAdapter__WEBPACK_IMPORTED_MODULE_272__["default"]),
54522
+ /* harmony export */ "FormLifecycle": () => (/* reexport safe */ _form_lifecycle_FormLifecycle__WEBPACK_IMPORTED_MODULE_273__["default"]),
54523
+ /* harmony export */ "CancelMenu": () => (/* reexport safe */ _form_lifecycle_CancelMenu__WEBPACK_IMPORTED_MODULE_274__["default"]),
54524
+ /* harmony export */ "CloseMenu": () => (/* reexport safe */ _form_lifecycle_CloseMenu__WEBPACK_IMPORTED_MODULE_275__["default"]),
54525
+ /* harmony export */ "OkMenu": () => (/* reexport safe */ _form_lifecycle_OkMenu__WEBPACK_IMPORTED_MODULE_276__["default"]),
54526
+ /* harmony export */ "ResetMenu": () => (/* reexport safe */ _form_lifecycle_ResetMenu__WEBPACK_IMPORTED_MODULE_277__["default"]),
54527
+ /* harmony export */ "SaveMenu": () => (/* reexport safe */ _form_lifecycle_SaveMenu__WEBPACK_IMPORTED_MODULE_278__["default"]),
54528
+ /* harmony export */ "DialogLayout": () => (/* reexport safe */ _form_DialogLayout__WEBPACK_IMPORTED_MODULE_279__["default"]),
54529
+ /* harmony export */ "ResponsiveManager": () => (/* reexport safe */ _form_ResponsiveManager__WEBPACK_IMPORTED_MODULE_280__["default"]),
54530
+ /* harmony export */ "ResponsiveHandler": () => (/* reexport safe */ _form_ResponsiveHandler__WEBPACK_IMPORTED_MODULE_281__["default"]),
54531
+ /* harmony export */ "GroupBoxResponsiveHandler": () => (/* reexport safe */ _form_GroupBoxResponsiveHandler__WEBPACK_IMPORTED_MODULE_282__["default"]),
54532
+ /* harmony export */ "DesktopResponsiveHandler": () => (/* reexport safe */ _form_DesktopResponsiveHandler__WEBPACK_IMPORTED_MODULE_283__["default"]),
54533
+ /* harmony export */ "TileOverviewForm": () => (/* reexport safe */ _form_TileOverviewForm__WEBPACK_IMPORTED_MODULE_284__["default"]),
54534
+ /* harmony export */ "TileOverviewFormAdapter": () => (/* reexport safe */ _form_TileOverviewFormAdapter__WEBPACK_IMPORTED_MODULE_285__["default"]),
54535
+ /* harmony export */ "Table": () => (/* reexport safe */ _table_Table__WEBPACK_IMPORTED_MODULE_286__["default"]),
54536
+ /* harmony export */ "TableAdapter": () => (/* reexport safe */ _table_TableAdapter__WEBPACK_IMPORTED_MODULE_287__["default"]),
54537
+ /* harmony export */ "TableCompactHandler": () => (/* reexport safe */ _table_TableCompactHandler__WEBPACK_IMPORTED_MODULE_288__["default"]),
54538
+ /* harmony export */ "TableRow": () => (/* reexport safe */ _table_TableRow__WEBPACK_IMPORTED_MODULE_289__["default"]),
54539
+ /* harmony export */ "TableMatrix": () => (/* reexport safe */ _table_TableMatrix__WEBPACK_IMPORTED_MODULE_290__["default"]),
54540
+ /* harmony export */ "TableFooter": () => (/* reexport safe */ _table_TableFooter__WEBPACK_IMPORTED_MODULE_291__["default"]),
54541
+ /* harmony export */ "TableFooterLayout": () => (/* reexport safe */ _table_TableFooterLayout__WEBPACK_IMPORTED_MODULE_292__["default"]),
54542
+ /* harmony export */ "TableInfoFilterTooltip": () => (/* reexport safe */ _table_TableInfoFilterTooltip__WEBPACK_IMPORTED_MODULE_293__["default"]),
54543
+ /* harmony export */ "TableInfoLoadTooltip": () => (/* reexport safe */ _table_TableInfoLoadTooltip__WEBPACK_IMPORTED_MODULE_294__["default"]),
54544
+ /* harmony export */ "TableInfoSelectionTooltip": () => (/* reexport safe */ _table_TableInfoSelectionTooltip__WEBPACK_IMPORTED_MODULE_295__["default"]),
54545
+ /* harmony export */ "TableHeader": () => (/* reexport safe */ _table_TableHeader__WEBPACK_IMPORTED_MODULE_296__["default"]),
54546
+ /* harmony export */ "TableHeaderMenu": () => (/* reexport safe */ _table_TableHeaderMenu__WEBPACK_IMPORTED_MODULE_297__["default"]),
54547
+ /* harmony export */ "TableHeaderMenuLayout": () => (/* reexport safe */ _table_TableHeaderMenuLayout__WEBPACK_IMPORTED_MODULE_298__["default"]),
54548
+ /* harmony export */ "TableHeaderMenuGroup": () => (/* reexport safe */ _table_TableHeaderMenuGroup__WEBPACK_IMPORTED_MODULE_299__["default"]),
54549
+ /* harmony export */ "TableHeaderMenuButton": () => (/* reexport safe */ _table_TableHeaderMenuButton__WEBPACK_IMPORTED_MODULE_300__["default"]),
54349
54550
  /* harmony export */ "TableLayout": () => (/* reexport safe */ _table_TableLayout__WEBPACK_IMPORTED_MODULE_301__["default"]),
54350
54551
  /* harmony export */ "TableSelectionHandler": () => (/* reexport safe */ _table_TableSelectionHandler__WEBPACK_IMPORTED_MODULE_302__["default"]),
54351
54552
  /* harmony export */ "TableTileGridMediator": () => (/* reexport safe */ _table_TableTileGridMediator__WEBPACK_IMPORTED_MODULE_303__["default"]),
@@ -54905,134 +55106,134 @@ __webpack_require__.r(__webpack_exports__);
54905
55106
  /* harmony import */ var _tooltip_WidgetTooltip__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(/*! ./tooltip/WidgetTooltip */ "./src/tooltip/WidgetTooltip.js");
54906
55107
  /* harmony import */ var _action_Action__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(/*! ./action/Action */ "./src/action/Action.js");
54907
55108
  /* harmony import */ var _action_ActionAdapter__WEBPACK_IMPORTED_MODULE_172__ = __webpack_require__(/*! ./action/ActionAdapter */ "./src/action/ActionAdapter.js");
54908
- /* harmony import */ var _action_ActionKeyStroke__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./action/ActionKeyStroke */ "./src/action/ActionKeyStroke.js");
54909
- /* harmony import */ var _box_Box__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./box/Box */ "./src/box/Box.js");
54910
- /* harmony import */ var _label_Label__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./label/Label */ "./src/label/Label.js");
54911
- /* harmony import */ var _label_LabelAdapter__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./label/LabelAdapter */ "./src/label/LabelAdapter.js");
54912
- /* harmony import */ var _popup_Popup__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./popup/Popup */ "./src/popup/Popup.js");
54913
- /* harmony import */ var _popup_PopupAdapter__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! ./popup/PopupAdapter */ "./src/popup/PopupAdapter.js");
54914
- /* harmony import */ var _popup_PopupLayout__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! ./popup/PopupLayout */ "./src/popup/PopupLayout.js");
54915
- /* harmony import */ var _popup_PopupManager__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! ./popup/PopupManager */ "./src/popup/PopupManager.js");
54916
- /* harmony import */ var _popup_PopupManagerAdapter__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! ./popup/PopupManagerAdapter */ "./src/popup/PopupManagerAdapter.js");
54917
- /* harmony import */ var _popup_TouchPopup__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! ./popup/TouchPopup */ "./src/popup/TouchPopup.js");
54918
- /* harmony import */ var _popup_TouchPopupLayout__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! ./popup/TouchPopupLayout */ "./src/popup/TouchPopupLayout.js");
54919
- /* harmony import */ var _popup_WidgetPopup__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! ./popup/WidgetPopup */ "./src/popup/WidgetPopup.js");
54920
- /* harmony import */ var _popup_WidgetPopupAdapter__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! ./popup/WidgetPopupAdapter */ "./src/popup/WidgetPopupAdapter.js");
54921
- /* harmony import */ var _popup_WidgetPopupLayout__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! ./popup/WidgetPopupLayout */ "./src/popup/WidgetPopupLayout.js");
54922
- /* harmony import */ var _popup_MobilePopup__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! ./popup/MobilePopup */ "./src/popup/MobilePopup.js");
54923
- /* harmony import */ var _popup_MobilePopupAdapter__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! ./popup/MobilePopupAdapter */ "./src/popup/MobilePopupAdapter.js");
54924
- /* harmony import */ var _popup_MobilePopupLayout__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! ./popup/MobilePopupLayout */ "./src/popup/MobilePopupLayout.js");
54925
- /* harmony import */ var _datepicker_DatePicker__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! ./datepicker/DatePicker */ "./src/datepicker/DatePicker.js");
54926
- /* harmony import */ var _datepicker_DatePickerPopup__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! ./datepicker/DatePickerPopup */ "./src/datepicker/DatePickerPopup.js");
54927
- /* harmony import */ var _datepicker_DatePickerPopupLayout__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! ./datepicker/DatePickerPopupLayout */ "./src/datepicker/DatePickerPopupLayout.js");
54928
- /* harmony import */ var _datepicker_DatePickerTouchPopup__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! ./datepicker/DatePickerTouchPopup */ "./src/datepicker/DatePickerTouchPopup.js");
54929
- /* harmony import */ var _datepicker_DatePickerTouchPopupLayout__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./datepicker/DatePickerTouchPopupLayout */ "./src/datepicker/DatePickerTouchPopupLayout.js");
54930
- /* harmony import */ var _group_Group__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./group/Group */ "./src/group/Group.js");
54931
- /* harmony import */ var _group_GroupAdapter__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./group/GroupAdapter */ "./src/group/GroupAdapter.js");
54932
- /* harmony import */ var _group_GroupLayout__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./group/GroupLayout */ "./src/group/GroupLayout.js");
54933
- /* harmony import */ var _group_keystrokes_GroupToggleCollapseKeyStroke__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! ./group/keystrokes/GroupToggleCollapseKeyStroke */ "./src/group/keystrokes/GroupToggleCollapseKeyStroke.js");
54934
- /* harmony import */ var _image_Icon__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! ./image/Icon */ "./src/image/Icon.js");
54935
- /* harmony import */ var _image_IconDesc__WEBPACK_IMPORTED_MODULE_200__ = __webpack_require__(/*! ./image/IconDesc */ "./src/image/IconDesc.js");
54936
- /* harmony import */ var _image_Image__WEBPACK_IMPORTED_MODULE_201__ = __webpack_require__(/*! ./image/Image */ "./src/image/Image.js");
54937
- /* harmony import */ var _image_ImageLayout__WEBPACK_IMPORTED_MODULE_202__ = __webpack_require__(/*! ./image/ImageLayout */ "./src/image/ImageLayout.js");
54938
- /* harmony import */ var _notification_Notification__WEBPACK_IMPORTED_MODULE_203__ = __webpack_require__(/*! ./notification/Notification */ "./src/notification/Notification.js");
54939
- /* harmony import */ var _notification_NotificationAdapter__WEBPACK_IMPORTED_MODULE_204__ = __webpack_require__(/*! ./notification/NotificationAdapter */ "./src/notification/NotificationAdapter.js");
54940
- /* harmony import */ var _menu_menus__WEBPACK_IMPORTED_MODULE_205__ = __webpack_require__(/*! ./menu/menus */ "./src/menu/menus.js");
54941
- /* harmony import */ var _menu_MenuDestinations__WEBPACK_IMPORTED_MODULE_206__ = __webpack_require__(/*! ./menu/MenuDestinations */ "./src/menu/MenuDestinations.js");
54942
- /* harmony import */ var _menu_Menu__WEBPACK_IMPORTED_MODULE_207__ = __webpack_require__(/*! ./menu/Menu */ "./src/menu/Menu.js");
54943
- /* harmony import */ var _menu_EllipsisMenu__WEBPACK_IMPORTED_MODULE_208__ = __webpack_require__(/*! ./menu/EllipsisMenu */ "./src/menu/EllipsisMenu.js");
54944
- /* harmony import */ var _menu_MenuAdapter__WEBPACK_IMPORTED_MODULE_209__ = __webpack_require__(/*! ./menu/MenuAdapter */ "./src/menu/MenuAdapter.js");
54945
- /* harmony import */ var _menu_MenuKeyStroke__WEBPACK_IMPORTED_MODULE_210__ = __webpack_require__(/*! ./menu/MenuKeyStroke */ "./src/menu/MenuKeyStroke.js");
54946
- /* harmony import */ var _menu_MenuExecKeyStroke__WEBPACK_IMPORTED_MODULE_211__ = __webpack_require__(/*! ./menu/MenuExecKeyStroke */ "./src/menu/MenuExecKeyStroke.js");
54947
- /* harmony import */ var _menu_MenuItemsOrder__WEBPACK_IMPORTED_MODULE_212__ = __webpack_require__(/*! ./menu/MenuItemsOrder */ "./src/menu/MenuItemsOrder.js");
54948
- /* harmony import */ var _menu_ComboMenu__WEBPACK_IMPORTED_MODULE_213__ = __webpack_require__(/*! ./menu/ComboMenu */ "./src/menu/ComboMenu.js");
54949
- /* harmony import */ var _menu_ComboMenuAdapter__WEBPACK_IMPORTED_MODULE_214__ = __webpack_require__(/*! ./menu/ComboMenuAdapter */ "./src/menu/ComboMenuAdapter.js");
54950
- /* harmony import */ var _menu_ContextMenuPopup__WEBPACK_IMPORTED_MODULE_215__ = __webpack_require__(/*! ./menu/ContextMenuPopup */ "./src/menu/ContextMenuPopup.js");
54951
- /* harmony import */ var _menu_ContextMenuPopupLayout__WEBPACK_IMPORTED_MODULE_216__ = __webpack_require__(/*! ./menu/ContextMenuPopupLayout */ "./src/menu/ContextMenuPopupLayout.js");
54952
- /* harmony import */ var _menu_MenuNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_217__ = __webpack_require__(/*! ./menu/MenuNavigationKeyStroke */ "./src/menu/MenuNavigationKeyStroke.js");
54953
- /* harmony import */ var _menu_MenuNavigationExecKeyStroke__WEBPACK_IMPORTED_MODULE_218__ = __webpack_require__(/*! ./menu/MenuNavigationExecKeyStroke */ "./src/menu/MenuNavigationExecKeyStroke.js");
54954
- /* harmony import */ var _menu_MenuExecByNumberKeyStroke__WEBPACK_IMPORTED_MODULE_219__ = __webpack_require__(/*! ./menu/MenuExecByNumberKeyStroke */ "./src/menu/MenuExecByNumberKeyStroke.js");
54955
- /* harmony import */ var _menu_MenuNavigationDownKeyStroke__WEBPACK_IMPORTED_MODULE_220__ = __webpack_require__(/*! ./menu/MenuNavigationDownKeyStroke */ "./src/menu/MenuNavigationDownKeyStroke.js");
54956
- /* harmony import */ var _menu_MenuNavigationUpKeyStroke__WEBPACK_IMPORTED_MODULE_221__ = __webpack_require__(/*! ./menu/MenuNavigationUpKeyStroke */ "./src/menu/MenuNavigationUpKeyStroke.js");
54957
- /* harmony import */ var _menu_SubCloseKeyStroke__WEBPACK_IMPORTED_MODULE_222__ = __webpack_require__(/*! ./menu/SubCloseKeyStroke */ "./src/menu/SubCloseKeyStroke.js");
54958
- /* harmony import */ var _menu_menuNavigationKeyStrokes__WEBPACK_IMPORTED_MODULE_223__ = __webpack_require__(/*! ./menu/menuNavigationKeyStrokes */ "./src/menu/menuNavigationKeyStrokes.js");
54959
- /* harmony import */ var _menu_ButtonAdapterMenu__WEBPACK_IMPORTED_MODULE_224__ = __webpack_require__(/*! ./menu/ButtonAdapterMenu */ "./src/menu/ButtonAdapterMenu.js");
54960
- /* harmony import */ var _menu_form_field_FormFieldMenu__WEBPACK_IMPORTED_MODULE_225__ = __webpack_require__(/*! ./menu/form/field/FormFieldMenu */ "./src/menu/form/field/FormFieldMenu.js");
54961
- /* harmony import */ var _menu_form_field_FormFieldMenuAdapter__WEBPACK_IMPORTED_MODULE_226__ = __webpack_require__(/*! ./menu/form/field/FormFieldMenuAdapter */ "./src/menu/form/field/FormFieldMenuAdapter.js");
54962
- /* harmony import */ var _menu_menubox_MenuBox__WEBPACK_IMPORTED_MODULE_227__ = __webpack_require__(/*! ./menu/menubox/MenuBox */ "./src/menu/menubox/MenuBox.js");
54963
- /* harmony import */ var _menu_menubox_MenuBoxLayout__WEBPACK_IMPORTED_MODULE_228__ = __webpack_require__(/*! ./menu/menubox/MenuBoxLayout */ "./src/menu/menubox/MenuBoxLayout.js");
54964
- /* harmony import */ var _menu_menubar_MenuBar__WEBPACK_IMPORTED_MODULE_229__ = __webpack_require__(/*! ./menu/menubar/MenuBar */ "./src/menu/menubar/MenuBar.js");
54965
- /* harmony import */ var _menu_menubar_MenuBarLayout__WEBPACK_IMPORTED_MODULE_230__ = __webpack_require__(/*! ./menu/menubar/MenuBarLayout */ "./src/menu/menubar/MenuBarLayout.js");
54966
- /* harmony import */ var _menu_menubar_MenuBarLeftKeyStroke__WEBPACK_IMPORTED_MODULE_231__ = __webpack_require__(/*! ./menu/menubar/MenuBarLeftKeyStroke */ "./src/menu/menubar/MenuBarLeftKeyStroke.js");
54967
- /* harmony import */ var _menu_menubar_MenuBarRightKeyStroke__WEBPACK_IMPORTED_MODULE_232__ = __webpack_require__(/*! ./menu/menubar/MenuBarRightKeyStroke */ "./src/menu/menubar/MenuBarRightKeyStroke.js");
54968
- /* harmony import */ var _menu_menubar_MenuBarPopup__WEBPACK_IMPORTED_MODULE_233__ = __webpack_require__(/*! ./menu/menubar/MenuBarPopup */ "./src/menu/menubar/MenuBarPopup.js");
54969
- /* harmony import */ var _menu_menubar_MenuBarBox__WEBPACK_IMPORTED_MODULE_234__ = __webpack_require__(/*! ./menu/menubar/MenuBarBox */ "./src/menu/menubar/MenuBarBox.js");
54970
- /* harmony import */ var _menu_menubar_MenuBarBoxLayout__WEBPACK_IMPORTED_MODULE_235__ = __webpack_require__(/*! ./menu/menubar/MenuBarBoxLayout */ "./src/menu/menubar/MenuBarBoxLayout.js");
54971
- /* harmony import */ var _calendar_Calendar__WEBPACK_IMPORTED_MODULE_236__ = __webpack_require__(/*! ./calendar/Calendar */ "./src/calendar/Calendar.js");
54972
- /* harmony import */ var _calendar_CalendarAdapter__WEBPACK_IMPORTED_MODULE_237__ = __webpack_require__(/*! ./calendar/CalendarAdapter */ "./src/calendar/CalendarAdapter.js");
54973
- /* harmony import */ var _calendar_CalendarComponent__WEBPACK_IMPORTED_MODULE_238__ = __webpack_require__(/*! ./calendar/CalendarComponent */ "./src/calendar/CalendarComponent.js");
54974
- /* harmony import */ var _calendar_CalendarComponentAdapter__WEBPACK_IMPORTED_MODULE_239__ = __webpack_require__(/*! ./calendar/CalendarComponentAdapter */ "./src/calendar/CalendarComponentAdapter.js");
54975
- /* harmony import */ var _calendar_CalendarListComponent__WEBPACK_IMPORTED_MODULE_240__ = __webpack_require__(/*! ./calendar/CalendarListComponent */ "./src/calendar/CalendarListComponent.js");
54976
- /* harmony import */ var _calendar_CalendarLayout__WEBPACK_IMPORTED_MODULE_241__ = __webpack_require__(/*! ./calendar/CalendarLayout */ "./src/calendar/CalendarLayout.js");
54977
- /* harmony import */ var _calendar_CalendarModeMenu__WEBPACK_IMPORTED_MODULE_242__ = __webpack_require__(/*! ./calendar/CalendarModeMenu */ "./src/calendar/CalendarModeMenu.js");
54978
- /* harmony import */ var _calendar_CalendarModesMenu__WEBPACK_IMPORTED_MODULE_243__ = __webpack_require__(/*! ./calendar/CalendarModesMenu */ "./src/calendar/CalendarModesMenu.js");
54979
- /* harmony import */ var _calendar_DateRange__WEBPACK_IMPORTED_MODULE_244__ = __webpack_require__(/*! ./calendar/DateRange */ "./src/calendar/DateRange.js");
54980
- /* harmony import */ var _calendar_YearPanel__WEBPACK_IMPORTED_MODULE_245__ = __webpack_require__(/*! ./calendar/YearPanel */ "./src/calendar/YearPanel.js");
54981
- /* harmony import */ var _lifecycle_Lifecycle__WEBPACK_IMPORTED_MODULE_246__ = __webpack_require__(/*! ./lifecycle/Lifecycle */ "./src/lifecycle/Lifecycle.js");
54982
- /* harmony import */ var _planner_Planner__WEBPACK_IMPORTED_MODULE_247__ = __webpack_require__(/*! ./planner/Planner */ "./src/planner/Planner.js");
54983
- /* harmony import */ var _planner_PlannerAdapter__WEBPACK_IMPORTED_MODULE_248__ = __webpack_require__(/*! ./planner/PlannerAdapter */ "./src/planner/PlannerAdapter.js");
54984
- /* harmony import */ var _planner_PlannerHeader__WEBPACK_IMPORTED_MODULE_249__ = __webpack_require__(/*! ./planner/PlannerHeader */ "./src/planner/PlannerHeader.js");
54985
- /* harmony import */ var _planner_PlannerLayout__WEBPACK_IMPORTED_MODULE_250__ = __webpack_require__(/*! ./planner/PlannerLayout */ "./src/planner/PlannerLayout.js");
54986
- /* harmony import */ var _planner_PlannerMenuItemsOrder__WEBPACK_IMPORTED_MODULE_251__ = __webpack_require__(/*! ./planner/PlannerMenuItemsOrder */ "./src/planner/PlannerMenuItemsOrder.js");
54987
- /* harmony import */ var _filechooser_FileChooser__WEBPACK_IMPORTED_MODULE_252__ = __webpack_require__(/*! ./filechooser/FileChooser */ "./src/filechooser/FileChooser.js");
54988
- /* harmony import */ var _filechooser_FileChooserAdapter__WEBPACK_IMPORTED_MODULE_253__ = __webpack_require__(/*! ./filechooser/FileChooserAdapter */ "./src/filechooser/FileChooserAdapter.js");
54989
- /* harmony import */ var _filechooser_FileChooserController__WEBPACK_IMPORTED_MODULE_254__ = __webpack_require__(/*! ./filechooser/FileChooserController */ "./src/filechooser/FileChooserController.js");
54990
- /* harmony import */ var _filechooser_FileInput__WEBPACK_IMPORTED_MODULE_255__ = __webpack_require__(/*! ./filechooser/FileInput */ "./src/filechooser/FileInput.js");
54991
- /* harmony import */ var _router_Route__WEBPACK_IMPORTED_MODULE_256__ = __webpack_require__(/*! ./router/Route */ "./src/router/Route.js");
54992
- /* harmony import */ var _router_router__WEBPACK_IMPORTED_MODULE_257__ = __webpack_require__(/*! ./router/router */ "./src/router/router.js");
54993
- /* harmony import */ var _slider_Slider__WEBPACK_IMPORTED_MODULE_258__ = __webpack_require__(/*! ./slider/Slider */ "./src/slider/Slider.js");
54994
- /* harmony import */ var _slider_SliderAdapter__WEBPACK_IMPORTED_MODULE_259__ = __webpack_require__(/*! ./slider/SliderAdapter */ "./src/slider/SliderAdapter.js");
54995
- /* harmony import */ var _slider_SliderLayout__WEBPACK_IMPORTED_MODULE_260__ = __webpack_require__(/*! ./slider/SliderLayout */ "./src/slider/SliderLayout.js");
54996
- /* harmony import */ var _modeselector_Mode__WEBPACK_IMPORTED_MODULE_261__ = __webpack_require__(/*! ./modeselector/Mode */ "./src/modeselector/Mode.js");
54997
- /* harmony import */ var _modeselector_ModeAdapter__WEBPACK_IMPORTED_MODULE_262__ = __webpack_require__(/*! ./modeselector/ModeAdapter */ "./src/modeselector/ModeAdapter.js");
54998
- /* harmony import */ var _modeselector_ModeSelector__WEBPACK_IMPORTED_MODULE_263__ = __webpack_require__(/*! ./modeselector/ModeSelector */ "./src/modeselector/ModeSelector.js");
54999
- /* harmony import */ var _modeselector_ModeSelectorLayout__WEBPACK_IMPORTED_MODULE_264__ = __webpack_require__(/*! ./modeselector/ModeSelectorLayout */ "./src/modeselector/ModeSelectorLayout.js");
55000
- /* harmony import */ var _form_Form__WEBPACK_IMPORTED_MODULE_265__ = __webpack_require__(/*! ./form/Form */ "./src/form/Form.js");
55001
- /* harmony import */ var _form_FormAdapter__WEBPACK_IMPORTED_MODULE_266__ = __webpack_require__(/*! ./form/FormAdapter */ "./src/form/FormAdapter.js");
55002
- /* harmony import */ var _form_FormGrid__WEBPACK_IMPORTED_MODULE_267__ = __webpack_require__(/*! ./form/FormGrid */ "./src/form/FormGrid.js");
55003
- /* harmony import */ var _form_FormLayout__WEBPACK_IMPORTED_MODULE_268__ = __webpack_require__(/*! ./form/FormLayout */ "./src/form/FormLayout.js");
55004
- /* harmony import */ var _form_FormMenuActionKeyStroke__WEBPACK_IMPORTED_MODULE_269__ = __webpack_require__(/*! ./form/FormMenuActionKeyStroke */ "./src/form/FormMenuActionKeyStroke.js");
55005
- /* harmony import */ var _form_FormMenu__WEBPACK_IMPORTED_MODULE_270__ = __webpack_require__(/*! ./form/FormMenu */ "./src/form/FormMenu.js");
55006
- /* harmony import */ var _form_FormMenuAdapter__WEBPACK_IMPORTED_MODULE_271__ = __webpack_require__(/*! ./form/FormMenuAdapter */ "./src/form/FormMenuAdapter.js");
55007
- /* harmony import */ var _form_lifecycle_FormLifecycle__WEBPACK_IMPORTED_MODULE_272__ = __webpack_require__(/*! ./form/lifecycle/FormLifecycle */ "./src/form/lifecycle/FormLifecycle.js");
55008
- /* harmony import */ var _form_lifecycle_CancelMenu__WEBPACK_IMPORTED_MODULE_273__ = __webpack_require__(/*! ./form/lifecycle/CancelMenu */ "./src/form/lifecycle/CancelMenu.js");
55009
- /* harmony import */ var _form_lifecycle_CloseMenu__WEBPACK_IMPORTED_MODULE_274__ = __webpack_require__(/*! ./form/lifecycle/CloseMenu */ "./src/form/lifecycle/CloseMenu.js");
55010
- /* harmony import */ var _form_lifecycle_OkMenu__WEBPACK_IMPORTED_MODULE_275__ = __webpack_require__(/*! ./form/lifecycle/OkMenu */ "./src/form/lifecycle/OkMenu.js");
55011
- /* harmony import */ var _form_lifecycle_ResetMenu__WEBPACK_IMPORTED_MODULE_276__ = __webpack_require__(/*! ./form/lifecycle/ResetMenu */ "./src/form/lifecycle/ResetMenu.js");
55012
- /* harmony import */ var _form_lifecycle_SaveMenu__WEBPACK_IMPORTED_MODULE_277__ = __webpack_require__(/*! ./form/lifecycle/SaveMenu */ "./src/form/lifecycle/SaveMenu.js");
55013
- /* harmony import */ var _form_DialogLayout__WEBPACK_IMPORTED_MODULE_278__ = __webpack_require__(/*! ./form/DialogLayout */ "./src/form/DialogLayout.js");
55014
- /* harmony import */ var _form_ResponsiveManager__WEBPACK_IMPORTED_MODULE_279__ = __webpack_require__(/*! ./form/ResponsiveManager */ "./src/form/ResponsiveManager.js");
55015
- /* harmony import */ var _form_ResponsiveHandler__WEBPACK_IMPORTED_MODULE_280__ = __webpack_require__(/*! ./form/ResponsiveHandler */ "./src/form/ResponsiveHandler.js");
55016
- /* harmony import */ var _form_GroupBoxResponsiveHandler__WEBPACK_IMPORTED_MODULE_281__ = __webpack_require__(/*! ./form/GroupBoxResponsiveHandler */ "./src/form/GroupBoxResponsiveHandler.js");
55017
- /* harmony import */ var _form_DesktopResponsiveHandler__WEBPACK_IMPORTED_MODULE_282__ = __webpack_require__(/*! ./form/DesktopResponsiveHandler */ "./src/form/DesktopResponsiveHandler.js");
55018
- /* harmony import */ var _form_TileOverviewForm__WEBPACK_IMPORTED_MODULE_283__ = __webpack_require__(/*! ./form/TileOverviewForm */ "./src/form/TileOverviewForm.js");
55019
- /* harmony import */ var _form_TileOverviewFormAdapter__WEBPACK_IMPORTED_MODULE_284__ = __webpack_require__(/*! ./form/TileOverviewFormAdapter */ "./src/form/TileOverviewFormAdapter.js");
55020
- /* harmony import */ var _table_Table__WEBPACK_IMPORTED_MODULE_285__ = __webpack_require__(/*! ./table/Table */ "./src/table/Table.js");
55021
- /* harmony import */ var _table_TableAdapter__WEBPACK_IMPORTED_MODULE_286__ = __webpack_require__(/*! ./table/TableAdapter */ "./src/table/TableAdapter.js");
55022
- /* harmony import */ var _table_TableCompactHandler__WEBPACK_IMPORTED_MODULE_287__ = __webpack_require__(/*! ./table/TableCompactHandler */ "./src/table/TableCompactHandler.js");
55023
- /* harmony import */ var _table_TableRow__WEBPACK_IMPORTED_MODULE_288__ = __webpack_require__(/*! ./table/TableRow */ "./src/table/TableRow.js");
55024
- /* harmony import */ var _table_TableMatrix__WEBPACK_IMPORTED_MODULE_289__ = __webpack_require__(/*! ./table/TableMatrix */ "./src/table/TableMatrix.js");
55025
- /* harmony import */ var _table_TableFooter__WEBPACK_IMPORTED_MODULE_290__ = __webpack_require__(/*! ./table/TableFooter */ "./src/table/TableFooter.js");
55026
- /* harmony import */ var _table_TableFooterLayout__WEBPACK_IMPORTED_MODULE_291__ = __webpack_require__(/*! ./table/TableFooterLayout */ "./src/table/TableFooterLayout.js");
55027
- /* harmony import */ var _table_TableInfoFilterTooltip__WEBPACK_IMPORTED_MODULE_292__ = __webpack_require__(/*! ./table/TableInfoFilterTooltip */ "./src/table/TableInfoFilterTooltip.js");
55028
- /* harmony import */ var _table_TableInfoLoadTooltip__WEBPACK_IMPORTED_MODULE_293__ = __webpack_require__(/*! ./table/TableInfoLoadTooltip */ "./src/table/TableInfoLoadTooltip.js");
55029
- /* harmony import */ var _table_TableInfoSelectionTooltip__WEBPACK_IMPORTED_MODULE_294__ = __webpack_require__(/*! ./table/TableInfoSelectionTooltip */ "./src/table/TableInfoSelectionTooltip.js");
55030
- /* harmony import */ var _table_TableHeader__WEBPACK_IMPORTED_MODULE_295__ = __webpack_require__(/*! ./table/TableHeader */ "./src/table/TableHeader.js");
55031
- /* harmony import */ var _table_TableHeaderMenu__WEBPACK_IMPORTED_MODULE_296__ = __webpack_require__(/*! ./table/TableHeaderMenu */ "./src/table/TableHeaderMenu.js");
55032
- /* harmony import */ var _table_TableHeaderMenuLayout__WEBPACK_IMPORTED_MODULE_297__ = __webpack_require__(/*! ./table/TableHeaderMenuLayout */ "./src/table/TableHeaderMenuLayout.js");
55033
- /* harmony import */ var _table_TableHeaderMenuGroup__WEBPACK_IMPORTED_MODULE_298__ = __webpack_require__(/*! ./table/TableHeaderMenuGroup */ "./src/table/TableHeaderMenuGroup.js");
55034
- /* harmony import */ var _table_TableHeaderMenuButton__WEBPACK_IMPORTED_MODULE_299__ = __webpack_require__(/*! ./table/TableHeaderMenuButton */ "./src/table/TableHeaderMenuButton.js");
55035
- /* harmony import */ var _table_TableHeaderMenuButtonKeyStroke__WEBPACK_IMPORTED_MODULE_300__ = __webpack_require__(/*! ./table/TableHeaderMenuButtonKeyStroke */ "./src/table/TableHeaderMenuButtonKeyStroke.js");
55109
+ /* harmony import */ var _action_ActionExecKeyStroke__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./action/ActionExecKeyStroke */ "./src/action/ActionExecKeyStroke.js");
55110
+ /* harmony import */ var _action_ActionKeyStroke__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./action/ActionKeyStroke */ "./src/action/ActionKeyStroke.js");
55111
+ /* harmony import */ var _box_Box__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./box/Box */ "./src/box/Box.js");
55112
+ /* harmony import */ var _label_Label__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./label/Label */ "./src/label/Label.js");
55113
+ /* harmony import */ var _label_LabelAdapter__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./label/LabelAdapter */ "./src/label/LabelAdapter.js");
55114
+ /* harmony import */ var _popup_Popup__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! ./popup/Popup */ "./src/popup/Popup.js");
55115
+ /* harmony import */ var _popup_PopupAdapter__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! ./popup/PopupAdapter */ "./src/popup/PopupAdapter.js");
55116
+ /* harmony import */ var _popup_PopupLayout__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! ./popup/PopupLayout */ "./src/popup/PopupLayout.js");
55117
+ /* harmony import */ var _popup_PopupManager__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! ./popup/PopupManager */ "./src/popup/PopupManager.js");
55118
+ /* harmony import */ var _popup_PopupManagerAdapter__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! ./popup/PopupManagerAdapter */ "./src/popup/PopupManagerAdapter.js");
55119
+ /* harmony import */ var _popup_TouchPopup__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! ./popup/TouchPopup */ "./src/popup/TouchPopup.js");
55120
+ /* harmony import */ var _popup_TouchPopupLayout__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! ./popup/TouchPopupLayout */ "./src/popup/TouchPopupLayout.js");
55121
+ /* harmony import */ var _popup_WidgetPopup__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! ./popup/WidgetPopup */ "./src/popup/WidgetPopup.js");
55122
+ /* harmony import */ var _popup_WidgetPopupAdapter__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! ./popup/WidgetPopupAdapter */ "./src/popup/WidgetPopupAdapter.js");
55123
+ /* harmony import */ var _popup_WidgetPopupLayout__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! ./popup/WidgetPopupLayout */ "./src/popup/WidgetPopupLayout.js");
55124
+ /* harmony import */ var _popup_MobilePopup__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! ./popup/MobilePopup */ "./src/popup/MobilePopup.js");
55125
+ /* harmony import */ var _popup_MobilePopupAdapter__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! ./popup/MobilePopupAdapter */ "./src/popup/MobilePopupAdapter.js");
55126
+ /* harmony import */ var _popup_MobilePopupLayout__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! ./popup/MobilePopupLayout */ "./src/popup/MobilePopupLayout.js");
55127
+ /* harmony import */ var _datepicker_DatePicker__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! ./datepicker/DatePicker */ "./src/datepicker/DatePicker.js");
55128
+ /* harmony import */ var _datepicker_DatePickerPopup__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! ./datepicker/DatePickerPopup */ "./src/datepicker/DatePickerPopup.js");
55129
+ /* harmony import */ var _datepicker_DatePickerPopupLayout__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! ./datepicker/DatePickerPopupLayout */ "./src/datepicker/DatePickerPopupLayout.js");
55130
+ /* harmony import */ var _datepicker_DatePickerTouchPopup__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./datepicker/DatePickerTouchPopup */ "./src/datepicker/DatePickerTouchPopup.js");
55131
+ /* harmony import */ var _datepicker_DatePickerTouchPopupLayout__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./datepicker/DatePickerTouchPopupLayout */ "./src/datepicker/DatePickerTouchPopupLayout.js");
55132
+ /* harmony import */ var _group_Group__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./group/Group */ "./src/group/Group.js");
55133
+ /* harmony import */ var _group_GroupAdapter__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./group/GroupAdapter */ "./src/group/GroupAdapter.js");
55134
+ /* harmony import */ var _group_GroupLayout__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! ./group/GroupLayout */ "./src/group/GroupLayout.js");
55135
+ /* harmony import */ var _group_keystrokes_GroupToggleCollapseKeyStroke__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! ./group/keystrokes/GroupToggleCollapseKeyStroke */ "./src/group/keystrokes/GroupToggleCollapseKeyStroke.js");
55136
+ /* harmony import */ var _image_Icon__WEBPACK_IMPORTED_MODULE_200__ = __webpack_require__(/*! ./image/Icon */ "./src/image/Icon.js");
55137
+ /* harmony import */ var _image_IconDesc__WEBPACK_IMPORTED_MODULE_201__ = __webpack_require__(/*! ./image/IconDesc */ "./src/image/IconDesc.js");
55138
+ /* harmony import */ var _image_Image__WEBPACK_IMPORTED_MODULE_202__ = __webpack_require__(/*! ./image/Image */ "./src/image/Image.js");
55139
+ /* harmony import */ var _image_ImageLayout__WEBPACK_IMPORTED_MODULE_203__ = __webpack_require__(/*! ./image/ImageLayout */ "./src/image/ImageLayout.js");
55140
+ /* harmony import */ var _notification_Notification__WEBPACK_IMPORTED_MODULE_204__ = __webpack_require__(/*! ./notification/Notification */ "./src/notification/Notification.js");
55141
+ /* harmony import */ var _notification_NotificationAdapter__WEBPACK_IMPORTED_MODULE_205__ = __webpack_require__(/*! ./notification/NotificationAdapter */ "./src/notification/NotificationAdapter.js");
55142
+ /* harmony import */ var _menu_menus__WEBPACK_IMPORTED_MODULE_206__ = __webpack_require__(/*! ./menu/menus */ "./src/menu/menus.js");
55143
+ /* harmony import */ var _menu_MenuDestinations__WEBPACK_IMPORTED_MODULE_207__ = __webpack_require__(/*! ./menu/MenuDestinations */ "./src/menu/MenuDestinations.js");
55144
+ /* harmony import */ var _menu_Menu__WEBPACK_IMPORTED_MODULE_208__ = __webpack_require__(/*! ./menu/Menu */ "./src/menu/Menu.js");
55145
+ /* harmony import */ var _menu_EllipsisMenu__WEBPACK_IMPORTED_MODULE_209__ = __webpack_require__(/*! ./menu/EllipsisMenu */ "./src/menu/EllipsisMenu.js");
55146
+ /* harmony import */ var _menu_MenuAdapter__WEBPACK_IMPORTED_MODULE_210__ = __webpack_require__(/*! ./menu/MenuAdapter */ "./src/menu/MenuAdapter.js");
55147
+ /* harmony import */ var _menu_MenuKeyStroke__WEBPACK_IMPORTED_MODULE_211__ = __webpack_require__(/*! ./menu/MenuKeyStroke */ "./src/menu/MenuKeyStroke.js");
55148
+ /* harmony import */ var _menu_MenuExecKeyStroke__WEBPACK_IMPORTED_MODULE_212__ = __webpack_require__(/*! ./menu/MenuExecKeyStroke */ "./src/menu/MenuExecKeyStroke.js");
55149
+ /* harmony import */ var _menu_MenuItemsOrder__WEBPACK_IMPORTED_MODULE_213__ = __webpack_require__(/*! ./menu/MenuItemsOrder */ "./src/menu/MenuItemsOrder.js");
55150
+ /* harmony import */ var _menu_ComboMenu__WEBPACK_IMPORTED_MODULE_214__ = __webpack_require__(/*! ./menu/ComboMenu */ "./src/menu/ComboMenu.js");
55151
+ /* harmony import */ var _menu_ComboMenuAdapter__WEBPACK_IMPORTED_MODULE_215__ = __webpack_require__(/*! ./menu/ComboMenuAdapter */ "./src/menu/ComboMenuAdapter.js");
55152
+ /* harmony import */ var _menu_ContextMenuPopup__WEBPACK_IMPORTED_MODULE_216__ = __webpack_require__(/*! ./menu/ContextMenuPopup */ "./src/menu/ContextMenuPopup.js");
55153
+ /* harmony import */ var _menu_ContextMenuPopupLayout__WEBPACK_IMPORTED_MODULE_217__ = __webpack_require__(/*! ./menu/ContextMenuPopupLayout */ "./src/menu/ContextMenuPopupLayout.js");
55154
+ /* harmony import */ var _menu_MenuNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_218__ = __webpack_require__(/*! ./menu/MenuNavigationKeyStroke */ "./src/menu/MenuNavigationKeyStroke.js");
55155
+ /* harmony import */ var _menu_MenuNavigationExecKeyStroke__WEBPACK_IMPORTED_MODULE_219__ = __webpack_require__(/*! ./menu/MenuNavigationExecKeyStroke */ "./src/menu/MenuNavigationExecKeyStroke.js");
55156
+ /* harmony import */ var _menu_MenuExecByNumberKeyStroke__WEBPACK_IMPORTED_MODULE_220__ = __webpack_require__(/*! ./menu/MenuExecByNumberKeyStroke */ "./src/menu/MenuExecByNumberKeyStroke.js");
55157
+ /* harmony import */ var _menu_MenuNavigationDownKeyStroke__WEBPACK_IMPORTED_MODULE_221__ = __webpack_require__(/*! ./menu/MenuNavigationDownKeyStroke */ "./src/menu/MenuNavigationDownKeyStroke.js");
55158
+ /* harmony import */ var _menu_MenuNavigationUpKeyStroke__WEBPACK_IMPORTED_MODULE_222__ = __webpack_require__(/*! ./menu/MenuNavigationUpKeyStroke */ "./src/menu/MenuNavigationUpKeyStroke.js");
55159
+ /* harmony import */ var _menu_SubCloseKeyStroke__WEBPACK_IMPORTED_MODULE_223__ = __webpack_require__(/*! ./menu/SubCloseKeyStroke */ "./src/menu/SubCloseKeyStroke.js");
55160
+ /* harmony import */ var _menu_menuNavigationKeyStrokes__WEBPACK_IMPORTED_MODULE_224__ = __webpack_require__(/*! ./menu/menuNavigationKeyStrokes */ "./src/menu/menuNavigationKeyStrokes.js");
55161
+ /* harmony import */ var _menu_ButtonAdapterMenu__WEBPACK_IMPORTED_MODULE_225__ = __webpack_require__(/*! ./menu/ButtonAdapterMenu */ "./src/menu/ButtonAdapterMenu.js");
55162
+ /* harmony import */ var _menu_form_field_FormFieldMenu__WEBPACK_IMPORTED_MODULE_226__ = __webpack_require__(/*! ./menu/form/field/FormFieldMenu */ "./src/menu/form/field/FormFieldMenu.js");
55163
+ /* harmony import */ var _menu_form_field_FormFieldMenuAdapter__WEBPACK_IMPORTED_MODULE_227__ = __webpack_require__(/*! ./menu/form/field/FormFieldMenuAdapter */ "./src/menu/form/field/FormFieldMenuAdapter.js");
55164
+ /* harmony import */ var _menu_menubox_MenuBox__WEBPACK_IMPORTED_MODULE_228__ = __webpack_require__(/*! ./menu/menubox/MenuBox */ "./src/menu/menubox/MenuBox.js");
55165
+ /* harmony import */ var _menu_menubox_MenuBoxLayout__WEBPACK_IMPORTED_MODULE_229__ = __webpack_require__(/*! ./menu/menubox/MenuBoxLayout */ "./src/menu/menubox/MenuBoxLayout.js");
55166
+ /* harmony import */ var _menu_menubar_MenuBar__WEBPACK_IMPORTED_MODULE_230__ = __webpack_require__(/*! ./menu/menubar/MenuBar */ "./src/menu/menubar/MenuBar.js");
55167
+ /* harmony import */ var _menu_menubar_MenuBarLayout__WEBPACK_IMPORTED_MODULE_231__ = __webpack_require__(/*! ./menu/menubar/MenuBarLayout */ "./src/menu/menubar/MenuBarLayout.js");
55168
+ /* harmony import */ var _menu_menubar_MenuBarLeftKeyStroke__WEBPACK_IMPORTED_MODULE_232__ = __webpack_require__(/*! ./menu/menubar/MenuBarLeftKeyStroke */ "./src/menu/menubar/MenuBarLeftKeyStroke.js");
55169
+ /* harmony import */ var _menu_menubar_MenuBarRightKeyStroke__WEBPACK_IMPORTED_MODULE_233__ = __webpack_require__(/*! ./menu/menubar/MenuBarRightKeyStroke */ "./src/menu/menubar/MenuBarRightKeyStroke.js");
55170
+ /* harmony import */ var _menu_menubar_MenuBarPopup__WEBPACK_IMPORTED_MODULE_234__ = __webpack_require__(/*! ./menu/menubar/MenuBarPopup */ "./src/menu/menubar/MenuBarPopup.js");
55171
+ /* harmony import */ var _menu_menubar_MenuBarBox__WEBPACK_IMPORTED_MODULE_235__ = __webpack_require__(/*! ./menu/menubar/MenuBarBox */ "./src/menu/menubar/MenuBarBox.js");
55172
+ /* harmony import */ var _menu_menubar_MenuBarBoxLayout__WEBPACK_IMPORTED_MODULE_236__ = __webpack_require__(/*! ./menu/menubar/MenuBarBoxLayout */ "./src/menu/menubar/MenuBarBoxLayout.js");
55173
+ /* harmony import */ var _calendar_Calendar__WEBPACK_IMPORTED_MODULE_237__ = __webpack_require__(/*! ./calendar/Calendar */ "./src/calendar/Calendar.js");
55174
+ /* harmony import */ var _calendar_CalendarAdapter__WEBPACK_IMPORTED_MODULE_238__ = __webpack_require__(/*! ./calendar/CalendarAdapter */ "./src/calendar/CalendarAdapter.js");
55175
+ /* harmony import */ var _calendar_CalendarComponent__WEBPACK_IMPORTED_MODULE_239__ = __webpack_require__(/*! ./calendar/CalendarComponent */ "./src/calendar/CalendarComponent.js");
55176
+ /* harmony import */ var _calendar_CalendarComponentAdapter__WEBPACK_IMPORTED_MODULE_240__ = __webpack_require__(/*! ./calendar/CalendarComponentAdapter */ "./src/calendar/CalendarComponentAdapter.js");
55177
+ /* harmony import */ var _calendar_CalendarListComponent__WEBPACK_IMPORTED_MODULE_241__ = __webpack_require__(/*! ./calendar/CalendarListComponent */ "./src/calendar/CalendarListComponent.js");
55178
+ /* harmony import */ var _calendar_CalendarLayout__WEBPACK_IMPORTED_MODULE_242__ = __webpack_require__(/*! ./calendar/CalendarLayout */ "./src/calendar/CalendarLayout.js");
55179
+ /* harmony import */ var _calendar_CalendarModeMenu__WEBPACK_IMPORTED_MODULE_243__ = __webpack_require__(/*! ./calendar/CalendarModeMenu */ "./src/calendar/CalendarModeMenu.js");
55180
+ /* harmony import */ var _calendar_CalendarModesMenu__WEBPACK_IMPORTED_MODULE_244__ = __webpack_require__(/*! ./calendar/CalendarModesMenu */ "./src/calendar/CalendarModesMenu.js");
55181
+ /* harmony import */ var _calendar_DateRange__WEBPACK_IMPORTED_MODULE_245__ = __webpack_require__(/*! ./calendar/DateRange */ "./src/calendar/DateRange.js");
55182
+ /* harmony import */ var _calendar_YearPanel__WEBPACK_IMPORTED_MODULE_246__ = __webpack_require__(/*! ./calendar/YearPanel */ "./src/calendar/YearPanel.js");
55183
+ /* harmony import */ var _lifecycle_Lifecycle__WEBPACK_IMPORTED_MODULE_247__ = __webpack_require__(/*! ./lifecycle/Lifecycle */ "./src/lifecycle/Lifecycle.js");
55184
+ /* harmony import */ var _planner_Planner__WEBPACK_IMPORTED_MODULE_248__ = __webpack_require__(/*! ./planner/Planner */ "./src/planner/Planner.js");
55185
+ /* harmony import */ var _planner_PlannerAdapter__WEBPACK_IMPORTED_MODULE_249__ = __webpack_require__(/*! ./planner/PlannerAdapter */ "./src/planner/PlannerAdapter.js");
55186
+ /* harmony import */ var _planner_PlannerHeader__WEBPACK_IMPORTED_MODULE_250__ = __webpack_require__(/*! ./planner/PlannerHeader */ "./src/planner/PlannerHeader.js");
55187
+ /* harmony import */ var _planner_PlannerLayout__WEBPACK_IMPORTED_MODULE_251__ = __webpack_require__(/*! ./planner/PlannerLayout */ "./src/planner/PlannerLayout.js");
55188
+ /* harmony import */ var _planner_PlannerMenuItemsOrder__WEBPACK_IMPORTED_MODULE_252__ = __webpack_require__(/*! ./planner/PlannerMenuItemsOrder */ "./src/planner/PlannerMenuItemsOrder.js");
55189
+ /* harmony import */ var _filechooser_FileChooser__WEBPACK_IMPORTED_MODULE_253__ = __webpack_require__(/*! ./filechooser/FileChooser */ "./src/filechooser/FileChooser.js");
55190
+ /* harmony import */ var _filechooser_FileChooserAdapter__WEBPACK_IMPORTED_MODULE_254__ = __webpack_require__(/*! ./filechooser/FileChooserAdapter */ "./src/filechooser/FileChooserAdapter.js");
55191
+ /* harmony import */ var _filechooser_FileChooserController__WEBPACK_IMPORTED_MODULE_255__ = __webpack_require__(/*! ./filechooser/FileChooserController */ "./src/filechooser/FileChooserController.js");
55192
+ /* harmony import */ var _filechooser_FileInput__WEBPACK_IMPORTED_MODULE_256__ = __webpack_require__(/*! ./filechooser/FileInput */ "./src/filechooser/FileInput.js");
55193
+ /* harmony import */ var _router_Route__WEBPACK_IMPORTED_MODULE_257__ = __webpack_require__(/*! ./router/Route */ "./src/router/Route.js");
55194
+ /* harmony import */ var _router_router__WEBPACK_IMPORTED_MODULE_258__ = __webpack_require__(/*! ./router/router */ "./src/router/router.js");
55195
+ /* harmony import */ var _slider_Slider__WEBPACK_IMPORTED_MODULE_259__ = __webpack_require__(/*! ./slider/Slider */ "./src/slider/Slider.js");
55196
+ /* harmony import */ var _slider_SliderAdapter__WEBPACK_IMPORTED_MODULE_260__ = __webpack_require__(/*! ./slider/SliderAdapter */ "./src/slider/SliderAdapter.js");
55197
+ /* harmony import */ var _slider_SliderLayout__WEBPACK_IMPORTED_MODULE_261__ = __webpack_require__(/*! ./slider/SliderLayout */ "./src/slider/SliderLayout.js");
55198
+ /* harmony import */ var _modeselector_Mode__WEBPACK_IMPORTED_MODULE_262__ = __webpack_require__(/*! ./modeselector/Mode */ "./src/modeselector/Mode.js");
55199
+ /* harmony import */ var _modeselector_ModeAdapter__WEBPACK_IMPORTED_MODULE_263__ = __webpack_require__(/*! ./modeselector/ModeAdapter */ "./src/modeselector/ModeAdapter.js");
55200
+ /* harmony import */ var _modeselector_ModeSelector__WEBPACK_IMPORTED_MODULE_264__ = __webpack_require__(/*! ./modeselector/ModeSelector */ "./src/modeselector/ModeSelector.js");
55201
+ /* harmony import */ var _modeselector_ModeSelectorLayout__WEBPACK_IMPORTED_MODULE_265__ = __webpack_require__(/*! ./modeselector/ModeSelectorLayout */ "./src/modeselector/ModeSelectorLayout.js");
55202
+ /* harmony import */ var _form_Form__WEBPACK_IMPORTED_MODULE_266__ = __webpack_require__(/*! ./form/Form */ "./src/form/Form.js");
55203
+ /* harmony import */ var _form_FormAdapter__WEBPACK_IMPORTED_MODULE_267__ = __webpack_require__(/*! ./form/FormAdapter */ "./src/form/FormAdapter.js");
55204
+ /* harmony import */ var _form_FormGrid__WEBPACK_IMPORTED_MODULE_268__ = __webpack_require__(/*! ./form/FormGrid */ "./src/form/FormGrid.js");
55205
+ /* harmony import */ var _form_FormLayout__WEBPACK_IMPORTED_MODULE_269__ = __webpack_require__(/*! ./form/FormLayout */ "./src/form/FormLayout.js");
55206
+ /* harmony import */ var _form_FormMenuActionKeyStroke__WEBPACK_IMPORTED_MODULE_270__ = __webpack_require__(/*! ./form/FormMenuActionKeyStroke */ "./src/form/FormMenuActionKeyStroke.js");
55207
+ /* harmony import */ var _form_FormMenu__WEBPACK_IMPORTED_MODULE_271__ = __webpack_require__(/*! ./form/FormMenu */ "./src/form/FormMenu.js");
55208
+ /* harmony import */ var _form_FormMenuAdapter__WEBPACK_IMPORTED_MODULE_272__ = __webpack_require__(/*! ./form/FormMenuAdapter */ "./src/form/FormMenuAdapter.js");
55209
+ /* harmony import */ var _form_lifecycle_FormLifecycle__WEBPACK_IMPORTED_MODULE_273__ = __webpack_require__(/*! ./form/lifecycle/FormLifecycle */ "./src/form/lifecycle/FormLifecycle.js");
55210
+ /* harmony import */ var _form_lifecycle_CancelMenu__WEBPACK_IMPORTED_MODULE_274__ = __webpack_require__(/*! ./form/lifecycle/CancelMenu */ "./src/form/lifecycle/CancelMenu.js");
55211
+ /* harmony import */ var _form_lifecycle_CloseMenu__WEBPACK_IMPORTED_MODULE_275__ = __webpack_require__(/*! ./form/lifecycle/CloseMenu */ "./src/form/lifecycle/CloseMenu.js");
55212
+ /* harmony import */ var _form_lifecycle_OkMenu__WEBPACK_IMPORTED_MODULE_276__ = __webpack_require__(/*! ./form/lifecycle/OkMenu */ "./src/form/lifecycle/OkMenu.js");
55213
+ /* harmony import */ var _form_lifecycle_ResetMenu__WEBPACK_IMPORTED_MODULE_277__ = __webpack_require__(/*! ./form/lifecycle/ResetMenu */ "./src/form/lifecycle/ResetMenu.js");
55214
+ /* harmony import */ var _form_lifecycle_SaveMenu__WEBPACK_IMPORTED_MODULE_278__ = __webpack_require__(/*! ./form/lifecycle/SaveMenu */ "./src/form/lifecycle/SaveMenu.js");
55215
+ /* harmony import */ var _form_DialogLayout__WEBPACK_IMPORTED_MODULE_279__ = __webpack_require__(/*! ./form/DialogLayout */ "./src/form/DialogLayout.js");
55216
+ /* harmony import */ var _form_ResponsiveManager__WEBPACK_IMPORTED_MODULE_280__ = __webpack_require__(/*! ./form/ResponsiveManager */ "./src/form/ResponsiveManager.js");
55217
+ /* harmony import */ var _form_ResponsiveHandler__WEBPACK_IMPORTED_MODULE_281__ = __webpack_require__(/*! ./form/ResponsiveHandler */ "./src/form/ResponsiveHandler.js");
55218
+ /* harmony import */ var _form_GroupBoxResponsiveHandler__WEBPACK_IMPORTED_MODULE_282__ = __webpack_require__(/*! ./form/GroupBoxResponsiveHandler */ "./src/form/GroupBoxResponsiveHandler.js");
55219
+ /* harmony import */ var _form_DesktopResponsiveHandler__WEBPACK_IMPORTED_MODULE_283__ = __webpack_require__(/*! ./form/DesktopResponsiveHandler */ "./src/form/DesktopResponsiveHandler.js");
55220
+ /* harmony import */ var _form_TileOverviewForm__WEBPACK_IMPORTED_MODULE_284__ = __webpack_require__(/*! ./form/TileOverviewForm */ "./src/form/TileOverviewForm.js");
55221
+ /* harmony import */ var _form_TileOverviewFormAdapter__WEBPACK_IMPORTED_MODULE_285__ = __webpack_require__(/*! ./form/TileOverviewFormAdapter */ "./src/form/TileOverviewFormAdapter.js");
55222
+ /* harmony import */ var _table_Table__WEBPACK_IMPORTED_MODULE_286__ = __webpack_require__(/*! ./table/Table */ "./src/table/Table.js");
55223
+ /* harmony import */ var _table_TableAdapter__WEBPACK_IMPORTED_MODULE_287__ = __webpack_require__(/*! ./table/TableAdapter */ "./src/table/TableAdapter.js");
55224
+ /* harmony import */ var _table_TableCompactHandler__WEBPACK_IMPORTED_MODULE_288__ = __webpack_require__(/*! ./table/TableCompactHandler */ "./src/table/TableCompactHandler.js");
55225
+ /* harmony import */ var _table_TableRow__WEBPACK_IMPORTED_MODULE_289__ = __webpack_require__(/*! ./table/TableRow */ "./src/table/TableRow.js");
55226
+ /* harmony import */ var _table_TableMatrix__WEBPACK_IMPORTED_MODULE_290__ = __webpack_require__(/*! ./table/TableMatrix */ "./src/table/TableMatrix.js");
55227
+ /* harmony import */ var _table_TableFooter__WEBPACK_IMPORTED_MODULE_291__ = __webpack_require__(/*! ./table/TableFooter */ "./src/table/TableFooter.js");
55228
+ /* harmony import */ var _table_TableFooterLayout__WEBPACK_IMPORTED_MODULE_292__ = __webpack_require__(/*! ./table/TableFooterLayout */ "./src/table/TableFooterLayout.js");
55229
+ /* harmony import */ var _table_TableInfoFilterTooltip__WEBPACK_IMPORTED_MODULE_293__ = __webpack_require__(/*! ./table/TableInfoFilterTooltip */ "./src/table/TableInfoFilterTooltip.js");
55230
+ /* harmony import */ var _table_TableInfoLoadTooltip__WEBPACK_IMPORTED_MODULE_294__ = __webpack_require__(/*! ./table/TableInfoLoadTooltip */ "./src/table/TableInfoLoadTooltip.js");
55231
+ /* harmony import */ var _table_TableInfoSelectionTooltip__WEBPACK_IMPORTED_MODULE_295__ = __webpack_require__(/*! ./table/TableInfoSelectionTooltip */ "./src/table/TableInfoSelectionTooltip.js");
55232
+ /* harmony import */ var _table_TableHeader__WEBPACK_IMPORTED_MODULE_296__ = __webpack_require__(/*! ./table/TableHeader */ "./src/table/TableHeader.js");
55233
+ /* harmony import */ var _table_TableHeaderMenu__WEBPACK_IMPORTED_MODULE_297__ = __webpack_require__(/*! ./table/TableHeaderMenu */ "./src/table/TableHeaderMenu.js");
55234
+ /* harmony import */ var _table_TableHeaderMenuLayout__WEBPACK_IMPORTED_MODULE_298__ = __webpack_require__(/*! ./table/TableHeaderMenuLayout */ "./src/table/TableHeaderMenuLayout.js");
55235
+ /* harmony import */ var _table_TableHeaderMenuGroup__WEBPACK_IMPORTED_MODULE_299__ = __webpack_require__(/*! ./table/TableHeaderMenuGroup */ "./src/table/TableHeaderMenuGroup.js");
55236
+ /* harmony import */ var _table_TableHeaderMenuButton__WEBPACK_IMPORTED_MODULE_300__ = __webpack_require__(/*! ./table/TableHeaderMenuButton */ "./src/table/TableHeaderMenuButton.js");
55036
55237
  /* harmony import */ var _table_TableLayout__WEBPACK_IMPORTED_MODULE_301__ = __webpack_require__(/*! ./table/TableLayout */ "./src/table/TableLayout.js");
55037
55238
  /* harmony import */ var _table_TableSelectionHandler__WEBPACK_IMPORTED_MODULE_302__ = __webpack_require__(/*! ./table/TableSelectionHandler */ "./src/table/TableSelectionHandler.js");
55038
55239
  /* harmony import */ var _table_TableTileGridMediator__WEBPACK_IMPORTED_MODULE_303__ = __webpack_require__(/*! ./table/TableTileGridMediator */ "./src/table/TableTileGridMediator.js");
@@ -56208,7 +56409,7 @@ __webpack_require__.r(__webpack_exports__);
56208
56409
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
56209
56410
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../index */ "./src/index.js");
56210
56411
  /*
56211
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
56412
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
56212
56413
  * All rights reserved. This program and the accompanying materials
56213
56414
  * are made available under the terms of the Eclipse Public License v1.0
56214
56415
  * which accompanies this distribution, and is available at
@@ -57121,10 +57322,24 @@ const __origCleanData = (jquery__WEBPACK_IMPORTED_MODULE_0___default().cleanData
57121
57322
  (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.isDisplayNone) = function () {
57122
57323
  return this.css('display') === 'none';
57123
57324
  };
57325
+ /**
57326
+ * @param {boolean} tabbable true, to make the component tabbable. False, to make it neither tabbable nor focusable.
57327
+ * @returns {$}
57328
+ */
57329
+
57124
57330
 
57125
57331
  (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.setTabbable) = function (tabbable) {
57126
57332
  return this.attr('tabIndex', tabbable ? 0 : null);
57127
57333
  };
57334
+ /**
57335
+ * @param {boolean} tabbable true, to make the component tabbable. False, to make it not tabbable but focusable, so the user can focus it with the mouse but not with the keyboard.
57336
+ * @returns {$}
57337
+ */
57338
+
57339
+
57340
+ (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.setTabbableOrFocusable) = function (tabbable) {
57341
+ return this.attr('tabIndex', tabbable ? 0 : -1);
57342
+ };
57128
57343
 
57129
57344
  (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.isTabbable) = function () {
57130
57345
  return this.attr('tabIndex') >= 0;
@@ -57361,17 +57576,19 @@ const __origCleanData = (jquery__WEBPACK_IMPORTED_MODULE_0___default().cleanData
57361
57576
  return this;
57362
57577
  }
57363
57578
 
57364
- return this.on('animationend webkitAnimationEnd', event => {
57579
+ let oneHandler = event => {
57365
57580
  if (event.target !== this[0]) {
57366
57581
  // Ignore events that bubble up from child elements
57367
57582
  return;
57368
57583
  } // Unregister listener to implement "one" semantics
57369
57584
 
57370
57585
 
57371
- this.off(event); // Notify actual event handler
57586
+ this.off('animationend webkitAnimationEnd', oneHandler); // Notify actual event handler
57372
57587
 
57373
57588
  handler(event);
57374
- });
57589
+ };
57590
+
57591
+ return this.on('animationend webkitAnimationEnd', oneHandler);
57375
57592
  };
57376
57593
 
57377
57594
  (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.hasAnimationClass) = function () {
@@ -58514,6 +58731,7 @@ class CloseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
58514
58731
  render: !!$drawingArea,
58515
58732
  $drawingArea: $drawingArea
58516
58733
  };
58734
+ this.inheritAccessibility = false;
58517
58735
  }
58518
58736
 
58519
58737
  handle(event) {
@@ -58558,6 +58776,7 @@ class ContextMenuKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke
58558
58776
  this.ctrl = false;
58559
58777
  this.shift = false;
58560
58778
  this.stopPropagation = true;
58779
+ this.inheritAccessibility = false;
58561
58780
  }
58562
58781
  /**
58563
58782
  * @override KeyStroke.js
@@ -58696,6 +58915,7 @@ class FocusFilterFieldKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyS
58696
58915
 
58697
58916
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
58698
58917
  this.stopPropagation = true;
58918
+ this.inheritAccessibility = false;
58699
58919
  }
58700
58920
  /**
58701
58921
  * @override KeyStroke.js
@@ -58972,6 +59192,7 @@ class KeyStroke {
58972
59192
  this.which = []; // keys which this keystroke is bound to. Typically, this is a single key, but may be multiple keys if handling the same action (e.g. ENTER and SPACE on a button).
58973
59193
 
58974
59194
  this.ctrl = false;
59195
+ this.inheritAccessibility = true;
58975
59196
  this.alt = false;
58976
59197
  this.shift = false;
58977
59198
  this.preventDefault = true;
@@ -59097,11 +59318,20 @@ class KeyStroke {
59097
59318
  // Check visibility
59098
59319
  if (this.field.visible !== undefined && !this.field.visible) {
59099
59320
  return false;
59100
- } // Check enabled state
59321
+ } // Check enabled state (if inheritAccessibility is true)
59101
59322
 
59102
59323
 
59103
- if (this.field.enabled !== undefined && !this.field.enabled) {
59104
- return false;
59324
+ if (!this.inheritAccessibility) {
59325
+ return true;
59326
+ }
59327
+
59328
+ if (this.field.enabledComputed !== undefined) {
59329
+ return this.field.enabledComputed;
59330
+ }
59331
+
59332
+ if (this.field.enabled !== undefined) {
59333
+ // This should actually not happen because this.field should always be a hypothetical case if this.field is not a widget
59334
+ return this.field.enabled;
59105
59335
  }
59106
59336
  }
59107
59337
 
@@ -59947,17 +60177,22 @@ class TabItemKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
59947
60177
  this.renderingHints.offset = 16;
59948
60178
  this.renderingHints.hAlign = _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.RIGHT;
59949
60179
 
59950
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
59951
- return this.field.$tabContainer;
59952
- }.bind(this);
60180
+ this.renderingHints.render = () => {
60181
+ let tab = this.field.getTab();
60182
+ return tab && tab.rendered;
60183
+ };
60184
+
60185
+ this.renderingHints.$drawingArea = ($drawingArea, event) => this.field.getTab().$container;
60186
+
60187
+ this.inheritAccessibility = false;
59953
60188
  }
59954
60189
  /**
59955
- * @override KeyStroke.js
60190
+ * @override
59956
60191
  */
59957
60192
 
59958
60193
 
59959
60194
  handle(event) {
59960
- this.field.parent.setSelectedTab(this.field);
60195
+ this.field.select();
59961
60196
  }
59962
60197
 
59963
60198
  }
@@ -66127,9 +66362,15 @@ __webpack_require__.r(__webpack_exports__);
66127
66362
 
66128
66363
 
66129
66364
 
66130
- /* global log4javascript */
66131
-
66132
- const DEFAULT_LEVEL = 'trace';
66365
+ const Level = {
66366
+ TRACE: 'trace',
66367
+ DEBUG: 'debug',
66368
+ INFO: 'info',
66369
+ WARN: 'warn',
66370
+ ERROR: 'error',
66371
+ FATAL: 'fatal'
66372
+ };
66373
+ const DEFAULT_LEVEL = Level.TRACE;
66133
66374
  let initialized = false;
66134
66375
  let _appendersToAdd = [];
66135
66376
  let showStackTraces = true;
@@ -66198,22 +66439,22 @@ function parseLevel(level) {
66198
66439
  level = level.toLowerCase();
66199
66440
 
66200
66441
  switch (level) {
66201
- case 'trace':
66442
+ case Level.TRACE:
66202
66443
  return log4javascript.Level.TRACE;
66203
66444
 
66204
- case 'debug':
66445
+ case Level.DEBUG:
66205
66446
  return log4javascript.Level.DEBUG;
66206
66447
 
66207
- case 'info':
66448
+ case Level.INFO:
66208
66449
  return log4javascript.Level.INFO;
66209
66450
 
66210
- case 'warn':
66451
+ case Level.WARN:
66211
66452
  return log4javascript.Level.WARN;
66212
66453
 
66213
- case 'error':
66454
+ case Level.ERROR:
66214
66455
  return log4javascript.Level.ERROR;
66215
66456
 
66216
- case 'fatal':
66457
+ case Level.FATAL:
66217
66458
  return log4javascript.Level.FATAL;
66218
66459
  }
66219
66460
  }
@@ -66232,6 +66473,7 @@ function addAppender(factoryName, options) {
66232
66473
  }
66233
66474
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
66234
66475
  DEFAULT_LEVEL,
66476
+ Level,
66235
66477
  addAppender,
66236
66478
  bootstrap,
66237
66479
  initLog4Javascript,
@@ -66337,11 +66579,11 @@ __webpack_require__.r(__webpack_exports__);
66337
66579
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
66338
66580
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
66339
66581
  /*
66340
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
66582
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
66341
66583
  * All rights reserved. This program and the accompanying materials
66342
66584
  * are made available under the terms of the Eclipse Public License v1.0
66343
66585
  * which accompanies this distribution, and is available at
66344
- * http://www.eclipse.org/legal/epl-v10.html
66586
+ * https://www.eclipse.org/legal/epl-v10.html
66345
66587
  *
66346
66588
  * Contributors:
66347
66589
  * BSI Business Systems Integration AG - initial API and implementation
@@ -66386,7 +66628,7 @@ class LoginBox extends _index__WEBPACK_IMPORTED_MODULE_0__.Box {
66386
66628
  this.$form = jquery__WEBPACK_IMPORTED_MODULE_1___default()('<form>').attr('action', this.authUrl).attr('method', 'post').submit(this._onLoginFormSubmit.bind(this)).appendTo(this.$content);
66387
66629
 
66388
66630
  if (this.messageKey) {
66389
- this.$message = jquery__WEBPACK_IMPORTED_MODULE_1___default()('<div>').attr('id', 'message-box').html(_index__WEBPACK_IMPORTED_MODULE_0__.strings.nl2br(this.texts.get(this.messageKey))).appendTo(this.$form);
66631
+ this.$message = jquery__WEBPACK_IMPORTED_MODULE_1___default()('<div>').attr('id', 'message-box').addClass('message-box').html(_index__WEBPACK_IMPORTED_MODULE_0__.strings.nl2br(this.texts.get(this.messageKey))).appendTo(this.$form);
66390
66632
  }
66391
66633
 
66392
66634
  this.$user = jquery__WEBPACK_IMPORTED_MODULE_1___default()('<input>').attr('type', 'text').attr('autocapitalize', 'off').attr('autocorrect', 'off').placeholder(this.texts.get('ui.User')).appendTo(this.$form);
@@ -70194,25 +70436,10 @@ __webpack_require__.r(__webpack_exports__);
70194
70436
  * BSI Business Systems Integration AG - initial API and implementation
70195
70437
  */
70196
70438
 
70197
- class MenuExecKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
70439
+ class MenuExecKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.ActionExecKeyStroke {
70198
70440
  constructor(menu) {
70199
- super();
70200
- this.field = menu;
70201
- this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.SPACE, _index__WEBPACK_IMPORTED_MODULE_0__.keys.ENTER];
70202
- this.stopPropagation = true;
70441
+ super(menu);
70203
70442
  this.renderingHints.offset = 16;
70204
-
70205
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
70206
- return this.field.$container;
70207
- }.bind(this);
70208
- }
70209
- /**
70210
- * @override KeyStroke.js
70211
- */
70212
-
70213
-
70214
- handle(event) {
70215
- this.field.doAction();
70216
70443
  }
70217
70444
 
70218
70445
  }
@@ -70473,6 +70700,7 @@ class MenuNavigationKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStr
70473
70700
  constructor(popup) {
70474
70701
  super();
70475
70702
  this.field = popup;
70703
+ this.inheritAccessibility = false;
70476
70704
  }
70477
70705
 
70478
70706
  _accept(event) {
@@ -71796,6 +72024,7 @@ __webpack_require__.r(__webpack_exports__);
71796
72024
  */
71797
72025
 
71798
72026
  class MenuBarLeftKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
72027
+ // noinspection DuplicatedCode
71799
72028
  constructor(menuBar) {
71800
72029
  super();
71801
72030
  this.field = menuBar;
@@ -71803,6 +72032,7 @@ class MenuBarLeftKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke
71803
72032
  this.renderingHints.render = false;
71804
72033
  this.stopPropagation = true;
71805
72034
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
72035
+ this.inheritAccessibility = false;
71806
72036
  }
71807
72037
 
71808
72038
  handle(event) {
@@ -71916,6 +72146,7 @@ __webpack_require__.r(__webpack_exports__);
71916
72146
  */
71917
72147
 
71918
72148
  class MenuBarRightKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
72149
+ // noinspection DuplicatedCode
71919
72150
  constructor(menuBar) {
71920
72151
  super();
71921
72152
  this.field = menuBar;
@@ -71923,6 +72154,7 @@ class MenuBarRightKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStrok
71923
72154
  this.renderingHints.render = false;
71924
72155
  this.stopPropagation = true;
71925
72156
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
72157
+ this.inheritAccessibility = false;
71926
72158
  }
71927
72159
 
71928
72160
  handle(event) {
@@ -73814,7 +74046,9 @@ class ModeSelector extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
73814
74046
 
73815
74047
  if (this.selectedMode && this.selectedMode.$container) {
73816
74048
  selectedModePosX = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.position(this.selectedMode.$container).x;
73817
- selectedModeWidth = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.size(this.selectedMode.$container).width;
74049
+ selectedModeWidth = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.size(this.selectedMode.$container, {
74050
+ exact: true
74051
+ }).width;
73818
74052
  }
73819
74053
 
73820
74054
  this.$slider.cssLeft(selectedModePosX);
@@ -75912,6 +76146,10 @@ class Planner extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
75912
76146
  this._rerenderActivities();
75913
76147
 
75914
76148
  this._renderSelectedActivity();
76149
+
76150
+ this.validateLayoutTree(); // Layouting is required for adjusting the scroll position
76151
+
76152
+ this._reconcileScrollPos();
75915
76153
  }
75916
76154
  }
75917
76155
 
@@ -76751,7 +76989,7 @@ __webpack_require__.r(__webpack_exports__);
76751
76989
  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; }
76752
76990
 
76753
76991
  /*
76754
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
76992
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
76755
76993
  * All rights reserved. This program and the accompanying materials
76756
76994
  * are made available under the terms of the Eclipse Public License v1.0
76757
76995
  * which accompanies this distribution, and is available at
@@ -76883,20 +77121,18 @@ class Popup extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
76883
77121
 
76884
77122
  _openWithoutParent() {
76885
77123
  // resolve parent for entry-point (don't change the actual property)
76886
- let parent = this.parent;
76887
-
76888
- if (parent.destroyed) {
77124
+ if (this.parent.destroyed) {
76889
77125
  return;
76890
77126
  }
76891
77127
 
76892
- if (parent.rendered || parent.rendering) {
76893
- this.open(parent.entryPoint());
77128
+ if (this.parent.rendered || this.parent.rendering) {
77129
+ this.open(this._getDefaultOpen$Parent());
76894
77130
  return;
76895
77131
  } // This is important for popups rendered in another (native) browser window. The DOM in the popup window
76896
77132
  // is rendered later, so we must wait until that window is rendered and layouted. See popup-window.html.
76897
77133
 
76898
77134
 
76899
- parent.one('render', () => {
77135
+ this.parent.one('render', () => {
76900
77136
  this.session.layoutValidator.schedulePostValidateFunction(() => {
76901
77137
  if (this.destroyed || this.rendered) {
76902
77138
  return;
@@ -76906,6 +77142,15 @@ class Popup extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
76906
77142
  });
76907
77143
  });
76908
77144
  }
77145
+ /**
77146
+ * Only called if parent.rendered or parent.rendering
77147
+ * @return {$}
77148
+ */
77149
+
77150
+
77151
+ _getDefaultOpen$Parent() {
77152
+ return this.parent.entryPoint();
77153
+ }
76909
77154
 
76910
77155
  open($parent) {
76911
77156
  if (!$parent) {
@@ -77183,6 +77428,16 @@ class Popup extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
77183
77428
  return cssClass;
77184
77429
  }
77185
77430
 
77431
+ _animateRemovalWhileRemovingParent() {
77432
+ if (!this.$anchor) {
77433
+ // Allow remove animations for popups without an anchor
77434
+ return true;
77435
+ } // If parent is the anchor, prevent remove animation to ensure popup will be removed together with the anchor
77436
+
77437
+
77438
+ return _index__WEBPACK_IMPORTED_MODULE_0__.widgets.get(this.$anchor) !== this.parent;
77439
+ }
77440
+
77186
77441
  _isRemovalPrevented() {
77187
77442
  // If removal of a parent is pending due to an animation then don't return true to make sure popups are closed before the parent animation starts.
77188
77443
  // However, if the popup itself is removed by an animation, removal should be prevented to ensure remove() won't run multiple times.
@@ -77832,7 +78087,7 @@ class Popup extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
77832
78087
  }
77833
78088
 
77834
78089
  _handleGlassPanes() {
77835
- let parentCoveredByGlassPane = this.session.focusManager.isElementCovertByGlassPane(this.parent.$container); // if a popup is covered by a glass pane the glass pane's need to be rerendered to ensure a glass pane is also painted over the popup
78090
+ let parentCoveredByGlassPane = this.session.focusManager.isElementCovertByGlassPane(this.parent.$container); // if a popup is covered by a glass pane the glass pane's need to be re-rendered to ensure a glass pane is also painted over the popup
77836
78091
 
77837
78092
  if (parentCoveredByGlassPane) {
77838
78093
  this.session.focusManager.rerenderGlassPanes();
@@ -77973,7 +78228,7 @@ __webpack_require__.r(__webpack_exports__);
77973
78228
  /* harmony export */ });
77974
78229
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
77975
78230
  /*
77976
- * Copyright (c) 2014-2020 BSI Business Systems Integration AG.
78231
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
77977
78232
  * All rights reserved. This program and the accompanying materials
77978
78233
  * are made available under the terms of the Eclipse Public License v1.0
77979
78234
  * which accompanies this distribution, and is available at
@@ -78113,9 +78368,6 @@ class PopupLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
78113
78368
 
78114
78369
 
78115
78370
  _calcMaxSize() {
78116
- // Position the popup at the desired location before doing any calculations to consider the preferred bounds
78117
- this._position(false);
78118
-
78119
78371
  let maxWidth,
78120
78372
  maxHeight,
78121
78373
  htmlComp = this.popup.htmlComp,
@@ -78134,7 +78386,7 @@ class PopupLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
78134
78386
  windowSize = this._calcMaxSize(),
78135
78387
  Alignment = _index__WEBPACK_IMPORTED_MODULE_0__.Popup.Alignment,
78136
78388
  horizontalAlignment = this.popup.horizontalAlignment,
78137
- verticalAlignment = this.popup.verticalAlignment; // Decide whether the prefSize can be used or the popup needs to be shrinked so that it fits into the viewport
78389
+ verticalAlignment = this.popup.verticalAlignment; // Decide whether the prefSize can be used or the popup needs to be shrunken so that it fits into the viewport
78138
78390
  // The decision is based on the preferred opening direction
78139
78391
  // Example: The popup would like to be opened leftedge and bottom
78140
78392
  // If there is enough space on the right and on the bottom -> pref size is used
@@ -78201,9 +78453,6 @@ class PopupLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
78201
78453
 
78202
78454
 
78203
78455
  _calcMaxSizeAroundAnchor() {
78204
- // Position the popup at the desired location before doing any calculations because positioning adds CSS classes which might change margins
78205
- this._position(false);
78206
-
78207
78456
  let maxWidthLeft,
78208
78457
  maxWidthRight,
78209
78458
  maxHeightDown,
@@ -80787,7 +81036,7 @@ __webpack_require__.r(__webpack_exports__);
80787
81036
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
80788
81037
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
80789
81038
  /*
80790
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
81039
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
80791
81040
  * All rights reserved. This program and the accompanying materials
80792
81041
  * are made available under the terms of the Eclipse Public License v1.0
80793
81042
  * which accompanies this distribution, and is available at
@@ -80957,7 +81206,19 @@ function installScrollShadow($container, session, options) {
80957
81206
 
80958
81207
  _installIntersectionObserver();
80959
81208
 
80960
- intersectionObserver.observe($container[0]);
81209
+ intersectionObserver.observe($container[0]); // this is required in addition to the intersection observer because the observer events are handled asynchronously later after all the setTimeout calls.
81210
+ // Then the shadow might stay visible too long which has an impact on layout updates.
81211
+
81212
+ let containerElement = $container[0];
81213
+
81214
+ let visibleListener = e => {
81215
+ if (e.target === containerElement) {
81216
+ _onScrollableVisibleChange(containerElement, e.type === 'show');
81217
+ }
81218
+ };
81219
+
81220
+ $container.data('scroll-shadow-visible-listener', visibleListener);
81221
+ $container.on('hide show', visibleListener);
80961
81222
  }
80962
81223
  function uninstallScrollShadow($container, session) {
80963
81224
  let $shadow = $container.data('scroll-shadow');
@@ -80980,6 +81241,12 @@ function uninstallScrollShadow($container, session) {
80980
81241
  intersectionObserver.unobserve($container[0]);
80981
81242
  }
80982
81243
 
81244
+ let visibleListener = $container.data('scroll-shadow-visible-listener');
81245
+
81246
+ if (visibleListener) {
81247
+ $container.off('hide show', visibleListener);
81248
+ }
81249
+
80983
81250
  let $scrollables = _$scrollables[session];
80984
81251
 
80985
81252
  if (!$scrollables || !$scrollables.some($scrollable => $scrollable.data('scroll-shadow'))) {
@@ -81055,7 +81322,7 @@ function updateScrollShadow($container) {
81055
81322
  $shadow.toggleClass('right', !atRight && style.indexOf('right') > -1);
81056
81323
  _index__WEBPACK_IMPORTED_MODULE_0__.graphics.setBounds($shadow, _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds($container, {
81057
81324
  exact: true
81058
- }));
81325
+ }).subtract(insets($shadow)));
81059
81326
  _index__WEBPACK_IMPORTED_MODULE_0__.graphics.setMargins($shadow, _index__WEBPACK_IMPORTED_MODULE_0__.graphics.margins($container));
81060
81327
  $shadow.css('border-radius', $container.css('border-radius'));
81061
81328
  let customizer = $container.data('scroll-shadow-customizer');
@@ -81071,6 +81338,10 @@ function updateScrollShadow($container) {
81071
81338
  function atEnd(scrollPos, scrollSize, offsetSize) {
81072
81339
  return scrollPos + 1 >= scrollSize - offsetSize;
81073
81340
  }
81341
+
81342
+ function insets($shadow) {
81343
+ return new _index__WEBPACK_IMPORTED_MODULE_0__.Insets($shadow.cssPxValue('--scroll-shadow-inset-top'), $shadow.cssPxValue('--scroll-shadow-inset-right'), $shadow.cssPxValue('--scroll-shadow-inset-bottom'), $shadow.cssPxValue('--scroll-shadow-inset-left'));
81344
+ }
81074
81345
  }
81075
81346
  /**
81076
81347
  * Installs a dom mutation observer that tracks all scrollables in order to move the scroll shadow along with the scrollable.
@@ -81562,7 +81833,7 @@ function scrollToBottom($scrollable, options) {
81562
81833
  /**
81563
81834
  * @param location object with x and y properties
81564
81835
  * @param $scrollables one or more scrollables to check against
81565
- * @eturns {boolean} true if the location is visible in the current viewport of all the $scrollables, or if $scrollables is null
81836
+ * @returns {boolean} true if the location is visible in the current viewport of all the $scrollables, or if $scrollables is null
81566
81837
  */
81567
81838
 
81568
81839
  function isLocationInView(location, $scrollables) {
@@ -84607,15 +84878,18 @@ class Session {
84607
84878
  this._sendRequest(request);
84608
84879
  }
84609
84880
  /**
84610
- * Sends a request containing the error message for logging purpose.
84611
- * The request is sent immediately (does not await pending requests)
84881
+ * Sends a request containing the log message for logging purpose.
84882
+ * The request is sent immediately (does not await pending requests).
84883
+ * @param {string} message the log message
84884
+ * @param {logging.Level} [level] the log level used to log the message. Default is {@link logging.Level.ERROR}.
84612
84885
  */
84613
84886
 
84614
84887
 
84615
- sendLogRequest(message) {
84888
+ sendLogRequest(message, level) {
84616
84889
  let request = this._newRequest({
84617
84890
  log: true,
84618
- message: message
84891
+ message: message,
84892
+ level: _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(level, _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.ERROR)
84619
84893
  });
84620
84894
 
84621
84895
  if (this.currentEvent) {
@@ -87703,6 +87977,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
87703
87977
  this.contextColumn = null;
87704
87978
  this.checkable = false;
87705
87979
  this.checkableStyle = Table.CheckableStyle.CHECKBOX;
87980
+ this.cellEditorPopup = null;
87706
87981
  this.compact = false;
87707
87982
  this.compactHandler = _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('TableCompactHandler', {
87708
87983
  table: this
@@ -87784,6 +88059,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
87784
88059
  this._popupOpenHandler = this._onDesktopPopupOpen.bind(this);
87785
88060
  this._rerenderViewPortAfterAttach = false;
87786
88061
  this._renderViewPortAfterAttach = false;
88062
+ this._postAttachActions = [];
87787
88063
  this._desktopPropertyChangeHandler = this._onDesktopPropertyChange.bind(this);
87788
88064
 
87789
88065
  this._addWidgetProperties(['tableControls', 'menus', 'keyStrokes', 'staticMenus', 'tileTableHeader', 'tableTileGridMediator']);
@@ -88114,8 +88390,6 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
88114
88390
  }
88115
88391
 
88116
88392
  _removeData() {
88117
- this._destroyCellEditorPopup();
88118
-
88119
88393
  this._removeAggregateRows();
88120
88394
 
88121
88395
  this._uninstallImageListeners();
@@ -88210,7 +88484,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
88210
88484
  }
88211
88485
 
88212
88486
  let oldRowHeight = row.height;
88213
- row.height = $row.outerHeight(true);
88487
+ row.height = this._measureRowHeight($row);
88214
88488
 
88215
88489
  if (oldRowHeight !== row.height) {
88216
88490
  this.invalidateLayoutTree();
@@ -88300,13 +88574,13 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
88300
88574
  return;
88301
88575
  }
88302
88576
 
88577
+ let row = $row.data('row'); // read row before the $row potentially could be replaced by the column specific logic on mouse up
88578
+
88303
88579
  if (mouseButton === 1) {
88304
88580
  column.onMouseUp(event, $row);
88305
88581
  $appLink = this._find$AppLink(event);
88306
88582
  }
88307
88583
 
88308
- let row = $row.data('row');
88309
-
88310
88584
  if ($appLink) {
88311
88585
  this._triggerAppLinkAction(column, row, $appLink.data('ref'), $appLink);
88312
88586
  } else {
@@ -88546,9 +88820,8 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
88546
88820
  let $row = $cell.parent();
88547
88821
  return $row.data('aggregateRow')
88548
88822
  /* row in the table */
88549
- || $row.hasClass('table-aggregate')
88823
+ || $row.hasClass('table-aggregate');
88550
88824
  /* aggregate table control */
88551
- ;
88552
88825
  }
88553
88826
 
88554
88827
  reload(reloadReason) {
@@ -89270,11 +89543,13 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89270
89543
 
89271
89544
  _updateRowHeight() {
89272
89545
  let $emptyRow = this.$data.appendDiv('table-row');
89273
- let $emptyAggrRow = this.$data.appendDiv('table-aggregate-row');
89546
+
89547
+ let $emptyAggrRow = this._build$AggregateRow().appendTo(this.$data);
89548
+
89274
89549
  $emptyRow.appendDiv('table-cell').html('&nbsp;');
89275
- $emptyAggrRow.appendDiv('table-cell').html('&nbsp;');
89276
- this.rowHeight = $emptyRow.outerHeight(true);
89277
- this.aggregateRowHeight = $emptyAggrRow.outerHeight(true);
89550
+ $emptyAggrRow.appendDiv('table-cell table-aggregate-cell').appendSpan('text').html('&nbsp;');
89551
+ this.rowHeight = this._measureRowHeight($emptyRow);
89552
+ this.aggregateRowHeight = this._measureRowHeight($emptyAggrRow);
89278
89553
  $emptyRow.remove();
89279
89554
  $emptyAggrRow.remove();
89280
89555
  }
@@ -89288,7 +89563,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89288
89563
  if (!row.$row) {
89289
89564
  row.height = null;
89290
89565
  } else {
89291
- row.height = row.$row.outerHeight(true);
89566
+ row.height = this._measureRowHeight(row.$row);
89292
89567
  }
89293
89568
  });
89294
89569
 
@@ -89296,7 +89571,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89296
89571
  if (!aggregateRow.$row) {
89297
89572
  aggregateRow.height = null;
89298
89573
  } else {
89299
- aggregateRow.height = aggregateRow.$row.outerHeight(true);
89574
+ aggregateRow.height = this._measureRowHeight(aggregateRow.$row);
89300
89575
  }
89301
89576
  });
89302
89577
  }
@@ -89650,7 +89925,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89650
89925
 
89651
89926
  this._destroyTooltipsForRow(row);
89652
89927
 
89653
- this._removeCellEditorForRow(row); // Do not remove rows which are removed using an animation
89928
+ this._destroyCellEditorForRow(row); // Do not remove rows which are removed using an animation
89654
89929
 
89655
89930
 
89656
89931
  if (!$row.hasClass('hiding')) {
@@ -89731,7 +90006,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89731
90006
 
89732
90007
 
89733
90008
  _installRow(row) {
89734
- row.height = row.$row.outerHeight(true);
90009
+ row.height = this._measureRowHeight(row.$row);
89735
90010
 
89736
90011
  if (row.hasError) {
89737
90012
  this._showCellErrorForRow(row);
@@ -89873,8 +90148,26 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89873
90148
  });
89874
90149
  }
89875
90150
  /**
89876
- * This functions starts the cell editor for the given row and column. Prepare must wait until
89877
- * a pending completeCellEdit operation is resolved.
90151
+ * Starts cell editing for the cell at the given column and row, but only if editing is allowed.
90152
+ * @see prepareCellEdit
90153
+ */
90154
+
90155
+
90156
+ focusCell(column, row) {
90157
+ let cell = this.cell(column, row);
90158
+
90159
+ if (this.enabledComputed && row.enabled && cell.editable) {
90160
+ this.prepareCellEdit(column, row);
90161
+ }
90162
+ }
90163
+ /**
90164
+ * Creates a cell editor for the cell at the given column and row, ensures the row is selected and passes the editor
90165
+ * to {@link #startCellEdit} which starts the editing by rendering the editor in a {@link CellEditorPopup}.<br>
90166
+ * If the completion of a previous cell edit is still in progress, the preparation is delayed until the completion is finished.
90167
+ *
90168
+ * @param {boolean} [openFieldPopupOnCellEdit] true to instruct the editor to open its control popup when the editor is rendered.
90169
+ * This only has an effect if the editor has a popup (e.g. SmartField or DateField).
90170
+ * @returns Promise the promise will be resolved when the preparation has been finished.
89878
90171
  */
89879
90172
 
89880
90173
 
@@ -89888,10 +90181,10 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89888
90181
  return promise.then(this.prepareCellEditInternal.bind(this, column, row, openFieldPopupOnCellEdit));
89889
90182
  }
89890
90183
  /**
89891
- * @param openFieldPopupOnCellEdit when this parameter is set to true, the CellEditorPopup sets an
90184
+ * @param {boolean} [openFieldPopupOnCellEdit] when this parameter is set to true, the CellEditorPopup sets an
89892
90185
  * additional property 'cellEditor' on the editor-field. The field instance may use this property
89893
90186
  * to decide whether or not it should open a popup immediately after it is rendered. This is used
89894
- * for Smart- and DateFields.
90187
+ * for Smart- and DateFields. Default is false.
89895
90188
  */
89896
90189
 
89897
90190
 
@@ -90239,11 +90532,11 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90239
90532
  return;
90240
90533
  }
90241
90534
 
90242
- let $aggregateRow = this._buildAggregateRowDiv(aggregateRow);
90535
+ let $aggregateRow = this._build$AggregateRow(aggregateRow);
90243
90536
 
90244
90537
  $aggregateRow[insertFunc](refRow.$row).width(this.rowWidth);
90245
90538
  this.visibleColumns().map(column => jquery__WEBPACK_IMPORTED_MODULE_1___default()(column.buildCellForAggregateRow(aggregateRow)).appendTo($aggregateRow)).forEach($c => this._resizeAggregateCell($c));
90246
- aggregateRow.height = $aggregateRow.outerHeight(true);
90539
+ aggregateRow.height = this._measureRowHeight($aggregateRow);
90247
90540
  aggregateRow.$row = $aggregateRow;
90248
90541
 
90249
90542
  if (animate) {
@@ -90252,7 +90545,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90252
90545
  }, this);
90253
90546
  }
90254
90547
 
90255
- _buildAggregateRowDiv(aggregateRow) {
90548
+ _build$AggregateRow(aggregateRow) {
90256
90549
  let onTop = this.groupingStyle === Table.GroupingStyle.TOP;
90257
90550
  let $aggregateRow = this.$container.makeDiv('table-aggregate-row').data('aggregateRow', aggregateRow);
90258
90551
  $aggregateRow.toggleClass('grouping-style-top', onTop);
@@ -90892,7 +91185,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90892
91185
 
90893
91186
  this._destroyTooltipsForRow(row);
90894
91187
 
90895
- this._removeCellEditorForRow(row);
91188
+ this._destroyCellEditorForRow(row);
90896
91189
 
90897
91190
  this._installRow(row);
90898
91191
 
@@ -90971,19 +91264,30 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90971
91264
  }
90972
91265
  }
90973
91266
 
90974
- _removeCellEditorForRow(row) {
91267
+ _destroyCellEditorForRow(row) {
90975
91268
  if (this.cellEditorPopup && this.cellEditorPopup.rendered && this.cellEditorPopup.row.id === row.id) {
90976
- this.cellEditorPopup.remove();
91269
+ this.cellEditorPopup.destroy();
90977
91270
  }
90978
91271
  }
90979
91272
 
90980
91273
  startCellEdit(column, row, field) {
90981
- if (!this._isDataRendered() || !this.isAttachedAndRendered()) {
91274
+ if (field.destroyed) {
91275
+ // May happen if the action was postponed and the field destroyed in the meantime using endCellEdit.
91276
+ return;
91277
+ }
91278
+
91279
+ if (!this._isDataRendered()) {
90982
91280
  this._postRenderActions.push(this.startCellEdit.bind(this, column, row, field));
90983
91281
 
90984
91282
  return;
90985
91283
  }
90986
91284
 
91285
+ if (!this.$container.isAttached()) {
91286
+ this._postAttachActions.push(this.startCellEdit.bind(this, column, row, field));
91287
+
91288
+ return;
91289
+ }
91290
+
90987
91291
  this.trigger('startCellEdit', {
90988
91292
  column: column,
90989
91293
  row: row,
@@ -91003,12 +91307,6 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
91003
91307
 
91004
91308
 
91005
91309
  endCellEdit(field, saveEditorValue) {
91006
- if (!this._isDataRendered() || !this.isAttachedAndRendered()) {
91007
- this._postRenderActions.push(this.endCellEdit.bind(this, field, saveEditorValue));
91008
-
91009
- return;
91010
- }
91011
-
91012
91310
  if (!this.cellEditorPopup) {
91013
91311
  // the cellEditorPopup could already be removed by scrolling (out of view range) or be removed by update rows
91014
91312
  field.destroy();
@@ -92787,7 +93085,11 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
92787
93085
  this.$container.toggleClass('table-row-check', this.checkableStyle === Table.CheckableStyle.TABLE_ROW);
92788
93086
 
92789
93087
  if (this._isDataRendered()) {
93088
+ this._updateRowWidth();
93089
+
92790
93090
  this._redraw();
93091
+
93092
+ this.invalidateLayoutTree();
92791
93093
  }
92792
93094
  }
92793
93095
  /**
@@ -92990,7 +93292,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
92990
93292
  this.$data.setEnabled(enabled);
92991
93293
  }
92992
93294
 
92993
- this.$container.setTabbable(enabled);
93295
+ this.$container.setTabbableOrFocusable(enabled);
92994
93296
  }
92995
93297
  /**
92996
93298
  * @override Widget.js
@@ -93147,8 +93449,12 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93147
93449
  }
93148
93450
 
93149
93451
  _heightForRow(row) {
93150
- let height = 0,
93151
- aggregateRow = row.aggregateRowAfter;
93452
+ let height = 0;
93453
+ let aggregateRow = row.aggregateRowBefore;
93454
+
93455
+ if (this.groupingStyle === Table.GroupingStyle.BOTTOM) {
93456
+ aggregateRow = row.aggregateRowAfter;
93457
+ }
93152
93458
 
93153
93459
  if (row.height) {
93154
93460
  height = row.height;
@@ -93167,6 +93473,13 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93167
93473
 
93168
93474
  return height;
93169
93475
  }
93476
+
93477
+ _measureRowHeight($row) {
93478
+ return _index__WEBPACK_IMPORTED_MODULE_0__.graphics.size($row, {
93479
+ includeMargin: true,
93480
+ exact: true
93481
+ }).height;
93482
+ }
93170
93483
  /**
93171
93484
  * Returns a range of size this.viewRangeSize. Start of range is rowIndex - viewRangeSize / 4.
93172
93485
  * -> 1/4 of the rows are before the viewport 2/4 in the viewport 1/4 after the viewport,
@@ -93524,20 +93837,6 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93524
93837
  }
93525
93838
  }
93526
93839
 
93527
- focusCell(column, row) {
93528
- if (!this._isDataRendered() || !this.isAttachedAndRendered()) {
93529
- this._postRenderActions.push(this.focusCell.bind(this, column, row));
93530
-
93531
- return;
93532
- }
93533
-
93534
- let cell = this.cell(column, row);
93535
-
93536
- if (this.enabledComputed && row.enabled && cell.editable) {
93537
- this.prepareCellEdit(column, row, false);
93538
- }
93539
- }
93540
-
93541
93840
  _attach() {
93542
93841
  this.$parent.append(this.$container);
93543
93842
 
@@ -93568,6 +93867,10 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93568
93867
  this._rerenderViewportAfterAttach();
93569
93868
 
93570
93869
  this._renderViewportAfterAttach();
93870
+
93871
+ let actions = this._postAttachActions;
93872
+ this._postAttachActions = [];
93873
+ actions.forEach(action => action());
93571
93874
  }
93572
93875
 
93573
93876
  _rerenderViewportAfterAttach() {
@@ -93598,12 +93901,6 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93598
93901
 
93599
93902
  super._detach();
93600
93903
  }
93601
-
93602
- _onDetach() {
93603
- super._onDetach();
93604
-
93605
- this._destroyCellEditorPopup();
93606
- }
93607
93904
  /**
93608
93905
  * @param {function} [callback] function to be called right after the popup is destroyed
93609
93906
  */
@@ -93637,7 +93934,6 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93637
93934
  if (promise.state() === 'resolved') {
93638
93935
  // Do it immediately if promise has already been resolved.
93639
93936
  // This makes sure updateRow does not immediately reopen the editor after closing.
93640
- // At least for Scout JS, for Scout Classic it prevents flickering (endCellEdit comes after updateRows, but updateRows does not know whether the editor is closing so it will reopen it)
93641
93937
  destroyEditor();
93642
93938
  } else {
93643
93939
  promise.then(destroyEditor);
@@ -93677,7 +93973,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93677
93973
  _onDesktopPopupOpen(event) {
93678
93974
  let popup = event.popup;
93679
93975
 
93680
- if (!this.enabledComputed) {
93976
+ if (!this.isFocusable(false)) {
93681
93977
  return;
93682
93978
  } // Set table style to focused if a context menu or a menu bar popup opens, so that it looks as it still has the focus
93683
93979
 
@@ -94021,29 +94317,21 @@ class TableAdapter extends _index__WEBPACK_IMPORTED_MODULE_0__.ModelAdapter {
94021
94317
  _onWidgetCompleteCellEdit(event) {
94022
94318
  event.preventDefault();
94023
94319
 
94024
- this._sendCompleteCellEdit(event.field);
94320
+ this._sendCompleteCellEdit();
94025
94321
  }
94026
94322
 
94027
- _sendCompleteCellEdit(field) {
94028
- let data = {
94029
- fieldId: field.id
94030
- };
94031
-
94032
- this._send('completeCellEdit', data);
94323
+ _sendCompleteCellEdit() {
94324
+ this._send('completeCellEdit');
94033
94325
  }
94034
94326
 
94035
94327
  _onWidgetCancelCellEdit(event) {
94036
94328
  event.preventDefault();
94037
94329
 
94038
- this._sendCancelCellEdit(event.field);
94330
+ this._sendCancelCellEdit();
94039
94331
  }
94040
94332
 
94041
- _sendCancelCellEdit(field) {
94042
- let data = {
94043
- fieldId: field.id
94044
- };
94045
-
94046
- this._send('cancelCellEdit', data);
94333
+ _sendCancelCellEdit() {
94334
+ this._send('cancelCellEdit');
94047
94335
  }
94048
94336
 
94049
94337
  _onWidgetRowsChecked(event) {
@@ -94359,6 +94647,11 @@ class TableAdapter extends _index__WEBPACK_IMPORTED_MODULE_0__.ModelAdapter {
94359
94647
 
94360
94648
  _onEndCellEdit(fieldId) {
94361
94649
  let field = this.session.getModelAdapter(fieldId);
94650
+
94651
+ if (!field) {
94652
+ throw new Error('Field adapter could not be resolved. Id: ' + fieldId);
94653
+ }
94654
+
94362
94655
  this.widget.endCellEdit(field.widget);
94363
94656
  }
94364
94657
 
@@ -96400,7 +96693,8 @@ class TableHeader extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
96400
96693
 
96401
96694
  if (column.sortActive || column.grouped || filtered) {
96402
96695
  if (column.minWidth < _index__WEBPACK_IMPORTED_MODULE_0__.Column.DEFAULT_MIN_WIDTH) {
96403
- column.prefMinWidth = column.minWidth;
96696
+ column.__minWidthWithoutState = column.minWidth;
96697
+ column.__widthWithoutState = column.width;
96404
96698
  column.minWidth = _index__WEBPACK_IMPORTED_MODULE_0__.Column.DEFAULT_MIN_WIDTH;
96405
96699
  }
96406
96700
 
@@ -96408,14 +96702,16 @@ class TableHeader extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
96408
96702
  this.table.resizeColumn(column, column.minWidth);
96409
96703
  }
96410
96704
  } else {
96411
- // Reset to preferred min width if no state is visible
96412
- if (column.prefMinWidth !== null) {
96413
- column.minWidth = column.prefMinWidth;
96414
- column.prefMinWidth = null; // Resize to old min width, assuming user has not manually changed the size because column is still as width as default_min_width
96705
+ // Reset to previous min width if no state is visible
96706
+ if (!_index__WEBPACK_IMPORTED_MODULE_0__.objects.isNullOrUndefined(column.__minWidthWithoutState)) {
96707
+ column.minWidth = column.__minWidthWithoutState; // Resize to previous min width, assuming user has not manually changed the size because column is still as width as default_min_width
96415
96708
 
96416
96709
  if (column.width === _index__WEBPACK_IMPORTED_MODULE_0__.Column.DEFAULT_MIN_WIDTH) {
96417
- this.table.resizeColumn(column, column.minWidth);
96710
+ this.table.resizeColumn(column, column.__widthWithoutState);
96418
96711
  }
96712
+
96713
+ column.__minWidthWithoutState = null;
96714
+ column.__widthWithoutState = null;
96419
96715
  }
96420
96716
  }
96421
96717
  }
@@ -96999,7 +97295,10 @@ class TableHeaderMenu extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
96999
97295
  this.filterTable.off('rowsChecked', this._filterTableRowsCheckedHandler);
97000
97296
  }
97001
97297
 
97002
- this.tableHeader.$container.off('scroll', this._tableHeaderScrollHandler);
97298
+ if (this.tableHeader.rendered) {
97299
+ this.tableHeader.$container.off('scroll', this._tableHeaderScrollHandler);
97300
+ }
97301
+
97003
97302
  this.$headerItem.select(false);
97004
97303
  this.table.off('columnMoved', this._onColumnMovedHandler);
97005
97304
  this.table.off('filterAdded', this._tableFilterHandler);
@@ -97750,7 +98049,7 @@ class TableHeaderMenuButton extends _index__WEBPACK_IMPORTED_MODULE_0__.Action {
97750
98049
  _initKeyStrokeContext() {
97751
98050
  super._initKeyStrokeContext();
97752
98051
 
97753
- this.keyStrokeContext.registerKeyStroke([new _index__WEBPACK_IMPORTED_MODULE_0__.TableHeaderMenuButtonKeyStroke(this)]);
98052
+ this.keyStrokeContext.registerKeyStroke([new _index__WEBPACK_IMPORTED_MODULE_0__.ActionExecKeyStroke(this)]);
97754
98053
  }
97755
98054
 
97756
98055
  _render() {
@@ -97796,45 +98095,6 @@ class TableHeaderMenuButton extends _index__WEBPACK_IMPORTED_MODULE_0__.Action {
97796
98095
 
97797
98096
  /***/ }),
97798
98097
 
97799
- /***/ "./src/table/TableHeaderMenuButtonKeyStroke.js":
97800
- /*!*****************************************************!*\
97801
- !*** ./src/table/TableHeaderMenuButtonKeyStroke.js ***!
97802
- \*****************************************************/
97803
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
97804
-
97805
- __webpack_require__.r(__webpack_exports__);
97806
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
97807
- /* harmony export */ "default": () => (/* binding */ TableHeaderMenuButtonKeyStroke)
97808
- /* harmony export */ });
97809
- /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
97810
- /*
97811
- * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
97812
- * All rights reserved. This program and the accompanying materials
97813
- * are made available under the terms of the Eclipse Public License v1.0
97814
- * which accompanies this distribution, and is available at
97815
- * http://www.eclipse.org/legal/epl-v10.html
97816
- *
97817
- * Contributors:
97818
- * BSI Business Systems Integration AG - initial API and implementation
97819
- */
97820
-
97821
- class TableHeaderMenuButtonKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
97822
- constructor(field) {
97823
- super();
97824
- this.field = field;
97825
- this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.ENTER, _index__WEBPACK_IMPORTED_MODULE_0__.keys.SPACE];
97826
- this.renderingHints.render = true;
97827
- this.stopPropagation = true;
97828
- }
97829
-
97830
- handle(event) {
97831
- this.field.doAction();
97832
- }
97833
-
97834
- }
97835
-
97836
- /***/ }),
97837
-
97838
98098
  /***/ "./src/table/TableHeaderMenuGroup.js":
97839
98099
  /*!*******************************************!*\
97840
98100
  !*** ./src/table/TableHeaderMenuGroup.js ***!
@@ -98433,7 +98693,13 @@ class TableLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
98433
98693
  } // Always render viewport (not only when viewRangeSize changes), because view range depends on scroll position and data height
98434
98694
 
98435
98695
 
98436
- this.table._renderViewport(); // Make sure tooltips and editor popup are at correct position after layouting (e.g after window resizing)
98696
+ this.table._renderViewport(); // Render scroll top again to make sure the data is really at the correct position after rendering viewport.
98697
+ // Somehow table.$data[0].scrollTop changes during _renderViewport sometimes (e.g. when there are aggregate rows)
98698
+
98699
+
98700
+ if (!htmlContainer.layouted) {
98701
+ this.table._renderScrollTop();
98702
+ } // Make sure tooltips and editor popup are at correct position after layouting (e.g after window resizing)
98437
98703
 
98438
98704
 
98439
98705
  this.table.tooltips.forEach(tooltip => {
@@ -101344,7 +101610,7 @@ __webpack_require__.r(__webpack_exports__);
101344
101610
  /* harmony export */ });
101345
101611
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../index */ "./src/index.js");
101346
101612
  /*
101347
- * Copyright (c) 2010-2020 BSI Business Systems Integration AG.
101613
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
101348
101614
  * All rights reserved. This program and the accompanying materials
101349
101615
  * are made available under the terms of the Eclipse Public License v1.0
101350
101616
  * which accompanies this distribution, and is available at
@@ -101365,7 +101631,7 @@ class BooleanColumn extends _index__WEBPACK_IMPORTED_MODULE_0__.Column {
101365
101631
  this.comparator = _index__WEBPACK_IMPORTED_MODULE_0__.comparators.NUMERIC;
101366
101632
  this.filterType = 'ColumnUserFilter';
101367
101633
  this.horizontalAlignment = 0;
101368
- this.minWidth = _index__WEBPACK_IMPORTED_MODULE_0__.Column.NARROW_MIN_WIDTH;
101634
+ this.minWidth = _index__WEBPACK_IMPORTED_MODULE_0__.Column.SMALL_MIN_WIDTH;
101369
101635
  this.triStateEnabled = false;
101370
101636
  this.textBased = false;
101371
101637
  }
@@ -101548,7 +101814,7 @@ __webpack_require__.r(__webpack_exports__);
101548
101814
  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; }
101549
101815
 
101550
101816
  /*
101551
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
101817
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
101552
101818
  * All rights reserved. This program and the accompanying materials
101553
101819
  * are made available under the terms of the Eclipse Public License v1.0
101554
101820
  * which accompanies this distribution, and is available at
@@ -101592,7 +101858,6 @@ class Column {
101592
101858
  this.width = 60;
101593
101859
  this.initialWidth = undefined; // the width the column initially has
101594
101860
 
101595
- this.prefMinWidth = null;
101596
101861
  this.minWidth = Column.DEFAULT_MIN_WIDTH; // the minimal width the column can have
101597
101862
 
101598
101863
  this.showSeparator = true;
@@ -101619,7 +101884,6 @@ class Column {
101619
101884
  this.$separator = null;
101620
101885
  }
101621
101886
 
101622
- // for columns without text (icon, check box)
101623
101887
  init(model) {
101624
101888
  this.session = model.session; // Copy all properties from model to this
101625
101889
 
@@ -101983,15 +102247,19 @@ class Column {
101983
102247
  cell.field = field; // Override field alignment with the cell's alignment
101984
102248
 
101985
102249
  cell.field.gridData.horizontalAlignment = cell.horizontalAlignment;
101986
- popup = _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('CellEditorPopup', {
102250
+ popup = this._createEditorPopup(row, cell);
102251
+ popup.$anchor = $cell;
102252
+ popup.open(this.table.$data);
102253
+ return popup;
102254
+ }
102255
+
102256
+ _createEditorPopup(row, cell) {
102257
+ return _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('CellEditorPopup', {
101987
102258
  parent: this.table,
101988
102259
  column: this,
101989
102260
  row: row,
101990
102261
  cell: cell
101991
102262
  });
101992
- popup.$anchor = $cell;
101993
- popup.open(this.table.$data);
101994
- return popup;
101995
102263
  }
101996
102264
  /**
101997
102265
  * @returns {Cell} the cell object for this column from the given row.
@@ -102688,7 +102956,9 @@ class Column {
102688
102956
 
102689
102957
  _defineProperty(Column, "DEFAULT_MIN_WIDTH", 60);
102690
102958
 
102691
- _defineProperty(Column, "NARROW_MIN_WIDTH", 32);
102959
+ _defineProperty(Column, "SMALL_MIN_WIDTH", 38);
102960
+
102961
+ _defineProperty(Column, "NARROW_MIN_WIDTH", 34);
102692
102962
 
102693
102963
  /***/ }),
102694
102964
 
@@ -102891,7 +103161,7 @@ class ColumnOptimalWidthMeasurer {
102891
103161
 
102892
103162
  let $neighbour = cellRange[cellRange.length - 1];
102893
103163
 
102894
- if ($neighbour.hasClass('empty') || $cell.hasClass('halign-right') == $neighbour.hasClass('halign-right')) {
103164
+ if ($neighbour.hasClass('empty') || $cell.hasClass('halign-right') === $neighbour.hasClass('halign-right')) {
102895
103165
  return 0;
102896
103166
  }
102897
103167
 
@@ -105586,7 +105856,7 @@ __webpack_require__.r(__webpack_exports__);
105586
105856
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
105587
105857
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
105588
105858
  /*
105589
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
105859
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
105590
105860
  * All rights reserved. This program and the accompanying materials
105591
105861
  * are made available under the terms of the Eclipse Public License v1.0
105592
105862
  * which accompanies this distribution, and is available at
@@ -105648,6 +105918,14 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105648
105918
  this.position();
105649
105919
  this.pack();
105650
105920
  }
105921
+ /**
105922
+ * @override
105923
+ */
105924
+
105925
+
105926
+ _getDefaultOpen$Parent() {
105927
+ return this.table.$data;
105928
+ }
105651
105929
 
105652
105930
  _render() {
105653
105931
  super._render(); // determine CSS class for first and last column, required for additional margins/padding in cell-editor
@@ -105672,14 +105950,11 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105672
105950
  field.render();
105673
105951
  field.prepareForCellEdit({
105674
105952
  cssClass: cssClass
105675
- });
105676
-
105677
- this._alignWithSelection(); // Make sure cell content is not visible while the editor is open (especially necessary for transparent editors like checkboxes)
105678
-
105953
+ }); // Make sure cell content is not visible while the editor is open (especially necessary for transparent editors like checkboxes)
105679
105954
 
105680
105955
  this.$anchor.css('visibility', 'hidden');
105681
105956
 
105682
- this._rowOrderChangedFunc = function (event) {
105957
+ this._rowOrderChangedFunc = event => {
105683
105958
  if (event.animating) {
105684
105959
  // row is only set while animating
105685
105960
  if (event.row === this.row) {
@@ -105688,7 +105963,7 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105688
105963
  } else {
105689
105964
  this.position();
105690
105965
  }
105691
- }.bind(this);
105966
+ };
105692
105967
 
105693
105968
  this.table.on('rowOrderChanged', this._rowOrderChangedFunc); // Set table style to focused, so that it looks as it still has the focus.
105694
105969
  // This prevents flickering if the cell editor gets opened, especially when tabbing to the next cell editor.
@@ -105758,14 +106033,15 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105758
106033
  }
105759
106034
 
105760
106035
  position() {
105761
- let cellBounds,
105762
- rowBounds,
105763
- $tableData = this.table.$data,
106036
+ let $tableData = this.table.$data,
105764
106037
  $row = this.row.$row,
105765
106038
  $cell = this.$anchor,
105766
106039
  insetsLeft = $tableData.cssPaddingLeft() + $row.cssMarginLeft() + $row.cssBorderLeftWidth();
105767
- cellBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds($cell);
105768
- rowBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds($row);
106040
+
106041
+ this._alignWithSelection();
106042
+
106043
+ let cellBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds($cell);
106044
+ let rowBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds($row);
105769
106045
  this.setLocation(new _index__WEBPACK_IMPORTED_MODULE_0__.Point(insetsLeft + cellBounds.x, $tableData.scrollTop() + rowBounds.y));
105770
106046
  }
105771
106047
  /**
@@ -105795,7 +106071,8 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105795
106071
  }
105796
106072
 
105797
106073
  this._pendingCompleteCellEdit.then(() => {
105798
- this._pendingCompleteCellEdit = null;
106074
+ // Ensure complete will never be called more than once
106075
+ this._pendingCompleteCellEdit = jquery__WEBPACK_IMPORTED_MODULE_1___default().resolvedPromise();
105799
106076
  });
105800
106077
 
105801
106078
  return this._pendingCompleteCellEdit;
@@ -105836,12 +106113,7 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105836
106113
  }
105837
106114
 
105838
106115
  _onKeyStroke(event) {
105839
- if (!this.session.keyStrokeManager.invokeAcceptInputOnActiveValueField(event.keyStroke, event.keyStrokeContext)) {
105840
- return;
105841
- }
105842
-
105843
- if (this.$container.isOrHas(event.keyStrokeContext.$getScopeTarget())) {
105844
- // Don't interfere with key strokes of the popup or children of the popup (otherwise pressing enter would close both the popup and the form at once)
106116
+ if (!this._invokeCompleteEditBeforeKeyStroke(event)) {
105845
106117
  return;
105846
106118
  } // Make sure completeEdit is called immediately after calling acceptInput.
105847
106119
  // Otherwise the key stroke will be executed before completing the edit which prevents the input from being saved
@@ -105851,6 +106123,19 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105851
106123
  this.completeEdit(false);
105852
106124
  }
105853
106125
 
106126
+ _invokeCompleteEditBeforeKeyStroke(event) {
106127
+ if (!this.session.keyStrokeManager.invokeAcceptInputOnActiveValueField(event.keyStroke, event.keyStrokeContext)) {
106128
+ return false;
106129
+ }
106130
+
106131
+ if (this.$container.isOrHas(event.keyStrokeContext.$getScopeTarget())) {
106132
+ // Don't interfere with key strokes of the popup or children of the popup (otherwise pressing enter would close both the popup and the form at once)
106133
+ return false;
106134
+ }
106135
+
106136
+ return true;
106137
+ }
106138
+
105854
106139
  waitForCompleteCellEdit() {
105855
106140
  if (this._pendingCompleteCellEdit) {
105856
106141
  return this._pendingCompleteCellEdit.promise();
@@ -106022,6 +106307,7 @@ class AbstractTableNavigationKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0
106022
106307
  this.shift = !table.multiSelect ? false : undefined;
106023
106308
  this.stopPropagation = true;
106024
106309
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
106310
+ this.inheritAccessibility = false;
106025
106311
  }
106026
106312
 
106027
106313
  _accept(event) {
@@ -106305,6 +106591,7 @@ class TableCopyKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
106305
106591
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.C];
106306
106592
  this.ctrl = true;
106307
106593
  this.renderingHints.render = false;
106594
+ this.inheritAccessibility = false;
106308
106595
  }
106309
106596
 
106310
106597
  handle(event) {
@@ -106344,13 +106631,13 @@ class TableNavigationCollapseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0
106344
106631
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.SUBTRACT, _index__WEBPACK_IMPORTED_MODULE_0__.keys.LEFT];
106345
106632
  this.renderingHints.text = '-';
106346
106633
 
106347
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
106634
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106348
106635
  let row = this.field.selectedRows[0];
106349
106636
 
106350
106637
  if (row) {
106351
106638
  return row.$row;
106352
106639
  }
106353
- }.bind(this);
106640
+ };
106354
106641
  }
106355
106642
 
106356
106643
  _accept(event) {
@@ -106535,13 +106822,13 @@ class TableNavigationEndKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Ab
106535
106822
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.END];
106536
106823
  this.renderingHints.text = 'End';
106537
106824
 
106538
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
106825
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106539
106826
  let viewport = this._viewportInfo();
106540
106827
 
106541
106828
  if (viewport.lastRow) {
106542
106829
  return viewport.lastRow.$row;
106543
106830
  }
106544
- }.bind(this);
106831
+ };
106545
106832
  }
106546
106833
 
106547
106834
  handle(event) {
@@ -106612,13 +106899,13 @@ class TableNavigationExpandKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__
106612
106899
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.ADD, _index__WEBPACK_IMPORTED_MODULE_0__.keys.RIGHT];
106613
106900
  this.renderingHints.text = '+';
106614
106901
 
106615
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
106902
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106616
106903
  let row = this.field.selectedRows[0];
106617
106904
 
106618
106905
  if (row) {
106619
106906
  return row.$row;
106620
106907
  }
106621
- }.bind(this);
106908
+ };
106622
106909
  }
106623
106910
 
106624
106911
  _accept(event) {
@@ -106694,13 +106981,13 @@ class TableNavigationHomeKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.A
106694
106981
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.HOME];
106695
106982
  this.renderingHints.text = 'Home';
106696
106983
 
106697
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
106984
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106698
106985
  let viewport = this._viewportInfo();
106699
106986
 
106700
106987
  if (viewport.firstRow) {
106701
106988
  return viewport.firstRow.$row;
106702
106989
  }
106703
- }.bind(this);
106990
+ };
106704
106991
  }
106705
106992
 
106706
106993
  handle(event) {
@@ -106770,13 +107057,13 @@ class TableNavigationPageDownKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0
106770
107057
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.PAGE_DOWN];
106771
107058
  this.renderingHints.text = 'PgDn';
106772
107059
 
106773
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107060
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106774
107061
  let viewport = this._viewportInfo();
106775
107062
 
106776
107063
  if (viewport.lastRow) {
106777
107064
  return viewport.lastRow.$row;
106778
107065
  }
106779
- }.bind(this);
107066
+ };
106780
107067
  }
106781
107068
 
106782
107069
  handle(event) {
@@ -106870,13 +107157,13 @@ class TableNavigationPageUpKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__
106870
107157
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.PAGE_UP];
106871
107158
  this.renderingHints.text = 'PgUp';
106872
107159
 
106873
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107160
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106874
107161
  let viewport = this._viewportInfo();
106875
107162
 
106876
107163
  if (viewport.firstRow) {
106877
107164
  return viewport.firstRow.$row;
106878
107165
  }
106879
- }.bind(this);
107166
+ };
106880
107167
  }
106881
107168
 
106882
107169
  handle(event) {
@@ -106969,13 +107256,13 @@ class TableNavigationUpKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Abs
106969
107256
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.UP];
106970
107257
  this.renderingHints.text = '↑';
106971
107258
 
106972
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107259
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106973
107260
  let row = this.firstRowBeforeSelection();
106974
107261
 
106975
107262
  if (row) {
106976
107263
  return row.$row;
106977
107264
  }
106978
- }.bind(this);
107265
+ };
106979
107266
  }
106980
107267
 
106981
107268
  handle(event) {
@@ -107076,9 +107363,9 @@ class TableRefreshKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStrok
107076
107363
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.F5];
107077
107364
  this.renderingHints.offset = 14;
107078
107365
 
107079
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107366
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
107080
107367
  return this.field.footer ? this.field.footer._$infoLoad.find('.table-info-button') : null;
107081
- }.bind(this);
107368
+ };
107082
107369
  }
107083
107370
 
107084
107371
  _accept(event) {
@@ -107125,9 +107412,11 @@ class TableSelectAllKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStr
107125
107412
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.A];
107126
107413
  this.renderingHints.offset = 14;
107127
107414
 
107128
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107415
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
107129
107416
  return this.field.footer ? this.field.footer._$infoSelection.find('.table-info-button') : null;
107130
- }.bind(this);
107417
+ };
107418
+
107419
+ this.inheritAccessibility = false;
107131
107420
  }
107132
107421
 
107133
107422
  handle(event) {
@@ -107170,7 +107459,7 @@ class TableStartCellEditKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Ke
107170
107459
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.ENTER];
107171
107460
  this.stopPropagation = true;
107172
107461
 
107173
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107462
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
107174
107463
  let editPosition = event._editPosition,
107175
107464
  columnIndex = this.field.visibleColumns().indexOf(editPosition.column);
107176
107465
 
@@ -107180,7 +107469,7 @@ class TableStartCellEditKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Ke
107180
107469
  }
107181
107470
 
107182
107471
  return this.field.$cell(columnIndex, editPosition.row.$row);
107183
- }.bind(this);
107472
+ };
107184
107473
  }
107185
107474
 
107186
107475
  _accept(event) {
@@ -111676,7 +111965,11 @@ class TileGrid extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
111676
111965
  }
111677
111966
 
111678
111967
  _updateTabbable() {
111679
- this.$container.setTabbable(this.enabled && (this.textFilterEnabled || this.selectable));
111968
+ if (!this.textFilterEnabled && !this.selectable) {
111969
+ this.$container.setTabbable(false);
111970
+ } else {
111971
+ this.$container.setTabbableOrFocusable(this.enabledComputed);
111972
+ }
111680
111973
  }
111681
111974
 
111682
111975
  insertTile(tile) {
@@ -111899,7 +112192,7 @@ class TileGrid extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
111899
112192
  }
111900
112193
 
111901
112194
  _onAnimatedTileRemove(tile) {
111902
- if (!tile.rendered || !tile.animateRemoval) {
112195
+ if (!tile.removalPending) {
111903
112196
  return;
111904
112197
  }
111905
112198
 
@@ -112320,18 +112613,12 @@ class TileGrid extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
112320
112613
 
112321
112614
  if ($scrollables.length === 0) {
112322
112615
  return;
112323
- }
112616
+ } // Make sure the tile grid has the focus when focusing a tile
112324
112617
 
112325
- let oldScrollTopArr = $scrollables.map((i, $elem) => {
112326
- return $elem.scrollTop();
112327
- }).toArray(); // Make sure the tile grid has the focus when focusing a tile
112328
112618
 
112329
- if (this.focus()) {
112330
- // Restore old scroll to prevent scrolling by the browser due to the focus() call
112331
- oldScrollTopArr.forEach((val, idx) => {
112332
- $scrollables[idx].scrollTop(val);
112333
- }, this);
112334
- }
112619
+ this.focus({
112620
+ preventScroll: true
112621
+ });
112335
112622
  }
112336
112623
 
112337
112624
  setSelectable(selectable) {
@@ -113011,7 +113298,7 @@ class TileGrid extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
113011
113298
  }
113012
113299
 
113013
113300
  _removeTileByFilter(tile) {
113014
- // In virtual mode, filtered tiles are not rendered. In normal mode, the filter animation is triggerd by _renderVisible of the tile.
113301
+ // In virtual mode, filtered tiles are not rendered. In normal mode, the filter animation is triggered by _renderVisible of the tile.
113015
113302
  // Since the tile is removed immediately, the invisible animation would not start, so we use the remove animation instead.
113016
113303
  // But because the delete animation is a different one to the filter animation, the removeClass needs to be swapped
113017
113304
  // Remove class first to make sure animation won't be finished before the animationend listener is attached in Widget._removeAnimated (which may happen because a setTimeout is used there)
@@ -113347,7 +113634,7 @@ __webpack_require__.r(__webpack_exports__);
113347
113634
  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; }
113348
113635
 
113349
113636
  /*
113350
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
113637
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
113351
113638
  * All rights reserved. This program and the accompanying materials
113352
113639
  * are made available under the terms of the Eclipse Public License v1.0
113353
113640
  * which accompanies this distribution, and is available at
@@ -113512,7 +113799,7 @@ class TileGridLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.LogicalGridLayo
113512
113799
 
113513
113800
  _layoutCellBounds(containerSize, containerInsets) {
113514
113801
  // Since the tiles are positioned absolutely it is necessary to add the height of the filler to the top insets
113515
- if (this.widget.virtual) {
113802
+ if (this.widget.virtual && this.widget.$fillBefore) {
113516
113803
  containerInsets.top += this.widget.$fillBefore.outerHeight(true);
113517
113804
  }
113518
113805
 
@@ -114639,7 +114926,7 @@ __webpack_require__.r(__webpack_exports__);
114639
114926
  /* harmony export */ });
114640
114927
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../index */ "./src/index.js");
114641
114928
  /*
114642
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
114929
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
114643
114930
  * All rights reserved. This program and the accompanying materials
114644
114931
  * are made available under the terms of the Eclipse Public License v1.0
114645
114932
  * which accompanies this distribution, and is available at
@@ -115022,7 +115309,24 @@ class TileAccordion extends _index__WEBPACK_IMPORTED_MODULE_0__.Accordion {
115022
115309
 
115023
115310
  _filter() {
115024
115311
  this.groups.forEach(group => {
115025
- group.body.filter();
115312
+ group.body.filter(); // If the layout has not been invalidated as part of the filtering above, it even though must be validated here.
115313
+ // This is because groups above might have fewer visible Tiles now which makes room for this group.
115314
+ // The revalidateLayout() with scrolling=true here ensures TileGrid._renderViewPort() is called to ensure these Tiles become visible as there is space available now.
115315
+ // It is executed as postValidateFunction because the groups above must have completed their layouting so that
115316
+ // TileGrid._renderViewPort() knows that there is more space available now.
115317
+
115318
+ if (group.body.htmlComp && group.body.htmlComp.valid && !group.body._accordionLayoutHandler
115319
+ /* skip if already registered */
115320
+ ) {
115321
+ group.body._accordionLayoutHandler = () => {
115322
+ group.body.scrolling = true;
115323
+ group.body.revalidateLayout();
115324
+ group.body.scrolling = false;
115325
+ group.body._accordionLayoutHandler = null;
115326
+ };
115327
+
115328
+ this.session.layoutValidator.schedulePostValidateFunction(group.body._accordionLayoutHandler);
115329
+ }
115026
115330
  });
115027
115331
  }
115028
115332
  /**
@@ -116268,13 +116572,15 @@ class TileGridSelectKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStr
116268
116572
  this.field = tileGrid;
116269
116573
  this.shift = !tileGrid.multiSelect ? false : undefined;
116270
116574
 
116271
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
116575
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
116272
116576
  let result = this._computeNewSelection();
116273
116577
 
116274
116578
  if (result && result.focusedTile) {
116275
116579
  return result.focusedTile.$container;
116276
116580
  }
116277
- }.bind(this);
116581
+ };
116582
+
116583
+ this.inheritAccessibility = false;
116278
116584
  }
116279
116585
  /**
116280
116586
  * Selection handler should be used for every interaction with the tileGrid.
@@ -117012,6 +117318,16 @@ class TimePickerTouchPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.TouchPopu
117012
117318
 
117013
117319
  this._touchField._triggerAcceptInput();
117014
117320
  }
117321
+ /**
117322
+ * @override
117323
+ */
117324
+
117325
+
117326
+ _acceptInput() {
117327
+ this._field.acceptTime();
117328
+
117329
+ this.close();
117330
+ }
117015
117331
 
117016
117332
  }
117017
117333
 
@@ -118090,7 +118406,9 @@ class LazyNodeFilter {
118090
118406
  } // not expanded: remove lazy expand marker (forget lazy expanded children)
118091
118407
 
118092
118408
 
118093
- node.childNodes.forEach(child => child._lazyNodeFilterAccepted = false);
118409
+ node.childNodes.forEach(child => {
118410
+ child._lazyNodeFilterAccepted = false;
118411
+ });
118094
118412
 
118095
118413
  if (!node.parentNode || !node.parentNode.expandedLazy || !node.parentNode.lazyExpandingEnabled || !this.tree.lazyExpandingEnabled) {
118096
118414
  // no lazy expanding supported
@@ -118105,7 +118423,7 @@ class LazyNodeFilter {
118105
118423
  break;
118106
118424
  }
118107
118425
 
118108
- if (selectedNode == node) {
118426
+ if (selectedNode === node) {
118109
118427
  node._lazyNodeFilterAccepted = true;
118110
118428
  return true;
118111
118429
  }
@@ -118138,7 +118456,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
118138
118456
  * All rights reserved. This program and the accompanying materials
118139
118457
  * are made available under the terms of the Eclipse Public License v1.0
118140
118458
  * which accompanies this distribution, and is available at
118141
- * http://www.eclipse.org/legal/epl-v10.html
118459
+ * https://www.eclipse.org/legal/epl-v10.html
118142
118460
  *
118143
118461
  * Contributors:
118144
118462
  * BSI Business Systems Integration AG - initial API and implementation
@@ -118398,7 +118716,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
118398
118716
  }
118399
118717
 
118400
118718
  this._inSelectionPathList[selectedNode.id] = true;
118401
- selectedNode.childNodes.forEach(child => this._inSelectionPathList[child.id] = true);
118719
+ selectedNode.childNodes.forEach(child => {
118720
+ this._inSelectionPathList[child.id] = true;
118721
+ });
118402
118722
  let parentNode = selectedNode.parentNode;
118403
118723
 
118404
118724
  while (parentNode) {
@@ -119157,7 +119477,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119157
119477
 
119158
119478
  let enabled = this.enabledComputed;
119159
119479
  this.$data.setEnabled(enabled);
119160
- this.$container.setTabbable(enabled);
119480
+ this.$container.setTabbableOrFocusable(enabled);
119161
119481
  }
119162
119482
  /**
119163
119483
  * @override Widget.js
@@ -120861,7 +121181,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
120861
121181
 
120862
121182
  nodes = _index__WEBPACK_IMPORTED_MODULE_0__.arrays.ensure(nodes);
120863
121183
  nodes.forEach(function (node) {
120864
- if (!node.enabled && opts.checkOnlyEnabled || node.checked === opts.checked) {
121184
+ if (!node.enabled && opts.checkOnlyEnabled || node.checked === opts.checked || !node.filterAccepted) {
120865
121185
  if (opts.checkChildren) {
120866
121186
  this.checkNodes(node.childNodes, opts);
120867
121187
  }
@@ -121688,7 +122008,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121688
122008
  _onDesktopPopupOpen(event) {
121689
122009
  let popup = event.popup;
121690
122010
 
121691
- if (!this.enabledComputed) {
122011
+ if (!this.isFocusable(false)) {
121692
122012
  return;
121693
122013
  } // Set tree style to focused if a context menu or a menu bar popup opens, so that it looks as it still has the focus
121694
122014
 
@@ -122711,6 +123031,7 @@ class AbstractTreeNavigationKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0_
122711
123031
  this.shift = _index__WEBPACK_IMPORTED_MODULE_0__.keyStrokeModifier.isShift(modifierBitMask);
122712
123032
  this.alt = _index__WEBPACK_IMPORTED_MODULE_0__.keyStrokeModifier.isAlt(modifierBitMask);
122713
123033
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
123034
+ this.inheritAccessibility = false;
122714
123035
  }
122715
123036
 
122716
123037
  _accept(event) {
@@ -122944,11 +123265,11 @@ class TreeCollapseAllKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Abstr
122944
123265
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.HOME];
122945
123266
  this.renderingHints.hAlign = _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.RIGHT;
122946
123267
 
122947
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
123268
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
122948
123269
  if (this.field.visibleNodesFlat.length > 0) {
122949
123270
  return this.field.visibleNodesFlat[0].$node;
122950
123271
  }
122951
- }.bind(this);
123272
+ };
122952
123273
  }
122953
123274
 
122954
123275
  handle(event) {
@@ -123051,7 +123372,7 @@ class TreeExpandOrDrillDownKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__
123051
123372
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.ADD];
123052
123373
  this.renderingHints.text = '+';
123053
123374
 
123054
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
123375
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
123055
123376
  let currentNode = event._treeCurrentNode;
123056
123377
 
123057
123378
  if (this.isNodeExpandable(currentNode)) {
@@ -123059,7 +123380,7 @@ class TreeExpandOrDrillDownKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__
123059
123380
  } else if (currentNode.childNodes.length > 0) {
123060
123381
  return currentNode.childNodes[0].$node;
123061
123382
  }
123062
- }.bind(this);
123383
+ };
123063
123384
  }
123064
123385
 
123065
123386
  _accept(event) {
@@ -123125,13 +123446,13 @@ class TreeNavigationDownKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Ab
123125
123446
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.DOWN];
123126
123447
  this.renderingHints.text = '↓';
123127
123448
 
123128
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
123449
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
123129
123450
  let newSelectedNode = this._computeNewSelection(event._treeCurrentNode);
123130
123451
 
123131
123452
  if (newSelectedNode) {
123132
123453
  return newSelectedNode.$node;
123133
123454
  }
123134
- }.bind(this);
123455
+ };
123135
123456
  }
123136
123457
 
123137
123458
  _computeNewSelection(currentNode) {
@@ -123179,13 +123500,13 @@ class TreeNavigationEndKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Abs
123179
123500
  super(tree, modifierBitMask);
123180
123501
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.END];
123181
123502
 
123182
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
123503
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
123183
123504
  let newSelectedNode = this._computeNewSelection(event._treeCurrentNode);
123184
123505
 
123185
123506
  if (newSelectedNode) {
123186
123507
  return newSelectedNode.$node;
123187
123508
  }
123188
- }.bind(this);
123509
+ };
123189
123510
  }
123190
123511
 
123191
123512
  handle(event) {
@@ -123238,13 +123559,13 @@ class TreeNavigationUpKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Abst
123238
123559
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.UP];
123239
123560
  this.renderingHints.text = '↑';
123240
123561
 
123241
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
123562
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
123242
123563
  let newSelectedNode = this._computeNewSelection(event._treeCurrentNode);
123243
123564
 
123244
123565
  if (newSelectedNode) {
123245
123566
  return newSelectedNode.$node;
123246
123567
  }
123247
- }.bind(this);
123568
+ };
123248
123569
  }
123249
123570
 
123250
123571
  _computeNewSelection(currentNode) {
@@ -123853,7 +124174,7 @@ class Device {
123853
124174
  }
123854
124175
  /**
123855
124176
  * This method returns false for all browsers that are known to be unsupported, all others (e.g. unknown engines) are allowed by default.
123856
- * The supported browser versions are mainly determined by the features needed by Scout (e.g. class syntax, Array.flatMap, IntersectionObserver, Custom CSS Properties, CSS flex-box).
124177
+ * The supported browser versions are mainly determined by the features needed by Scout (e.g. class syntax, Array.flatMap, IntersectionObserver, Custom CSS Properties, CSS flex-box, queueMicrotask).
123857
124178
  */
123858
124179
 
123859
124180
 
@@ -123861,7 +124182,7 @@ class Device {
123861
124182
  browser = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(browser, this.browser);
123862
124183
  version = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(version, this.browserVersion);
123863
124184
  let browsers = Device.Browser;
123864
- return browser === browsers.CHROME && version >= 69 || browser === browsers.FIREFOX && version >= 62 || browser === browsers.SAFARI && version >= 12;
124185
+ return browser === browsers.CHROME && version >= 71 || browser === browsers.FIREFOX && version >= 69 || browser === browsers.SAFARI && version >= 12.1;
123865
124186
  }
123866
124187
  /**
123867
124188
  * Can not detect type until DOM is ready because we must create a DIV to measure the scrollbars.
@@ -126123,6 +126444,8 @@ __webpack_require__.r(__webpack_exports__);
126123
126444
  /* harmony export */ "$remove": () => (/* binding */ $remove),
126124
126445
  /* harmony export */ "randomElement": () => (/* binding */ randomElement),
126125
126446
  /* harmony export */ "toMap": () => (/* binding */ toMap),
126447
+ /* harmony export */ "nullIfEmpty": () => (/* binding */ nullIfEmpty),
126448
+ /* harmony export */ "clear": () => (/* binding */ clear),
126126
126449
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
126127
126450
  /* harmony export */ });
126128
126451
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
@@ -126348,6 +126671,12 @@ function containsAll(haystack, needles) {
126348
126671
  return haystack.indexOf(element) >= 0;
126349
126672
  });
126350
126673
  }
126674
+ /**
126675
+ * @template T
126676
+ * @param {T[]} arr
126677
+ * @return {T}
126678
+ */
126679
+
126351
126680
  function first(arr) {
126352
126681
  if (Array.isArray(arr)) {
126353
126682
  return arr[0];
@@ -126355,6 +126684,12 @@ function first(arr) {
126355
126684
 
126356
126685
  return arr;
126357
126686
  }
126687
+ /**
126688
+ * @template T
126689
+ * @param {T[]} arr
126690
+ * @return {T}
126691
+ */
126692
+
126358
126693
  function last(arr) {
126359
126694
  if (Array.isArray(arr)) {
126360
126695
  return arr[arr.length - 1];
@@ -126427,9 +126762,9 @@ function union(array1, array2) {
126427
126762
  }
126428
126763
  });
126429
126764
  return result;
126430
- } // noinspection DuplicatedCode
126431
-
126765
+ }
126432
126766
  function equalsIgnoreOrder(arr, arr2) {
126767
+ // noinspection DuplicatedCode
126433
126768
  if (arr === arr2) {
126434
126769
  return true;
126435
126770
  }
@@ -126447,9 +126782,9 @@ function equalsIgnoreOrder(arr, arr2) {
126447
126782
  }
126448
126783
 
126449
126784
  return containsAll(arr, arr2);
126450
- } // noinspection DuplicatedCode
126451
-
126785
+ }
126452
126786
  function equals(arr, arr2) {
126787
+ // noinspection DuplicatedCode
126453
126788
  if (arr === arr2) {
126454
126789
  return true;
126455
126790
  }
@@ -126777,9 +127112,41 @@ function toMap(array) {
126777
127112
  return map;
126778
127113
  }, {}));
126779
127114
  }
127115
+ /**
127116
+ * If the argument is an empty array, null is returned. Otherwise, the argument is returned unchanged.
127117
+ *
127118
+ * @template T
127119
+ * @param {T[]} array
127120
+ * @return {T[]|null}
127121
+ */
127122
+
127123
+ function nullIfEmpty(array) {
127124
+ return empty(array) ? null : array;
127125
+ }
127126
+ /**
127127
+ * Clears the content of an array <i>in-place</i>. All elements are removed from the array and the
127128
+ * length will be set to 0. If the given argument is not an array, nothing happens.
127129
+ *
127130
+ * This is a more readable version of `array.splice(0, a.length)`.
127131
+ *
127132
+ * The return value is an array of all deleted elements (never null).
127133
+ *
127134
+ * @template T
127135
+ * @param {T[]} array
127136
+ * @return {T[]}
127137
+ */
127138
+
127139
+ function clear(array) {
127140
+ if (Array.isArray(array)) {
127141
+ return array.splice(0, array.length);
127142
+ }
127143
+
127144
+ return [];
127145
+ }
126780
127146
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
126781
127147
  $indexOf,
126782
127148
  $remove,
127149
+ clear,
126783
127150
  contains,
126784
127151
  containsAll,
126785
127152
  containsAny,
@@ -126815,6 +127182,7 @@ function toMap(array) {
126815
127182
  max,
126816
127183
  min,
126817
127184
  move,
127185
+ nullIfEmpty,
126818
127186
  pushAll,
126819
127187
  pushIfDefined,
126820
127188
  pushSet,
@@ -128386,7 +128754,8 @@ function uninstallDragAndDropHandler(target) {
128386
128754
  * @property {String} [selector] CSS selector which will be added to the event source.
128387
128755
  * @property {dropType} [dropType] Returns the allowed drop type during a drop event. Default is {@link dragAndDrop.SCOUT_TYPES.FILE_TRANSFER}
128388
128756
  * @property {dropMaximumSize} [dropMaximumSize] Returns the maximum allowed size of a dropped object. Default is {@link DragAndDropTarget.dropMaximumSize}
128389
- * @property {validateFiles} [validateFiles] An optional function to add a custom file validation logic. Throw a {@link dropValidationErrorMessage} to indicate a failed validation. if no custom validator is installed, the default maximum file size validator is invoked.
128757
+ * @property {validateFiles} [validateFiles] An optional function to add a custom file validation logic. Throw a {@link dropValidationErrorMessage} to indicate a failed validation.
128758
+ * If no custom validator is installed, the default maximum file size validator is invoked.
128390
128759
  * @property {additionalDropProperties} [additionalDropProperties] Returns additional drop properties to be used in {@link DragAndDropHandler.uploadFiles} as uploadProperties
128391
128760
  */
128392
128761
 
@@ -128650,7 +129019,7 @@ function onSwipe($element, id, onDown, onMove, onUp) {
128650
129019
  let deltaX = pageX - origPageX;
128651
129020
  let newLeft = origPosLeft + deltaX;
128652
129021
 
128653
- if (newLeft != curPosLeft) {
129022
+ if (newLeft !== curPosLeft) {
128654
129023
  // only update swipe direction if it actually changed
128655
129024
  direction = Math.sign(newLeft - curPosLeft);
128656
129025
  }
@@ -131160,12 +131529,16 @@ function resolveConstProperty(object, config) {
131160
131529
  /**
131161
131530
  * @param {object} obj
131162
131531
  * @returns {Boolean|undefined}
131163
- * - true if the obj is empty
131532
+ * - true if the obj is empty, null or undefined
131164
131533
  * - false if the obj is not empty
131165
131534
  * - nothing if the obj is not an object
131166
131535
  */
131167
131536
 
131168
131537
  function isEmpty(obj) {
131538
+ if (isNullOrUndefined(obj)) {
131539
+ return true;
131540
+ }
131541
+
131169
131542
  if (!isPlainObject(obj)) {
131170
131543
  return;
131171
131544
  }
@@ -134043,7 +134416,9 @@ class Widget {
134043
134416
 
134044
134417
 
134045
134418
  _removeAnimated() {
134046
- if (!_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsCssAnimation() || !this.$container || this.$container.isDisplayNone()) {
134419
+ let animateRemovalWhileRemovingParent = this._animateRemovalWhileRemovingParent();
134420
+
134421
+ if (this.parent.removing && !animateRemovalWhileRemovingParent || !_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsCssAnimation() || !this.$container || this.$container.isDisplayNone()) {
134047
134422
  // Cannot remove animated, remove regularly
134048
134423
  this._removeInternal();
134049
134424
 
@@ -134065,7 +134440,7 @@ class Widget {
134065
134440
  throw new Error('Missing animate removal class. Cannot remove animated.');
134066
134441
  }
134067
134442
 
134068
- if (!this.$container.isVisible() || !this.$container.isEveryParentVisible()) {
134443
+ if (!this.$container.isVisible() || !this.$container.isEveryParentVisible() || !this.$container.isAttached()) {
134069
134444
  // If element is not visible, animationEnd would never fire -> remove it immediately
134070
134445
  this._removeInternal();
134071
134446
 
@@ -134079,7 +134454,14 @@ class Widget {
134079
134454
  }); // If the parent is being removed while the animation is running, the animationEnd event will never fire
134080
134455
  // -> Make sure remove is called nevertheless. Important: remove it before the parent is removed to maintain the regular remove order
134081
134456
 
134082
- this.parent.one('removing', this._parentRemovingWhileAnimatingHandler);
134457
+ if (!animateRemovalWhileRemovingParent) {
134458
+ this.parent.one('removing', this._parentRemovingWhileAnimatingHandler);
134459
+ }
134460
+ }
134461
+
134462
+ _animateRemovalWhileRemovingParent() {
134463
+ // By default, remove animation is prevented when parent is being removed
134464
+ return false;
134083
134465
  }
134084
134466
 
134085
134467
  _onParentRemovingWhileAnimating() {
@@ -135763,17 +136145,20 @@ class Widget {
135763
136145
  * Tries to set the focus on the widget.
135764
136146
  * <p>
135765
136147
  * By default the focus is set on the container but this may vary from widget to widget.
136148
+ *
136149
+ * @param {object} [options]
136150
+ * @param {boolean} [options.preventScroll] prevents scrolling to new focused element (defaults to false)
135766
136151
  * @returns {boolean} true if the element could be focused, false if not
135767
136152
  */
135768
136153
 
135769
136154
 
135770
- focus() {
136155
+ focus(options) {
135771
136156
  if (!this.rendered) {
135772
- this.session.layoutValidator.schedulePostValidateFunction(this.focus.bind(this));
136157
+ this.session.layoutValidator.schedulePostValidateFunction(this.focus.bind(this, options));
135773
136158
  return false;
135774
136159
  }
135775
136160
 
135776
- return this.session.focusManager.requestFocus(this.getFocusableElement());
136161
+ return this.session.focusManager.requestFocus(this.getFocusableElement(), null, options);
135777
136162
  }
135778
136163
  /**
135779
136164
  * Calls {@link focus()} and prevents the default behavior of the event if the focusing was successful.