Skip to content

Commit 6d80fd8

Browse files
authored
feat(AnalyticalTable): introduce loadingDelay prop (#6025)
1 parent 80d8c0b commit 6d80fd8

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

packages/main/src/components/AnalyticalTable/AnalyticalTable.cy.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1438,7 +1438,9 @@ describe('AnalyticalTable', () => {
14381438
cy.mount(<AnalyticalTable data={[]} columns={columns} loading />);
14391439
cy.get('[data-component-name="AnalyticalTableLoadingPlaceholder"]').should('be.visible');
14401440
cy.mount(<AnalyticalTable data={data} columns={columns} loading />);
1441-
cy.get('[data-component-name="AnalyticalTableBusyIndicator"]').should('be.visible');
1441+
cy.get('.ui5-busy-indicator-busy-area', { timeout: 2000 }).should('be.visible');
1442+
cy.mount(<AnalyticalTable data={data} columns={columns} loading loadingDelay={50000} />);
1443+
cy.get('.ui5-busy-indicator-busy-area', { timeout: 2000 }).should('not.exist');
14421444
cy.mount(<AnalyticalTable data={[]} columns={columns} />);
14431445
cy.findByText('No data').should('be.visible');
14441446
cy.mount(<AnalyticalTable data={data} columns={columns} filterable globalFilterValue="test123" />);

packages/main/src/components/AnalyticalTable/AnalyticalTable.stories.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,8 @@ const meta = {
124124
selectionMode: AnalyticalTableSelectionMode.SingleSelect,
125125
selectionBehavior: AnalyticalTableSelectionBehavior.Row,
126126
overscanCountHorizontal: 5,
127-
visibleRowCountMode: AnalyticalTableVisibleRowCountMode.Fixed
127+
visibleRowCountMode: AnalyticalTableVisibleRowCountMode.Fixed,
128+
loadingDelay: 1000
128129
},
129130
argTypes: {
130131
data: { control: { disable: true } },

packages/main/src/components/AnalyticalTable/index.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ const AnalyticalTable = forwardRef<AnalyticalTableDomRef, AnalyticalTablePropTyp
134134
infiniteScrollThreshold = 20,
135135
isTreeTable,
136136
loading,
137+
loadingDelay,
137138
markNavigatedRow,
138139
minRows = 5,
139140
noDataText,
@@ -730,7 +731,7 @@ const AnalyticalTable = forwardRef<AnalyticalTableDomRef, AnalyticalTablePropTyp
730731
</TitleBar>
731732
)}
732733
{extension && <div ref={extensionRef}>{extension}</div>}
733-
<BusyIndicator active={loading} data-component-name="AnalyticalTableBusyIndicator">
734+
<BusyIndicator active={loading} delay={loadingDelay} data-component-name="AnalyticalTableBusyIndicator">
734735
<FlexBox
735736
className={classNames.tableContainerWithScrollBar}
736737
data-component-name="AnalyticalTableContainerWithScrollbar"

packages/main/src/components/AnalyticalTable/types/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,12 @@ export interface AnalyticalTablePropTypes extends Omit<CommonProps, 'title'> {
426426
* __Note:__ If the data array is not empty and loading is set to `true` a `BusyIndicator` will be displayed on top of the table, otherwise a skeleton placeholder will be shown.
427427
*/
428428
loading?: boolean;
429+
/**
430+
* Defines the delay in milliseconds, after which the `BusyIndicator` will be visible on the screen.
431+
*
432+
* @default 1000
433+
*/
434+
loadingDelay?: number;
429435
/**
430436
* Setting this prop to `true` will show an overlay on top of the AnalyticalTable content preventing users from interacting with it.
431437
*/

0 commit comments

Comments
 (0)