@eclipse-scout/core 22.0.2 → 22.0.12

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 (113) hide show
  1. package/dist/eclipse-scout-core-af5ff6abad5f1ff9fd18.min.js +2 -0
  2. package/dist/eclipse-scout-core-af5ff6abad5f1ff9fd18.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 +153 -52
  6. package/dist/eclipse-scout-core-theme-dark.css.map +1 -1
  7. package/dist/eclipse-scout-core-theme.css +153 -52
  8. package/dist/eclipse-scout-core-theme.css.map +1 -1
  9. package/dist/eclipse-scout-core.js +785 -564
  10. package/dist/eclipse-scout-core.js.map +1 -1
  11. package/dist/file-list +4 -4
  12. package/package.json +2 -2
  13. package/src/ErrorHandler.js +66 -28
  14. package/src/{table/TableHeaderMenuButtonKeyStroke.js → action/ActionExecKeyStroke.js} +4 -5
  15. package/src/box/Box.less +10 -6
  16. package/src/breadcrumbbar/BreadcrumbItem.less +3 -6
  17. package/src/checkbox/CheckBox.less +3 -1
  18. package/src/datepicker/DatePickerTouchPopup.js +8 -0
  19. package/src/desktop/DisableBrowserF5ReloadKeyStroke.js +1 -0
  20. package/src/desktop/bench/DesktopTabSelectKeyStroke.js +2 -1
  21. package/src/desktop/desktoptab/DisableBrowserTabSwitchingKeyStroke.js +1 -0
  22. package/src/desktop/navigation/EnlargeNavigationKeyStroke.js +1 -0
  23. package/src/desktop/navigation/ShrinkNavigationKeyStroke.js +1 -0
  24. package/src/desktop/viewbutton/ViewMenuPopupEnterKeyStroke.js +2 -1
  25. package/src/filechooser/FileChooser.js +1 -1
  26. package/src/filechooser/FileChooser.less +15 -10
  27. package/src/focus/FocusContext.js +11 -8
  28. package/src/focus/FocusManager.js +24 -5
  29. package/src/form/fields/LookupBox.js +3 -1
  30. package/src/form/fields/LookupBox.less +28 -2
  31. package/src/form/fields/TextFieldIcon.less +2 -2
  32. package/src/form/fields/ValueField.js +11 -2
  33. package/src/form/fields/breadcrumbbarfield/BreadcrumbBarField.less +10 -4
  34. package/src/form/fields/button/ButtonKeyStroke.js +0 -3
  35. package/src/form/fields/datefield/DateField.js +31 -47
  36. package/src/form/fields/filechooserfield/FileChooserFieldBrowseKeyStroke.js +1 -3
  37. package/src/form/fields/filechooserfield/FileChooserFieldDeleteKeyStroke.js +1 -3
  38. package/src/form/fields/groupbox/GroupBox.js +1 -0
  39. package/src/form/fields/listbox/ListBox.js +5 -4
  40. package/src/form/fields/lookupfield/lookupField.js +6 -5
  41. package/src/form/fields/smartfield/ProposalField.js +2 -1
  42. package/src/form/fields/smartfield/ProposalTreeNode.js +4 -8
  43. package/src/form/fields/smartfield/SmartField.js +4 -20
  44. package/src/form/fields/smartfield/SmartField.less +24 -11
  45. package/src/form/fields/splitbox/SplitBoxCollapseKeyStroke.js +1 -0
  46. package/src/form/fields/splitbox/SplitBoxFirstCollapseKeyStroke.js +1 -0
  47. package/src/form/fields/splitbox/SplitBoxSecondCollapseKeyStroke.js +1 -0
  48. package/src/form/fields/tabbox/TabAreaLeftKeyStroke.js +2 -0
  49. package/src/form/fields/tabbox/TabAreaRightKeyStroke.js +2 -0
  50. package/src/form/fields/tabbox/TabBox.js +4 -0
  51. package/src/form/fields/tabbox/TabBoxHeader.js +4 -0
  52. package/src/form/fields/tabbox/TabItem.js +4 -0
  53. package/src/form/fields/treebox/TreeBox.js +6 -5
  54. package/src/index.js +1 -1
  55. package/src/jquery/jquery-scout.js +12 -0
  56. package/src/keystroke/CloseKeyStroke.js +1 -0
  57. package/src/keystroke/ContextMenuKeyStroke.js +1 -0
  58. package/src/keystroke/FocusFilterFieldKeyStroke.js +1 -0
  59. package/src/keystroke/KeyStroke.js +11 -3
  60. package/src/keystroke/TabItemKeyStroke.js +8 -5
  61. package/src/logging/logging.js +16 -8
  62. package/src/login/LoginBox.js +3 -2
  63. package/src/login/LoginBox.less +18 -1
  64. package/src/menu/MenuExecKeyStroke.js +3 -17
  65. package/src/menu/MenuNavigationKeyStroke.js +1 -0
  66. package/src/menu/menubar/MenuBarLeftKeyStroke.js +2 -0
  67. package/src/menu/menubar/MenuBarRightKeyStroke.js +2 -0
  68. package/src/messagebox/MessageBox.less +17 -17
  69. package/src/planner/Planner.js +2 -0
  70. package/src/session/Session.js +8 -5
  71. package/src/style/fonts.less +5 -1
  72. package/src/style/sizes.less +14 -5
  73. package/src/table/Table.js +25 -19
  74. package/src/table/Table.less +14 -7
  75. package/src/table/TableAdapter.js +9 -12
  76. package/src/table/TableHeaderMenuButton.js +2 -2
  77. package/src/table/TableLayout.js +6 -0
  78. package/src/table/columns/Column.js +8 -5
  79. package/src/table/columns/ColumnOptimalWidthMeasurer.js +1 -1
  80. package/src/table/editor/CellEditorPopup.js +21 -14
  81. package/src/table/keystrokes/AbstractTableNavigationKeyStroke.js +1 -0
  82. package/src/table/keystrokes/TableCopyKeyStroke.js +1 -0
  83. package/src/table/keystrokes/TableNavigationCollapseKeyStroke.js +2 -2
  84. package/src/table/keystrokes/TableNavigationEndKeyStroke.js +2 -2
  85. package/src/table/keystrokes/TableNavigationExpandKeyStroke.js +2 -2
  86. package/src/table/keystrokes/TableNavigationHomeKeyStroke.js +2 -2
  87. package/src/table/keystrokes/TableNavigationPageDownKeyStroke.js +2 -2
  88. package/src/table/keystrokes/TableNavigationPageUpKeyStroke.js +2 -2
  89. package/src/table/keystrokes/TableNavigationUpKeyStroke.js +2 -2
  90. package/src/table/keystrokes/TableRefreshKeyStroke.js +2 -2
  91. package/src/table/keystrokes/TableSelectAllKeyStroke.js +3 -2
  92. package/src/table/keystrokes/TableStartCellEditKeyStroke.js +2 -2
  93. package/src/testing/index.js +1 -0
  94. package/src/testing/lookup/AbortableMicrotaskStaticLookupCall.js +50 -0
  95. package/src/tile/TileGrid.js +9 -11
  96. package/src/tile/fields/tablefield/TileTableField.less +19 -2
  97. package/src/tile/keystrokes/TileGridSelectKeyStroke.js +3 -2
  98. package/src/timepicker/TimePickerTouchPopup.js +8 -0
  99. package/src/tree/Tree.js +8 -4
  100. package/src/tree/Tree.less +12 -2
  101. package/src/tree/keystrokes/AbstractTreeNavigationKeyStroke.js +1 -0
  102. package/src/tree/keystrokes/TreeCollapseAllKeyStroke.js +2 -2
  103. package/src/tree/keystrokes/TreeExpandOrDrillDownKeyStroke.js +2 -2
  104. package/src/tree/keystrokes/TreeNavigationDownKeyStroke.js +2 -2
  105. package/src/tree/keystrokes/TreeNavigationEndKeyStroke.js +2 -2
  106. package/src/tree/keystrokes/TreeNavigationUpKeyStroke.js +2 -2
  107. package/src/util/Device.js +4 -4
  108. package/src/util/arrays.js +20 -0
  109. package/src/widget/Widget.js +6 -4
  110. package/dist/eclipse-scout-core-c98fb5230e71dcec75ce.min.js +0 -2
  111. package/dist/eclipse-scout-core-c98fb5230e71dcec75ce.min.js.map +0 -1
  112. package/dist/eclipse-scout-core-theme-6b2fef56e9e49231a49c.min.css +0 -1
  113. package/dist/eclipse-scout-core-theme-dark-d2bb274dd42f132bfca0.min.css +0 -1
@@ -621,9 +621,29 @@ export function nullIfEmpty(array) {
621
621
  return empty(array) ? null : array;
622
622
  }
623
623
 
624
+ /**
625
+ * Clears the content of an array <i>in-place</i>. All elements are removed from the array and the
626
+ * length will be set to 0. If the given argument is not an array, nothing happens.
627
+ *
628
+ * This is a more readable version of `array.splice(0, a.length)`.
629
+ *
630
+ * The return value is an array of all deleted elements (never null).
631
+ *
632
+ * @template T
633
+ * @param {T[]} array
634
+ * @return {T[]}
635
+ */
636
+ export function clear(array) {
637
+ if (Array.isArray(array)) {
638
+ return array.splice(0, array.length);
639
+ }
640
+ return [];
641
+ }
642
+
624
643
  export default {
625
644
  $indexOf,
626
645
  $remove,
646
+ clear,
627
647
  contains,
628
648
  containsAll,
629
649
  containsAny,
@@ -2070,15 +2070,17 @@ export default class Widget {
2070
2070
  * Tries to set the focus on the widget.
2071
2071
  * <p>
2072
2072
  * By default the focus is set on the container but this may vary from widget to widget.
2073
+ *
2074
+ * @param {object} [options]
2075
+ * @param {boolean} [options.preventScroll] prevents scrolling to new focused element (defaults to false)
2073
2076
  * @returns {boolean} true if the element could be focused, false if not
2074
2077
  */
2075
- focus() {
2078
+ focus(options) {
2076
2079
  if (!this.rendered) {
2077
- this.session.layoutValidator.schedulePostValidateFunction(this.focus.bind(this));
2080
+ this.session.layoutValidator.schedulePostValidateFunction(this.focus.bind(this, options));
2078
2081
  return false;
2079
2082
  }
2080
-
2081
- return this.session.focusManager.requestFocus(this.getFocusableElement());
2083
+ return this.session.focusManager.requestFocus(this.getFocusableElement(), null, options);
2082
2084
  }
2083
2085
 
2084
2086
  /**