@laerdal/life-react-components 3.6.0-dev.1.full → 3.6.1
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/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
- package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
- package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
- package/dist/Banners/__tests__/Banner.test.tsx +47 -0
- package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
- package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
- package/dist/Button/TextButton.cjs +648 -0
- package/dist/Button/TextButton.cjs.map +1 -0
- package/dist/Button/TextButton.d.ts +77 -0
- package/dist/Button/TextButton.js +640 -0
- package/dist/Button/TextButton.js.map +1 -0
- package/dist/Button/__tests__/BackButton.test.tsx +32 -0
- package/dist/Button/__tests__/Button.test.tsx +45 -0
- package/dist/Button/__tests__/DualButton.test.tsx +119 -0
- package/dist/Button/__tests__/TextButton.test.tsx +45 -0
- package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
- package/dist/Card/HorizontalCard/__tests__/VerticalCard.test.tsx +124 -0
- package/dist/Card/VerticalCard/VerticalCard.cjs +187 -0
- package/dist/Card/VerticalCard/VerticalCard.cjs.map +1 -0
- package/dist/Card/VerticalCard/VerticalCard.d.ts +25 -0
- package/dist/Card/VerticalCard/VerticalCard.js +178 -0
- package/dist/Card/VerticalCard/VerticalCard.js.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardBottomSection.cjs +261 -0
- package/dist/Card/VerticalCard/VerticalCardBottomSection.cjs.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardBottomSection.d.ts +53 -0
- package/dist/Card/VerticalCard/VerticalCardBottomSection.js +252 -0
- package/dist/Card/VerticalCard/VerticalCardBottomSection.js.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardMiddleSection.cjs +145 -0
- package/dist/Card/VerticalCard/VerticalCardMiddleSection.cjs.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardMiddleSection.d.ts +42 -0
- package/dist/Card/VerticalCard/VerticalCardMiddleSection.js +136 -0
- package/dist/Card/VerticalCard/VerticalCardMiddleSection.js.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardTopSection.cjs +165 -0
- package/dist/Card/VerticalCard/VerticalCardTopSection.cjs.map +1 -0
- package/dist/Card/VerticalCard/VerticalCardTopSection.d.ts +45 -0
- package/dist/Card/VerticalCard/VerticalCardTopSection.js +156 -0
- package/dist/Card/VerticalCard/VerticalCardTopSection.js.map +1 -0
- package/dist/Card/VerticalCard/__tests__/VerticalCard.test.tsx +124 -0
- package/dist/Card/__tests__/Card.test.tsx +146 -0
- package/dist/Chips/ChoiceChips.cjs +0 -1
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.js +0 -1
- package/dist/Chips/ChoiceChips.js.map +1 -1
- package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
- package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
- package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
- package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
- package/dist/ChipsInput/ChipDropdownInput.cjs +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
- package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
- package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
- package/dist/Dropdown/BasicDropdown.cjs +0 -2
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +0 -2
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +0 -4
- package/dist/Dropdown/DropdownButton.cjs.map +1 -1
- package/dist/Dropdown/DropdownButton.js +0 -4
- package/dist/Dropdown/DropdownButton.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +1 -1
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.js +1 -1
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +0 -2
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +0 -2
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
- package/dist/Footer/__tests__/Footer.test.tsx +182 -0
- package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +31 -0
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +1 -0
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +1 -0
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +1 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.js +1 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
- package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
- package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
- package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
- package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
- package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
- package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
- package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
- package/dist/InputFields/QuickSearch.cjs +1 -1
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +1 -1
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
- package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
- package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
- package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
- package/dist/List/__tests__/ListRow.test.tsx +18 -0
- package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
- package/dist/Modals/__tests__/Modal.test.tsx +169 -0
- package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
- package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
- package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
- package/dist/Navigation/NavigationProvider.cjs +43 -0
- package/dist/Navigation/NavigationProvider.cjs.map +1 -0
- package/dist/Navigation/NavigationProvider.d.ts +15 -0
- package/dist/Navigation/NavigationProvider.js +32 -0
- package/dist/Navigation/NavigationProvider.js.map +1 -0
- package/dist/Navigation/index.cjs +19 -0
- package/dist/Navigation/index.cjs.map +1 -0
- package/dist/Navigation/index.d.ts +2 -0
- package/dist/Navigation/index.js +2 -0
- package/dist/Navigation/index.js.map +1 -0
- package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
- package/dist/Paginator/__tests__/Paginator.test.tsx +33 -0
- package/dist/Popover/__tests__/Popover.test.tsx +64 -0
- package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
- package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
- package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
- package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
- package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
- package/dist/Table/Table.cjs +3 -1
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Table/Table.js +3 -1
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody.cjs +1 -1
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.js +1 -1
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableFooter.cjs +0 -2
- package/dist/Table/TableFooter.cjs.map +1 -1
- package/dist/Table/TableFooter.js +0 -2
- package/dist/Table/TableFooter.js.map +1 -1
- package/dist/Table/__tests__/Table.test.tsx +499 -0
- package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
- package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
- package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
- package/dist/Tag/__tests__/Tag.test.tsx +86 -0
- package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
- package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
- package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
- package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
- package/dist/icons/systemicons/CreditCard.cjs +43 -0
- package/dist/icons/systemicons/CreditCard.cjs.map +1 -0
- package/dist/icons/systemicons/CreditCard.d.ts +3 -0
- package/dist/icons/systemicons/CreditCard.js +33 -0
- package/dist/icons/systemicons/CreditCard.js.map +1 -0
- package/dist/icons/systemicons/Discount.cjs +43 -0
- package/dist/icons/systemicons/Discount.cjs.map +1 -0
- package/dist/icons/systemicons/Discount.d.ts +3 -0
- package/dist/icons/systemicons/Discount.js +33 -0
- package/dist/icons/systemicons/Discount.js.map +1 -0
- package/dist/icons/systemicons/DocumentComplete.cjs +43 -0
- package/dist/icons/systemicons/DocumentComplete.cjs.map +1 -0
- package/dist/icons/systemicons/DocumentComplete.d.ts +3 -0
- package/dist/icons/systemicons/DocumentComplete.js +33 -0
- package/dist/icons/systemicons/DocumentComplete.js.map +1 -0
- package/dist/icons/systemicons/Folder.cjs +43 -0
- package/dist/icons/systemicons/Folder.cjs.map +1 -0
- package/dist/icons/systemicons/Folder.d.ts +3 -0
- package/dist/icons/systemicons/Folder.js +33 -0
- package/dist/icons/systemicons/Folder.js.map +1 -0
- package/dist/icons/systemicons/FolderNew.cjs +43 -0
- package/dist/icons/systemicons/FolderNew.cjs.map +1 -0
- package/dist/icons/systemicons/FolderNew.d.ts +3 -0
- package/dist/icons/systemicons/FolderNew.js +33 -0
- package/dist/icons/systemicons/FolderNew.js.map +1 -0
- package/dist/icons/systemicons/MoodHappy.cjs +43 -0
- package/dist/icons/systemicons/MoodHappy.cjs.map +1 -0
- package/dist/icons/systemicons/MoodHappy.d.ts +3 -0
- package/dist/icons/systemicons/MoodHappy.js +33 -0
- package/dist/icons/systemicons/MoodHappy.js.map +1 -0
- package/dist/icons/systemicons/MoodIndifferent.cjs +43 -0
- package/dist/icons/systemicons/MoodIndifferent.cjs.map +1 -0
- package/dist/icons/systemicons/MoodIndifferent.d.ts +3 -0
- package/dist/icons/systemicons/MoodIndifferent.js +33 -0
- package/dist/icons/systemicons/MoodIndifferent.js.map +1 -0
- package/dist/icons/systemicons/MoodSad.cjs +43 -0
- package/dist/icons/systemicons/MoodSad.cjs.map +1 -0
- package/dist/icons/systemicons/MoodSad.d.ts +3 -0
- package/dist/icons/systemicons/MoodSad.js +33 -0
- package/dist/icons/systemicons/MoodSad.js.map +1 -0
- package/dist/icons/systemicons/MoodVeryHappy.cjs +43 -0
- package/dist/icons/systemicons/MoodVeryHappy.cjs.map +1 -0
- package/dist/icons/systemicons/MoodVeryHappy.d.ts +3 -0
- package/dist/icons/systemicons/MoodVeryHappy.js +33 -0
- package/dist/icons/systemicons/MoodVeryHappy.js.map +1 -0
- package/dist/icons/systemicons/MoodVerySad.cjs +43 -0
- package/dist/icons/systemicons/MoodVerySad.cjs.map +1 -0
- package/dist/icons/systemicons/MoodVerySad.d.ts +3 -0
- package/dist/icons/systemicons/MoodVerySad.js +33 -0
- package/dist/icons/systemicons/MoodVerySad.js.map +1 -0
- package/dist/icons/systemicons/Orders.cjs +43 -0
- package/dist/icons/systemicons/Orders.cjs.map +1 -0
- package/dist/icons/systemicons/Orders.d.ts +3 -0
- package/dist/icons/systemicons/Orders.js +33 -0
- package/dist/icons/systemicons/Orders.js.map +1 -0
- package/dist/icons/systemicons/Palette.cjs +43 -0
- package/dist/icons/systemicons/Palette.cjs.map +1 -0
- package/dist/icons/systemicons/Palette.d.ts +3 -0
- package/dist/icons/systemicons/Palette.js +33 -0
- package/dist/icons/systemicons/Palette.js.map +1 -0
- package/dist/icons/systemicons/Stack.cjs +43 -0
- package/dist/icons/systemicons/Stack.cjs.map +1 -0
- package/dist/icons/systemicons/Stack.d.ts +3 -0
- package/dist/icons/systemicons/Stack.js +33 -0
- package/dist/icons/systemicons/Stack.js.map +1 -0
- package/dist/styles/design-tokens/dark/tokens.css +481 -0
- package/dist/styles/design-tokens/light/tokens.css +481 -0
- package/dist/styles/design-tokens/rqi_dark/tokens.css +481 -0
- package/dist/styles/design-tokens/rqi_light/tokens.css +481 -0
- package/dist/styles/react-datepicker.css +766 -0
- package/dist/styles/typography.cjs +35 -59
- package/dist/styles/typography.cjs.map +1 -1
- package/dist/styles/typography.d.ts +1 -1
- package/dist/styles/typography.js +35 -59
- package/dist/styles/typography.js.map +1 -1
- package/dist/test-utils.cjs +16 -10
- package/dist/test-utils.cjs.map +1 -1
- package/dist/test-utils.d.ts +5 -5
- package/dist/test-utils.js +14 -8
- package/dist/test-utils.js.map +1 -1
- package/dist/utils/color-tokens.cjs +91 -0
- package/dist/utils/color-tokens.cjs.map +1 -0
- package/dist/utils/color-tokens.d.ts +19 -0
- package/dist/utils/color-tokens.js +82 -0
- package/dist/utils/color-tokens.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import {ProfileButton} from '../index';
|
|
3
|
+
import {render} from '../../test-utils';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
describe('ProfileButton', () => {
|
|
8
|
+
|
|
9
|
+
it('should render', () => {
|
|
10
|
+
const wrapper = render(<ProfileButton onClick={jest.fn()} initials={'initials'}/>);
|
|
11
|
+
|
|
12
|
+
expect(wrapper.queryByText('initials')).toBeInTheDocument();
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('should render image if portraitSrc is provided', () => {
|
|
16
|
+
const wrapper = render(<ProfileButton portraitSrc={'#'} onClick={jest.fn()}/>);
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
expect(wrapper.container.querySelector(`img`)).toBeInTheDocument();
|
|
20
|
+
expect(wrapper.queryByText('initials')).not.toBeInTheDocument();
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('should render initials if portraitSrc is not provided and initials are', () => {
|
|
24
|
+
const wrapper = render(<ProfileButton initials={'initials'} onClick={jest.fn()}/>);
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
expect(wrapper.container.querySelector(`img`)).not.toBeInTheDocument();
|
|
28
|
+
expect(wrapper.queryByText('initials')).toBeInTheDocument();
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '../../test-utils';
|
|
3
|
+
import 'jest-styled-components';
|
|
4
|
+
import { QuizButton } from '..';
|
|
5
|
+
import { Size } from '../../types';
|
|
6
|
+
import COLORS from '../../styles/colors';
|
|
7
|
+
import '@testing-library/jest-dom';
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
describe('<QuizButton />',()=>{
|
|
11
|
+
it('renders correct quiz button', async () => {
|
|
12
|
+
const{getByText, getByTestId} = render(
|
|
13
|
+
<QuizButton size={Size.Small} resultType={'correct'} text={'this is sample text'} type={'radio'} id={'1'}/>
|
|
14
|
+
);
|
|
15
|
+
expect(getByTestId('txtContainer')).toHaveTextContent('this is sample text');
|
|
16
|
+
expect(getByTestId('txtContainer')).toHaveClass('quiz-button-text');
|
|
17
|
+
expect(getByTestId('btnContainer')).toHaveClass('quiz-button-icon');
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('renders incorrect quiz button', async () => {
|
|
21
|
+
const{getByText, getByTestId} = render(
|
|
22
|
+
<QuizButton size={Size.Small} resultType={'incorrect'} text={'this is sample text'} type={'checkbox'} id={'1'}/>
|
|
23
|
+
);
|
|
24
|
+
expect(getByTestId('txtContainer')).toHaveTextContent('this is sample text');
|
|
25
|
+
expect(getByTestId('txtContainer')).toHaveClass('quiz-button-text');
|
|
26
|
+
expect(getByTestId('btnContainer')).toHaveClass('quiz-button-icon');
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('renders partial quiz button', async () => {
|
|
30
|
+
const{getByText, getByTestId} = render(
|
|
31
|
+
<QuizButton size={Size.Small} resultType={'partial'} text={'this is sample text'} type={'radio'} id={'1'}/>
|
|
32
|
+
);
|
|
33
|
+
expect(getByTestId('txtContainer')).toHaveTextContent('this is sample text');
|
|
34
|
+
expect(getByTestId('txtContainer')).toHaveClass('quiz-button-text');
|
|
35
|
+
expect(getByTestId('btnContainer')).toHaveClass('quiz-button-icon');
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it('renders quiz button', async () => {
|
|
39
|
+
const{getByText, getByTestId} = render(
|
|
40
|
+
<QuizButton size={Size.Small} text={'this is sample text'} type={'checkbox'} id={'1'}/>
|
|
41
|
+
);
|
|
42
|
+
expect(getByText('this is sample text')).toHaveTextContent('this is sample text');
|
|
43
|
+
expect(getByTestId('txtContainer')).toHaveStyleRule('background',COLORS.accent1_20);
|
|
44
|
+
expect(getByTestId('btnContainer')).toHaveStyleRule('background',COLORS.accent1_100);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it('renders selected quiz button', async () => {
|
|
48
|
+
const{getByText} = render(
|
|
49
|
+
<QuizButton size={Size.Small} text={'this is sample text'} selected={true} type={'radio'} id={'1'}/>
|
|
50
|
+
);
|
|
51
|
+
expect(getByText('this is sample text')).toHaveTextContent('this is sample text');
|
|
52
|
+
});
|
|
53
|
+
});
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {SegmentControlItemWrapper, SegmentControlWrapper} from '../SegmentControl';
|
|
3
|
+
import {render} from '../../test-utils';
|
|
4
|
+
import {SegmentControl} from '../index';
|
|
5
|
+
import {SystemIcons} from '../../icons';
|
|
6
|
+
import {fireEvent} from '@testing-library/react';
|
|
7
|
+
import { act } from "react";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
describe('SegmentControl', () => {
|
|
13
|
+
|
|
14
|
+
const items = [
|
|
15
|
+
{key: 'item1', content: 'Item 1', disabled: false,},
|
|
16
|
+
{key: 'item2', content: 'Item 2', disabled: false,},
|
|
17
|
+
{key: 'item3', content: 'Item 3', disabled: false,},
|
|
18
|
+
{key: 'item4', content: 'Item 4', disabled: false,},
|
|
19
|
+
{key: 'item5', content: 'Item 5', disabled: false,},
|
|
20
|
+
{key: 'item6', content: 'Item 6', disabled: true,}
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const icons = [
|
|
24
|
+
{key: 'icon1', content: <SystemIcons.Legend3Star size={'20'}/>, disabled: false,},
|
|
25
|
+
{key: 'icon2', content: <SystemIcons.Legend4Square size={'20'}/>, disabled: false,},
|
|
26
|
+
{key: 'icon3', content: <SystemIcons.Legend5Diamond size={'20'}/>, disabled: false,},
|
|
27
|
+
{key: 'icon4', content: <SystemIcons.Legend6Nabla size={'20'}/>, disabled: false,},
|
|
28
|
+
{key: 'icon5', content: <SystemIcons.Legend7Pentagon size={'20'}/>, disabled: false,},
|
|
29
|
+
{key: 'icon6', content: <SystemIcons.Legend8Rectangle size={'20'}/>, disabled: true,}
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
it('should render a segment control with items', () => {
|
|
33
|
+
const wrapper = render(
|
|
34
|
+
<SegmentControl items={items}
|
|
35
|
+
selected={items[0].key}
|
|
36
|
+
onChange={jest.fn()}/>
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
expect(wrapper.container.querySelectorAll(`${SegmentControlWrapper}`)).toHaveLength(1);
|
|
40
|
+
expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)).toHaveLength(6);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('should render items with correct labels', () => {
|
|
44
|
+
const wrapper = render(
|
|
45
|
+
<SegmentControl items={items}
|
|
46
|
+
selected={items[0].key}
|
|
47
|
+
onChange={jest.fn()}/>
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
for (let item of items) {
|
|
51
|
+
expect(wrapper.getByText(item.content)).toBeTruthy();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
it('should render items with icons', () => {
|
|
56
|
+
const wrapper = render(
|
|
57
|
+
<SegmentControl items={icons}
|
|
58
|
+
selected={icons[0].key}
|
|
59
|
+
onChange={jest.fn()}/>
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
expect(wrapper.container.querySelectorAll(`${SegmentControlWrapper}`)).toHaveLength(1);
|
|
63
|
+
expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)).toHaveLength(6);
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it('should render correct item as selected', () => {
|
|
67
|
+
const wrapper = render(
|
|
68
|
+
<SegmentControl items={items}
|
|
69
|
+
selected={items[2].key}
|
|
70
|
+
onChange={jest.fn()}/>
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}.selected`)).toHaveLength(1);
|
|
74
|
+
expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)[2].classList).toContain('selected');
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
it('should render correct item as disabled', () => {
|
|
78
|
+
const wrapper = render(
|
|
79
|
+
<SegmentControl items={items}
|
|
80
|
+
selected={items[2].key}
|
|
81
|
+
onChange={jest.fn()}/>
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}.disabled`)).toHaveLength(1);
|
|
85
|
+
expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)[5].classList).toContain('disabled');
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it('should call on change function on item click', () => {
|
|
89
|
+
const onChange = jest.fn();
|
|
90
|
+
const wrapper = render(
|
|
91
|
+
<SegmentControl items={items}
|
|
92
|
+
selected={items[2].key}
|
|
93
|
+
onChange={onChange}/>
|
|
94
|
+
);
|
|
95
|
+
act(() => {
|
|
96
|
+
wrapper.getByText(items[0].content).dispatchEvent(new MouseEvent('click', {bubbles: true}));
|
|
97
|
+
})
|
|
98
|
+
expect(onChange).toHaveBeenCalledTimes(1);
|
|
99
|
+
expect(onChange).toHaveBeenCalledWith(items[0].key);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it('should call on change function on item key press', () => {
|
|
103
|
+
const onChange = jest.fn();
|
|
104
|
+
const wrapper = render(
|
|
105
|
+
<SegmentControl items={items}
|
|
106
|
+
selected={items[2].key}
|
|
107
|
+
onChange={onChange}/>
|
|
108
|
+
);
|
|
109
|
+
act(() => {
|
|
110
|
+
fireEvent.keyPress(wrapper.getByText(items[0].content), {key: 'Enter', keyCode: 13, which: 13});
|
|
111
|
+
})
|
|
112
|
+
|
|
113
|
+
expect(onChange).toHaveBeenCalledTimes(1);
|
|
114
|
+
expect(onChange).toHaveBeenCalledWith(items[0].key);
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
it('should not call on change function on disabled item click', () => {
|
|
118
|
+
const onChange = jest.fn();
|
|
119
|
+
const wrapper = render(
|
|
120
|
+
<SegmentControl items={items}
|
|
121
|
+
selected={items[2].key}
|
|
122
|
+
onChange={onChange}/>
|
|
123
|
+
);
|
|
124
|
+
act(() => {
|
|
125
|
+
wrapper.getByText(items[5].content).dispatchEvent(new MouseEvent('click', {bubbles: true}));
|
|
126
|
+
})
|
|
127
|
+
expect(onChange).toHaveBeenCalledTimes(0);
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
it('should not call on change function on disabled item key press', () => {
|
|
131
|
+
const onChange = jest.fn();
|
|
132
|
+
const wrapper = render(
|
|
133
|
+
<SegmentControl items={items}
|
|
134
|
+
selected={items[2].key}
|
|
135
|
+
onChange={onChange}/>
|
|
136
|
+
);
|
|
137
|
+
act(() => {
|
|
138
|
+
fireEvent.keyPress(wrapper.getByText(items[5].content), {key: 'Enter', keyCode: 13, which: 13});
|
|
139
|
+
})
|
|
140
|
+
|
|
141
|
+
expect(onChange).toHaveBeenCalledTimes(0);
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
});
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import {SideMenu} from '../index';
|
|
3
|
+
import {act, render} from '../../test-utils';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
describe('SideMenu', () => {
|
|
8
|
+
|
|
9
|
+
it('should render content', () => {
|
|
10
|
+
const wrapper = render(<SideMenu onClose={jest.fn()}>content</SideMenu>);
|
|
11
|
+
|
|
12
|
+
expect(wrapper.getByText('content')).toBeDefined();
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('should call onClose when close button is clicked', () => {
|
|
16
|
+
const onClose = jest.fn();
|
|
17
|
+
const wrapper = render(<SideMenu onClose={onClose}>content</SideMenu>);
|
|
18
|
+
|
|
19
|
+
act(() => {
|
|
20
|
+
wrapper.getByRole('button').click();
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
expect(onClose).toHaveBeenCalled();
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
it('should call onClose when close button is clicked', () => {
|
|
28
|
+
const onClose = jest.fn();
|
|
29
|
+
const wrapper = render(<SideMenu onClose={onClose}>content</SideMenu>);
|
|
30
|
+
|
|
31
|
+
act(() => {
|
|
32
|
+
wrapper.getByRole('button').click();
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
expect(onClose).toHaveBeenCalled();
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it('should render label', () => {
|
|
39
|
+
const onClose = jest.fn();
|
|
40
|
+
const wrapper = render(<SideMenu onClose={onClose} header={{label: 'label'}}>content</SideMenu>);
|
|
41
|
+
|
|
42
|
+
expect(wrapper.getByText('label')).toBeDefined();
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it('should render header icon buttons ', () => {
|
|
46
|
+
const onClose = jest.fn();
|
|
47
|
+
const wrapper = render(<SideMenu onClose={onClose} header={{
|
|
48
|
+
label: 'label', actions: [{
|
|
49
|
+
action: () => {
|
|
50
|
+
}, icon: <></>
|
|
51
|
+
}, {
|
|
52
|
+
action: () => {
|
|
53
|
+
}, icon: <></>
|
|
54
|
+
}]
|
|
55
|
+
}}>content</SideMenu>);
|
|
56
|
+
|
|
57
|
+
expect(wrapper.getAllByRole('button')).toHaveLength(3);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('should render footer note', () => {
|
|
61
|
+
const onClose = jest.fn();
|
|
62
|
+
const wrapper = render(<SideMenu onClose={onClose} footer={{note: 'note'}}>content</SideMenu>);
|
|
63
|
+
|
|
64
|
+
expect(wrapper.getByText('note')).toBeDefined();
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it('should render footer buttons', () => {
|
|
68
|
+
const onClose = jest.fn();
|
|
69
|
+
const wrapper = render(<SideMenu onClose={onClose} footer={{
|
|
70
|
+
buttons: [{
|
|
71
|
+
variant: 'primary', label: 'label', onClick: () => {
|
|
72
|
+
}
|
|
73
|
+
}]
|
|
74
|
+
}}>content</SideMenu>);
|
|
75
|
+
|
|
76
|
+
expect(wrapper.getAllByRole('button')).toHaveLength(2);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
it('should render footer menu items', () => {
|
|
80
|
+
const onClose = jest.fn();
|
|
81
|
+
const wrapper = render(<SideMenu onClose={onClose} footer={{
|
|
82
|
+
items: [{
|
|
83
|
+
id: '1',
|
|
84
|
+
active: false,
|
|
85
|
+
onClickHandler: () => {},
|
|
86
|
+
item: {displayLabel: 'label 1', value: '1'}
|
|
87
|
+
}, {
|
|
88
|
+
id: '2',
|
|
89
|
+
active: false,
|
|
90
|
+
onClickHandler: () => {},
|
|
91
|
+
item: {displayLabel: 'label 2', value: '2'}
|
|
92
|
+
}]
|
|
93
|
+
}}>content</SideMenu>);
|
|
94
|
+
|
|
95
|
+
expect(wrapper.getByText('label 1')).toBeDefined();
|
|
96
|
+
expect(wrapper.getByText('label 2')).toBeDefined();
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import { SwitcherMenuItem } from '../index';
|
|
4
|
+
import 'jest-styled-components';
|
|
5
|
+
import { COLORS } from '../../styles';
|
|
6
|
+
|
|
7
|
+
describe('<SwitcherMenuItem />', () => {
|
|
8
|
+
it('Renders SwitcherMenuItem', async () => {
|
|
9
|
+
const { queryByText, getByTestId } = render(<SwitcherMenuItem label="TestLabel" url="/test" testId="TestSwitcherMenuItem" />);
|
|
10
|
+
expect(queryByText('TestLabel')).toBeDefined();
|
|
11
|
+
|
|
12
|
+
const testMenuItem = getByTestId('TestSwitcherMenuItem');
|
|
13
|
+
});
|
|
14
|
+
});
|
package/dist/Table/Table.cjs
CHANGED
|
@@ -205,6 +205,9 @@ var Table = function Table(props) {
|
|
|
205
205
|
// Let's return filtered rows
|
|
206
206
|
return tmpFilteredRows;
|
|
207
207
|
};
|
|
208
|
+
React.useEffect(function () {
|
|
209
|
+
props.onSelectionChange && props.onSelectionChange(selected);
|
|
210
|
+
}, [selected]);
|
|
208
211
|
|
|
209
212
|
/**
|
|
210
213
|
* Takes care of local pagination.
|
|
@@ -332,7 +335,6 @@ var Table = function Table(props) {
|
|
|
332
335
|
}
|
|
333
336
|
}
|
|
334
337
|
setSelected(currentSelection);
|
|
335
|
-
props.onSelectionChange && props.onSelectionChange(currentSelection);
|
|
336
338
|
}
|
|
337
339
|
};
|
|
338
340
|
|
package/dist/Table/Table.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.cjs","names":["React","_interopRequireWildcard","require","_types","_TableStyles","_LoadingIndicator","_TableHeaders","_interopRequireDefault","_TableFooter","_TableBody","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","_n","F","s","done","value","f","TypeError","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","sortProps","accordion","_props$collapsed","collapsed","collapsedRows","rowsPerPageLabel","loaderZIndex","_React$useState","useState","_React$useState2","_slicedToArray2","rowsPerPage","setRowsPerPage","_React$useState3","_React$useState4","filteredRows","setFilteredRows","_React$useState5","_React$useState6","currentPageRows","setCurrentPageRows","_React$useState7","_React$useState8","currentPage","setCurrentPage","_React$useState9","_React$useState10","sort","setSort","_React$useState11","_React$useState12","setFrom","_React$useState13","_React$useState14","to","setTo","_React$useState15","_React$useState16","total","setTotal","_React$useState17","_React$useState18","isCollapsed","setIsCollapsed","_React$useState19","_React$useState20","selectAllState","setSelectAllState","_React$useState21","undefined","_React$useState22","selected","setSelected","useEffect","_sortProps$column","_sortProps$direction","column","direction","allowClearingSort","selectedRows","currentList","map","row","count","item","includes","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","_iterator","_step","filterValue","key","toLowerCase","indexOf","err","b","rowsFrom","rowsTo","sortTableColumn","columnKey","sortDirection","previousPage","nextPage","changeRowsPerPage","onRowClick","_window","_window$getSelection","selectedText","window","getSelection","currentSelection","existing","_toConsumableArray2","splice","concat","onSelectionChange","onSelectAllClick","jsxs","TableWrapper","className","border","children","jsx","sortByColumn","prevPage","StyledTableSpinner","zindex","LoadingIndicator","size","Size","Medium","_default","exports"],"sources":["../../src/Table/Table.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import custom components.\r\n */\r\nimport {Size} from '../types'\r\n\r\n/**\r\n * Import custom styles.\r\n */\r\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\r\n\r\n/**\r\n * Import custom types.\r\n */\r\nimport {TableProps, TableColumn, TableSortingDirection, TableSortProps} from './TableTypes';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport TableHeader from './TableHeaders';\r\nimport TableFooter from './TableFooter';\r\nimport TableBody from './TableBody';\r\n\r\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\r\n let {\r\n onPreviousPageClick,\r\n onNextPageClick,\r\n onRowsPerPageChange,\r\n onTriggerSortingChange,\r\n columns,\r\n rows,\r\n remoteOperations,\r\n pagination,\r\n showLoadingIndicator,\r\n selectable,\r\n multiSelect,\r\n keyExpr,\r\n sortProps,\r\n accordion,\r\n collapsed = true,\r\n\r\n collapsedRows,\r\n rowsPerPageLabel,\r\n loaderZIndex\r\n } = props;\r\n\r\n // States used within the component\r\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\r\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\r\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\r\n const [currentPage, setCurrentPage] = React.useState<number>(1);\r\n const [sort, setSort] = React.useState<TableSortProps | undefined>();\r\n const [from, setFrom] = React.useState<number>();\r\n const [to, setTo] = React.useState<number>();\r\n const [total, setTotal] = React.useState<number>();\r\n\r\n const [isCollapsed, setIsCollapsed] = React.useState(true);\r\n\r\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\r\n\r\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\r\n\r\n React.useEffect(() => {\r\n setSort({\r\n column: sortProps?.column ?? '', \r\n direction: sortProps?.direction ?? 'asc', \r\n allowClearingSort: sortProps?.allowClearingSort === undefined ? true : sortProps.allowClearingSort\r\n });\r\n }, [sortProps])\r\n\r\n React.useEffect(() => {\r\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\r\n }, [props.selectedRows, multiSelect])\r\n\r\n /**\r\n * update select all checkbox state\r\n */\r\n React.useEffect(() => {\r\n if (multiSelect) {\r\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\r\n const count = selected.filter((item: any) => currentList.includes(item)).length;\r\n\r\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\r\n }\r\n }, [currentPageRows, multiSelect, selected, keyExpr])\r\n\r\n /**\r\n * Takes care of remote pagination.\r\n * Works only in case remote pagination is set to true.\r\n */\r\n React.useEffect(() => {\r\n if (remoteOperations) {\r\n setCurrentPageRows(rows);\r\n\r\n // Let's assign pagination values\r\n setFrom(pagination?.from);\r\n setTo(pagination?.to);\r\n setTotal(pagination?.total);\r\n setCurrentPage(pagination?.currentPage!);\r\n setRowsPerPage(pagination?.rowsPerPage!);\r\n }\r\n }, [remoteOperations, pagination, rows]);\r\n\r\n /**\r\n * Sets number of rows to display when accordion.\r\n */\r\n React.useEffect(() => {\r\n if (!accordion) return;\r\n\r\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length);\r\n }, [rows, accordion, collapsedRows, isCollapsed])\r\n\r\n React.useEffect(() => {\r\n if (!accordion) return;\r\n\r\n setIsCollapsed(!!collapsed);\r\n }, [accordion, collapsed])\r\n\r\n /**\r\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\r\n * @returns Filtered and sorted rows.\r\n */\r\n const filterAndSortRows = (): any[] => {\r\n let tmpFilteredRows = rows.filter((row) => {\r\n // Let's start with matched filter criteria\r\n let matchFilterCriteria = true;\r\n\r\n // Let's go through columns\r\n for (const column of columns) {\r\n // Let's check if filter value is specified for the column\r\n // And if it doesn't match the current row column value\r\n // Then let's update match filter criteria to failed\r\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\r\n matchFilterCriteria = false;\r\n }\r\n }\r\n\r\n // Let's return row only in case match filter criteria succeeds\r\n if (matchFilterCriteria) {\r\n return row;\r\n }\r\n });\r\n\r\n // Let's apply sorting if needed\r\n if (!!sort?.column && !!sort?.direction) {\r\n // Let's sort the rows\r\n tmpFilteredRows.sort((a, b) => {\r\n if (a[sort.column!] > b[sort.column!]) {\r\n return sort.direction! === 'asc' ? 1 : -1;\r\n } else if (a[sort.column!] < b[sort.column!]) {\r\n return sort.direction! === 'asc' ? -1 : 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n // Let's return filtered rows\r\n return tmpFilteredRows;\r\n };\r\n\r\n /**\r\n * Takes care of local pagination.\r\n * Works only in case remote pagination is not defined or is set to false.\r\n */\r\n React.useEffect(() => {\r\n if (!remoteOperations) {\r\n // Let's retrieve temporary filtered rows and update globally filtered rows\r\n const tmpFilteredRows = filterAndSortRows();\r\n setFilteredRows(tmpFilteredRows);\r\n setTotal(tmpFilteredRows.length);\r\n\r\n // Assign rows from and rows to\r\n const rowsFrom = (currentPage - 1) * rowsPerPage;\r\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\r\n\r\n // Set from and to values\r\n setFrom(rowsFrom + 1);\r\n setTo(rowsTo);\r\n\r\n // Filter out the rows\r\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\r\n }\r\n }, [rowsPerPage, rows, currentPage, columns, sort, remoteOperations]);\r\n\r\n\r\n /**\r\n * Applies a specific sorting to a column.\r\n * If no sorting exists, then applies ascending initially\r\n * @param column - Column to which sorting should be applied.\r\n */\r\n const sortTableColumn = (column: TableColumn): void => {\r\n let columnKey = '';\r\n let sortDirection: TableSortingDirection | undefined = undefined;\r\n\r\n if (sort?.column !== column.key) {\r\n columnKey = column.key;\r\n sortDirection = 'asc';\r\n } else {\r\n if (sort?.direction === 'desc' && sort?.allowClearingSort) {\r\n columnKey = '';\r\n sortDirection = undefined;\r\n } else {\r\n columnKey = sort.column;\r\n sortDirection = sort.direction === 'asc' ? 'desc' : 'asc';\r\n }\r\n }\r\n\r\n if(columnKey == '')\r\n setSort({ column: '', direction: 'asc', allowClearingSort: sort?.allowClearingSort});\r\n else\r\n setSort({column: columnKey, direction: sortDirection!, allowClearingSort: sort?.allowClearingSort});\r\n\r\n remoteOperations && onTriggerSortingChange && onTriggerSortingChange(columnKey, sortDirection);\r\n };\r\n\r\n /**\r\n * Navigates user back to the previous page and updates the current table page.\r\n */\r\n const previousPage = () => {\r\n if (remoteOperations) {\r\n // Let's inform parent component about page change\r\n if (onPreviousPageClick) {\r\n onPreviousPageClick();\r\n }\r\n } else {\r\n // Let's change the page within the component\r\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\r\n }\r\n };\r\n\r\n /**\r\n * Navigates user to the next page and updates the current table page.\r\n */\r\n const nextPage = () => {\r\n if (remoteOperations) {\r\n // Let's inform parent component about page change\r\n if (onNextPageClick) {\r\n onNextPageClick();\r\n }\r\n } else {\r\n // Let's change the page within the component\r\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\r\n }\r\n };\r\n\r\n /**\r\n * Updates the rows per page value and refreshes the table content accordingly.\r\n * @param value - Newly selected rows per page value.\r\n */\r\n const changeRowsPerPage = (value: number) => {\r\n // Let's check if we are using remote pagination\r\n if (remoteOperations) {\r\n // Inform parent component about rows per page change\r\n if (onRowsPerPageChange) {\r\n onRowsPerPageChange(value);\r\n }\r\n } else {\r\n // Let's reset current page to 1\r\n setCurrentPage(1);\r\n }\r\n\r\n // Let's set rows per page\r\n setRowsPerPage(value);\r\n };\r\n\r\n\r\n /**\r\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\r\n * @param row - Row in which the link is located.\r\n */\r\n const onRowClick = (row: any): void => {\r\n const selectedText = window?.getSelection()?.toString();\r\n\r\n if (selectedText?.length === 0 && selectable) {\r\n const value = keyExpr ? row[keyExpr] : row;\r\n let currentSelection = value;\r\n if (!!multiSelect) {\r\n const existing = selected?.indexOf(value);\r\n if (existing > -1) {\r\n currentSelection = [...selected];\r\n currentSelection.splice(existing, 1);\r\n } else {\r\n currentSelection = [...selected, currentSelection];\r\n }\r\n }\r\n\r\n setSelected(currentSelection)\r\n props.onSelectionChange && props.onSelectionChange(currentSelection);\r\n }\r\n };\r\n\r\n /**\r\n * Function which is called when user clicks checkbox to select or deselect all rows.\r\n */\r\n const onSelectAllClick = () => {\r\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\r\n\r\n switch (selectAllState) {\r\n case 'all':\r\n setSelected([...selected].filter(item => !currentList.includes(item)));\r\n setSelectAllState('none');\r\n break;\r\n case 'none':\r\n setSelected([...selected, ...currentList]);\r\n setSelectAllState('all');\r\n break;\r\n case 'some':\r\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\r\n setSelectAllState('all');\r\n break;\r\n }\r\n };\r\n\r\n /**\r\n * Return Table component.\r\n */\r\n return (\r\n <TableWrapper className={props.border ? 'border' : undefined}>\r\n <TableHeader {...props}/>\r\n <TableBody {...props}\r\n currentPageRows={currentPageRows}\r\n selected={selected}\r\n onRowClick={onRowClick}\r\n sortByColumn={sortTableColumn}\r\n onSelectAllClick={onSelectAllClick}\r\n sortProps={sort}\r\n selectAllState={selectAllState}/>\r\n <TableFooter {...props}\r\n onRowsPerPageChange={changeRowsPerPage}\r\n rowsPerPage={rowsPerPage}\r\n setIsCollapsed={setIsCollapsed}\r\n isCollapsed={isCollapsed}\r\n from={from}\r\n to={to}\r\n total={total}\r\n nextPage={nextPage}\r\n prevPage={previousPage}/>\r\n {showLoadingIndicator && (\r\n <StyledTableSpinner zindex={loaderZIndex}>\r\n <LoadingIndicator size={Size.Medium}/>\r\n </StyledTableSpinner>\r\n )}\r\n </TableWrapper>\r\n );\r\n};\r\n\r\nexport default Table;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Table.cjs","names":["React","_interopRequireWildcard","require","_types","_TableStyles","_LoadingIndicator","_TableHeaders","_interopRequireDefault","_TableFooter","_TableBody","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","_n","F","s","done","value","f","TypeError","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","sortProps","accordion","_props$collapsed","collapsed","collapsedRows","rowsPerPageLabel","loaderZIndex","_React$useState","useState","_React$useState2","_slicedToArray2","rowsPerPage","setRowsPerPage","_React$useState3","_React$useState4","filteredRows","setFilteredRows","_React$useState5","_React$useState6","currentPageRows","setCurrentPageRows","_React$useState7","_React$useState8","currentPage","setCurrentPage","_React$useState9","_React$useState10","sort","setSort","_React$useState11","_React$useState12","setFrom","_React$useState13","_React$useState14","to","setTo","_React$useState15","_React$useState16","total","setTotal","_React$useState17","_React$useState18","isCollapsed","setIsCollapsed","_React$useState19","_React$useState20","selectAllState","setSelectAllState","_React$useState21","undefined","_React$useState22","selected","setSelected","useEffect","_sortProps$column","_sortProps$direction","column","direction","allowClearingSort","selectedRows","currentList","map","row","count","item","includes","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","_iterator","_step","filterValue","key","toLowerCase","indexOf","err","b","onSelectionChange","rowsFrom","rowsTo","sortTableColumn","columnKey","sortDirection","previousPage","nextPage","changeRowsPerPage","onRowClick","_window","_window$getSelection","selectedText","window","getSelection","currentSelection","existing","_toConsumableArray2","splice","concat","onSelectAllClick","jsxs","TableWrapper","className","border","children","jsx","sortByColumn","prevPage","StyledTableSpinner","zindex","LoadingIndicator","size","Size","Medium","_default","exports"],"sources":["../../src/Table/Table.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import custom components.\r\n */\r\nimport {Size} from '../types'\r\n\r\n/**\r\n * Import custom styles.\r\n */\r\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\r\n\r\n/**\r\n * Import custom types.\r\n */\r\nimport {TableProps, TableColumn, TableSortingDirection, TableSortProps} from './TableTypes';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport TableHeader from './TableHeaders';\r\nimport TableFooter from './TableFooter';\r\nimport TableBody from './TableBody';\r\n\r\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\r\n let {\r\n onPreviousPageClick,\r\n onNextPageClick,\r\n onRowsPerPageChange,\r\n onTriggerSortingChange,\r\n columns,\r\n rows,\r\n remoteOperations,\r\n pagination,\r\n showLoadingIndicator,\r\n selectable,\r\n multiSelect,\r\n keyExpr,\r\n sortProps,\r\n accordion,\r\n collapsed = true,\r\n\r\n collapsedRows,\r\n rowsPerPageLabel,\r\n loaderZIndex\r\n } = props;\r\n\r\n // States used within the component\r\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\r\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\r\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\r\n const [currentPage, setCurrentPage] = React.useState<number>(1);\r\n const [sort, setSort] = React.useState<TableSortProps | undefined>();\r\n const [from, setFrom] = React.useState<number>();\r\n const [to, setTo] = React.useState<number>();\r\n const [total, setTotal] = React.useState<number>();\r\n\r\n const [isCollapsed, setIsCollapsed] = React.useState(true);\r\n\r\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\r\n\r\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\r\n\r\n React.useEffect(() => {\r\n setSort({\r\n column: sortProps?.column ?? '', \r\n direction: sortProps?.direction ?? 'asc', \r\n allowClearingSort: sortProps?.allowClearingSort === undefined ? true : sortProps.allowClearingSort\r\n });\r\n }, [sortProps])\r\n\r\n React.useEffect(() => {\r\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\r\n }, [props.selectedRows, multiSelect])\r\n\r\n /**\r\n * update select all checkbox state\r\n */\r\n React.useEffect(() => {\r\n if (multiSelect) {\r\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\r\n const count = selected.filter((item: any) => currentList.includes(item)).length;\r\n\r\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\r\n }\r\n }, [currentPageRows, multiSelect, selected, keyExpr])\r\n\r\n /**\r\n * Takes care of remote pagination.\r\n * Works only in case remote pagination is set to true.\r\n */\r\n React.useEffect(() => {\r\n if (remoteOperations) {\r\n setCurrentPageRows(rows);\r\n\r\n // Let's assign pagination values\r\n setFrom(pagination?.from);\r\n setTo(pagination?.to);\r\n setTotal(pagination?.total);\r\n setCurrentPage(pagination?.currentPage!);\r\n setRowsPerPage(pagination?.rowsPerPage!);\r\n }\r\n }, [remoteOperations, pagination, rows]);\r\n\r\n /**\r\n * Sets number of rows to display when accordion.\r\n */\r\n React.useEffect(() => {\r\n if (!accordion) return;\r\n\r\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length);\r\n }, [rows, accordion, collapsedRows, isCollapsed])\r\n\r\n React.useEffect(() => {\r\n if (!accordion) return;\r\n\r\n setIsCollapsed(!!collapsed);\r\n }, [accordion, collapsed])\r\n\r\n /**\r\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\r\n * @returns Filtered and sorted rows.\r\n */\r\n const filterAndSortRows = (): any[] => {\r\n let tmpFilteredRows = rows.filter((row) => {\r\n // Let's start with matched filter criteria\r\n let matchFilterCriteria = true;\r\n\r\n // Let's go through columns\r\n for (const column of columns) {\r\n // Let's check if filter value is specified for the column\r\n // And if it doesn't match the current row column value\r\n // Then let's update match filter criteria to failed\r\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\r\n matchFilterCriteria = false;\r\n }\r\n }\r\n\r\n // Let's return row only in case match filter criteria succeeds\r\n if (matchFilterCriteria) {\r\n return row;\r\n }\r\n });\r\n\r\n // Let's apply sorting if needed\r\n if (!!sort?.column && !!sort?.direction) {\r\n // Let's sort the rows\r\n tmpFilteredRows.sort((a, b) => {\r\n if (a[sort.column!] > b[sort.column!]) {\r\n return sort.direction! === 'asc' ? 1 : -1;\r\n } else if (a[sort.column!] < b[sort.column!]) {\r\n return sort.direction! === 'asc' ? -1 : 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n // Let's return filtered rows\r\n return tmpFilteredRows;\r\n };\r\n\r\n React.useEffect(() => {\r\n props.onSelectionChange && props.onSelectionChange(selected);\r\n }, [selected]);\r\n\r\n /**\r\n * Takes care of local pagination.\r\n * Works only in case remote pagination is not defined or is set to false.\r\n */\r\n React.useEffect(() => {\r\n if (!remoteOperations) {\r\n // Let's retrieve temporary filtered rows and update globally filtered rows\r\n const tmpFilteredRows = filterAndSortRows();\r\n setFilteredRows(tmpFilteredRows);\r\n setTotal(tmpFilteredRows.length);\r\n\r\n // Assign rows from and rows to\r\n const rowsFrom = (currentPage - 1) * rowsPerPage;\r\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\r\n\r\n // Set from and to values\r\n setFrom(rowsFrom + 1);\r\n setTo(rowsTo);\r\n\r\n // Filter out the rows\r\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\r\n }\r\n }, [rowsPerPage, rows, currentPage, columns, sort, remoteOperations]);\r\n\r\n\r\n /**\r\n * Applies a specific sorting to a column.\r\n * If no sorting exists, then applies ascending initially\r\n * @param column - Column to which sorting should be applied.\r\n */\r\n const sortTableColumn = (column: TableColumn): void => {\r\n let columnKey = '';\r\n let sortDirection: TableSortingDirection | undefined = undefined;\r\n\r\n if (sort?.column !== column.key) {\r\n columnKey = column.key;\r\n sortDirection = 'asc';\r\n } else {\r\n if (sort?.direction === 'desc' && sort?.allowClearingSort) {\r\n columnKey = '';\r\n sortDirection = undefined;\r\n } else {\r\n columnKey = sort.column;\r\n sortDirection = sort.direction === 'asc' ? 'desc' : 'asc';\r\n }\r\n }\r\n\r\n if(columnKey == '')\r\n setSort({ column: '', direction: 'asc', allowClearingSort: sort?.allowClearingSort});\r\n else\r\n setSort({column: columnKey, direction: sortDirection!, allowClearingSort: sort?.allowClearingSort});\r\n\r\n remoteOperations && onTriggerSortingChange && onTriggerSortingChange(columnKey, sortDirection);\r\n };\r\n\r\n /**\r\n * Navigates user back to the previous page and updates the current table page.\r\n */\r\n const previousPage = () => {\r\n if (remoteOperations) {\r\n // Let's inform parent component about page change\r\n if (onPreviousPageClick) {\r\n onPreviousPageClick();\r\n }\r\n } else {\r\n // Let's change the page within the component\r\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\r\n }\r\n };\r\n\r\n /**\r\n * Navigates user to the next page and updates the current table page.\r\n */\r\n const nextPage = () => {\r\n if (remoteOperations) {\r\n // Let's inform parent component about page change\r\n if (onNextPageClick) {\r\n onNextPageClick();\r\n }\r\n } else {\r\n // Let's change the page within the component\r\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\r\n }\r\n };\r\n\r\n /**\r\n * Updates the rows per page value and refreshes the table content accordingly.\r\n * @param value - Newly selected rows per page value.\r\n */\r\n const changeRowsPerPage = (value: number) => {\r\n // Let's check if we are using remote pagination\r\n if (remoteOperations) {\r\n // Inform parent component about rows per page change\r\n if (onRowsPerPageChange) {\r\n onRowsPerPageChange(value);\r\n }\r\n } else {\r\n // Let's reset current page to 1\r\n setCurrentPage(1);\r\n }\r\n\r\n // Let's set rows per page\r\n setRowsPerPage(value);\r\n };\r\n\r\n\r\n /**\r\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\r\n * @param row - Row in which the link is located.\r\n */\r\n const onRowClick = (row: any): void => {\r\n const selectedText = window?.getSelection()?.toString();\r\n\r\n if (selectedText?.length === 0 && selectable) {\r\n const value = keyExpr ? row[keyExpr] : row;\r\n let currentSelection = value;\r\n if (!!multiSelect) {\r\n const existing = selected?.indexOf(value);\r\n if (existing > -1) {\r\n currentSelection = [...selected];\r\n currentSelection.splice(existing, 1);\r\n } else {\r\n currentSelection = [...selected, currentSelection];\r\n }\r\n }\r\n\r\n setSelected(currentSelection)\r\n }\r\n };\r\n\r\n /**\r\n * Function which is called when user clicks checkbox to select or deselect all rows.\r\n */\r\n const onSelectAllClick = () => {\r\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\r\n\r\n switch (selectAllState) {\r\n case 'all':\r\n setSelected([...selected].filter(item => !currentList.includes(item)));\r\n setSelectAllState('none');\r\n break;\r\n case 'none':\r\n setSelected([...selected, ...currentList]);\r\n setSelectAllState('all');\r\n break;\r\n case 'some':\r\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\r\n setSelectAllState('all');\r\n break;\r\n }\r\n };\r\n\r\n /**\r\n * Return Table component.\r\n */\r\n return (\r\n <TableWrapper className={props.border ? 'border' : undefined}>\r\n <TableHeader {...props}/>\r\n <TableBody {...props}\r\n currentPageRows={currentPageRows}\r\n selected={selected}\r\n onRowClick={onRowClick}\r\n sortByColumn={sortTableColumn}\r\n onSelectAllClick={onSelectAllClick}\r\n sortProps={sort}\r\n selectAllState={selectAllState}/>\r\n <TableFooter {...props}\r\n onRowsPerPageChange={changeRowsPerPage}\r\n rowsPerPage={rowsPerPage}\r\n setIsCollapsed={setIsCollapsed}\r\n isCollapsed={isCollapsed}\r\n from={from}\r\n to={to}\r\n total={total}\r\n nextPage={nextPage}\r\n prevPage={previousPage}/>\r\n {showLoadingIndicator && (\r\n <StyledTableSpinner zindex={loaderZIndex}>\r\n <LoadingIndicator size={Size.Medium}/>\r\n </StyledTableSpinner>\r\n )}\r\n </TableWrapper>\r\n );\r\n};\r\n\r\nexport default Table;\r\n"],"mappings":"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","ignoreList":[]}
|
package/dist/Table/Table.js
CHANGED
|
@@ -204,6 +204,9 @@ var Table = function Table(props) {
|
|
|
204
204
|
// Let's return filtered rows
|
|
205
205
|
return tmpFilteredRows;
|
|
206
206
|
};
|
|
207
|
+
React.useEffect(function () {
|
|
208
|
+
props.onSelectionChange && props.onSelectionChange(selected);
|
|
209
|
+
}, [selected]);
|
|
207
210
|
|
|
208
211
|
/**
|
|
209
212
|
* Takes care of local pagination.
|
|
@@ -331,7 +334,6 @@ var Table = function Table(props) {
|
|
|
331
334
|
}
|
|
332
335
|
}
|
|
333
336
|
setSelected(currentSelection);
|
|
334
|
-
props.onSelectionChange && props.onSelectionChange(currentSelection);
|
|
335
337
|
}
|
|
336
338
|
};
|
|
337
339
|
|