@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.
- package/dist/eclipse-scout-core-e5e8740e3649f5b9f279.min.js +2 -0
- package/dist/eclipse-scout-core-e5e8740e3649f5b9f279.min.js.map +1 -0
- package/dist/eclipse-scout-core-theme-74b63e0d57bed407a729.min.css +1 -0
- package/dist/eclipse-scout-core-theme-dark-b82aea152f416e38ce7f.min.css +1 -0
- package/dist/eclipse-scout-core-theme-dark.css +597 -422
- package/dist/eclipse-scout-core-theme-dark.css.map +1 -1
- package/dist/eclipse-scout-core-theme.css +333 -158
- package/dist/eclipse-scout-core-theme.css.map +1 -1
- package/dist/eclipse-scout-core.js +1196 -811
- package/dist/eclipse-scout-core.js.map +1 -1
- package/dist/file-list +7 -0
- package/dist/locales.json +47126 -0
- package/dist/texts.json +1153 -0
- package/package.json +2 -2
- package/src/App.js +1 -1
- package/src/ErrorHandler.js +66 -28
- package/src/{table/TableHeaderMenuButtonKeyStroke.js → action/ActionExecKeyStroke.js} +4 -5
- package/src/action/Button.less +1 -0
- package/src/box/Box.less +12 -8
- package/src/breadcrumbbar/BreadcrumbBarLayout.js +2 -2
- package/src/breadcrumbbar/BreadcrumbItem.less +3 -6
- package/src/calendar/Calendar.js +40 -58
- package/src/calendar/Calendar.less +10 -10
- package/src/calendar/CalendarLayout.js +3 -1
- package/src/checkbox/CheckBox.less +3 -1
- package/src/datepicker/DatePicker.less +1 -0
- package/src/datepicker/DatePickerTouchPopup.js +8 -0
- package/src/desktop/DisableBrowserF5ReloadKeyStroke.js +1 -0
- package/src/desktop/bench/DesktopTabSelectKeyStroke.js +2 -1
- package/src/desktop/desktoptab/DesktopTab.less +5 -2
- package/src/desktop/desktoptab/DesktopTabArea.less +7 -3
- package/src/desktop/desktoptab/DesktopTabAreaLayout.js +1 -1
- package/src/desktop/desktoptab/DisableBrowserTabSwitchingKeyStroke.js +1 -0
- package/src/desktop/navigation/DesktopNavigation.less +4 -0
- package/src/desktop/navigation/EnlargeNavigationKeyStroke.js +1 -0
- package/src/desktop/navigation/ShrinkNavigationKeyStroke.js +1 -0
- package/src/desktop/notification/DesktopNotification.js +11 -4
- package/src/desktop/notification/DesktopNotification.less +5 -3
- package/src/desktop/outline/Outline.less +4 -4
- package/src/desktop/viewbutton/ViewButton.less +18 -9
- package/src/desktop/viewbutton/ViewMenuPopupEnterKeyStroke.js +2 -1
- package/src/desktop/viewbutton/ViewMenuTab.less +3 -2
- package/src/filechooser/FileChooser.js +1 -1
- package/src/filechooser/FileChooser.less +16 -11
- package/src/focus/FocusContext.js +11 -8
- package/src/focus/FocusManager.js +24 -5
- package/src/form/Form.less +1 -0
- package/src/form/fields/LookupBox.js +5 -2
- package/src/form/fields/LookupBox.less +28 -2
- package/src/form/fields/TextFieldIcon.less +2 -2
- package/src/form/fields/ValueField.js +11 -2
- package/src/form/fields/breadcrumbbarfield/BreadcrumbBarField.less +20 -0
- package/src/form/fields/button/ButtonKeyStroke.js +0 -3
- package/src/form/fields/datefield/DateField.js +31 -47
- package/src/form/fields/filechooserfield/FileChooserFieldBrowseKeyStroke.js +1 -3
- package/src/form/fields/filechooserfield/FileChooserFieldDeleteKeyStroke.js +1 -3
- package/src/form/fields/groupbox/GroupBox.js +14 -9
- package/src/form/fields/groupbox/GroupBox.less +1 -0
- package/src/form/fields/htmlfield/HtmlField.less +0 -1
- package/src/form/fields/listbox/ListBox.js +13 -7
- package/src/form/fields/lookupfield/lookupField.js +6 -5
- package/src/form/fields/smartfield/ProposalField.js +2 -1
- package/src/form/fields/smartfield/ProposalTreeNode.js +4 -8
- package/src/form/fields/smartfield/SmartField.js +4 -20
- package/src/form/fields/smartfield/SmartField.less +24 -11
- package/src/form/fields/splitbox/SplitBoxCollapseKeyStroke.js +1 -0
- package/src/form/fields/splitbox/SplitBoxFirstCollapseKeyStroke.js +1 -0
- package/src/form/fields/splitbox/SplitBoxSecondCollapseKeyStroke.js +1 -0
- package/src/form/fields/tabbox/TabAreaLayout.js +63 -66
- package/src/form/fields/tabbox/TabAreaLeftKeyStroke.js +2 -0
- package/src/form/fields/tabbox/TabAreaRightKeyStroke.js +2 -0
- package/src/form/fields/tabbox/TabBox.js +8 -7
- package/src/form/fields/tabbox/TabBox.less +2 -1
- package/src/form/fields/tabbox/TabBoxHeader.js +4 -0
- package/src/form/fields/tabbox/TabBoxHeaderLayout.js +5 -5
- package/src/form/fields/tabbox/TabItem.js +4 -0
- package/src/form/fields/treebox/TreeBox.js +6 -5
- package/src/glasspane/GlassPane.js +3 -3
- package/src/group/Group.less +1 -1
- package/src/index.js +1 -1
- package/src/index.less +1 -0
- package/src/jquery/jquery-scout.js +17 -4
- package/src/keystroke/CloseKeyStroke.js +1 -0
- package/src/keystroke/ContextMenuKeyStroke.js +1 -0
- package/src/keystroke/FocusFilterFieldKeyStroke.js +1 -0
- package/src/keystroke/KeyStroke.js +11 -3
- package/src/keystroke/TabItemKeyStroke.js +8 -5
- package/src/logging/logging.js +16 -8
- package/src/login/LoginBox.js +3 -2
- package/src/login/LoginBox.less +27 -8
- package/src/menu/ContextMenuPopup.less +9 -2
- package/src/menu/Menu.less +1 -0
- package/src/menu/MenuExecKeyStroke.js +3 -17
- package/src/menu/MenuNavigationKeyStroke.js +1 -0
- package/src/menu/menubar/MenuBarLeftKeyStroke.js +2 -0
- package/src/menu/menubar/MenuBarRightKeyStroke.js +2 -0
- package/src/messagebox/MessageBox.less +20 -20
- package/src/modeselector/Mode.less +15 -37
- package/src/modeselector/ModeSelector.js +1 -1
- package/src/modeselector/ModeSelector.less +2 -1
- package/src/planner/Planner.js +2 -0
- package/src/planner/PlannerHeader.less +2 -1
- package/src/popup/Popup.js +24 -8
- package/src/popup/PopupLayout.js +2 -8
- package/src/scrollbar/Scrollbar.less +8 -1
- package/src/scrollbar/scrollbars.js +26 -4
- package/src/session/Session.js +8 -5
- package/src/style/colors-dark.less +25 -11
- package/src/style/colors.less +17 -3
- package/src/style/fonts.less +10 -1
- package/src/style/mixins.less +21 -14
- package/src/style/sizes-dark.less +4 -1
- package/src/style/sizes.less +17 -9
- package/src/table/Table.js +63 -49
- package/src/table/Table.less +50 -20
- package/src/table/TableAdapter.js +9 -12
- package/src/table/TableHeader.js +10 -8
- package/src/table/TableHeader.less +1 -0
- package/src/table/TableHeaderMenu.js +3 -1
- package/src/table/TableHeaderMenu.less +7 -2
- package/src/table/TableHeaderMenuButton.js +2 -2
- package/src/table/TableLayout.js +6 -0
- package/src/table/columns/BooleanColumn.js +2 -2
- package/src/table/columns/Column.js +10 -7
- package/src/table/columns/ColumnOptimalWidthMeasurer.js +1 -1
- package/src/table/editor/CellEditorPopup.js +29 -15
- package/src/table/keystrokes/AbstractTableNavigationKeyStroke.js +1 -0
- package/src/table/keystrokes/TableCopyKeyStroke.js +1 -0
- package/src/table/keystrokes/TableNavigationCollapseKeyStroke.js +2 -2
- package/src/table/keystrokes/TableNavigationEndKeyStroke.js +2 -2
- package/src/table/keystrokes/TableNavigationExpandKeyStroke.js +2 -2
- package/src/table/keystrokes/TableNavigationHomeKeyStroke.js +2 -2
- package/src/table/keystrokes/TableNavigationPageDownKeyStroke.js +2 -2
- package/src/table/keystrokes/TableNavigationPageUpKeyStroke.js +2 -2
- package/src/table/keystrokes/TableNavigationUpKeyStroke.js +2 -2
- package/src/table/keystrokes/TableRefreshKeyStroke.js +2 -2
- package/src/table/keystrokes/TableSelectAllKeyStroke.js +3 -2
- package/src/table/keystrokes/TableStartCellEditKeyStroke.js +2 -2
- package/src/tagbar/TagBarOverflowPopupLayout.js +1 -1
- package/src/testing/index.js +1 -0
- package/src/testing/lookup/AbortableMicrotaskStaticLookupCall.js +50 -0
- package/src/tile/TileGrid.js +10 -12
- package/src/tile/TileGridLayout.js +2 -2
- package/src/tile/accordion/TileAccordion.js +16 -1
- package/src/tile/fields/FormFieldTile.less +18 -11
- package/src/tile/fields/button/ButtonTile.js +1 -1
- package/src/tile/fields/tablefield/TileTableField.less +19 -2
- package/src/tile/keystrokes/TileGridSelectKeyStroke.js +3 -2
- package/src/timepicker/TimePickerTouchPopup.js +8 -0
- package/src/tree/CompactTree.less +1 -1
- package/src/tree/LazyNodeFilter.js +4 -2
- package/src/tree/Tree.js +7 -5
- package/src/tree/Tree.less +13 -5
- package/src/tree/keystrokes/AbstractTreeNavigationKeyStroke.js +1 -0
- package/src/tree/keystrokes/TreeCollapseAllKeyStroke.js +2 -2
- package/src/tree/keystrokes/TreeExpandOrDrillDownKeyStroke.js +2 -2
- package/src/tree/keystrokes/TreeNavigationDownKeyStroke.js +2 -2
- package/src/tree/keystrokes/TreeNavigationEndKeyStroke.js +2 -2
- package/src/tree/keystrokes/TreeNavigationUpKeyStroke.js +2 -2
- package/src/util/Device.js +4 -4
- package/src/util/arrays.js +44 -2
- package/src/util/dragAndDrop.js +5 -4
- package/src/util/events.js +1 -1
- package/src/util/objects.js +4 -1
- package/src/widget/FilterSupport.js +1 -1
- package/src/widget/Widget.js +17 -7
|
@@ -8,29 +8,7 @@
|
|
|
8
8
|
* Contributors:
|
|
9
9
|
* BSI Business Systems Integration AG - initial API and implementation
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
12
|
-
arrays,
|
|
13
|
-
DateFormat,
|
|
14
|
-
DatePickerPopup,
|
|
15
|
-
DatePredictionFailedStatus,
|
|
16
|
-
dates,
|
|
17
|
-
DateTimeCompositeLayout,
|
|
18
|
-
Device,
|
|
19
|
-
fields,
|
|
20
|
-
focusUtils,
|
|
21
|
-
FormField,
|
|
22
|
-
HtmlComponent,
|
|
23
|
-
InputFieldKeyStrokeContext,
|
|
24
|
-
keys,
|
|
25
|
-
objects,
|
|
26
|
-
ParsingFailedStatus,
|
|
27
|
-
scout,
|
|
28
|
-
Status,
|
|
29
|
-
strings,
|
|
30
|
-
styles,
|
|
31
|
-
TimePickerPopup,
|
|
32
|
-
ValueField
|
|
33
|
-
} from '../../../index';
|
|
11
|
+
import {arrays, DateFormat, DatePickerPopup, DatePredictionFailedStatus, dates, DateTimeCompositeLayout, Device, fields, focusUtils, FormField, HtmlComponent, InputFieldKeyStrokeContext, keys, objects, ParsingFailedStatus, scout, Status, strings, styles, TimePickerPopup, ValueField} from '../../../index';
|
|
34
12
|
import $ from 'jquery';
|
|
35
13
|
|
|
36
14
|
export default class DateField extends ValueField {
|
|
@@ -695,7 +673,7 @@ export default class DateField extends ValueField {
|
|
|
695
673
|
}
|
|
696
674
|
|
|
697
675
|
_renderDateClearable() {
|
|
698
|
-
if (this.hasDate
|
|
676
|
+
if (this.hasDate && this.isClearable()) {
|
|
699
677
|
if (!this.$dateClearIcon) {
|
|
700
678
|
// date clear icon
|
|
701
679
|
this.$dateClearIcon = this.$field.appendSpan('icon date-clear unfocusable text-field-icon action')
|
|
@@ -711,14 +689,18 @@ export default class DateField extends ValueField {
|
|
|
711
689
|
}
|
|
712
690
|
|
|
713
691
|
_renderTimeClearable() {
|
|
714
|
-
if (this.hasTime && this.isClearable()
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
.
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
this.$timeClearIcon
|
|
692
|
+
if (this.hasTime && this.isClearable()) {
|
|
693
|
+
if (!this.$timeClearIcon) {
|
|
694
|
+
// time clear icon
|
|
695
|
+
this.$timeClearIcon = this.$field.appendSpan('icon time-clear unfocusable text-field-icon action')
|
|
696
|
+
.on('mousedown', this._onTimeClearIconMouseDown.bind(this));
|
|
697
|
+
}
|
|
698
|
+
} else {
|
|
699
|
+
if (this.$timeClearIcon) {
|
|
700
|
+
// Remove clear icon
|
|
701
|
+
this.$timeClearIcon.remove();
|
|
702
|
+
this.$timeClearIcon = null;
|
|
703
|
+
}
|
|
722
704
|
}
|
|
723
705
|
}
|
|
724
706
|
|
|
@@ -1192,21 +1174,19 @@ export default class DateField extends ValueField {
|
|
|
1192
1174
|
}
|
|
1193
1175
|
|
|
1194
1176
|
_onDatePickerDateSelect(event) {
|
|
1195
|
-
this.
|
|
1196
|
-
this._setTimeValid(true);
|
|
1197
|
-
let newValue = this._newTimestampAsDate(event.date, this.value);
|
|
1198
|
-
this.setValue(newValue);
|
|
1199
|
-
this.closePopup();
|
|
1200
|
-
this._triggerAcceptInput();
|
|
1177
|
+
this._setNewDateTimeValue(this._newTimestampAsDate(event.date, this.value));
|
|
1201
1178
|
}
|
|
1202
1179
|
|
|
1203
1180
|
_onTimePickerTimeSelect(event) {
|
|
1181
|
+
this._setNewDateTimeValue(this._newTimestampAsDate(this.value, event.time));
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
_setNewDateTimeValue(newValue) {
|
|
1204
1185
|
this._setDateValid(true);
|
|
1205
1186
|
this._setTimeValid(true);
|
|
1206
|
-
let newValue = this._newTimestampAsDate(this.value, event.time);
|
|
1207
1187
|
this.setValue(newValue);
|
|
1208
|
-
this.closePopup();
|
|
1209
1188
|
this._triggerAcceptInput();
|
|
1189
|
+
this.closePopup();
|
|
1210
1190
|
}
|
|
1211
1191
|
|
|
1212
1192
|
_createPredictionField($inputField) {
|
|
@@ -1385,10 +1365,12 @@ export default class DateField extends ValueField {
|
|
|
1385
1365
|
this.popup = this.createDatePopup();
|
|
1386
1366
|
this.popup.open();
|
|
1387
1367
|
this.$dateField.addClass('focused');
|
|
1388
|
-
this.popup.
|
|
1389
|
-
|
|
1390
|
-
|
|
1368
|
+
this.popup.one('destroy', event => {
|
|
1369
|
+
// Removing the class must happen before _onPopupDestroy() is called, otherwise the date field no longer exists,
|
|
1370
|
+
// because in touch mode _onPopupDestroy() destroys the date field.
|
|
1391
1371
|
this.$dateField.removeClass('focused');
|
|
1372
|
+
this._onPopupDestroy(event);
|
|
1373
|
+
this.popup = null;
|
|
1392
1374
|
});
|
|
1393
1375
|
this.getDatePicker().on('dateSelect', this._onDatePickerDateSelect.bind(this));
|
|
1394
1376
|
}
|
|
@@ -1416,10 +1398,12 @@ export default class DateField extends ValueField {
|
|
|
1416
1398
|
this.popup = this.createTimePopup();
|
|
1417
1399
|
this.popup.open();
|
|
1418
1400
|
this.$timeField.addClass('focused');
|
|
1419
|
-
this.popup.
|
|
1420
|
-
|
|
1421
|
-
|
|
1401
|
+
this.popup.one('destroy', event => {
|
|
1402
|
+
// Removing the class must happen before _onPopupDestroy() is called, otherwise the date field no longer exists,
|
|
1403
|
+
// because in touch mode _onPopupDestroy() destroys the date field.
|
|
1422
1404
|
this.$timeField.removeClass('focused');
|
|
1405
|
+
this._onPopupDestroy(event);
|
|
1406
|
+
this.popup = null;
|
|
1423
1407
|
});
|
|
1424
1408
|
this.getTimePicker().on('timeSelect', this._onTimePickerTimeSelect.bind(this));
|
|
1425
1409
|
}
|
|
@@ -1686,7 +1670,7 @@ export default class DateField extends ValueField {
|
|
|
1686
1670
|
}
|
|
1687
1671
|
}
|
|
1688
1672
|
|
|
1689
|
-
|
|
1673
|
+
_onPopupDestroy(event) {
|
|
1690
1674
|
if (!this.touchMode || !this._cellEditorPopup) {
|
|
1691
1675
|
return;
|
|
1692
1676
|
}
|
|
@@ -19,9 +19,7 @@ export default class FileChooserFieldBrowseKeyStroke extends KeyStroke {
|
|
|
19
19
|
this.stopPropagation = true;
|
|
20
20
|
|
|
21
21
|
this.renderingHints.hAlign = HAlign.LEFT;
|
|
22
|
-
this.renderingHints.$drawingArea =
|
|
23
|
-
return this.field.$fieldContainer;
|
|
24
|
-
}.bind(this);
|
|
22
|
+
this.renderingHints.$drawingArea = ($drawingArea, event) => this.field.$fieldContainer;
|
|
25
23
|
}
|
|
26
24
|
|
|
27
25
|
/**
|
|
@@ -20,9 +20,7 @@ export default class FileChooserFieldDeleteKeyStroke extends KeyStroke {
|
|
|
20
20
|
|
|
21
21
|
this.renderingHints.offset = 25;
|
|
22
22
|
this.renderingHints.hAlign = HAlign.RIGHT;
|
|
23
|
-
this.renderingHints.$drawingArea =
|
|
24
|
-
return this.field.$fieldContainer;
|
|
25
|
-
}.bind(this);
|
|
23
|
+
this.renderingHints.$drawingArea = ($drawingArea, event) => this.field.$fieldContainer;
|
|
26
24
|
}
|
|
27
25
|
|
|
28
26
|
/**
|
|
@@ -42,6 +42,7 @@ export default class GroupBox extends CompositeField {
|
|
|
42
42
|
this.processButtons = [];
|
|
43
43
|
this.processMenus = [];
|
|
44
44
|
this.staticMenus = [];
|
|
45
|
+
this.selectionKeystroke = null;
|
|
45
46
|
this.responsive = null;
|
|
46
47
|
|
|
47
48
|
this.$header = null;
|
|
@@ -162,12 +163,12 @@ export default class GroupBox extends CompositeField {
|
|
|
162
163
|
render: () => true,
|
|
163
164
|
offset: 0,
|
|
164
165
|
hAlign: HAlign.RIGHT,
|
|
165
|
-
$drawingArea:
|
|
166
|
-
if (this.
|
|
166
|
+
$drawingArea: ($drawingArea, event) => {
|
|
167
|
+
if (this.$header && this.$header.isVisible()) {
|
|
167
168
|
return this.$header;
|
|
168
169
|
}
|
|
169
170
|
return this.$body;
|
|
170
|
-
}
|
|
171
|
+
}
|
|
171
172
|
};
|
|
172
173
|
|
|
173
174
|
keyStrokes
|
|
@@ -360,14 +361,11 @@ export default class GroupBox extends CompositeField {
|
|
|
360
361
|
this.$container.toggleClass('has-scroll-shadow-bottom', hasScrollShadowBottom);
|
|
361
362
|
if ((headerVisible || hasMenubarTop) && oldHasScrollShadowTop !== hasScrollShadowTop
|
|
362
363
|
|| hasMenubarBottom && oldHasScrollShadowBottom !== hasScrollShadowBottom) {
|
|
363
|
-
this.
|
|
364
|
+
this.invalidateLayoutTree(false);
|
|
364
365
|
}
|
|
365
366
|
|
|
366
367
|
// Enlarge header line if there is a shadow, but don't do it if there is a menubar on top
|
|
367
368
|
fields.adjustStatusPositionForScrollShadow(this, () => hasScrollShadowTop && headerVisible && !hasMenubarTop);
|
|
368
|
-
|
|
369
|
-
// Prevent flickering of status icon
|
|
370
|
-
this.validateLayout();
|
|
371
369
|
}
|
|
372
370
|
|
|
373
371
|
setMainBox(mainBox) {
|
|
@@ -782,9 +780,16 @@ export default class GroupBox extends CompositeField {
|
|
|
782
780
|
}
|
|
783
781
|
|
|
784
782
|
_onControlClick(event) {
|
|
785
|
-
if (this.expandable) {
|
|
786
|
-
|
|
783
|
+
if (!this.expandable) {
|
|
784
|
+
return;
|
|
787
785
|
}
|
|
786
|
+
const target = scout.widget(event.target);
|
|
787
|
+
if (this.menuBarPosition === GroupBox.MenuBarPosition.TITLE && this.menuBar.has(target)) {
|
|
788
|
+
// If the position of the menubar is set to title and a menu has been clicked, then the event must not be handled
|
|
789
|
+
return;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
this.setExpanded(!this.expanded);
|
|
788
793
|
$.suppressEvent(event); // otherwise, the event would be triggered twice sometimes (by group-box-control and group-box-title)
|
|
789
794
|
}
|
|
790
795
|
|
|
@@ -120,6 +120,7 @@
|
|
|
120
120
|
vertical-align: middle;
|
|
121
121
|
padding: @group-box-title-padding-top 0 @group-box-title-padding-bottom 0;
|
|
122
122
|
max-width: 100%;
|
|
123
|
+
margin-top: @text-margin-top;
|
|
123
124
|
|
|
124
125
|
.group-box.has-sub-label > & {
|
|
125
126
|
padding-bottom: @group-box-title-with-sub-label-padding-bottom;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2010-2022 BSI Business Systems Integration AG.
|
|
3
3
|
* All rights reserved. This program and the accompanying materials
|
|
4
4
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
5
5
|
* which accompanies this distribution, and is available at
|
|
6
|
-
*
|
|
6
|
+
* https://www.eclipse.org/legal/epl-v10.html
|
|
7
7
|
*
|
|
8
8
|
* Contributors:
|
|
9
9
|
* BSI Business Systems Integration AG - initial API and implementation
|
|
10
10
|
*/
|
|
11
|
-
import {arrays, ListBoxLayout, LookupBox, scout, Table
|
|
11
|
+
import {arrays, ListBoxLayout, LookupBox, scout, Table} from '../../../index';
|
|
12
12
|
|
|
13
13
|
export default class ListBox extends LookupBox {
|
|
14
14
|
|
|
@@ -17,7 +17,6 @@ export default class ListBox extends LookupBox {
|
|
|
17
17
|
|
|
18
18
|
this.table = null;
|
|
19
19
|
this.lookupStatus = null;
|
|
20
|
-
this.clearable = ValueField.Clearable.NEVER;
|
|
21
20
|
|
|
22
21
|
this._addWidgetProperties(['table', 'filterBox']);
|
|
23
22
|
}
|
|
@@ -32,6 +31,12 @@ export default class ListBox extends LookupBox {
|
|
|
32
31
|
if (!this.table) {
|
|
33
32
|
this.table = this._createDefaultListBoxTable();
|
|
34
33
|
}
|
|
34
|
+
|
|
35
|
+
// align checkableColumn in table with checkboxes of tree fields
|
|
36
|
+
if (this.table.checkableColumn) { // may be null if a non-default list-box-table with checkable=false is used
|
|
37
|
+
this.table.checkableColumn.minWidth = 28;
|
|
38
|
+
this.table.checkableColumn.width = this.table.checkableColumn.minWidth; // do not use setWidth here
|
|
39
|
+
}
|
|
35
40
|
}
|
|
36
41
|
|
|
37
42
|
_render() {
|
|
@@ -174,12 +179,13 @@ export default class ListBox extends LookupBox {
|
|
|
174
179
|
if (lookupRow.enabled === false) {
|
|
175
180
|
row.enabled = false;
|
|
176
181
|
}
|
|
177
|
-
if (lookupRow.active === false) {
|
|
178
|
-
row.active = false;
|
|
179
|
-
}
|
|
180
182
|
if (lookupRow.cssClass) {
|
|
181
183
|
row.cssClass = lookupRow.cssClass;
|
|
182
184
|
}
|
|
185
|
+
if (lookupRow.active === false) {
|
|
186
|
+
row.active = false;
|
|
187
|
+
row.cssClass = (row.cssClass ? (row.cssClass + ' ') : '') + 'inactive';
|
|
188
|
+
}
|
|
183
189
|
|
|
184
190
|
return row;
|
|
185
191
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2010-2022 BSI Business Systems Integration AG.
|
|
3
3
|
* All rights reserved. This program and the accompanying materials
|
|
4
4
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
5
5
|
* which accompanies this distribution, and is available at
|
|
6
|
-
*
|
|
6
|
+
* https://www.eclipse.org/legal/epl-v10.html
|
|
7
7
|
*
|
|
8
8
|
* Contributors:
|
|
9
9
|
* BSI Business Systems Integration AG - initial API and implementation
|
|
@@ -25,12 +25,13 @@ export function createTableRow(lookupRow, multipleColumns) {
|
|
|
25
25
|
if (lookupRow.enabled === false) {
|
|
26
26
|
row.enabled = false;
|
|
27
27
|
}
|
|
28
|
-
if (lookupRow.active === false) {
|
|
29
|
-
row.active = false;
|
|
30
|
-
}
|
|
31
28
|
if (lookupRow.cssClass) {
|
|
32
29
|
row.cssClass = lookupRow.cssClass;
|
|
33
30
|
}
|
|
31
|
+
if (lookupRow.active === false) {
|
|
32
|
+
row.active = false;
|
|
33
|
+
row.cssClass = (row.cssClass ? (row.cssClass + ' ') : '') + 'inactive';
|
|
34
|
+
}
|
|
34
35
|
|
|
35
36
|
if (!multipleColumns) {
|
|
36
37
|
cells.push(createTableCell(lookupRow, null, null));
|
|
@@ -189,11 +189,12 @@ export default class ProposalField extends SmartField {
|
|
|
189
189
|
// this causes a lookup which may fail and open a new proposal chooser (property
|
|
190
190
|
// change for 'result').
|
|
191
191
|
if (searchTextChanged) {
|
|
192
|
+
this.clearErrorStatus();
|
|
192
193
|
this._acceptByText(sync, searchText);
|
|
193
194
|
} else if (!this._hasUiError()) {
|
|
194
195
|
this._inputAccepted(false);
|
|
195
196
|
} else {
|
|
196
|
-
// even though there's nothing
|
|
197
|
+
// even though there's nothing to do, someone could wait for our promise to be resolved
|
|
197
198
|
this._acceptInputDeferred.resolve();
|
|
198
199
|
}
|
|
199
200
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2010-2022 BSI Business Systems Integration AG.
|
|
3
3
|
* All rights reserved. This program and the accompanying materials
|
|
4
4
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
5
5
|
* which accompanies this distribution, and is available at
|
|
6
|
-
*
|
|
6
|
+
* https://www.eclipse.org/legal/epl-v10.html
|
|
7
7
|
*
|
|
8
8
|
* Contributors:
|
|
9
9
|
* BSI Business Systems Integration AG - initial API and implementation
|
|
@@ -22,14 +22,10 @@ export default class ProposalTreeNode extends TreeNode {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
_renderText() {
|
|
25
|
-
let text = this.text;
|
|
26
|
-
if (this.lookupRow.active === false) {
|
|
27
|
-
text += ' (' + this.session.text('InactiveState') + ')';
|
|
28
|
-
}
|
|
29
25
|
if (this.htmlEnabled) {
|
|
30
|
-
this.$text.html(text);
|
|
26
|
+
this.$text.html(this.text);
|
|
31
27
|
} else {
|
|
32
|
-
this.$text.textOrNbsp(text);
|
|
28
|
+
this.$text.textOrNbsp(this.text);
|
|
33
29
|
}
|
|
34
30
|
}
|
|
35
31
|
|
|
@@ -1,31 +1,14 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2010-
|
|
2
|
+
* Copyright (c) 2010-2022 BSI Business Systems Integration AG.
|
|
3
3
|
* All rights reserved. This program and the accompanying materials
|
|
4
4
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
5
5
|
* which accompanies this distribution, and is available at
|
|
6
|
-
*
|
|
6
|
+
* https://www.eclipse.org/legal/epl-v10.html
|
|
7
7
|
*
|
|
8
8
|
* Contributors:
|
|
9
9
|
* BSI Business Systems Integration AG - initial API and implementation
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
12
|
-
arrays,
|
|
13
|
-
Device,
|
|
14
|
-
fields,
|
|
15
|
-
FormField,
|
|
16
|
-
InputFieldKeyStrokeContext,
|
|
17
|
-
keys,
|
|
18
|
-
LookupCall,
|
|
19
|
-
objects,
|
|
20
|
-
QueryBy,
|
|
21
|
-
scout,
|
|
22
|
-
SimpleLoadingSupport,
|
|
23
|
-
SmartFieldCancelKeyStroke,
|
|
24
|
-
SmartFieldLayout,
|
|
25
|
-
Status,
|
|
26
|
-
strings,
|
|
27
|
-
ValueField
|
|
28
|
-
} from '../../../index';
|
|
11
|
+
import {arrays, Device, fields, FormField, InputFieldKeyStrokeContext, keys, LookupCall, objects, QueryBy, scout, SimpleLoadingSupport, SmartFieldCancelKeyStroke, SmartFieldLayout, Status, strings, ValueField} from '../../../index';
|
|
29
12
|
import $ from 'jquery';
|
|
30
13
|
|
|
31
14
|
export default class SmartField extends ValueField {
|
|
@@ -932,6 +915,7 @@ export default class SmartField extends ValueField {
|
|
|
932
915
|
});
|
|
933
916
|
|
|
934
917
|
this.popup.open();
|
|
918
|
+
this.popup.$container.css('--inactive-lookup-row-suffix-text', `'${this.session.text('InactiveState')}'`);
|
|
935
919
|
|
|
936
920
|
/* This variable is required to route events to the right field:
|
|
937
921
|
* - in normal mode popup events should be processed by the normal smart-field
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2010-2022 BSI Business Systems Integration AG.
|
|
3
3
|
* All rights reserved. This program and the accompanying materials
|
|
4
4
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
5
5
|
* which accompanies this distribution, and is available at
|
|
6
|
-
*
|
|
6
|
+
* https://www.eclipse.org/legal/epl-v10.html
|
|
7
7
|
*
|
|
8
8
|
* Contributors:
|
|
9
9
|
* BSI Business Systems Integration AG - initial API and implementation
|
|
@@ -266,13 +266,23 @@
|
|
|
266
266
|
& > .table-data {
|
|
267
267
|
padding: @proposal-chooser-padding-y @proposal-chooser-padding-x;
|
|
268
268
|
|
|
269
|
-
& > .table-row
|
|
270
|
-
|
|
269
|
+
& > .table-row {
|
|
270
|
+
&.first {
|
|
271
|
+
border-top: 1px solid @table-row-border-color;
|
|
271
272
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
273
|
+
&.selected::after {
|
|
274
|
+
// If header is invisible, selection of first row starts at 0
|
|
275
|
+
// Since we now have a top border we can move it to -1px again to cover the border
|
|
276
|
+
top: -1px;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
&.inactive {
|
|
281
|
+
font-style: italic;
|
|
282
|
+
|
|
283
|
+
& > .table-cell.last > .text::after {
|
|
284
|
+
content: ' (' var(--inactive-lookup-row-suffix-text) ')';
|
|
285
|
+
}
|
|
276
286
|
}
|
|
277
287
|
}
|
|
278
288
|
|
|
@@ -286,9 +296,12 @@
|
|
|
286
296
|
& > .tree-data {
|
|
287
297
|
padding: @proposal-chooser-padding-y @proposal-chooser-padding-x;
|
|
288
298
|
|
|
289
|
-
& > .tree-node
|
|
290
|
-
|
|
291
|
-
|
|
299
|
+
& > .tree-node.inactive,
|
|
300
|
+
& > .animation-wrapper > .tree-node.inactive {
|
|
301
|
+
font-style: italic;
|
|
302
|
+
|
|
303
|
+
& > .text::after {
|
|
304
|
+
content: ' (' var(--inactive-lookup-row-suffix-text) ')';
|
|
292
305
|
}
|
|
293
306
|
}
|
|
294
307
|
}
|