@laerdal/life-react-components 1.9.8-dev.17 → 1.9.8-dev.19
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/README.md +38 -38
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.d.ts +11 -11
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/AccordionMenu.cjs.map +1 -1
- package/dist/Accordion/AccordionMenu.d.ts +19 -19
- package/dist/Accordion/AccordionMenu.js.map +1 -1
- package/dist/Accordion/ContentAccordion.cjs.map +1 -1
- package/dist/Accordion/ContentAccordion.d.ts +27 -27
- package/dist/Accordion/ContentAccordion.js.map +1 -1
- package/dist/Accordion/index.cjs.map +1 -1
- package/dist/Accordion/index.d.ts +4 -4
- package/dist/Accordion/index.js.map +1 -1
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.d.ts +10 -10
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/AuthPage/AuthPage.cjs +4 -4
- package/dist/AuthPage/AuthPage.cjs.map +1 -1
- package/dist/AuthPage/AuthPage.d.ts +32 -32
- package/dist/AuthPage/AuthPage.js +4 -4
- package/dist/AuthPage/AuthPage.js.map +1 -1
- package/dist/AuthPage/Information.cjs.map +1 -1
- package/dist/AuthPage/Information.d.ts +7 -7
- package/dist/AuthPage/Information.js.map +1 -1
- package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -1
- package/dist/AuthPage/ScreenSetsContainer.d.ts +4 -4
- package/dist/AuthPage/ScreenSetsContainer.js.map +1 -1
- package/dist/AuthPage/_AuthPageSection.cjs.map +1 -1
- package/dist/AuthPage/_AuthPageSection.d.ts +2 -2
- package/dist/AuthPage/_AuthPageSection.js.map +1 -1
- package/dist/AuthPage/index.cjs.map +1 -1
- package/dist/AuthPage/index.d.ts +5 -5
- package/dist/AuthPage/index.js.map +1 -1
- package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -1
- package/dist/AuthPage/screenSetsErrorMessages.d.ts +5 -5
- package/dist/AuthPage/screenSetsErrorMessages.js.map +1 -1
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.d.ts +17 -17
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Banners/OverviewBanner.cjs.map +1 -1
- package/dist/Banners/OverviewBanner.d.ts +6 -6
- package/dist/Banners/OverviewBanner.js.map +1 -1
- package/dist/Banners/index.cjs.map +1 -1
- package/dist/Banners/index.d.ts +3 -3
- package/dist/Banners/index.js.map +1 -1
- package/dist/Banners/styles.cjs.map +1 -1
- package/dist/Banners/styles.d.ts +1 -1
- package/dist/Banners/styles.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.d.ts +12 -12
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Breadcrumb/BreadcrumbItem.d.ts +4 -4
- package/dist/Breadcrumb/index.cjs.map +1 -1
- package/dist/Breadcrumb/index.d.ts +1 -1
- package/dist/Breadcrumb/index.js.map +1 -1
- package/dist/Button/BackButton.cjs.map +1 -1
- package/dist/Button/BackButton.d.ts +8 -8
- package/dist/Button/BackButton.js.map +1 -1
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.d.ts +19 -19
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/DualFunctionButton.cjs.map +1 -1
- package/dist/Button/DualFunctionButton.d.ts +13 -13
- package/dist/Button/DualFunctionButton.js.map +1 -1
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.d.ts +44 -44
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Button/index.cjs.map +1 -1
- package/dist/Button/index.d.ts +4 -4
- package/dist/Button/index.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCard.d.ts +4 -4
- package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +2 -8
- package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardActions.d.ts +5 -5
- package/dist/Card/HorizontalCard/HorizontalCardActions.js +2 -2
- package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardBody.d.ts +5 -5
- package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.d.ts +5 -5
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
- package/dist/Card/HorizontalCard/index.cjs.map +1 -1
- package/dist/Card/HorizontalCard/index.d.ts +2 -2
- package/dist/Card/HorizontalCard/index.js.map +1 -1
- package/dist/Card/HorizontalCard/types.d.ts +40 -40
- package/dist/Card/VerticalCard/Card.cjs.map +1 -1
- package/dist/Card/VerticalCard/Card.d.ts +16 -16
- package/dist/Card/VerticalCard/Card.js.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.d.ts +31 -31
- package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.d.ts +27 -27
- package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.d.ts +27 -27
- package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
- package/dist/Card/VerticalCard/index.cjs.map +1 -1
- package/dist/Card/VerticalCard/index.d.ts +7 -7
- package/dist/Card/VerticalCard/index.js.map +1 -1
- package/dist/Card/index.cjs.map +1 -1
- package/dist/Card/index.d.ts +2 -2
- package/dist/Card/index.js.map +1 -1
- package/dist/Chips/ActionChip.cjs +8 -8
- package/dist/Chips/ActionChip.cjs.map +1 -1
- package/dist/Chips/ActionChip.d.ts +10 -10
- package/dist/Chips/ActionChip.js +10 -10
- package/dist/Chips/ActionChip.js.map +1 -1
- package/dist/Chips/ChipStyles.cjs.map +1 -1
- package/dist/Chips/ChipStyles.d.ts +3 -3
- package/dist/Chips/ChipStyles.js +4 -4
- package/dist/Chips/ChipStyles.js.map +1 -1
- package/dist/Chips/ChipTypes.d.ts +38 -38
- package/dist/Chips/ChoiceChips.cjs +13 -13
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.d.ts +10 -10
- package/dist/Chips/ChoiceChips.js +15 -15
- package/dist/Chips/ChoiceChips.js.map +1 -1
- package/dist/Chips/FilterChip.cjs +8 -8
- package/dist/Chips/FilterChip.cjs.map +1 -1
- package/dist/Chips/FilterChip.d.ts +10 -10
- package/dist/Chips/FilterChip.js +10 -10
- package/dist/Chips/FilterChip.js.map +1 -1
- package/dist/Chips/InputChip.cjs +11 -11
- package/dist/Chips/InputChip.cjs.map +1 -1
- package/dist/Chips/InputChip.d.ts +10 -10
- package/dist/Chips/InputChip.js +13 -13
- package/dist/Chips/InputChip.js.map +1 -1
- package/dist/Chips/index.cjs.map +1 -1
- package/dist/Chips/index.d.ts +5 -5
- package/dist/Chips/index.js.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs +20 -20
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.d.ts +21 -21
- package/dist/ChipsInput/ChipDropdownInput.js +26 -26
- package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
- package/dist/ChipsInput/ChipInput.cjs +16 -16
- package/dist/ChipsInput/ChipInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipInput.d.ts +7 -7
- package/dist/ChipsInput/ChipInput.js +16 -16
- package/dist/ChipsInput/ChipInput.js.map +1 -1
- package/dist/ChipsInput/ChipInputField.cjs +4 -4
- package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
- package/dist/ChipsInput/ChipInputField.d.ts +25 -25
- package/dist/ChipsInput/ChipInputField.js +4 -4
- package/dist/ChipsInput/ChipInputField.js.map +1 -1
- package/dist/ChipsInput/ChipInputTypes.d.ts +22 -22
- package/dist/ChipsInput/index.cjs.map +1 -1
- package/dist/ChipsInput/index.d.ts +1 -1
- package/dist/ChipsInput/index.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +66 -55
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.d.ts +42 -35
- package/dist/Dropdown/BasicDropdown.js +66 -56
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.d.ts +22 -22
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +3 -3
- package/dist/Dropdown/DropdownButton.cjs.map +1 -1
- package/dist/Dropdown/DropdownButton.d.ts +10 -10
- package/dist/Dropdown/DropdownButton.js +9 -9
- package/dist/Dropdown/DropdownButton.js.map +1 -1
- package/dist/Dropdown/DropdownButtonTypes.d.ts +33 -33
- package/dist/Dropdown/DropdownContent.cjs +6 -6
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.d.ts +56 -56
- package/dist/Dropdown/DropdownContent.js +6 -6
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.d.ts +24 -24
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Dropdown/index.cjs.map +1 -1
- package/dist/Dropdown/index.d.ts +6 -6
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -1
- package/dist/Footer/Components/FooterBottomLinks.d.ts +11 -11
- package/dist/Footer/Components/FooterBottomLinks.js.map +1 -1
- package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
- package/dist/Footer/Components/FooterDropdownLinks.d.ts +7 -7
- package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
- package/dist/Footer/Components/FooterNavSection.cjs +0 -1
- package/dist/Footer/Components/FooterNavSection.cjs.map +1 -1
- package/dist/Footer/Components/FooterNavSection.d.ts +7 -7
- package/dist/Footer/Components/FooterNavSection.js +0 -1
- package/dist/Footer/Components/FooterNavSection.js.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +0 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +7 -7
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +0 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
- package/dist/Footer/Components/FooterTop.cjs +0 -1
- package/dist/Footer/Components/FooterTop.cjs.map +1 -1
- package/dist/Footer/Components/FooterTop.d.ts +7 -7
- package/dist/Footer/Components/FooterTop.js +0 -1
- package/dist/Footer/Components/FooterTop.js.map +1 -1
- package/dist/Footer/Footer.cjs +1 -3
- package/dist/Footer/Footer.cjs.map +1 -1
- package/dist/Footer/Footer.d.ts +2 -2
- package/dist/Footer/Footer.js +1 -3
- package/dist/Footer/Footer.js.map +1 -1
- package/dist/Footer/SiteFooter.cjs +0 -1
- package/dist/Footer/SiteFooter.cjs.map +1 -1
- package/dist/Footer/SiteFooter.d.ts +20 -20
- package/dist/Footer/SiteFooter.js +8 -9
- package/dist/Footer/SiteFooter.js.map +1 -1
- package/dist/Footer/index.cjs.map +1 -1
- package/dist/Footer/index.d.ts +2 -2
- package/dist/Footer/index.js.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +4 -4
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +23 -23
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js +4 -4
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
- package/dist/GlobalNavigationBar/Logo.d.ts +14 -14
- package/dist/GlobalNavigationBar/Logo.js.map +1 -1
- package/dist/GlobalNavigationBar/NavigationHelper.cjs.map +1 -1
- package/dist/GlobalNavigationBar/NavigationHelper.d.ts +4 -4
- package/dist/GlobalNavigationBar/NavigationHelper.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +2 -8
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.d.ts +15 -15
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -2
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +7 -7
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +8 -8
- package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/RightSideNav.d.ts +8 -8
- package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +7 -7
- package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/index.cjs.map +1 -1
- package/dist/GlobalNavigationBar/index.d.ts +3 -3
- package/dist/GlobalNavigationBar/index.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +13 -13
- package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +8 -8
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.d.ts +11 -11
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.d.ts +12 -12
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
- package/dist/GlobalNavigationBar/types.d.ts +120 -120
- package/dist/HyperLink/HyperLink.cjs.map +1 -1
- package/dist/HyperLink/HyperLink.d.ts +16 -16
- package/dist/HyperLink/HyperLink.js.map +1 -1
- package/dist/HyperLink/index.cjs.map +1 -1
- package/dist/HyperLink/index.d.ts +3 -3
- package/dist/HyperLink/index.js.map +1 -1
- package/dist/HyperLink/styling.cjs.map +1 -1
- package/dist/HyperLink/styling.d.ts +2 -2
- package/dist/HyperLink/styling.js.map +1 -1
- package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
- package/dist/Image/ImageWithFallbacks.d.ts +21 -21
- package/dist/Image/ImageWithFallbacks.js.map +1 -1
- package/dist/Image/index.cjs.map +1 -1
- package/dist/Image/index.d.ts +2 -2
- package/dist/Image/index.js.map +1 -1
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.d.ts +25 -25
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +48 -42
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.d.ts +20 -23
- package/dist/InputFields/DatepickerField.js +45 -32
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.d.ts +18 -18
- package/dist/InputFields/DatepickerFieldHeader.js +2 -2
- package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
- package/dist/InputFields/Label.cjs +5 -5
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.d.ts +13 -13
- package/dist/InputFields/Label.js +11 -11
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +63 -52
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.d.ts +19 -24
- package/dist/InputFields/NumberField.js +60 -53
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.d.ts +17 -17
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.d.ts +18 -18
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/RadioButton.cjs +1 -1
- package/dist/InputFields/RadioButton.cjs.map +1 -1
- package/dist/InputFields/RadioButton.d.ts +18 -18
- package/dist/InputFields/RadioButton.js +1 -1
- package/dist/InputFields/RadioButton.js.map +1 -1
- package/dist/InputFields/ResponsiveComponentWrapper.cjs +4 -4
- package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -1
- package/dist/InputFields/ResponsiveComponentWrapper.d.ts +11 -11
- package/dist/InputFields/ResponsiveComponentWrapper.js +4 -4
- package/dist/InputFields/ResponsiveComponentWrapper.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.d.ts +18 -18
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.d.ts +23 -23
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.d.ts +7 -7
- package/dist/InputFields/Textarea.js +8 -8
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
- package/dist/InputFields/components/SearchBarInput.d.ts +19 -19
- package/dist/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/InputFields/components/SearchField.cjs.map +1 -1
- package/dist/InputFields/components/SearchField.d.ts +15 -15
- package/dist/InputFields/components/SearchField.js.map +1 -1
- package/dist/InputFields/index.cjs.map +1 -1
- package/dist/InputFields/index.d.ts +11 -11
- package/dist/InputFields/index.js.map +1 -1
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.d.ts +24 -24
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/InputFields/types.d.ts +38 -38
- package/dist/Layouts/index.cjs.map +1 -1
- package/dist/Layouts/index.d.ts +10 -10
- package/dist/Layouts/index.js.map +1 -1
- package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
- package/dist/LinearProgress/LinearProgress.d.ts +25 -25
- package/dist/LinearProgress/LinearProgress.js.map +1 -1
- package/dist/LinearProgress/index.cjs.map +1 -1
- package/dist/LinearProgress/index.d.ts +3 -3
- package/dist/LinearProgress/index.js.map +1 -1
- package/dist/List/ListRow.cjs.map +1 -1
- package/dist/List/ListRow.d.ts +20 -20
- package/dist/List/ListRow.js.map +1 -1
- package/dist/List/__tests__/ListRow.tests.d.ts +1 -1
- package/dist/List/index.cjs.map +1 -1
- package/dist/List/index.d.ts +2 -2
- package/dist/List/index.js.map +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.d.ts +8 -8
- package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
- package/dist/LoadingIndicator/index.cjs.map +1 -1
- package/dist/LoadingIndicator/index.d.ts +1 -1
- package/dist/LoadingIndicator/index.js.map +1 -1
- package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
- package/dist/LoadingPage/GlobalLoadingPage.d.ts +7 -7
- package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
- package/dist/LoadingPage/index.cjs.map +1 -1
- package/dist/LoadingPage/index.d.ts +1 -1
- package/dist/LoadingPage/index.js.map +1 -1
- package/dist/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/MenuItem/MenuItem.d.ts +25 -25
- package/dist/MenuItem/MenuItem.js.map +1 -1
- package/dist/MenuItem/index.d.ts +1 -1
- package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
- package/dist/MiniProductCard/MiniProductCard.d.ts +7 -7
- package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
- package/dist/MiniProductCard/index.cjs.map +1 -1
- package/dist/MiniProductCard/index.d.ts +1 -1
- package/dist/MiniProductCard/index.js.map +1 -1
- package/dist/Modals/Modal.cjs +2 -2
- package/dist/Modals/Modal.cjs.map +1 -1
- package/dist/Modals/Modal.d.ts +14 -14
- package/dist/Modals/Modal.js +2 -2
- package/dist/Modals/Modal.js.map +1 -1
- package/dist/Modals/ModalContainer.cjs.map +1 -1
- package/dist/Modals/ModalContainer.d.ts +32 -32
- package/dist/Modals/ModalContainer.js.map +1 -1
- package/dist/Modals/ModalContent.cjs.map +1 -1
- package/dist/Modals/ModalContent.d.ts +17 -17
- package/dist/Modals/ModalContent.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs.map +1 -1
- package/dist/Modals/ModalDialog.d.ts +28 -28
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/Modals/ModalNote.cjs.map +1 -1
- package/dist/Modals/ModalNote.d.ts +9 -9
- package/dist/Modals/ModalNote.js.map +1 -1
- package/dist/Modals/ModalStyles.cjs +2 -2
- package/dist/Modals/ModalStyles.cjs.map +1 -1
- package/dist/Modals/ModalStyles.d.ts +53 -53
- package/dist/Modals/ModalStyles.js +2 -2
- package/dist/Modals/ModalStyles.js.map +1 -1
- package/dist/Modals/ModalTypes.d.ts +23 -23
- package/dist/Modals/index.cjs.map +1 -1
- package/dist/Modals/index.d.ts +7 -7
- package/dist/Modals/index.js.map +1 -1
- package/dist/NavItem/NavItem.cjs.map +1 -1
- package/dist/NavItem/NavItem.d.ts +2 -2
- package/dist/NavItem/NavItem.js.map +1 -1
- package/dist/NavItem/index.cjs.map +1 -1
- package/dist/NavItem/index.d.ts +1 -1
- package/dist/NavItem/index.js.map +1 -1
- package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
- package/dist/NotificationDot/NotificationDot.d.ts +9 -9
- package/dist/NotificationDot/NotificationDot.js.map +1 -1
- package/dist/NotificationDot/index.d.ts +1 -1
- package/dist/Paginator/Paginator.cjs.map +1 -1
- package/dist/Paginator/Paginator.d.ts +8 -8
- package/dist/Paginator/Paginator.js.map +1 -1
- package/dist/Paginator/index.cjs.map +1 -1
- package/dist/Paginator/index.d.ts +2 -2
- package/dist/Paginator/index.js.map +1 -1
- package/dist/Popover/Popover.cjs.map +1 -1
- package/dist/Popover/Popover.d.ts +27 -27
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/Popover/index.d.ts +1 -1
- package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
- package/dist/ProfileButton/ProfileButton.d.ts +14 -14
- package/dist/ProfileButton/ProfileButton.js.map +1 -1
- package/dist/ProfileButton/index.d.ts +1 -1
- package/dist/QuizButton/QuizButton.cjs.map +1 -1
- package/dist/QuizButton/QuizButton.d.ts +15 -15
- package/dist/QuizButton/QuizButton.js.map +1 -1
- package/dist/QuizButton/index.d.ts +1 -1
- package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
- package/dist/SegmentControl/SegmentControl.d.ts +19 -19
- package/dist/SegmentControl/SegmentControl.js.map +1 -1
- package/dist/SegmentControl/index.cjs.map +1 -1
- package/dist/SegmentControl/index.d.ts +3 -3
- package/dist/SegmentControl/index.js.map +1 -1
- package/dist/Services/functions.cjs.map +1 -1
- package/dist/Services/functions.d.ts +1 -1
- package/dist/Services/functions.js.map +1 -1
- package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
- package/dist/SkipToContent/SkipToContent.d.ts +4 -4
- package/dist/SkipToContent/SkipToContent.js.map +1 -1
- package/dist/SkipToContent/index.cjs.map +1 -1
- package/dist/SkipToContent/index.d.ts +1 -1
- package/dist/SkipToContent/index.js.map +1 -1
- package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
- package/dist/Switcher/MobileSwitcherMenu.d.ts +10 -10
- package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.d.ts +3 -3
- package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
- package/dist/Switcher/__tests__/SwitcherMenuItem.d.ts +1 -1
- package/dist/Switcher/index.cjs.map +1 -1
- package/dist/Switcher/index.d.ts +3 -3
- package/dist/Switcher/index.js.map +1 -1
- package/dist/Table/Table.cjs +31 -31
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Table/Table.d.ts +10 -10
- package/dist/Table/Table.js +39 -39
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.d.ts +9 -9
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableFooter.cjs.map +1 -1
- package/dist/Table/TableFooter.d.ts +15 -15
- package/dist/Table/TableFooter.js.map +1 -1
- package/dist/Table/TableHeaders.cjs.map +1 -1
- package/dist/Table/TableHeaders.d.ts +9 -9
- package/dist/Table/TableHeaders.js.map +1 -1
- package/dist/Table/TableStyles.cjs +2 -2
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.d.ts +23 -23
- package/dist/Table/TableStyles.js +6 -6
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Table/TableTypes.d.ts +56 -56
- package/dist/Table/index.cjs.map +1 -1
- package/dist/Table/index.d.ts +2 -2
- package/dist/Table/index.js.map +1 -1
- package/dist/Tabs/HorizontalTabs.cjs +3 -3
- package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
- package/dist/Tabs/HorizontalTabs.d.ts +16 -16
- package/dist/Tabs/HorizontalTabs.js +9 -9
- package/dist/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/Tabs/TabLink.cjs.map +1 -1
- package/dist/Tabs/TabLink.d.ts +16 -16
- package/dist/Tabs/TabLink.js.map +1 -1
- package/dist/Tabs/Tabs.cjs.map +1 -1
- package/dist/Tabs/Tabs.d.ts +8 -8
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tabs/VerticalTabs.cjs.map +1 -1
- package/dist/Tabs/VerticalTabs.d.ts +20 -20
- package/dist/Tabs/VerticalTabs.js.map +1 -1
- package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -1
- package/dist/Tabs/index.cjs.map +1 -1
- package/dist/Tabs/index.d.ts +5 -5
- package/dist/Tabs/index.js.map +1 -1
- package/dist/Tag/Tag.cjs.map +1 -1
- package/dist/Tag/Tag.d.ts +9 -9
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tag/index.cjs.map +1 -1
- package/dist/Tag/index.d.ts +2 -2
- package/dist/Tag/index.js.map +1 -1
- package/dist/Tile/Tile.cjs.map +1 -1
- package/dist/Tile/Tile.d.ts +4 -4
- package/dist/Tile/Tile.js.map +1 -1
- package/dist/Tile/TileBody.cjs.map +1 -1
- package/dist/Tile/TileBody.d.ts +6 -6
- package/dist/Tile/TileBody.js.map +1 -1
- package/dist/Tile/TileCommonItems.cjs.map +1 -1
- package/dist/Tile/TileCommonItems.d.ts +9 -9
- package/dist/Tile/TileCommonItems.js.map +1 -1
- package/dist/Tile/TileFooter.cjs.map +1 -1
- package/dist/Tile/TileFooter.d.ts +7 -7
- package/dist/Tile/TileFooter.js.map +1 -1
- package/dist/Tile/TileHeader.cjs.map +1 -1
- package/dist/Tile/TileHeader.d.ts +7 -7
- package/dist/Tile/TileHeader.js.map +1 -1
- package/dist/Tile/TileTypes.d.ts +57 -57
- package/dist/Tile/index.cjs.map +1 -1
- package/dist/Tile/index.d.ts +3 -3
- package/dist/Tile/index.js.map +1 -1
- package/dist/Toasters/Toast.cjs.map +1 -1
- package/dist/Toasters/Toast.d.ts +24 -24
- package/dist/Toasters/Toast.js.map +1 -1
- package/dist/Toasters/ToastContext.cjs.map +1 -1
- package/dist/Toasters/ToastContext.d.ts +18 -18
- package/dist/Toasters/ToastContext.js.map +1 -1
- package/dist/Toasters/index.cjs.map +1 -1
- package/dist/Toasters/index.d.ts +3 -3
- package/dist/Toasters/index.js.map +1 -1
- package/dist/Toggles/ToggleButton.cjs.map +1 -1
- package/dist/Toggles/ToggleButton.d.ts +14 -14
- package/dist/Toggles/ToggleButton.js.map +1 -1
- package/dist/Toggles/ToggleSwitch.cjs +26 -19
- package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
- package/dist/Toggles/ToggleSwitch.d.ts +10 -6
- package/dist/Toggles/ToggleSwitch.js +29 -20
- package/dist/Toggles/ToggleSwitch.js.map +1 -1
- package/dist/Toggles/TogglerStyles.cjs.map +1 -1
- package/dist/Toggles/TogglerStyles.d.ts +5 -5
- package/dist/Toggles/TogglerStyles.js +4 -4
- package/dist/Toggles/TogglerStyles.js.map +1 -1
- package/dist/Toggles/TogglerTypes.d.ts +13 -13
- package/dist/Toggles/index.cjs.map +1 -1
- package/dist/Toggles/index.d.ts +3 -3
- package/dist/Toggles/index.js.map +1 -1
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
- package/dist/Tooltips/TooltipStyles.d.ts +12 -12
- package/dist/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/Tooltips/TooltipTypes.cjs +2 -2
- package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
- package/dist/Tooltips/TooltipTypes.d.ts +16 -16
- package/dist/Tooltips/TooltipTypes.js +2 -2
- package/dist/Tooltips/TooltipTypes.js.map +1 -1
- package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
- package/dist/Tooltips/TooltipWrapper.d.ts +3 -3
- package/dist/Tooltips/TooltipWrapper.js.map +1 -1
- package/dist/Tooltips/index.cjs.map +1 -1
- package/dist/Tooltips/index.d.ts +3 -3
- package/dist/Tooltips/index.js.map +1 -1
- package/dist/assets/index.cjs.map +1 -1
- package/dist/assets/index.d.ts +12 -12
- package/dist/assets/index.js.map +1 -1
- package/dist/common/ActionWithin.cjs.map +1 -1
- package/dist/common/ActionWithin.d.ts +2 -2
- package/dist/common/ActionWithin.js.map +1 -1
- package/dist/common/ClickOutside.cjs.map +1 -1
- package/dist/common/ClickOutside.d.ts +1 -1
- package/dist/common/ClickOutside.js.map +1 -1
- package/dist/common/EventHandlers.cjs.map +1 -1
- package/dist/common/EventHandlers.d.ts +1 -1
- package/dist/common/EventHandlers.js.map +1 -1
- package/dist/common/FocusOutside.cjs.map +1 -1
- package/dist/common/FocusOutside.d.ts +1 -1
- package/dist/common/FocusOutside.js.map +1 -1
- package/dist/common/FocusVisible.cjs.map +1 -1
- package/dist/common/FocusVisible.d.ts +2 -2
- package/dist/common/FocusVisible.js.map +1 -1
- package/dist/common/InputStyling.cjs.map +1 -1
- package/dist/common/InputStyling.d.ts +1 -1
- package/dist/common/InputStyling.js.map +1 -1
- package/dist/common/StackState.cjs.map +1 -1
- package/dist/common/StackState.d.ts +7 -7
- package/dist/common/StackState.js.map +1 -1
- package/dist/common/index.cjs.map +1 -1
- package/dist/common/index.d.ts +6 -6
- package/dist/common/index.js.map +1 -1
- package/dist/custom.d.ts +4 -4
- package/dist/declarations.d.ts +1 -1
- package/dist/hooks/useClickOutside.cjs +2 -2
- package/dist/hooks/useClickOutside.cjs.map +1 -1
- package/dist/hooks/useClickOutside.d.ts +5 -5
- package/dist/hooks/useClickOutside.js +2 -2
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
- package/dist/icons/contenticons/ContentIcons.d.ts +170 -170
- package/dist/icons/contenticons/ContentIcons.js.map +1 -1
- package/dist/icons/index.cjs +4 -4
- package/dist/icons/index.cjs.map +1 -1
- package/dist/icons/index.d.ts +25 -25
- package/dist/icons/index.js +4 -4
- package/dist/icons/index.js.map +1 -1
- package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
- package/dist/icons/systemicons/SystemIcons.d.ts +183 -183
- package/dist/icons/systemicons/SystemIcons.js.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +43 -43
- package/dist/index.js.map +1 -1
- package/dist/styles/breakpoints.cjs.map +1 -1
- package/dist/styles/breakpoints.d.ts +8 -8
- package/dist/styles/breakpoints.js.map +1 -1
- package/dist/styles/colors.cjs.map +1 -1
- package/dist/styles/colors.d.ts +83 -83
- package/dist/styles/colors.js.map +1 -1
- package/dist/styles/focus-styles.cjs.map +1 -1
- package/dist/styles/focus-styles.d.ts +2 -2
- package/dist/styles/focus-styles.js.map +1 -1
- package/dist/styles/global.cjs.map +1 -1
- package/dist/styles/global.d.ts +2 -2
- package/dist/styles/global.js.map +1 -1
- package/dist/styles/index.cjs.map +1 -1
- package/dist/styles/index.d.ts +23 -23
- package/dist/styles/index.js.map +1 -1
- package/dist/styles/shadowstyles.cjs.map +1 -1
- package/dist/styles/shadowstyles.d.ts +7 -7
- package/dist/styles/shadowstyles.js.map +1 -1
- package/dist/styles/typography.cjs.map +1 -1
- package/dist/styles/typography.d.ts +89 -89
- package/dist/styles/typography.js.map +1 -1
- package/dist/styles/z-indexes.cjs.map +1 -1
- package/dist/styles/z-indexes.d.ts +15 -15
- package/dist/styles/z-indexes.js.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.ts +70 -70
- package/dist/types.js.map +1 -1
- package/package.json +107 -107
package/dist/Table/Table.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Table/Table.tsx"],"names":["Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","React","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sortedColumn","setSortedColumn","sortedDirection","setSortedDirection","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","Size","Medium"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types'\n\n/**\n * Import custom styles.\n */\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\n\n/**\n * Import custom types.\n */\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport TableHeader from './TableHeaders';\nimport TableFooter from './TableFooter';\nimport TableBody from './TableBody';\n\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\n let {\n onPreviousPageClick,\n onNextPageClick,\n onRowsPerPageChange,\n onTriggerSortingChange,\n columns,\n rows,\n remoteOperations,\n pagination,\n showLoadingIndicator,\n selectable,\n multiSelect,\n keyExpr,\n accordion,\n collapsed = true,\n collapsedRows\n } = props;\n\n // States used within the component\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\n const [currentPage, setCurrentPage] = React.useState<number>(1);\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\n const [from, setFrom] = React.useState<number>();\n const [to, setTo] = React.useState<number>();\n const [total, setTotal] = React.useState<number>();\n\n const [isCollapsed, setIsCollapsed] = React.useState(true);\n\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\n\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\n\n React.useEffect(() => {\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\n }, [props.selectedRows, multiSelect])\n\n /**\n * update select all checkbox state\n */\n React.useEffect(() => {\n if (multiSelect) {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n const count = selected.filter((item: any) => currentList.includes(item)).length;\n\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\n }\n }, [currentPageRows, multiSelect, selected, keyExpr])\n\n /**\n * Takes care of remote pagination.\n * Works only in case remote pagination is set to true.\n */\n React.useEffect(() => {\n if (remoteOperations) {\n setCurrentPageRows(rows);\n\n // Let's assign pagination values\n setFrom(pagination?.from);\n setTo(pagination?.to);\n setTotal(pagination?.total);\n setCurrentPage(pagination?.currentPage!);\n setRowsPerPage(pagination?.rowsPerPage!);\n }\n }, [remoteOperations, pagination, rows]);\n\n /**\n * Sets number of rows to display when accordion.\n */\n React.useEffect(() => {\n if (!accordion) return;\n\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length );\n }, [rows, accordion, collapsedRows, isCollapsed])\n\n React.useEffect(() => {\n if (!accordion) return;\n\n setIsCollapsed(!!collapsed);\n }, [ accordion, collapsed])\n\n /**\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\n * @returns Filtered and sorted rows.\n */\n const filterAndSortRows = (): any[] => {\n let tmpFilteredRows = rows.filter((row) => {\n // Let's start with matched filter criteria\n let matchFilterCriteria = true;\n\n // Let's go through columns\n for (const column of columns) {\n // Let's check if filter value is specified for the column\n // And if it doesn't match the current row column value\n // Then let's update match filter criteria to failed\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\n matchFilterCriteria = false;\n }\n }\n\n // Let's return row only in case match filter criteria succeeds\n if (matchFilterCriteria) {\n return row;\n }\n });\n\n // Let's apply sorting if needed\n if (columns.some((column) => column.sortingDirection)) {\n // Let's find the sorting column\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\n\n // Update sorted column data\n setSortedDirection(sortingColumn.sortingDirection!);\n setSortedColumn(sortingColumn.key!);\n\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\n } else {\n return 0;\n }\n });\n }\n\n // Let's return filtered rows\n return tmpFilteredRows;\n };\n\n /**\n * Takes care of local pagination.\n * Works only in case remote pagination is not defined or is set to false.\n */\n React.useEffect(() => {\n if (!remoteOperations) {\n // Let's retrieve temporary filtered rows and update globally filtered rows\n const tmpFilteredRows = filterAndSortRows();\n setFilteredRows(tmpFilteredRows);\n setTotal(tmpFilteredRows.length);\n \n // Assign rows from and rows to\n const rowsFrom = (currentPage - 1) * rowsPerPage;\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\n \n // Set from and to values\n setFrom(rowsFrom + 1);\n setTo(rowsTo);\n \n // Filter out the rows\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\n }\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\n \n\n /**\n * Applies a specific sorting to a column.\n * If no sorting exists, then applies ascending initially\n * @param column - Column to which sorting should be applied.\n */\n const sortTableColumn = (column: TableColumn): void => {\n // Let's remove any active sorting\n columns = columns.map((tmpColumn: TableColumn) => {\n // Let's apply new sorting\n // Let's check if it is the column for which we have to apply sorting\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\n // Let's check if sorting is not defined\n // If so, let's toggle the sorting direction\n if (tmpColumn.sortingDirection !== undefined) {\n if (tmpColumn.sortingDirection === 'asc') {\n tmpColumn.sortingDirection = 'desc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('desc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'desc');\n }\n } else {\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else {\n // Let's apply the initial sorting\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else if (tmpColumn.sortingDirection !== undefined) {\n // Let's remove sorting\n tmpColumn.sortingDirection = undefined;\n }\n\n return tmpColumn;\n });\n };\n\n /**\n * Navigates user back to the previous page and updates the current table page.\n */\n const previousPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onPreviousPageClick) {\n onPreviousPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\n }\n };\n\n /**\n * Navigates user to the next page and updates the current table page.\n */\n const nextPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onNextPageClick) {\n onNextPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\n }\n };\n\n /**\n * Updates the rows per page value and refreshes the table content accordingly.\n * @param value - Newly selected rows per page value.\n */\n const changeRowsPerPage = (value: number) => {\n // Let's check if we are using remote pagination\n if (remoteOperations) {\n // Inform parent component about rows per page change\n if (onRowsPerPageChange) {\n onRowsPerPageChange(value);\n }\n } else {\n // Let's reset current page to 1\n setCurrentPage(1);\n }\n\n // Let's set rows per page\n setRowsPerPage(value);\n };\n\n\n /**\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\n * @param row - Row in which the link is located.\n */\n const onRowClick = (row: any): void => {\n const selectedText = window?.getSelection()?.toString();\n\n if (selectedText?.length === 0 && selectable) {\n const value = keyExpr ? row[keyExpr] : row;\n let currentSelection = value;\n if (!!multiSelect) {\n const existing = selected?.indexOf(value);\n if (existing > -1) {\n currentSelection = [...selected];\n currentSelection.splice(existing, 1);\n } else {\n currentSelection = [...selected, currentSelection];\n }\n }\n\n setSelected(currentSelection)\n props.onSelectionChange && props.onSelectionChange(currentSelection);\n }\n };\n\n /**\n * Function which is called when user clicks checkbox to select or deselect all rows.\n */\n const onSelectAllClick = () => {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n\n switch (selectAllState) {\n case 'all':\n setSelected([...selected].filter(item => !currentList.includes(item)));\n setSelectAllState('none');\n break;\n case 'none':\n setSelected([...selected, ...currentList]);\n setSelectAllState('all');\n break;\n case 'some':\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\n setSelectAllState('all');\n break;\n }\n };\n\n /**\n * Return Table component.\n */\n return (\n <TableWrapper>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\n <TableHeader {...props}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n selectAllState={selectAllState}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}/>\n <TableFooter {...props}\n onRowsPerPageChange={changeRowsPerPage}\n rowsPerPage={rowsPerPage}\n setIsCollapsed={setIsCollapsed}\n isCollapsed={isCollapsed}\n from={from}\n to={to}\n total={total}\n nextPage={nextPage}\n prevPage={previousPage}/>\n </StyledTable>\n {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"file":"Table.cjs"}
|
|
1
|
+
{"version":3,"sources":["../../src/Table/Table.tsx"],"names":["Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","React","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sortedColumn","setSortedColumn","sortedDirection","setSortedDirection","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","Size","Medium"],"mappings":"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","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} 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 accordion,\r\n collapsed = true,\r\n collapsedRows\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 [sortedColumn, setSortedColumn] = React.useState<string>('');\r\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\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 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 (columns.some((column) => column.sortingDirection)) {\r\n // Let's find the sorting column\r\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\r\n\r\n // Update sorted column data\r\n setSortedDirection(sortingColumn.sortingDirection!);\r\n setSortedColumn(sortingColumn.key!);\r\n\r\n // Let's sort the rows\r\n tmpFilteredRows.sort((a, b) => {\r\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\r\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\r\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\r\n return sortingColumn.sortingDirection === '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, sortedColumn, sortedDirection, 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's remove any active sorting\r\n columns = columns.map((tmpColumn: TableColumn) => {\r\n // Let's apply new sorting\r\n // Let's check if it is the column for which we have to apply sorting\r\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\r\n // Let's check if sorting is not defined\r\n // If so, let's toggle the sorting direction\r\n if (tmpColumn.sortingDirection !== undefined) {\r\n if (tmpColumn.sortingDirection === 'asc') {\r\n tmpColumn.sortingDirection = 'desc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('desc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'desc');\r\n }\r\n } else {\r\n tmpColumn.sortingDirection = 'asc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('asc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'asc');\r\n }\r\n }\r\n } else {\r\n // Let's apply the initial sorting\r\n tmpColumn.sortingDirection = 'asc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('asc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'asc');\r\n }\r\n }\r\n } else if (tmpColumn.sortingDirection !== undefined) {\r\n // Let's remove sorting\r\n tmpColumn.sortingDirection = undefined;\r\n }\r\n\r\n return tmpColumn;\r\n });\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>\r\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\r\n <TableHeader {...props}\r\n sortByColumn={sortTableColumn}\r\n onSelectAllClick={onSelectAllClick}\r\n selectAllState={selectAllState}/>\r\n <TableBody {...props}\r\n currentPageRows={currentPageRows}\r\n selected={selected}\r\n onRowClick={onRowClick}/>\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 </StyledTable>\r\n {showLoadingIndicator && (\r\n <StyledTableSpinner>\r\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\r\n </StyledTableSpinner>\r\n )}\r\n </TableWrapper>\r\n );\r\n};\r\n\r\nexport default Table;\r\n"],"file":"Table.cjs"}
|
package/dist/Table/Table.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Import React libraries.
|
|
3
|
-
*/
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
/**
|
|
6
|
-
* Import custom types.
|
|
7
|
-
*/
|
|
8
|
-
import { TableProps } from './TableTypes';
|
|
9
|
-
declare const Table: React.FunctionComponent<TableProps>;
|
|
10
|
-
export default Table;
|
|
1
|
+
/**
|
|
2
|
+
* Import React libraries.
|
|
3
|
+
*/
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
/**
|
|
6
|
+
* Import custom types.
|
|
7
|
+
*/
|
|
8
|
+
import { TableProps } from './TableTypes';
|
|
9
|
+
declare const Table: React.FunctionComponent<TableProps>;
|
|
10
|
+
export default Table;
|
package/dist/Table/Table.js
CHANGED
|
@@ -12,22 +12,22 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
12
12
|
|
|
13
13
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
14
14
|
|
|
15
|
-
/**
|
|
16
|
-
* Import React libraries.
|
|
15
|
+
/**
|
|
16
|
+
* Import React libraries.
|
|
17
17
|
*/
|
|
18
18
|
import * as React from 'react';
|
|
19
|
-
/**
|
|
20
|
-
* Import custom components.
|
|
19
|
+
/**
|
|
20
|
+
* Import custom components.
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
import { Size } from '../types';
|
|
24
|
-
/**
|
|
25
|
-
* Import custom styles.
|
|
24
|
+
/**
|
|
25
|
+
* Import custom styles.
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
28
|
import { StyledTable, StyledTableSpinner, TableWrapper } from './TableStyles';
|
|
29
|
-
/**
|
|
30
|
-
* Import custom types.
|
|
29
|
+
/**
|
|
30
|
+
* Import custom types.
|
|
31
31
|
*/
|
|
32
32
|
|
|
33
33
|
import { LoadingIndicator } from '../LoadingIndicator';
|
|
@@ -118,8 +118,8 @@ var Table = function Table(props) {
|
|
|
118
118
|
React.useEffect(function () {
|
|
119
119
|
setSelected(props.selectedRows || (multiSelect ? [] : undefined));
|
|
120
120
|
}, [props.selectedRows, multiSelect]);
|
|
121
|
-
/**
|
|
122
|
-
* update select all checkbox state
|
|
121
|
+
/**
|
|
122
|
+
* update select all checkbox state
|
|
123
123
|
*/
|
|
124
124
|
|
|
125
125
|
React.useEffect(function () {
|
|
@@ -133,9 +133,9 @@ var Table = function Table(props) {
|
|
|
133
133
|
setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');
|
|
134
134
|
}
|
|
135
135
|
}, [currentPageRows, multiSelect, selected, keyExpr]);
|
|
136
|
-
/**
|
|
137
|
-
* Takes care of remote pagination.
|
|
138
|
-
* Works only in case remote pagination is set to true.
|
|
136
|
+
/**
|
|
137
|
+
* Takes care of remote pagination.
|
|
138
|
+
* Works only in case remote pagination is set to true.
|
|
139
139
|
*/
|
|
140
140
|
|
|
141
141
|
React.useEffect(function () {
|
|
@@ -149,8 +149,8 @@ var Table = function Table(props) {
|
|
|
149
149
|
setRowsPerPage(pagination === null || pagination === void 0 ? void 0 : pagination.rowsPerPage);
|
|
150
150
|
}
|
|
151
151
|
}, [remoteOperations, pagination, rows]);
|
|
152
|
-
/**
|
|
153
|
-
* Sets number of rows to display when accordion.
|
|
152
|
+
/**
|
|
153
|
+
* Sets number of rows to display when accordion.
|
|
154
154
|
*/
|
|
155
155
|
|
|
156
156
|
React.useEffect(function () {
|
|
@@ -161,9 +161,9 @@ var Table = function Table(props) {
|
|
|
161
161
|
if (!accordion) return;
|
|
162
162
|
setIsCollapsed(!!collapsed);
|
|
163
163
|
}, [accordion, collapsed]);
|
|
164
|
-
/**
|
|
165
|
-
* Filters out a rows by specific column filters and sorts them if any sorting is set.
|
|
166
|
-
* @returns Filtered and sorted rows.
|
|
164
|
+
/**
|
|
165
|
+
* Filters out a rows by specific column filters and sorts them if any sorting is set.
|
|
166
|
+
* @returns Filtered and sorted rows.
|
|
167
167
|
*/
|
|
168
168
|
|
|
169
169
|
var filterAndSortRows = function filterAndSortRows() {
|
|
@@ -222,9 +222,9 @@ var Table = function Table(props) {
|
|
|
222
222
|
|
|
223
223
|
return tmpFilteredRows;
|
|
224
224
|
};
|
|
225
|
-
/**
|
|
226
|
-
* Takes care of local pagination.
|
|
227
|
-
* Works only in case remote pagination is not defined or is set to false.
|
|
225
|
+
/**
|
|
226
|
+
* Takes care of local pagination.
|
|
227
|
+
* Works only in case remote pagination is not defined or is set to false.
|
|
228
228
|
*/
|
|
229
229
|
|
|
230
230
|
|
|
@@ -244,10 +244,10 @@ var Table = function Table(props) {
|
|
|
244
244
|
setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));
|
|
245
245
|
}
|
|
246
246
|
}, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);
|
|
247
|
-
/**
|
|
248
|
-
* Applies a specific sorting to a column.
|
|
249
|
-
* If no sorting exists, then applies ascending initially
|
|
250
|
-
* @param column - Column to which sorting should be applied.
|
|
247
|
+
/**
|
|
248
|
+
* Applies a specific sorting to a column.
|
|
249
|
+
* If no sorting exists, then applies ascending initially
|
|
250
|
+
* @param column - Column to which sorting should be applied.
|
|
251
251
|
*/
|
|
252
252
|
|
|
253
253
|
var sortTableColumn = function sortTableColumn(column) {
|
|
@@ -297,8 +297,8 @@ var Table = function Table(props) {
|
|
|
297
297
|
return tmpColumn;
|
|
298
298
|
});
|
|
299
299
|
};
|
|
300
|
-
/**
|
|
301
|
-
* Navigates user back to the previous page and updates the current table page.
|
|
300
|
+
/**
|
|
301
|
+
* Navigates user back to the previous page and updates the current table page.
|
|
302
302
|
*/
|
|
303
303
|
|
|
304
304
|
|
|
@@ -313,8 +313,8 @@ var Table = function Table(props) {
|
|
|
313
313
|
setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);
|
|
314
314
|
}
|
|
315
315
|
};
|
|
316
|
-
/**
|
|
317
|
-
* Navigates user to the next page and updates the current table page.
|
|
316
|
+
/**
|
|
317
|
+
* Navigates user to the next page and updates the current table page.
|
|
318
318
|
*/
|
|
319
319
|
|
|
320
320
|
|
|
@@ -329,9 +329,9 @@ var Table = function Table(props) {
|
|
|
329
329
|
setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);
|
|
330
330
|
}
|
|
331
331
|
};
|
|
332
|
-
/**
|
|
333
|
-
* Updates the rows per page value and refreshes the table content accordingly.
|
|
334
|
-
* @param value - Newly selected rows per page value.
|
|
332
|
+
/**
|
|
333
|
+
* Updates the rows per page value and refreshes the table content accordingly.
|
|
334
|
+
* @param value - Newly selected rows per page value.
|
|
335
335
|
*/
|
|
336
336
|
|
|
337
337
|
|
|
@@ -350,9 +350,9 @@ var Table = function Table(props) {
|
|
|
350
350
|
|
|
351
351
|
setRowsPerPage(value);
|
|
352
352
|
};
|
|
353
|
-
/**
|
|
354
|
-
* Function which is called when a mouse click happens on a row to pass data to the parent component.
|
|
355
|
-
* @param row - Row in which the link is located.
|
|
353
|
+
/**
|
|
354
|
+
* Function which is called when a mouse click happens on a row to pass data to the parent component.
|
|
355
|
+
* @param row - Row in which the link is located.
|
|
356
356
|
*/
|
|
357
357
|
|
|
358
358
|
|
|
@@ -380,8 +380,8 @@ var Table = function Table(props) {
|
|
|
380
380
|
props.onSelectionChange && props.onSelectionChange(currentSelection);
|
|
381
381
|
}
|
|
382
382
|
};
|
|
383
|
-
/**
|
|
384
|
-
* Function which is called when user clicks checkbox to select or deselect all rows.
|
|
383
|
+
/**
|
|
384
|
+
* Function which is called when user clicks checkbox to select or deselect all rows.
|
|
385
385
|
*/
|
|
386
386
|
|
|
387
387
|
|
|
@@ -411,8 +411,8 @@ var Table = function Table(props) {
|
|
|
411
411
|
break;
|
|
412
412
|
}
|
|
413
413
|
};
|
|
414
|
-
/**
|
|
415
|
-
* Return Table component.
|
|
414
|
+
/**
|
|
415
|
+
* Return Table component.
|
|
416
416
|
*/
|
|
417
417
|
|
|
418
418
|
|
package/dist/Table/Table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Table/Table.tsx"],"names":["React","Size","StyledTable","StyledTableSpinner","TableWrapper","LoadingIndicator","TableHeader","TableFooter","TableBody","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sortedColumn","setSortedColumn","sortedDirection","setSortedDirection","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","Medium"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types'\n\n/**\n * Import custom styles.\n */\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\n\n/**\n * Import custom types.\n */\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport TableHeader from './TableHeaders';\nimport TableFooter from './TableFooter';\nimport TableBody from './TableBody';\n\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\n let {\n onPreviousPageClick,\n onNextPageClick,\n onRowsPerPageChange,\n onTriggerSortingChange,\n columns,\n rows,\n remoteOperations,\n pagination,\n showLoadingIndicator,\n selectable,\n multiSelect,\n keyExpr,\n accordion,\n collapsed = true,\n collapsedRows\n } = props;\n\n // States used within the component\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\n const [currentPage, setCurrentPage] = React.useState<number>(1);\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\n const [from, setFrom] = React.useState<number>();\n const [to, setTo] = React.useState<number>();\n const [total, setTotal] = React.useState<number>();\n\n const [isCollapsed, setIsCollapsed] = React.useState(true);\n\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\n\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\n\n React.useEffect(() => {\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\n }, [props.selectedRows, multiSelect])\n\n /**\n * update select all checkbox state\n */\n React.useEffect(() => {\n if (multiSelect) {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n const count = selected.filter((item: any) => currentList.includes(item)).length;\n\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\n }\n }, [currentPageRows, multiSelect, selected, keyExpr])\n\n /**\n * Takes care of remote pagination.\n * Works only in case remote pagination is set to true.\n */\n React.useEffect(() => {\n if (remoteOperations) {\n setCurrentPageRows(rows);\n\n // Let's assign pagination values\n setFrom(pagination?.from);\n setTo(pagination?.to);\n setTotal(pagination?.total);\n setCurrentPage(pagination?.currentPage!);\n setRowsPerPage(pagination?.rowsPerPage!);\n }\n }, [remoteOperations, pagination, rows]);\n\n /**\n * Sets number of rows to display when accordion.\n */\n React.useEffect(() => {\n if (!accordion) return;\n\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length );\n }, [rows, accordion, collapsedRows, isCollapsed])\n\n React.useEffect(() => {\n if (!accordion) return;\n\n setIsCollapsed(!!collapsed);\n }, [ accordion, collapsed])\n\n /**\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\n * @returns Filtered and sorted rows.\n */\n const filterAndSortRows = (): any[] => {\n let tmpFilteredRows = rows.filter((row) => {\n // Let's start with matched filter criteria\n let matchFilterCriteria = true;\n\n // Let's go through columns\n for (const column of columns) {\n // Let's check if filter value is specified for the column\n // And if it doesn't match the current row column value\n // Then let's update match filter criteria to failed\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\n matchFilterCriteria = false;\n }\n }\n\n // Let's return row only in case match filter criteria succeeds\n if (matchFilterCriteria) {\n return row;\n }\n });\n\n // Let's apply sorting if needed\n if (columns.some((column) => column.sortingDirection)) {\n // Let's find the sorting column\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\n\n // Update sorted column data\n setSortedDirection(sortingColumn.sortingDirection!);\n setSortedColumn(sortingColumn.key!);\n\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\n } else {\n return 0;\n }\n });\n }\n\n // Let's return filtered rows\n return tmpFilteredRows;\n };\n\n /**\n * Takes care of local pagination.\n * Works only in case remote pagination is not defined or is set to false.\n */\n React.useEffect(() => {\n if (!remoteOperations) {\n // Let's retrieve temporary filtered rows and update globally filtered rows\n const tmpFilteredRows = filterAndSortRows();\n setFilteredRows(tmpFilteredRows);\n setTotal(tmpFilteredRows.length);\n \n // Assign rows from and rows to\n const rowsFrom = (currentPage - 1) * rowsPerPage;\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\n \n // Set from and to values\n setFrom(rowsFrom + 1);\n setTo(rowsTo);\n \n // Filter out the rows\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\n }\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\n \n\n /**\n * Applies a specific sorting to a column.\n * If no sorting exists, then applies ascending initially\n * @param column - Column to which sorting should be applied.\n */\n const sortTableColumn = (column: TableColumn): void => {\n // Let's remove any active sorting\n columns = columns.map((tmpColumn: TableColumn) => {\n // Let's apply new sorting\n // Let's check if it is the column for which we have to apply sorting\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\n // Let's check if sorting is not defined\n // If so, let's toggle the sorting direction\n if (tmpColumn.sortingDirection !== undefined) {\n if (tmpColumn.sortingDirection === 'asc') {\n tmpColumn.sortingDirection = 'desc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('desc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'desc');\n }\n } else {\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else {\n // Let's apply the initial sorting\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else if (tmpColumn.sortingDirection !== undefined) {\n // Let's remove sorting\n tmpColumn.sortingDirection = undefined;\n }\n\n return tmpColumn;\n });\n };\n\n /**\n * Navigates user back to the previous page and updates the current table page.\n */\n const previousPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onPreviousPageClick) {\n onPreviousPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\n }\n };\n\n /**\n * Navigates user to the next page and updates the current table page.\n */\n const nextPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onNextPageClick) {\n onNextPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\n }\n };\n\n /**\n * Updates the rows per page value and refreshes the table content accordingly.\n * @param value - Newly selected rows per page value.\n */\n const changeRowsPerPage = (value: number) => {\n // Let's check if we are using remote pagination\n if (remoteOperations) {\n // Inform parent component about rows per page change\n if (onRowsPerPageChange) {\n onRowsPerPageChange(value);\n }\n } else {\n // Let's reset current page to 1\n setCurrentPage(1);\n }\n\n // Let's set rows per page\n setRowsPerPage(value);\n };\n\n\n /**\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\n * @param row - Row in which the link is located.\n */\n const onRowClick = (row: any): void => {\n const selectedText = window?.getSelection()?.toString();\n\n if (selectedText?.length === 0 && selectable) {\n const value = keyExpr ? row[keyExpr] : row;\n let currentSelection = value;\n if (!!multiSelect) {\n const existing = selected?.indexOf(value);\n if (existing > -1) {\n currentSelection = [...selected];\n currentSelection.splice(existing, 1);\n } else {\n currentSelection = [...selected, currentSelection];\n }\n }\n\n setSelected(currentSelection)\n props.onSelectionChange && props.onSelectionChange(currentSelection);\n }\n };\n\n /**\n * Function which is called when user clicks checkbox to select or deselect all rows.\n */\n const onSelectAllClick = () => {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n\n switch (selectAllState) {\n case 'all':\n setSelected([...selected].filter(item => !currentList.includes(item)));\n setSelectAllState('none');\n break;\n case 'none':\n setSelected([...selected, ...currentList]);\n setSelectAllState('all');\n break;\n case 'some':\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\n setSelectAllState('all');\n break;\n }\n };\n\n /**\n * Return Table component.\n */\n return (\n <TableWrapper>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\n <TableHeader {...props}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n selectAllState={selectAllState}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}/>\n <TableFooter {...props}\n onRowsPerPageChange={changeRowsPerPage}\n rowsPerPage={rowsPerPage}\n setIsCollapsed={setIsCollapsed}\n isCollapsed={isCollapsed}\n from={from}\n to={to}\n total={total}\n nextPage={nextPage}\n prevPage={previousPage}/>\n </StyledTable>\n {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"file":"Table.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Table/Table.tsx"],"names":["React","Size","StyledTable","StyledTableSpinner","TableWrapper","LoadingIndicator","TableHeader","TableFooter","TableBody","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sortedColumn","setSortedColumn","sortedDirection","setSortedDirection","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","Medium"],"mappings":"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","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} 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 accordion,\r\n collapsed = true,\r\n collapsedRows\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 [sortedColumn, setSortedColumn] = React.useState<string>('');\r\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\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 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 (columns.some((column) => column.sortingDirection)) {\r\n // Let's find the sorting column\r\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\r\n\r\n // Update sorted column data\r\n setSortedDirection(sortingColumn.sortingDirection!);\r\n setSortedColumn(sortingColumn.key!);\r\n\r\n // Let's sort the rows\r\n tmpFilteredRows.sort((a, b) => {\r\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\r\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\r\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\r\n return sortingColumn.sortingDirection === '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, sortedColumn, sortedDirection, 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's remove any active sorting\r\n columns = columns.map((tmpColumn: TableColumn) => {\r\n // Let's apply new sorting\r\n // Let's check if it is the column for which we have to apply sorting\r\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\r\n // Let's check if sorting is not defined\r\n // If so, let's toggle the sorting direction\r\n if (tmpColumn.sortingDirection !== undefined) {\r\n if (tmpColumn.sortingDirection === 'asc') {\r\n tmpColumn.sortingDirection = 'desc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('desc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'desc');\r\n }\r\n } else {\r\n tmpColumn.sortingDirection = 'asc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('asc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'asc');\r\n }\r\n }\r\n } else {\r\n // Let's apply the initial sorting\r\n tmpColumn.sortingDirection = 'asc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('asc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'asc');\r\n }\r\n }\r\n } else if (tmpColumn.sortingDirection !== undefined) {\r\n // Let's remove sorting\r\n tmpColumn.sortingDirection = undefined;\r\n }\r\n\r\n return tmpColumn;\r\n });\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>\r\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\r\n <TableHeader {...props}\r\n sortByColumn={sortTableColumn}\r\n onSelectAllClick={onSelectAllClick}\r\n selectAllState={selectAllState}/>\r\n <TableBody {...props}\r\n currentPageRows={currentPageRows}\r\n selected={selected}\r\n onRowClick={onRowClick}/>\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 </StyledTable>\r\n {showLoadingIndicator && (\r\n <StyledTableSpinner>\r\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\r\n </StyledTableSpinner>\r\n )}\r\n </TableWrapper>\r\n );\r\n};\r\n\r\nexport default Table;\r\n"],"file":"Table.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Table/TableBody.tsx"],"names":["TableBody","props","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Size","Small","customContent","isSelected","multiSelect","selected","indexOf","keyExpr","currentPageRows","length","map","index","selectable","onRowClick","defaultOnMouseDownHandler","undefined","columns","maxWidth","width","shortenText","justify"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\nimport {Button} from '../Button';\nimport {Size} from '../types';\nimport * as React from 'react';\nimport {Checkbox} from '../InputFields';\nimport {ButtonProps} from '../Button/Button';\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\nimport {HyperLink} from '../HyperLink';\nimport {\n StyledTableBody,\n StyledTableBodyRow,\n StyledTableCell,\n StyledTableCellContent,\n StyledTableCellIcon, StyledTableCellText\n} from './TableStyles';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const tmp = ({\n variant: 'default',\n href: '#',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </HyperLink>\n );\n }\n case 'icon': {\n const tmp = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...tmp}\n action={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {column.icon}\n </IconButton>\n }\n case 'button': {\n const tmp = ({\n variant: 'tertiary',\n size: Size.Small,\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\n onClick={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </Button>\n }\n case 'boolean':\n return <Checkbox selected={!!row[column.key]} readOnly={true}/>;\n case 'custom':\n return column.customContent && column.customContent(row, column.key);\n case 'number':\n case 'text':\n default:\n return (\n <>\n {\n column.icon &&\n <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>\n }\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\n </>\n );\n }\n }\n\n\n const isSelected = (row: any) => {\n return (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row));\n }\n\n return (\n <StyledTableBody>\n {props.currentPageRows.length > 0 ? (\n props.currentPageRows.map((row: any, index: number) => (\n <StyledTableBodyRow key={`row_${index}`}\n className={`${props.selectable ? 'selectable' : ''} ${ isSelected(row) ? 'selected' : ''}`}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={isSelected(row)}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={{maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\n style={{\n color: column.colorFn && column.colorFn(row, column.key),\n }}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableBodyRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n There are no rows to display\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableBodyRow>\n )}\n\n </StyledTableBody>\n );\n }\n;\n\nexport default TableBody;\n"],"file":"TableBody.cjs"}
|
|
1
|
+
{"version":3,"sources":["../../src/Table/TableBody.tsx"],"names":["TableBody","props","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Size","Small","customContent","isSelected","multiSelect","selected","indexOf","keyExpr","currentPageRows","length","map","index","selectable","onRowClick","defaultOnMouseDownHandler","undefined","columns","maxWidth","width","shortenText","justify"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\r\nimport {Button} from '../Button';\r\nimport {Size} from '../types';\r\nimport * as React from 'react';\r\nimport {Checkbox} from '../InputFields';\r\nimport {ButtonProps} from '../Button/Button';\r\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\r\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\r\nimport {HyperLink} from '../HyperLink';\r\nimport {\r\n StyledTableBody,\r\n StyledTableBodyRow,\r\n StyledTableCell,\r\n StyledTableCellContent,\r\n StyledTableCellIcon, StyledTableCellText\r\n} from './TableStyles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\n\r\ninterface TableBodyProps extends TableProps {\r\n currentPageRows: any[];\r\n onRowClick?: (row: any) => void;\r\n selected?: any | any[];\r\n}\r\n\r\nconst TableBody: React.FC<TableBodyProps> = (props) => {\r\n\r\n const renderCellBody = (column: TableColumn, row: any) => {\r\n switch (column.type) {\r\n case 'link': {\r\n const tmp = ({\r\n variant: 'default',\r\n href: '#',\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n ...column.additionalProps\r\n }) as HyperlinkProps;\r\n return (\r\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\r\n {...tmp}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {row[column.key]}\r\n </HyperLink>\r\n );\r\n }\r\n case 'icon': {\r\n const tmp = ({\r\n iconColor: column.colorFn && column.colorFn(row, column.key),\r\n variant: 'secondary',\r\n shape: 'circular',\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n useTransparentBackground: true,\r\n ...column.additionalProps\r\n }) as IconButtonProps;\r\n return <IconButton {...tmp}\r\n action={(e) => {\r\n e?.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {column.icon}\r\n </IconButton>\r\n }\r\n case 'button': {\r\n const tmp = ({\r\n variant: 'tertiary',\r\n size: Size.Small,\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n ...column.additionalProps\r\n }) as ButtonProps;\r\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\r\n {...tmp}\r\n onClick={(e) => {\r\n e?.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {row[column.key]}\r\n </Button>\r\n }\r\n case 'boolean':\r\n return <Checkbox selected={!!row[column.key]} readOnly={true}/>;\r\n case 'custom':\r\n return column.customContent && column.customContent(row, column.key);\r\n case 'number':\r\n case 'text':\r\n default:\r\n return (\r\n <>\r\n {\r\n column.icon &&\r\n <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>\r\n }\r\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\r\n </>\r\n );\r\n }\r\n }\r\n\r\n\r\n const isSelected = (row: any) => {\r\n return (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\r\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row));\r\n }\r\n\r\n return (\r\n <StyledTableBody>\r\n {props.currentPageRows.length > 0 ? (\r\n props.currentPageRows.map((row: any, index: number) => (\r\n <StyledTableBodyRow key={`row_${index}`}\r\n className={`${props.selectable ? 'selectable' : ''} ${ isSelected(row) ? 'selected' : ''}`}\r\n onClick={() => props.onRowClick && props.onRowClick(row)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={(e) => {\r\n if (e.key === 'Enter') {\r\n props.onRowClick && props.onRowClick(row);\r\n }\r\n }}\r\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\r\n data-testid=\"TestTableDataRow\">\r\n {\r\n props.multiSelect &&\r\n <StyledTableCell>\r\n <StyledTableCellContent>\r\n <Checkbox selected={isSelected(row)}/>\r\n </StyledTableCellContent>\r\n </StyledTableCell>\r\n }\r\n {props.columns.map((column: TableColumn) => (\r\n <StyledTableCell key={`row_${index}_${column.key}`}\r\n style={{maxWidth: column.width}}\r\n title={column.shortenText && row[column.key]}>\r\n <StyledTableCellContent\r\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\r\n style={{\r\n color: column.colorFn && column.colorFn(row, column.key),\r\n }}>\r\n {renderCellBody(column, row)}\r\n </StyledTableCellContent>\r\n </StyledTableCell>\r\n ))}\r\n </StyledTableBodyRow>\r\n ))\r\n ) : (\r\n <StyledTableBodyRow data-testid=\"TestTableNoDataRow\">\r\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\r\n <StyledTableCellContent className={'center'}>\r\n There are no rows to display\r\n </StyledTableCellContent>\r\n </StyledTableCell>\r\n </StyledTableBodyRow>\r\n )}\r\n\r\n </StyledTableBody>\r\n );\r\n }\r\n;\r\n\r\nexport default TableBody;\r\n"],"file":"TableBody.cjs"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { TableProps } from './TableTypes';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
interface TableBodyProps extends TableProps {
|
|
4
|
-
currentPageRows: any[];
|
|
5
|
-
onRowClick?: (row: any) => void;
|
|
6
|
-
selected?: any | any[];
|
|
7
|
-
}
|
|
8
|
-
declare const TableBody: React.FC<TableBodyProps>;
|
|
9
|
-
export default TableBody;
|
|
1
|
+
import { TableProps } from './TableTypes';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
interface TableBodyProps extends TableProps {
|
|
4
|
+
currentPageRows: any[];
|
|
5
|
+
onRowClick?: (row: any) => void;
|
|
6
|
+
selected?: any | any[];
|
|
7
|
+
}
|
|
8
|
+
declare const TableBody: React.FC<TableBodyProps>;
|
|
9
|
+
export default TableBody;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Table/TableBody.tsx"],"names":["Button","Size","React","Checkbox","IconButton","HyperLink","StyledTableBody","StyledTableBodyRow","StyledTableCell","StyledTableCellContent","StyledTableCellIcon","StyledTableCellText","defaultOnMouseDownHandler","TableBody","props","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Small","customContent","isSelected","multiSelect","selected","indexOf","keyExpr","currentPageRows","length","map","index","selectable","onRowClick","undefined","columns","maxWidth","width","shortenText","justify"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\nimport {Button} from '../Button';\nimport {Size} from '../types';\nimport * as React from 'react';\nimport {Checkbox} from '../InputFields';\nimport {ButtonProps} from '../Button/Button';\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\nimport {HyperLink} from '../HyperLink';\nimport {\n StyledTableBody,\n StyledTableBodyRow,\n StyledTableCell,\n StyledTableCellContent,\n StyledTableCellIcon, StyledTableCellText\n} from './TableStyles';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const tmp = ({\n variant: 'default',\n href: '#',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </HyperLink>\n );\n }\n case 'icon': {\n const tmp = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...tmp}\n action={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {column.icon}\n </IconButton>\n }\n case 'button': {\n const tmp = ({\n variant: 'tertiary',\n size: Size.Small,\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\n onClick={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </Button>\n }\n case 'boolean':\n return <Checkbox selected={!!row[column.key]} readOnly={true}/>;\n case 'custom':\n return column.customContent && column.customContent(row, column.key);\n case 'number':\n case 'text':\n default:\n return (\n <>\n {\n column.icon &&\n <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>\n }\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\n </>\n );\n }\n }\n\n\n const isSelected = (row: any) => {\n return (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row));\n }\n\n return (\n <StyledTableBody>\n {props.currentPageRows.length > 0 ? (\n props.currentPageRows.map((row: any, index: number) => (\n <StyledTableBodyRow key={`row_${index}`}\n className={`${props.selectable ? 'selectable' : ''} ${ isSelected(row) ? 'selected' : ''}`}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={isSelected(row)}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={{maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\n style={{\n color: column.colorFn && column.colorFn(row, column.key),\n }}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableBodyRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n There are no rows to display\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableBodyRow>\n )}\n\n </StyledTableBody>\n );\n }\n;\n\nexport default TableBody;\n"],"file":"TableBody.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Table/TableBody.tsx"],"names":["Button","Size","React","Checkbox","IconButton","HyperLink","StyledTableBody","StyledTableBodyRow","StyledTableCell","StyledTableCellContent","StyledTableCellIcon","StyledTableCellText","defaultOnMouseDownHandler","TableBody","props","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Small","customContent","isSelected","multiSelect","selected","indexOf","keyExpr","currentPageRows","length","map","index","selectable","onRowClick","undefined","columns","maxWidth","width","shortenText","justify"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\r\nimport {Button} from '../Button';\r\nimport {Size} from '../types';\r\nimport * as React from 'react';\r\nimport {Checkbox} from '../InputFields';\r\nimport {ButtonProps} from '../Button/Button';\r\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\r\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\r\nimport {HyperLink} from '../HyperLink';\r\nimport {\r\n StyledTableBody,\r\n StyledTableBodyRow,\r\n StyledTableCell,\r\n StyledTableCellContent,\r\n StyledTableCellIcon, StyledTableCellText\r\n} from './TableStyles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\n\r\ninterface TableBodyProps extends TableProps {\r\n currentPageRows: any[];\r\n onRowClick?: (row: any) => void;\r\n selected?: any | any[];\r\n}\r\n\r\nconst TableBody: React.FC<TableBodyProps> = (props) => {\r\n\r\n const renderCellBody = (column: TableColumn, row: any) => {\r\n switch (column.type) {\r\n case 'link': {\r\n const tmp = ({\r\n variant: 'default',\r\n href: '#',\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n ...column.additionalProps\r\n }) as HyperlinkProps;\r\n return (\r\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\r\n {...tmp}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {row[column.key]}\r\n </HyperLink>\r\n );\r\n }\r\n case 'icon': {\r\n const tmp = ({\r\n iconColor: column.colorFn && column.colorFn(row, column.key),\r\n variant: 'secondary',\r\n shape: 'circular',\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n useTransparentBackground: true,\r\n ...column.additionalProps\r\n }) as IconButtonProps;\r\n return <IconButton {...tmp}\r\n action={(e) => {\r\n e?.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {column.icon}\r\n </IconButton>\r\n }\r\n case 'button': {\r\n const tmp = ({\r\n variant: 'tertiary',\r\n size: Size.Small,\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n ...column.additionalProps\r\n }) as ButtonProps;\r\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\r\n {...tmp}\r\n onClick={(e) => {\r\n e?.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {row[column.key]}\r\n </Button>\r\n }\r\n case 'boolean':\r\n return <Checkbox selected={!!row[column.key]} readOnly={true}/>;\r\n case 'custom':\r\n return column.customContent && column.customContent(row, column.key);\r\n case 'number':\r\n case 'text':\r\n default:\r\n return (\r\n <>\r\n {\r\n column.icon &&\r\n <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>\r\n }\r\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\r\n </>\r\n );\r\n }\r\n }\r\n\r\n\r\n const isSelected = (row: any) => {\r\n return (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\r\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row));\r\n }\r\n\r\n return (\r\n <StyledTableBody>\r\n {props.currentPageRows.length > 0 ? (\r\n props.currentPageRows.map((row: any, index: number) => (\r\n <StyledTableBodyRow key={`row_${index}`}\r\n className={`${props.selectable ? 'selectable' : ''} ${ isSelected(row) ? 'selected' : ''}`}\r\n onClick={() => props.onRowClick && props.onRowClick(row)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={(e) => {\r\n if (e.key === 'Enter') {\r\n props.onRowClick && props.onRowClick(row);\r\n }\r\n }}\r\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\r\n data-testid=\"TestTableDataRow\">\r\n {\r\n props.multiSelect &&\r\n <StyledTableCell>\r\n <StyledTableCellContent>\r\n <Checkbox selected={isSelected(row)}/>\r\n </StyledTableCellContent>\r\n </StyledTableCell>\r\n }\r\n {props.columns.map((column: TableColumn) => (\r\n <StyledTableCell key={`row_${index}_${column.key}`}\r\n style={{maxWidth: column.width}}\r\n title={column.shortenText && row[column.key]}>\r\n <StyledTableCellContent\r\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\r\n style={{\r\n color: column.colorFn && column.colorFn(row, column.key),\r\n }}>\r\n {renderCellBody(column, row)}\r\n </StyledTableCellContent>\r\n </StyledTableCell>\r\n ))}\r\n </StyledTableBodyRow>\r\n ))\r\n ) : (\r\n <StyledTableBodyRow data-testid=\"TestTableNoDataRow\">\r\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\r\n <StyledTableCellContent className={'center'}>\r\n There are no rows to display\r\n </StyledTableCellContent>\r\n </StyledTableCell>\r\n </StyledTableBodyRow>\r\n )}\r\n\r\n </StyledTableBody>\r\n );\r\n }\r\n;\r\n\r\nexport default TableBody;\r\n"],"file":"TableBody.js"}
|