@ui5/webcomponents-compat 0.0.0-0dd36ca4b → 0.0.0-2c875c3d3
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/.env.testing +4 -0
- package/CHANGELOG.md +899 -0
- package/LICENSE.txt +201 -0
- package/README.md +12 -12
- package/cypress.config.js +3 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/Assets-fetch.d.ts +3 -0
- package/dist/Assets-fetch.js +6 -0
- package/dist/Assets-fetch.js.map +1 -0
- package/dist/Assets-node.d.ts +14 -0
- package/dist/Assets-node.js +17 -0
- package/dist/Assets-node.js.map +1 -0
- package/dist/Table.d.ts +23 -27
- package/dist/Table.js +131 -76
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.d.ts +1 -1
- package/dist/TableCell.js +24 -6
- package/dist/TableCell.js.map +1 -1
- package/dist/TableCellTemplate.d.ts +2 -0
- package/dist/TableCellTemplate.js +5 -0
- package/dist/TableCellTemplate.js.map +1 -0
- package/dist/TableColumn.d.ts +4 -3
- package/dist/TableColumn.js +50 -7
- package/dist/TableColumn.js.map +1 -1
- package/dist/TableColumnTemplate.d.ts +2 -0
- package/dist/TableColumnTemplate.js +5 -0
- package/dist/TableColumnTemplate.js.map +1 -0
- package/dist/TableGroupRow.d.ts +7 -4
- package/dist/TableGroupRow.js +29 -21
- package/dist/TableGroupRow.js.map +1 -1
- package/dist/TableGroupRowTemplate.d.ts +2 -0
- package/dist/TableGroupRowTemplate.js +5 -0
- package/dist/TableGroupRowTemplate.js.map +1 -0
- package/dist/TableRow.d.ts +15 -9
- package/dist/TableRow.js +104 -43
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRowTemplate.d.ts +2 -0
- package/dist/TableRowTemplate.js +15 -0
- package/dist/TableRowTemplate.js.map +1 -0
- package/dist/TableTemplate.d.ts +2 -0
- package/dist/TableTemplate.js +20 -0
- package/dist/TableTemplate.js.map +1 -0
- package/dist/bundle.esm.d.ts +1 -1
- package/dist/bundle.esm.js +13 -7
- package/dist/bundle.esm.js.map +1 -1
- package/dist/bundle.scoped.config.d.ts +1 -0
- package/dist/bundle.scoped.config.js +5 -0
- package/dist/bundle.scoped.config.js.map +1 -0
- package/dist/bundle.scoped.esm.d.ts +1 -0
- package/dist/bundle.scoped.esm.js +1 -4
- package/dist/bundle.scoped.esm.js.map +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCell.css +1 -1
- package/dist/css/themes/TableColumn.css +1 -1
- package/dist/css/themes/TableGroupRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +265 -248
- package/dist/custom-elements.json +107 -84
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_id.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +1 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -3
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/json-imports/Themes-fetch.d.ts +1 -0
- package/dist/generated/json-imports/Themes-fetch.js +25 -0
- package/dist/generated/json-imports/Themes-fetch.js.map +1 -0
- package/dist/generated/json-imports/Themes-node.d.ts +1 -0
- package/dist/generated/json-imports/Themes-node.js +25 -0
- package/dist/generated/json-imports/Themes-node.js.map +1 -0
- package/dist/generated/json-imports/Themes.js +1 -1
- package/dist/generated/json-imports/Themes.js.map +1 -1
- package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
- package/dist/generated/json-imports/i18n-fetch.js +120 -0
- package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
- package/dist/generated/json-imports/i18n-node.d.ts +1 -0
- package/dist/generated/json-imports/i18n-node.js +120 -0
- package/dist/generated/json-imports/i18n-node.js.map +1 -0
- package/dist/generated/json-imports/i18n.js +3 -3
- package/dist/generated/json-imports/i18n.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.d.ts +2 -3
- package/dist/generated/themes/GrowingButton.css.js +4 -5
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Table.css.d.ts +2 -3
- package/dist/generated/themes/Table.css.js +4 -5
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCell.css.d.ts +2 -3
- package/dist/generated/themes/TableCell.css.js +4 -5
- package/dist/generated/themes/TableCell.css.js.map +1 -1
- package/dist/generated/themes/TableColumn.css.d.ts +2 -3
- package/dist/generated/themes/TableColumn.css.js +4 -5
- package/dist/generated/themes/TableColumn.css.js.map +1 -1
- package/dist/generated/themes/TableGroupRow.css.d.ts +2 -3
- package/dist/generated/themes/TableGroupRow.css.js +4 -5
- package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.d.ts +2 -3
- package/dist/generated/themes/TableRow.css.js +4 -5
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +2 -3
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +2 -3
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +2 -3
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +2 -3
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +2 -3
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +2 -3
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +2 -3
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +2 -3
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +2 -3
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +2 -3
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +2 -3
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +2 -3
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +2 -3
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +2 -3
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +2 -3
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +2 -3
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/utils/CompatCustomElementsScope.d.ts +5 -0
- package/dist/utils/CompatCustomElementsScope.js +38 -0
- package/dist/utils/CompatCustomElementsScope.js.map +1 -0
- package/dist/web-types.json +16 -16
- package/package-scripts.cjs +3 -0
- package/package.json +25 -18
- package/src/TableCellTemplate.tsx +13 -0
- package/src/TableColumnTemplate.tsx +13 -0
- package/src/TableGroupRowTemplate.tsx +17 -0
- package/src/TableRowTemplate.tsx +92 -0
- package/src/TableTemplate.tsx +129 -0
- package/src/i18n/messagebundle_ca.properties +1 -1
- package/src/i18n/messagebundle_cs.properties +1 -1
- package/src/i18n/messagebundle_cy.properties +1 -1
- package/src/i18n/messagebundle_en_US_sappsd.properties +5 -296
- package/src/i18n/messagebundle_en_US_saptrc.properties +10 -301
- package/src/i18n/messagebundle_fi.properties +2 -2
- package/src/i18n/messagebundle_fr.properties +3 -3
- package/src/i18n/messagebundle_fr_CA.properties +3 -3
- package/src/i18n/messagebundle_hr.properties +1 -1
- package/src/i18n/messagebundle_it.properties +1 -1
- package/src/i18n/messagebundle_lv.properties +1 -1
- package/src/themes/GrowingButton.css +13 -13
- package/src/themes/Table.css +17 -24
- package/src/themes/TableCell.css +1 -1
- package/src/themes/TableGroupRow.css +2 -2
- package/src/themes/TableRow.css +38 -3
- package/src/themes/base/Table-parameters.css +1 -0
- package/src/themes/base/sizes-parameters.css +0 -1
- package/src/themes/sap_horizon/Table-parameters.css +1 -2
- package/src/themes/sap_horizon/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_dark/Table-parameters.css +1 -2
- package/src/themes/sap_horizon_dark/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcb/Table-parameters.css +1 -2
- package/src/themes/sap_horizon_hcw/Table-parameters.css +1 -2
- package/tsconfig.json +61 -26
- package/dist/generated/assets/i18n/messagebundle_in.json +0 -1
- package/dist/generated/templates/TableCellTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/TableCellTemplate.lit.js +0 -5
- package/dist/generated/templates/TableCellTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TableColumnTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/TableColumnTemplate.lit.js +0 -5
- package/dist/generated/templates/TableColumnTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TableGroupRowTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/TableGroupRowTemplate.lit.js +0 -5
- package/dist/generated/templates/TableGroupRowTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TableRowTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/TableRowTemplate.lit.js +0 -16
- package/dist/generated/templates/TableRowTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TableTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/TableTemplate.lit.js +0 -15
- package/dist/generated/templates/TableTemplate.lit.js.map +0 -1
- package/src/Table.hbs +0 -121
- package/src/TableCell.hbs +0 -7
- package/src/TableColumn.hbs +0 -7
- package/src/TableGroupRow.hbs +0 -11
- package/src/TableRow.hbs +0 -85
- package/src/i18n/messagebundle_in.properties +0 -172
- package/src/themes/sap_horizon/TableColumn-parameters.css +0 -5
- package/src/themes/sap_horizon_dark/TableColumn-parameters.css +0 -5
package/dist/Table.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import type { ChangeInfo } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
3
|
import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
3
4
|
import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
|
|
4
5
|
import type { ITabbable } from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
|
|
@@ -13,13 +14,13 @@ import TableMode from "./types/TableMode.js";
|
|
|
13
14
|
* Interface for components that may be slotted inside a `ui5-table` as rows
|
|
14
15
|
* @public
|
|
15
16
|
*/
|
|
16
|
-
interface ITableRow extends
|
|
17
|
+
interface ITableRow extends UI5Element, ITabbable {
|
|
17
18
|
mode: `${TableMode}`;
|
|
18
19
|
selected: boolean;
|
|
19
20
|
forcedBusy: boolean;
|
|
20
|
-
forcedAriaPosition
|
|
21
|
+
forcedAriaPosition?: string;
|
|
21
22
|
_columnsInfoString: string;
|
|
22
|
-
_columnsInfo
|
|
23
|
+
_columnsInfo?: Array<TableColumnInfo>;
|
|
23
24
|
tabbableElements: Array<HTMLElement>;
|
|
24
25
|
}
|
|
25
26
|
type TableColumnInfo = {
|
|
@@ -107,14 +108,21 @@ declare enum TableFocusTargetElement {
|
|
|
107
108
|
* @constructor
|
|
108
109
|
* @extends UI5Element
|
|
109
110
|
* @public
|
|
111
|
+
* @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.
|
|
110
112
|
*/
|
|
111
113
|
declare class Table extends UI5Element {
|
|
114
|
+
eventDetails: {
|
|
115
|
+
"row-click": TableRowClickEventDetail;
|
|
116
|
+
"popin-change": TablePopinChangeEventDetail;
|
|
117
|
+
"load-more": void;
|
|
118
|
+
"selection-change": TableSelectionChangeEventDetail;
|
|
119
|
+
};
|
|
112
120
|
/**
|
|
113
121
|
* Defines the text that will be displayed when there is no data and `hideNoData` is not present.
|
|
114
|
-
* @default
|
|
122
|
+
* @default undefined
|
|
115
123
|
* @public
|
|
116
124
|
*/
|
|
117
|
-
noDataText
|
|
125
|
+
noDataText?: string;
|
|
118
126
|
/**
|
|
119
127
|
* Defines the text that will be displayed inside the growing button at the bottom of the table,
|
|
120
128
|
* meant for loading more rows upon press.
|
|
@@ -122,20 +130,20 @@ declare class Table extends UI5Element {
|
|
|
122
130
|
* **Note:** If not specified a built-in text will be displayed.
|
|
123
131
|
*
|
|
124
132
|
* **Note:** This property takes effect if `growing` is set to `Button`.
|
|
125
|
-
* @default
|
|
133
|
+
* @default undefined
|
|
126
134
|
* @since 2.0.0
|
|
127
135
|
* @public
|
|
128
136
|
*/
|
|
129
|
-
growingButtonText
|
|
137
|
+
growingButtonText?: string;
|
|
130
138
|
/**
|
|
131
139
|
* Defines the subtext that will be displayed under the `growingButtonText`.
|
|
132
140
|
*
|
|
133
141
|
* **Note:** This property takes effect if `growing` is set to `Button`.
|
|
134
|
-
* @default
|
|
142
|
+
* @default undefined
|
|
135
143
|
* @since 2.0.0
|
|
136
144
|
* @public
|
|
137
145
|
*/
|
|
138
|
-
growingButtonSubtext
|
|
146
|
+
growingButtonSubtext?: string;
|
|
139
147
|
/**
|
|
140
148
|
* Defines if the value of `noDataText` will be diplayed when there is no rows present in the table.
|
|
141
149
|
* @default false
|
|
@@ -215,12 +223,12 @@ declare class Table extends UI5Element {
|
|
|
215
223
|
accessibleName?: string;
|
|
216
224
|
/**
|
|
217
225
|
* Receives id(or many ids) of the elements that label the component.
|
|
218
|
-
* @default
|
|
226
|
+
* @default undefined
|
|
219
227
|
* @public
|
|
220
228
|
* @since 2.0.0
|
|
221
229
|
*/
|
|
222
|
-
accessibleNameRef
|
|
223
|
-
_hiddenColumns
|
|
230
|
+
accessibleNameRef?: string;
|
|
231
|
+
_hiddenColumns?: Array<TableColumnInfo>;
|
|
224
232
|
_noDataDisplayed: boolean;
|
|
225
233
|
/**
|
|
226
234
|
* Defines the active state of the `More` button.
|
|
@@ -232,11 +240,6 @@ declare class Table extends UI5Element {
|
|
|
232
240
|
* @private
|
|
233
241
|
*/
|
|
234
242
|
_columnHeader: TableColumnHeaderInfo;
|
|
235
|
-
/**
|
|
236
|
-
* Defines if the entire table is in view port.
|
|
237
|
-
* @private
|
|
238
|
-
*/
|
|
239
|
-
_inViewport: boolean;
|
|
240
243
|
/**
|
|
241
244
|
* Defines whether all rows are selected or not when table is in MultiSelect mode.
|
|
242
245
|
* @default false
|
|
@@ -258,12 +261,10 @@ declare class Table extends UI5Element {
|
|
|
258
261
|
* @public
|
|
259
262
|
*/
|
|
260
263
|
columns: Array<TableColumn>;
|
|
261
|
-
static onDefine(): Promise<void>;
|
|
262
264
|
static i18nBundle: I18nBundle;
|
|
263
265
|
fnHandleF7: (e: CustomEvent) => void;
|
|
264
266
|
fnOnRowFocused: (e: CustomEvent) => void;
|
|
265
267
|
_handleResize: ResizeObserverCallback;
|
|
266
|
-
moreDataText?: string;
|
|
267
268
|
tableEndObserved: boolean;
|
|
268
269
|
visibleColumns: Array<TableColumn>;
|
|
269
270
|
visibleColumnsCount?: number;
|
|
@@ -291,7 +292,7 @@ declare class Table extends UI5Element {
|
|
|
291
292
|
* Switches focus between column header, last focused item, and "More" button (if applicable).
|
|
292
293
|
* @private
|
|
293
294
|
*/
|
|
294
|
-
_handleArrowAlt(e: KeyboardEvent): void
|
|
295
|
+
_handleArrowAlt(e: KeyboardEvent): void | Promise<void>;
|
|
295
296
|
/**
|
|
296
297
|
* Determines the type of the currently focused element.
|
|
297
298
|
* @private
|
|
@@ -311,11 +312,13 @@ declare class Table extends UI5Element {
|
|
|
311
312
|
_getAfterForwardElement(): HTMLElement;
|
|
312
313
|
_getBeforeForwardElement(): HTMLElement;
|
|
313
314
|
onRowFocused(e: CustomEvent): void;
|
|
315
|
+
onRowKeyDown(e: KeyboardEvent): void;
|
|
314
316
|
_onColumnHeaderFocused(): void;
|
|
315
317
|
_onColumnHeaderClick(e: MouseEvent | KeyboardEvent): void;
|
|
316
318
|
_onColumnHeaderKeydown(e: KeyboardEvent): void;
|
|
317
319
|
_onLoadMoreKeydown(e: KeyboardEvent): void;
|
|
318
320
|
_onLoadMoreKeyup(e: KeyboardEvent): void;
|
|
321
|
+
onInvalidation(change: ChangeInfo): void;
|
|
319
322
|
_onLoadMoreClick(): void;
|
|
320
323
|
observeTableEnd(): void;
|
|
321
324
|
onInteresection(entries: Array<IntersectionObserverEntry>): void;
|
|
@@ -328,18 +331,12 @@ declare class Table extends UI5Element {
|
|
|
328
331
|
get columnHeader(): HTMLElement | null;
|
|
329
332
|
get morеBtn(): HTMLElement | null;
|
|
330
333
|
handleResize(): void;
|
|
331
|
-
checkTableInViewport(): void;
|
|
332
334
|
popinContent(): void;
|
|
333
335
|
/**
|
|
334
336
|
* Gets settings to be propagated from columns to rows.
|
|
335
337
|
*/
|
|
336
338
|
getColumnPropagationSettings(): Array<TableColumnInfo>;
|
|
337
339
|
getIntersectionObserver(): IntersectionObserver;
|
|
338
|
-
get styles(): {
|
|
339
|
-
busy: {
|
|
340
|
-
position: string;
|
|
341
|
-
};
|
|
342
|
-
};
|
|
343
340
|
get growsWithButton(): boolean;
|
|
344
341
|
get growsOnScroll(): boolean;
|
|
345
342
|
get _growingButtonText(): string;
|
|
@@ -348,7 +345,6 @@ declare class Table extends UI5Element {
|
|
|
348
345
|
get ariaLabelSelectAllText(): string;
|
|
349
346
|
get loadMoreAriaLabelledBy(): string;
|
|
350
347
|
get tableEndDOM(): Element;
|
|
351
|
-
get busyIndPosition(): string;
|
|
352
348
|
get isMultiSelect(): boolean;
|
|
353
349
|
get isSingleSelect(): boolean;
|
|
354
350
|
get selectedRows(): Array<ITableRow>;
|
package/dist/Table.js
CHANGED
|
@@ -8,31 +8,28 @@ var Table_1;
|
|
|
8
8
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
9
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
10
10
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
11
|
-
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
11
|
+
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
12
12
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
13
|
-
import
|
|
13
|
+
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
14
|
+
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
14
15
|
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
15
16
|
import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
|
|
16
|
-
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
17
17
|
import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
|
|
18
|
-
import { isTabNext, isTabPrevious, isSpace, isEnter, isCtrlA, isUpAlt, isDownAlt, isUpShift, isDownShift, isHomeCtrl, isEndCtrl, isHomeShift, isEndShift, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
18
|
+
import { isTabNext, isTabPrevious, isSpace, isEnter, isDown, isCtrlA, isUpAlt, isDownAlt, isUpShift, isDownShift, isHomeCtrl, isEndCtrl, isHomeShift, isEndShift, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
19
19
|
import getNormalizedTarget from "@ui5/webcomponents-base/dist/util/getNormalizedTarget.js";
|
|
20
20
|
import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
|
|
21
21
|
import { getLastTabbableElement, getTabbableElements } from "@ui5/webcomponents-base/dist/util/TabbableElements.js";
|
|
22
|
-
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/
|
|
23
|
-
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
22
|
+
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
|
|
24
23
|
import debounce from "@ui5/webcomponents-base/dist/util/debounce.js";
|
|
25
|
-
import isElementInView from "@ui5/webcomponents-base/dist/util/isElementInView.js";
|
|
26
|
-
import BusyIndicator from "@ui5/webcomponents/dist/BusyIndicator.js";
|
|
27
|
-
import CheckBox from "@ui5/webcomponents/dist/CheckBox.js";
|
|
28
24
|
import TableGrowingMode from "./types/TableGrowingMode.js";
|
|
29
25
|
import TableMode from "./types/TableMode.js";
|
|
30
26
|
// Texts
|
|
31
27
|
import { LOAD_MORE_TEXT, ARIA_LABEL_SELECT_ALL_CHECKBOX, TABLE_HEADER_ROW_INFORMATION, TABLE_ROW_POSITION, } from "./generated/i18n/i18n-defaults.js";
|
|
32
28
|
// Template
|
|
33
|
-
import TableTemplate from "./
|
|
29
|
+
import TableTemplate from "./TableTemplate.js";
|
|
34
30
|
// Styles
|
|
35
31
|
import tableStyles from "./generated/themes/Table.css.js";
|
|
32
|
+
import { patchScopingSuffix } from "./utils/CompatCustomElementsScope.js";
|
|
36
33
|
const GROWING_WITH_SCROLL_DEBOUNCE_RATE = 250; // ms
|
|
37
34
|
const PAGE_UP_DOWN_SIZE = 20;
|
|
38
35
|
var TableFocusTargetElement;
|
|
@@ -101,13 +98,94 @@ var TableFocusTargetElement;
|
|
|
101
98
|
* @constructor
|
|
102
99
|
* @extends UI5Element
|
|
103
100
|
* @public
|
|
101
|
+
* @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.
|
|
104
102
|
*/
|
|
105
103
|
let Table = Table_1 = class Table extends UI5Element {
|
|
106
|
-
static async onDefine() {
|
|
107
|
-
Table_1.i18nBundle = await getI18nBundle("@ui5/webcomponents");
|
|
108
|
-
}
|
|
109
104
|
constructor() {
|
|
110
105
|
super();
|
|
106
|
+
/**
|
|
107
|
+
* Defines if the value of `noDataText` will be diplayed when there is no rows present in the table.
|
|
108
|
+
* @default false
|
|
109
|
+
* @public
|
|
110
|
+
* @since 2.0.0
|
|
111
|
+
*/
|
|
112
|
+
this.hideNoData = false;
|
|
113
|
+
/**
|
|
114
|
+
* Defines whether the table will have growing capability either by pressing a `More` button,
|
|
115
|
+
* or via user scroll. In both cases `load-more` event is fired.
|
|
116
|
+
*
|
|
117
|
+
* Available options:
|
|
118
|
+
*
|
|
119
|
+
* `Button` - Shows a `More` button at the bottom of the table, pressing of which triggers the `load-more` event.
|
|
120
|
+
*
|
|
121
|
+
* `Scroll` - The `load-more` event is triggered when the user scrolls to the bottom of the table;
|
|
122
|
+
*
|
|
123
|
+
* `None` (default) - The growing is off.
|
|
124
|
+
*
|
|
125
|
+
* **Restrictions:** `growing="Scroll"` is not supported for Internet Explorer,
|
|
126
|
+
* and the component will fallback to `growing="Button"`.
|
|
127
|
+
* @default "None"
|
|
128
|
+
* @since 2.0.0
|
|
129
|
+
* @public
|
|
130
|
+
*/
|
|
131
|
+
this.growing = "None";
|
|
132
|
+
/**
|
|
133
|
+
* Defines if the table is in busy state.
|
|
134
|
+
*
|
|
135
|
+
* In this state the component's opacity is reduced
|
|
136
|
+
* and busy indicator is displayed at the bottom of the table.
|
|
137
|
+
* @default false
|
|
138
|
+
* @since 2.0.0
|
|
139
|
+
* @public
|
|
140
|
+
*/
|
|
141
|
+
this.busy = false;
|
|
142
|
+
/**
|
|
143
|
+
* Defines the delay in milliseconds, after which the busy indicator will show up for this component.
|
|
144
|
+
* @default 1000
|
|
145
|
+
* @public
|
|
146
|
+
*/
|
|
147
|
+
this.busyDelay = 1000;
|
|
148
|
+
/**
|
|
149
|
+
* Determines whether the column headers remain fixed at the top of the page during
|
|
150
|
+
* vertical scrolling as long as the Web Component is in the viewport.
|
|
151
|
+
*
|
|
152
|
+
* **Restrictions:**
|
|
153
|
+
*
|
|
154
|
+
* - Browsers that do not support this feature:
|
|
155
|
+
*
|
|
156
|
+
* - Internet Explorer
|
|
157
|
+
* - Microsoft Edge lower than version 41 (EdgeHTML 16)
|
|
158
|
+
* - Mozilla Firefox lower than version 59
|
|
159
|
+
*
|
|
160
|
+
* - Scrolling behavior:
|
|
161
|
+
*
|
|
162
|
+
* - If the Web Component is placed in layout containers that have the `overflow: hidden`
|
|
163
|
+
* or `overflow: auto` style definition, this can
|
|
164
|
+
* prevent the sticky elements of the Web Component from becoming fixed at the top of the viewport.
|
|
165
|
+
* @default false
|
|
166
|
+
* @public
|
|
167
|
+
*/
|
|
168
|
+
this.stickyColumnHeader = false;
|
|
169
|
+
/**
|
|
170
|
+
* Defines the mode of the component.
|
|
171
|
+
* @default "None"
|
|
172
|
+
* @since 2.0.0
|
|
173
|
+
* @public
|
|
174
|
+
*/
|
|
175
|
+
this.mode = "None";
|
|
176
|
+
this._noDataDisplayed = false;
|
|
177
|
+
/**
|
|
178
|
+
* Defines the active state of the `More` button.
|
|
179
|
+
* @private
|
|
180
|
+
*/
|
|
181
|
+
this._loadMoreActive = false;
|
|
182
|
+
/**
|
|
183
|
+
* Defines whether all rows are selected or not when table is in MultiSelect mode.
|
|
184
|
+
* @default false
|
|
185
|
+
* @since 2.0.0
|
|
186
|
+
* @private
|
|
187
|
+
*/
|
|
188
|
+
this._allRowsSelected = false;
|
|
111
189
|
this.visibleColumns = []; // template loop should always have a defined array
|
|
112
190
|
// The ItemNavigation requires each item to 1) have a "forcedTabIndex" property and 2) be either a UI5Element, or have an id property (to find it in the component's shadow DOM by)
|
|
113
191
|
this._columnHeader = {
|
|
@@ -153,7 +231,7 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
153
231
|
row.mode = this.mode;
|
|
154
232
|
});
|
|
155
233
|
this.visibleColumns = this.columns.filter((column, index) => {
|
|
156
|
-
return !this._hiddenColumns[index];
|
|
234
|
+
return !this._hiddenColumns?.[index];
|
|
157
235
|
});
|
|
158
236
|
this._noDataDisplayed = !this.rows.length && !this.hideNoData;
|
|
159
237
|
this.visibleColumnsCount = this.visibleColumns.length;
|
|
@@ -168,7 +246,6 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
168
246
|
if (this.growsOnScroll) {
|
|
169
247
|
this.observeTableEnd();
|
|
170
248
|
}
|
|
171
|
-
this.checkTableInViewport();
|
|
172
249
|
}
|
|
173
250
|
onEnterDOM() {
|
|
174
251
|
this.growingIntersectionObserver = this.getIntersectionObserver();
|
|
@@ -277,7 +354,7 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
277
354
|
nextItem.focus();
|
|
278
355
|
}
|
|
279
356
|
const selectedRows = this.selectedRows;
|
|
280
|
-
this.
|
|
357
|
+
this.fireDecoratorEvent("selection-change", {
|
|
281
358
|
selectedRows,
|
|
282
359
|
previouslySelectedRows,
|
|
283
360
|
});
|
|
@@ -303,7 +380,7 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
303
380
|
rows[rows.length - 1].focus();
|
|
304
381
|
}
|
|
305
382
|
const selectedRows = this.selectedRows;
|
|
306
|
-
this.
|
|
383
|
+
this.fireDecoratorEvent("selection-change", {
|
|
307
384
|
selectedRows,
|
|
308
385
|
previouslySelectedRows,
|
|
309
386
|
});
|
|
@@ -450,6 +527,11 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
450
527
|
onRowFocused(e) {
|
|
451
528
|
this._itemNavigation.setCurrentItem(e.target);
|
|
452
529
|
}
|
|
530
|
+
onRowKeyDown(e) {
|
|
531
|
+
if (this.growing === "Scroll" && isDown(e) && this.currentItemIdx === this.rows.length - 1) {
|
|
532
|
+
debounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);
|
|
533
|
+
}
|
|
534
|
+
}
|
|
453
535
|
_onColumnHeaderFocused() {
|
|
454
536
|
this._itemNavigation.setCurrentItem(this._columnHeader);
|
|
455
537
|
}
|
|
@@ -485,8 +567,14 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
485
567
|
}
|
|
486
568
|
this._loadMoreActive = false;
|
|
487
569
|
}
|
|
570
|
+
onInvalidation(change) {
|
|
571
|
+
if (change.type === "property" && change.name === "growing") {
|
|
572
|
+
this.tableEndObserved = false;
|
|
573
|
+
this.getIntersectionObserver().disconnect();
|
|
574
|
+
}
|
|
575
|
+
}
|
|
488
576
|
_onLoadMoreClick() {
|
|
489
|
-
this.
|
|
577
|
+
this.fireDecoratorEvent("load-more");
|
|
490
578
|
}
|
|
491
579
|
observeTableEnd() {
|
|
492
580
|
if (!this.tableEndObserved) {
|
|
@@ -504,7 +592,7 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
504
592
|
}
|
|
505
593
|
}
|
|
506
594
|
loadMore() {
|
|
507
|
-
this.
|
|
595
|
+
this.fireDecoratorEvent("load-more");
|
|
508
596
|
}
|
|
509
597
|
_handleSingleSelect(e) {
|
|
510
598
|
const row = this.getRowParent(e.target);
|
|
@@ -519,7 +607,7 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
519
607
|
}
|
|
520
608
|
});
|
|
521
609
|
row.selected = true;
|
|
522
|
-
this.
|
|
610
|
+
this.fireDecoratorEvent("selection-change", {
|
|
523
611
|
selectedRows: [row],
|
|
524
612
|
previouslySelectedRows,
|
|
525
613
|
});
|
|
@@ -539,7 +627,7 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
539
627
|
else {
|
|
540
628
|
this._allRowsSelected = false;
|
|
541
629
|
}
|
|
542
|
-
this.
|
|
630
|
+
this.fireDecoratorEvent("selection-change", {
|
|
543
631
|
selectedRows,
|
|
544
632
|
previouslySelectedRows,
|
|
545
633
|
});
|
|
@@ -561,7 +649,7 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
561
649
|
row.selected = bAllSelected;
|
|
562
650
|
});
|
|
563
651
|
const selectedRows = bAllSelected ? this.rows : [];
|
|
564
|
-
this.
|
|
652
|
+
this.fireDecoratorEvent("selection-change", {
|
|
565
653
|
selectedRows,
|
|
566
654
|
previouslySelectedRows,
|
|
567
655
|
});
|
|
@@ -591,12 +679,8 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
591
679
|
return null;
|
|
592
680
|
}
|
|
593
681
|
handleResize() {
|
|
594
|
-
this.checkTableInViewport();
|
|
595
682
|
this.popinContent();
|
|
596
683
|
}
|
|
597
|
-
checkTableInViewport() {
|
|
598
|
-
this._inViewport = isElementInView(this.getDomRef());
|
|
599
|
-
}
|
|
600
684
|
popinContent() {
|
|
601
685
|
const clientRect = this.getDomRef().getBoundingClientRect();
|
|
602
686
|
const tableWidth = clientRect.width;
|
|
@@ -621,12 +705,12 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
621
705
|
}
|
|
622
706
|
this.columns[visibleColumnsIndexes[visibleColumnsIndexes.length - 1]].last = true;
|
|
623
707
|
}
|
|
624
|
-
const hiddenColumnsChange = (this._hiddenColumns
|
|
708
|
+
const hiddenColumnsChange = (this._hiddenColumns?.length !== hiddenColumns.length) || this._hiddenColumns?.some((column, index) => column !== hiddenColumns[index]);
|
|
625
709
|
const shownColumnsChange = hiddenColumns.length === 0;
|
|
626
710
|
// invalidate if hidden columns count has changed or columns are shown
|
|
627
711
|
if (hiddenColumnsChange || shownColumnsChange) {
|
|
628
712
|
this._hiddenColumns = hiddenColumns;
|
|
629
|
-
this.
|
|
713
|
+
this.fireDecoratorEvent("popin-change", {
|
|
630
714
|
poppedColumns: this._hiddenColumns,
|
|
631
715
|
});
|
|
632
716
|
}
|
|
@@ -643,7 +727,7 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
643
727
|
text: column.textContent,
|
|
644
728
|
popinText: column.popinText,
|
|
645
729
|
popinDisplay: column.popinDisplay,
|
|
646
|
-
visible: !this._hiddenColumns[index],
|
|
730
|
+
visible: !this._hiddenColumns?.[index],
|
|
647
731
|
};
|
|
648
732
|
}, this);
|
|
649
733
|
}
|
|
@@ -657,13 +741,6 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
657
741
|
}
|
|
658
742
|
return this.growingIntersectionObserver;
|
|
659
743
|
}
|
|
660
|
-
get styles() {
|
|
661
|
-
return {
|
|
662
|
-
busy: {
|
|
663
|
-
position: this.busyIndPosition,
|
|
664
|
-
},
|
|
665
|
-
};
|
|
666
|
-
}
|
|
667
744
|
get growsWithButton() {
|
|
668
745
|
return this.growing === TableGrowingMode.Button;
|
|
669
746
|
}
|
|
@@ -688,7 +765,7 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
688
765
|
return Table_1.i18nBundle.getText(ARIA_LABEL_SELECT_ALL_CHECKBOX);
|
|
689
766
|
}
|
|
690
767
|
get loadMoreAriaLabelledBy() {
|
|
691
|
-
if (this.
|
|
768
|
+
if (this.growingButtonSubtext) {
|
|
692
769
|
return `${this._id}-growingButton-text ${this._id}-growingButton-subtext`;
|
|
693
770
|
}
|
|
694
771
|
return `${this._id}-growingButton-text`;
|
|
@@ -696,9 +773,6 @@ let Table = Table_1 = class Table extends UI5Element {
|
|
|
696
773
|
get tableEndDOM() {
|
|
697
774
|
return this.shadowRoot.querySelector(".ui5-table-end-marker");
|
|
698
775
|
}
|
|
699
|
-
get busyIndPosition() {
|
|
700
|
-
return this._inViewport ? "absolute" : "sticky";
|
|
701
|
-
}
|
|
702
776
|
get isMultiSelect() {
|
|
703
777
|
return this.mode === TableMode.MultiSelect;
|
|
704
778
|
}
|
|
@@ -737,28 +811,28 @@ __decorate([
|
|
|
737
811
|
property({ type: Boolean })
|
|
738
812
|
], Table.prototype, "hideNoData", void 0);
|
|
739
813
|
__decorate([
|
|
740
|
-
property(
|
|
814
|
+
property()
|
|
741
815
|
], Table.prototype, "growing", void 0);
|
|
742
816
|
__decorate([
|
|
743
817
|
property({ type: Boolean })
|
|
744
818
|
], Table.prototype, "busy", void 0);
|
|
745
819
|
__decorate([
|
|
746
|
-
property({
|
|
820
|
+
property({ type: Number })
|
|
747
821
|
], Table.prototype, "busyDelay", void 0);
|
|
748
822
|
__decorate([
|
|
749
823
|
property({ type: Boolean })
|
|
750
824
|
], Table.prototype, "stickyColumnHeader", void 0);
|
|
751
825
|
__decorate([
|
|
752
|
-
property(
|
|
826
|
+
property()
|
|
753
827
|
], Table.prototype, "mode", void 0);
|
|
754
828
|
__decorate([
|
|
755
|
-
property(
|
|
829
|
+
property()
|
|
756
830
|
], Table.prototype, "accessibleName", void 0);
|
|
757
831
|
__decorate([
|
|
758
|
-
property(
|
|
832
|
+
property()
|
|
759
833
|
], Table.prototype, "accessibleNameRef", void 0);
|
|
760
834
|
__decorate([
|
|
761
|
-
property({ type:
|
|
835
|
+
property({ type: Array })
|
|
762
836
|
], Table.prototype, "_hiddenColumns", void 0);
|
|
763
837
|
__decorate([
|
|
764
838
|
property({ type: Boolean })
|
|
@@ -769,9 +843,6 @@ __decorate([
|
|
|
769
843
|
__decorate([
|
|
770
844
|
property({ type: Object })
|
|
771
845
|
], Table.prototype, "_columnHeader", void 0);
|
|
772
|
-
__decorate([
|
|
773
|
-
property({ type: Boolean })
|
|
774
|
-
], Table.prototype, "_inViewport", void 0);
|
|
775
846
|
__decorate([
|
|
776
847
|
property({ type: Boolean })
|
|
777
848
|
], Table.prototype, "_allRowsSelected", void 0);
|
|
@@ -793,14 +864,16 @@ __decorate([
|
|
|
793
864
|
},
|
|
794
865
|
})
|
|
795
866
|
], Table.prototype, "columns", void 0);
|
|
867
|
+
__decorate([
|
|
868
|
+
i18n("@ui5/webcomponents")
|
|
869
|
+
], Table, "i18nBundle", void 0);
|
|
796
870
|
Table = Table_1 = __decorate([
|
|
797
871
|
customElement({
|
|
798
872
|
tag: "ui5-table",
|
|
799
873
|
fastNavigation: true,
|
|
800
874
|
styles: tableStyles,
|
|
801
|
-
renderer:
|
|
875
|
+
renderer: jsxRenderer,
|
|
802
876
|
template: TableTemplate,
|
|
803
|
-
dependencies: [BusyIndicator, CheckBox],
|
|
804
877
|
})
|
|
805
878
|
/** Fired when a row in `Active` mode is clicked or `Enter` key is pressed.
|
|
806
879
|
* @param {HTMLElement} row the activated row.
|
|
@@ -808,12 +881,7 @@ Table = Table_1 = __decorate([
|
|
|
808
881
|
*/
|
|
809
882
|
,
|
|
810
883
|
event("row-click", {
|
|
811
|
-
|
|
812
|
-
/**
|
|
813
|
-
* @public
|
|
814
|
-
*/
|
|
815
|
-
row: { type: HTMLElement },
|
|
816
|
-
},
|
|
884
|
+
bubbles: true,
|
|
817
885
|
})
|
|
818
886
|
/**
|
|
819
887
|
* Fired when `ui5-table-column` is shown as a pop-in instead of hiding it.
|
|
@@ -823,14 +891,7 @@ Table = Table_1 = __decorate([
|
|
|
823
891
|
*/
|
|
824
892
|
,
|
|
825
893
|
event("popin-change", {
|
|
826
|
-
|
|
827
|
-
/**
|
|
828
|
-
* @public
|
|
829
|
-
*/
|
|
830
|
-
poppedColumns: {
|
|
831
|
-
type: Array,
|
|
832
|
-
},
|
|
833
|
-
},
|
|
894
|
+
bubbles: true,
|
|
834
895
|
})
|
|
835
896
|
/**
|
|
836
897
|
* Fired when the user presses the `More` button or scrolls to the table's end.
|
|
@@ -840,7 +901,9 @@ Table = Table_1 = __decorate([
|
|
|
840
901
|
* @since 2.0.0
|
|
841
902
|
*/
|
|
842
903
|
,
|
|
843
|
-
event("load-more"
|
|
904
|
+
event("load-more", {
|
|
905
|
+
bubbles: true,
|
|
906
|
+
})
|
|
844
907
|
/**
|
|
845
908
|
* Fired when selection is changed by user interaction
|
|
846
909
|
* in `SingleSelect` and `MultiSelect` modes.
|
|
@@ -851,18 +914,10 @@ Table = Table_1 = __decorate([
|
|
|
851
914
|
*/
|
|
852
915
|
,
|
|
853
916
|
event("selection-change", {
|
|
854
|
-
|
|
855
|
-
/**
|
|
856
|
-
* @public
|
|
857
|
-
*/
|
|
858
|
-
selectedRows: { type: Array },
|
|
859
|
-
/**
|
|
860
|
-
* @public
|
|
861
|
-
*/
|
|
862
|
-
previouslySelectedRows: { type: Array },
|
|
863
|
-
},
|
|
917
|
+
bubbles: true,
|
|
864
918
|
})
|
|
865
919
|
], Table);
|
|
920
|
+
patchScopingSuffix(Table);
|
|
866
921
|
Table.define();
|
|
867
922
|
export default Table;
|
|
868
923
|
//# sourceMappingURL=Table.js.map
|