bi-utils-gpn 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/cjs/index.js +36 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/luxms-components/DsShellHeader/index.js +39 -0
- package/dist/cjs/luxms-components/DsShellHeader/index.js.map +1 -0
- package/dist/cjs/luxms-components/DsShellLeftPane/index.js +491 -0
- package/dist/cjs/luxms-components/DsShellLeftPane/index.js.map +1 -0
- package/dist/cjs/luxms-components/lux_elements/AppPane/AppPane.js +81 -0
- package/dist/cjs/luxms-components/lux_elements/AppPane/AppPane.js.map +1 -0
- package/dist/cjs/luxms-components/lux_elements/AppPane/Header/Header.js +17 -0
- package/dist/cjs/luxms-components/lux_elements/AppPane/Header/Header.js.map +1 -0
- package/dist/cjs/luxms-components/lux_elements/AppPane/Menu/Menu.js +96 -0
- package/dist/cjs/luxms-components/lux_elements/AppPane/Menu/Menu.js.map +1 -0
- package/dist/cjs/luxms-components/lux_elements/AppPane//320/241ontrols/Controls.js +17 -0
- package/dist/cjs/luxms-components/lux_elements/AppPane//320/241ontrols/Controls.js.map +1 -0
- package/dist/cjs/luxms-components/lux_elements/DashboardsIcons.js +80 -0
- package/dist/cjs/luxms-components/lux_elements/DashboardsIcons.js.map +1 -0
- package/dist/cjs/luxms-components/lux_elements/MainToolbar/MainToolbar.js +106 -0
- package/dist/cjs/luxms-components/lux_elements/MainToolbar/MainToolbar.js.map +1 -0
- package/dist/cjs/luxms-components/lux_elements/SortableTiles/SortableTiles.js +179 -0
- package/dist/cjs/luxms-components/lux_elements/SortableTiles/SortableTiles.js.map +1 -0
- package/dist/cjs/luxms-components/services/ConstaThemeService.js +60 -0
- package/dist/cjs/luxms-components/services/ConstaThemeService.js.map +1 -0
- package/dist/cjs/node_modules/style-inject/dist/style-inject.es.js +33 -0
- package/dist/cjs/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
- package/dist/cjs/ui-components/BlockFilters/BlockFilters.js +34 -0
- package/dist/cjs/ui-components/BlockFilters/BlockFilters.js.map +1 -0
- package/dist/cjs/ui-components/BlockFilters/BlockFilters.module.scss.js +12 -0
- package/dist/cjs/ui-components/BlockFilters/BlockFilters.module.scss.js.map +1 -0
- package/dist/cjs/ui-components/BlockFilters/BlockFiltersContent.js +40 -0
- package/dist/cjs/ui-components/BlockFilters/BlockFiltersContent.js.map +1 -0
- package/dist/cjs/ui-components/BlockFilters/BlockFiltersItem/BlockFiltersItem.js +28 -0
- package/dist/cjs/ui-components/BlockFilters/BlockFiltersItem/BlockFiltersItem.js.map +1 -0
- package/dist/cjs/ui-components/BlockFilters/CustomPopover/CustomPopover.js +71 -0
- package/dist/cjs/ui-components/BlockFilters/CustomPopover/CustomPopover.js.map +1 -0
- package/dist/cjs/ui-components/BlockFilters/CustomTag/index.js +18 -0
- package/dist/cjs/ui-components/BlockFilters/CustomTag/index.js.map +1 -0
- package/dist/cjs/ui-components/BlockFilters/FiltersIndicationContext/FiltersIndicationContext.js +58 -0
- package/dist/cjs/ui-components/BlockFilters/FiltersIndicationContext/FiltersIndicationContext.js.map +1 -0
- package/dist/cjs/ui-components/BlockFilters/SearchWithTag/index.js +21 -0
- package/dist/cjs/ui-components/BlockFilters/SearchWithTag/index.js.map +1 -0
- package/dist/cjs/ui-components/BlockFilters/constants.js +6 -0
- package/dist/cjs/ui-components/BlockFilters/constants.js.map +1 -0
- package/dist/cjs/ui-components/ButtonsTooltip/ButtonTooltipStyles.module.scss.js +12 -0
- package/dist/cjs/ui-components/ButtonsTooltip/ButtonTooltipStyles.module.scss.js.map +1 -0
- package/dist/cjs/ui-components/ButtonsTooltip/index.js +14 -0
- package/dist/cjs/ui-components/ButtonsTooltip/index.js.map +1 -0
- package/dist/cjs/ui-components/CommonContexts/DatasetNameContext.js +15 -0
- package/dist/cjs/ui-components/CommonContexts/DatasetNameContext.js.map +1 -0
- package/dist/cjs/ui-components/ControlDash/ControlDash.js +33 -0
- package/dist/cjs/ui-components/ControlDash/ControlDash.js.map +1 -0
- package/dist/cjs/ui-components/ControlDash/ControlDashContent.js +80 -0
- package/dist/cjs/ui-components/ControlDash/ControlDashContent.js.map +1 -0
- package/dist/cjs/ui-components/ControlDash/IconArrow/IconArrow.js +14 -0
- package/dist/cjs/ui-components/ControlDash/IconArrow/IconArrow.js.map +1 -0
- package/dist/cjs/ui-components/ControlDash/IconArrow/IconArrowStyles.module.scss.js +12 -0
- package/dist/cjs/ui-components/ControlDash/IconArrow/IconArrowStyles.module.scss.js.map +1 -0
- package/dist/cjs/ui-components/ControlDash/styles/ControlDashStyles.module.scss.js +12 -0
- package/dist/cjs/ui-components/ControlDash/styles/ControlDashStyles.module.scss.js.map +1 -0
- package/dist/cjs/ui-components/DashletHeader/index.js +25 -0
- package/dist/cjs/ui-components/DashletHeader/index.js.map +1 -0
- package/dist/cjs/ui-components/DashletHeaderButton/index.js +14 -0
- package/dist/cjs/ui-components/DashletHeaderButton/index.js.map +1 -0
- package/dist/cjs/ui-components/DashletHeaderModal/index.js +12 -0
- package/dist/cjs/ui-components/DashletHeaderModal/index.js.map +1 -0
- package/dist/cjs/ui-components/DashletLayout/index.js +14 -0
- package/dist/cjs/ui-components/DashletLayout/index.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/Context/CompletedFiltersContext.js +37 -0
- package/dist/cjs/ui-components/FilterComponents/Context/CompletedFiltersContext.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.js +30 -0
- package/dist/cjs/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/DatePickerRange/DatePickerRange.js +80 -0
- package/dist/cjs/ui-components/FilterComponents/DatePickerRange/DatePickerRange.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/DatePickerRange/helpers.js +6 -0
- package/dist/cjs/ui-components/FilterComponents/DatePickerRange/helpers.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.js +39 -0
- package/dist/cjs/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.js +30 -0
- package/dist/cjs/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.js +67 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.js +27 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js +293 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.js +37 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.js +44 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollRadio/index.js +157 -0
- package/dist/cjs/ui-components/FilterComponents/InfiniteScrollRadio/index.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/InputFieldItem/InputFieldItem.js +47 -0
- package/dist/cjs/ui-components/FilterComponents/InputFieldItem/InputFieldItem.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/NumberRangeFilter/index.js +34 -0
- package/dist/cjs/ui-components/FilterComponents/NumberRangeFilter/index.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/PeriodController/PeriodController.js +40 -0
- package/dist/cjs/ui-components/FilterComponents/PeriodController/PeriodController.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/VirtuosoFooter/index.js +17 -0
- package/dist/cjs/ui-components/FilterComponents/VirtuosoFooter/index.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/constants.js +8 -0
- package/dist/cjs/ui-components/FilterComponents/constants.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/helpers.js +50 -0
- package/dist/cjs/ui-components/FilterComponents/helpers.js.map +1 -0
- package/dist/cjs/ui-components/FilterComponents/styles/ControlDashStyles.module.scss.js +12 -0
- package/dist/cjs/ui-components/FilterComponents/styles/ControlDashStyles.module.scss.js.map +1 -0
- package/dist/cjs/ui-components/FiltersIndicator/FiltersTag/FiltersTag.js +22 -0
- package/dist/cjs/ui-components/FiltersIndicator/FiltersTag/FiltersTag.js.map +1 -0
- package/dist/cjs/ui-components/FiltersIndicator/filtersIndicatorStyles.module.scss.js +12 -0
- package/dist/cjs/ui-components/FiltersIndicator/filtersIndicatorStyles.module.scss.js.map +1 -0
- package/dist/cjs/ui-components/FiltersIndicator/index.js +54 -0
- package/dist/cjs/ui-components/FiltersIndicator/index.js.map +1 -0
- package/dist/cjs/ui-components/IconComponent/index.js +10 -0
- package/dist/cjs/ui-components/IconComponent/index.js.map +1 -0
- package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutContent.js +44 -0
- package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutContent.js.map +1 -0
- package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutHeader.js +22 -0
- package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutHeader.js.map +1 -0
- package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutInfo.js +17 -0
- package/dist/cjs/ui-components/KpiLayout/Modules/KpiLayoutInfo.js.map +1 -0
- package/dist/cjs/ui-components/KpiLayout/index.js +16 -0
- package/dist/cjs/ui-components/KpiLayout/index.js.map +1 -0
- package/dist/cjs/ui-components/TableCustomFilters/TableCustomFilterContent.js +90 -0
- package/dist/cjs/ui-components/TableCustomFilters/TableCustomFilterContent.js.map +1 -0
- package/dist/cjs/ui-components/TableCustomFilters/index.js +33 -0
- package/dist/cjs/ui-components/TableCustomFilters/index.js.map +1 -0
- package/dist/cjs/ui-components/TableCustomFilters/tableCustomFiltersStyles.module.scss.js +12 -0
- package/dist/cjs/ui-components/TableCustomFilters/tableCustomFiltersStyles.module.scss.js.map +1 -0
- package/dist/cjs/ui-components/helpers/filtersConversion.js +14 -0
- package/dist/cjs/ui-components/helpers/filtersConversion.js.map +1 -0
- package/dist/cjs/ui-components/helpers/useDebounce.js +24 -0
- package/dist/cjs/ui-components/helpers/useDebounce.js.map +1 -0
- package/dist/cjs/utils/downloadExcel.js +57 -0
- package/dist/cjs/utils/downloadExcel.js.map +1 -0
- package/dist/cjs/utils/getKoobDataByCfg.js +61 -0
- package/dist/cjs/utils/getKoobDataByCfg.js.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/luxms-components/DsShellHeader/index.js +37 -0
- package/dist/esm/luxms-components/DsShellHeader/index.js.map +1 -0
- package/dist/esm/luxms-components/DsShellLeftPane/index.js +486 -0
- package/dist/esm/luxms-components/DsShellLeftPane/index.js.map +1 -0
- package/dist/esm/luxms-components/lux_elements/AppPane/AppPane.js +75 -0
- package/dist/esm/luxms-components/lux_elements/AppPane/AppPane.js.map +1 -0
- package/dist/esm/luxms-components/lux_elements/AppPane/Header/Header.js +13 -0
- package/dist/esm/luxms-components/lux_elements/AppPane/Header/Header.js.map +1 -0
- package/dist/esm/luxms-components/lux_elements/AppPane/Menu/Menu.js +92 -0
- package/dist/esm/luxms-components/lux_elements/AppPane/Menu/Menu.js.map +1 -0
- package/dist/esm/luxms-components/lux_elements/AppPane//320/241ontrols/Controls.js +13 -0
- package/dist/esm/luxms-components/lux_elements/AppPane//320/241ontrols/Controls.js.map +1 -0
- package/dist/esm/luxms-components/lux_elements/DashboardsIcons.js +78 -0
- package/dist/esm/luxms-components/lux_elements/DashboardsIcons.js.map +1 -0
- package/dist/esm/luxms-components/lux_elements/MainToolbar/MainToolbar.js +80 -0
- package/dist/esm/luxms-components/lux_elements/MainToolbar/MainToolbar.js.map +1 -0
- package/dist/esm/luxms-components/lux_elements/SortableTiles/SortableTiles.js +175 -0
- package/dist/esm/luxms-components/lux_elements/SortableTiles/SortableTiles.js.map +1 -0
- package/dist/esm/luxms-components/services/ConstaThemeService.js +57 -0
- package/dist/esm/luxms-components/services/ConstaThemeService.js.map +1 -0
- package/dist/esm/node_modules/style-inject/dist/style-inject.es.js +29 -0
- package/dist/esm/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
- package/dist/esm/ui-components/BlockFilters/BlockFilters.js +32 -0
- package/dist/esm/ui-components/BlockFilters/BlockFilters.js.map +1 -0
- package/dist/esm/ui-components/BlockFilters/BlockFilters.module.scss.js +8 -0
- package/dist/esm/ui-components/BlockFilters/BlockFilters.module.scss.js.map +1 -0
- package/dist/esm/ui-components/BlockFilters/BlockFiltersContent.js +38 -0
- package/dist/esm/ui-components/BlockFilters/BlockFiltersContent.js.map +1 -0
- package/dist/esm/ui-components/BlockFilters/BlockFiltersItem/BlockFiltersItem.js +26 -0
- package/dist/esm/ui-components/BlockFilters/BlockFiltersItem/BlockFiltersItem.js.map +1 -0
- package/dist/esm/ui-components/BlockFilters/CustomPopover/CustomPopover.js +69 -0
- package/dist/esm/ui-components/BlockFilters/CustomPopover/CustomPopover.js.map +1 -0
- package/dist/esm/ui-components/BlockFilters/CustomTag/index.js +16 -0
- package/dist/esm/ui-components/BlockFilters/CustomTag/index.js.map +1 -0
- package/dist/esm/ui-components/BlockFilters/FiltersIndicationContext/FiltersIndicationContext.js +55 -0
- package/dist/esm/ui-components/BlockFilters/FiltersIndicationContext/FiltersIndicationContext.js.map +1 -0
- package/dist/esm/ui-components/BlockFilters/SearchWithTag/index.js +19 -0
- package/dist/esm/ui-components/BlockFilters/SearchWithTag/index.js.map +1 -0
- package/dist/esm/ui-components/BlockFilters/constants.js +4 -0
- package/dist/esm/ui-components/BlockFilters/constants.js.map +1 -0
- package/dist/esm/ui-components/ButtonsTooltip/ButtonTooltipStyles.module.scss.js +8 -0
- package/dist/esm/ui-components/ButtonsTooltip/ButtonTooltipStyles.module.scss.js.map +1 -0
- package/dist/esm/ui-components/ButtonsTooltip/index.js +12 -0
- package/dist/esm/ui-components/ButtonsTooltip/index.js.map +1 -0
- package/dist/esm/ui-components/CommonContexts/DatasetNameContext.js +12 -0
- package/dist/esm/ui-components/CommonContexts/DatasetNameContext.js.map +1 -0
- package/dist/esm/ui-components/ControlDash/ControlDash.js +31 -0
- package/dist/esm/ui-components/ControlDash/ControlDash.js.map +1 -0
- package/dist/esm/ui-components/ControlDash/ControlDashContent.js +78 -0
- package/dist/esm/ui-components/ControlDash/ControlDashContent.js.map +1 -0
- package/dist/esm/ui-components/ControlDash/IconArrow/IconArrow.js +10 -0
- package/dist/esm/ui-components/ControlDash/IconArrow/IconArrow.js.map +1 -0
- package/dist/esm/ui-components/ControlDash/IconArrow/IconArrowStyles.module.scss.js +8 -0
- package/dist/esm/ui-components/ControlDash/IconArrow/IconArrowStyles.module.scss.js.map +1 -0
- package/dist/esm/ui-components/ControlDash/styles/ControlDashStyles.module.scss.js +8 -0
- package/dist/esm/ui-components/ControlDash/styles/ControlDashStyles.module.scss.js.map +1 -0
- package/dist/esm/ui-components/DashletHeader/index.js +23 -0
- package/dist/esm/ui-components/DashletHeader/index.js.map +1 -0
- package/dist/esm/ui-components/DashletHeaderButton/index.js +12 -0
- package/dist/esm/ui-components/DashletHeaderButton/index.js.map +1 -0
- package/dist/esm/ui-components/DashletHeaderModal/index.js +10 -0
- package/dist/esm/ui-components/DashletHeaderModal/index.js.map +1 -0
- package/dist/esm/ui-components/DashletLayout/index.js +12 -0
- package/dist/esm/ui-components/DashletLayout/index.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/Context/CompletedFiltersContext.js +34 -0
- package/dist/esm/ui-components/FilterComponents/Context/CompletedFiltersContext.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.js +28 -0
- package/dist/esm/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/DatePickerRange/DatePickerRange.js +78 -0
- package/dist/esm/ui-components/FilterComponents/DatePickerRange/DatePickerRange.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/DatePickerRange/helpers.js +4 -0
- package/dist/esm/ui-components/FilterComponents/DatePickerRange/helpers.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.js +37 -0
- package/dist/esm/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.js +28 -0
- package/dist/esm/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.js +65 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.js +25 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js +291 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.js +33 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.js +42 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollRadio/index.js +155 -0
- package/dist/esm/ui-components/FilterComponents/InfiniteScrollRadio/index.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/InputFieldItem/InputFieldItem.js +45 -0
- package/dist/esm/ui-components/FilterComponents/InputFieldItem/InputFieldItem.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/NumberRangeFilter/index.js +32 -0
- package/dist/esm/ui-components/FilterComponents/NumberRangeFilter/index.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/PeriodController/PeriodController.js +38 -0
- package/dist/esm/ui-components/FilterComponents/PeriodController/PeriodController.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/VirtuosoFooter/index.js +15 -0
- package/dist/esm/ui-components/FilterComponents/VirtuosoFooter/index.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/constants.js +5 -0
- package/dist/esm/ui-components/FilterComponents/constants.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/helpers.js +46 -0
- package/dist/esm/ui-components/FilterComponents/helpers.js.map +1 -0
- package/dist/esm/ui-components/FilterComponents/styles/ControlDashStyles.module.scss.js +8 -0
- package/dist/esm/ui-components/FilterComponents/styles/ControlDashStyles.module.scss.js.map +1 -0
- package/dist/esm/ui-components/FiltersIndicator/FiltersTag/FiltersTag.js +20 -0
- package/dist/esm/ui-components/FiltersIndicator/FiltersTag/FiltersTag.js.map +1 -0
- package/dist/esm/ui-components/FiltersIndicator/filtersIndicatorStyles.module.scss.js +8 -0
- package/dist/esm/ui-components/FiltersIndicator/filtersIndicatorStyles.module.scss.js.map +1 -0
- package/dist/esm/ui-components/FiltersIndicator/index.js +52 -0
- package/dist/esm/ui-components/FiltersIndicator/index.js.map +1 -0
- package/dist/esm/ui-components/IconComponent/index.js +8 -0
- package/dist/esm/ui-components/IconComponent/index.js.map +1 -0
- package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutContent.js +42 -0
- package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutContent.js.map +1 -0
- package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutHeader.js +20 -0
- package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutHeader.js.map +1 -0
- package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutInfo.js +15 -0
- package/dist/esm/ui-components/KpiLayout/Modules/KpiLayoutInfo.js.map +1 -0
- package/dist/esm/ui-components/KpiLayout/index.js +14 -0
- package/dist/esm/ui-components/KpiLayout/index.js.map +1 -0
- package/dist/esm/ui-components/TableCustomFilters/TableCustomFilterContent.js +88 -0
- package/dist/esm/ui-components/TableCustomFilters/TableCustomFilterContent.js.map +1 -0
- package/dist/esm/ui-components/TableCustomFilters/index.js +31 -0
- package/dist/esm/ui-components/TableCustomFilters/index.js.map +1 -0
- package/dist/esm/ui-components/TableCustomFilters/tableCustomFiltersStyles.module.scss.js +8 -0
- package/dist/esm/ui-components/TableCustomFilters/tableCustomFiltersStyles.module.scss.js.map +1 -0
- package/dist/esm/ui-components/helpers/filtersConversion.js +12 -0
- package/dist/esm/ui-components/helpers/filtersConversion.js.map +1 -0
- package/dist/esm/ui-components/helpers/useDebounce.js +22 -0
- package/dist/esm/ui-components/helpers/useDebounce.js.map +1 -0
- package/dist/esm/utils/downloadExcel.js +55 -0
- package/dist/esm/utils/downloadExcel.js.map +1 -0
- package/dist/esm/utils/getKoobDataByCfg.js +59 -0
- package/dist/esm/utils/getKoobDataByCfg.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/luxms-components/DsShellHeader/index.d.ts +10 -0
- package/dist/luxms-components/DsShellLeftPane/index.d.ts +70 -0
- package/dist/luxms-components/index.d.ts +2 -0
- package/dist/luxms-components/lux_elements/AppPane/AppPane.d.ts +26 -0
- package/dist/luxms-components/lux_elements/AppPane/Header/Header.d.ts +13 -0
- package/dist/luxms-components/lux_elements/AppPane/Menu/Menu.d.ts +49 -0
- package/dist/luxms-components/lux_elements/AppPane//320/241ontrols/Controls.d.ts +4 -0
- package/dist/luxms-components/lux_elements/DashboardsIcons.d.ts +72 -0
- package/dist/luxms-components/lux_elements/MainToolbar/MainToolbar.d.ts +27 -0
- package/dist/luxms-components/lux_elements/SortableTiles/SortableTiles.d.ts +30 -0
- package/dist/luxms-components/services/ConstaThemeService.d.ts +23 -0
- package/dist/ui-components/BlockFilters/BlockFilters.d.ts +3 -0
- package/dist/ui-components/BlockFilters/BlockFiltersContent.d.ts +3 -0
- package/dist/ui-components/BlockFilters/BlockFiltersItem/BlockFiltersItem.d.ts +3 -0
- package/dist/ui-components/BlockFilters/CustomPopover/CustomPopover.d.ts +3 -0
- package/dist/ui-components/BlockFilters/CustomTag/index.d.ts +3 -0
- package/dist/ui-components/BlockFilters/FiltersIndicationContext/FiltersIndicationContext.d.ts +7 -0
- package/dist/ui-components/BlockFilters/SearchWithTag/index.d.ts +3 -0
- package/dist/ui-components/BlockFilters/constants.d.ts +8 -0
- package/dist/ui-components/BlockFilters/index.d.ts +1 -0
- package/dist/ui-components/BlockFilters/types.d.ts +49 -0
- package/dist/ui-components/ButtonsTooltip/index.d.ts +3 -0
- package/dist/ui-components/ButtonsTooltip/types.d.ts +8 -0
- package/dist/ui-components/CommonContexts/DatasetNameContext.d.ts +3 -0
- package/dist/ui-components/CommonContexts/index.d.ts +1 -0
- package/dist/ui-components/ControlDash/ControlDash.d.ts +3 -0
- package/dist/ui-components/ControlDash/ControlDashContent.d.ts +3 -0
- package/dist/ui-components/ControlDash/IconArrow/IconArrow.d.ts +3 -0
- package/dist/ui-components/ControlDash/constants.d.ts +2 -0
- package/dist/ui-components/ControlDash/index.d.ts +2 -0
- package/dist/ui-components/ControlDash/types.d.ts +7 -0
- package/dist/ui-components/DashletHeader/index.d.ts +21 -0
- package/dist/ui-components/DashletHeaderButton/index.d.ts +10 -0
- package/dist/ui-components/DashletHeaderModal/index.d.ts +11 -0
- package/dist/ui-components/DashletLayout/index.d.ts +11 -0
- package/dist/ui-components/FilterComponents/Context/CompletedFiltersContext.d.ts +13 -0
- package/dist/ui-components/FilterComponents/Context/index.d.ts +1 -0
- package/dist/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.d.ts +8 -0
- package/dist/ui-components/FilterComponents/DatePickerRange/DatePickerRange.d.ts +7 -0
- package/dist/ui-components/FilterComponents/DatePickerRange/helpers.d.ts +1 -0
- package/dist/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.d.ts +7 -0
- package/dist/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.d.ts +3 -0
- package/dist/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.d.ts +13 -0
- package/dist/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.d.ts +17 -0
- package/dist/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.d.ts +7 -0
- package/dist/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.d.ts +17 -0
- package/dist/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.d.ts +14 -0
- package/dist/ui-components/FilterComponents/InfiniteScrollRadio/index.d.ts +7 -0
- package/dist/ui-components/FilterComponents/InputFieldItem/InputFieldItem.d.ts +7 -0
- package/dist/ui-components/FilterComponents/NumberRangeFilter/index.d.ts +7 -0
- package/dist/ui-components/FilterComponents/PeriodController/PeriodController.d.ts +7 -0
- package/dist/ui-components/FilterComponents/VirtuosoFooter/index.d.ts +7 -0
- package/dist/ui-components/FilterComponents/constants.d.ts +2 -0
- package/dist/ui-components/FilterComponents/helpers.d.ts +4 -0
- package/dist/ui-components/FilterComponents/index.d.ts +11 -0
- package/dist/ui-components/FilterComponents/types.d.ts +54 -0
- package/dist/ui-components/FiltersIndicator/FiltersTag/FiltersTag.d.ts +3 -0
- package/dist/ui-components/FiltersIndicator/index.d.ts +3 -0
- package/dist/ui-components/FiltersIndicator/types.d.ts +30 -0
- package/dist/ui-components/IconComponent/index.d.ts +4 -0
- package/dist/ui-components/KpiLayout/Modules/KpiLayoutContent.d.ts +18 -0
- package/dist/ui-components/KpiLayout/Modules/KpiLayoutHeader.d.ts +9 -0
- package/dist/ui-components/KpiLayout/Modules/KpiLayoutInfo.d.ts +9 -0
- package/dist/ui-components/KpiLayout/Modules/index.d.ts +3 -0
- package/dist/ui-components/KpiLayout/index.d.ts +31 -0
- package/dist/ui-components/TableCustomFilters/TableCustomFilterContent.d.ts +3 -0
- package/dist/ui-components/TableCustomFilters/index.d.ts +3 -0
- package/dist/ui-components/TableCustomFilters/types.d.ts +9 -0
- package/dist/ui-components/helpers/filtersConversion.d.ts +2 -0
- package/dist/ui-components/helpers/useDebounce.d.ts +1 -0
- package/dist/ui-components/index.d.ts +11 -0
- package/dist/ui-components/types/index.d.ts +1 -0
- package/dist/ui-components/types/popoverTypes.d.ts +4 -0
- package/dist/utils/downloadExcel.d.ts +11 -0
- package/dist/utils/getKoobDataByCfg.d.ts +21 -0
- package/dist/utils/index.d.ts +2 -0
- package/package.json +77 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var DatePicker = require('@consta/uikit/DatePicker');
|
|
6
|
+
var Layout = require('@consta/uikit/Layout');
|
|
7
|
+
var Loader = require('@consta/uikit/Loader');
|
|
8
|
+
require('axios');
|
|
9
|
+
require('axios-retry');
|
|
10
|
+
var getKoobDataByCfg = require('../../../utils/getKoobDataByCfg.js');
|
|
11
|
+
var DatasetNameContext = require('../../CommonContexts/DatasetNameContext.js');
|
|
12
|
+
var CompletedFiltersContext = require('../Context/CompletedFiltersContext.js');
|
|
13
|
+
require('@consta/icons/IconFunnel');
|
|
14
|
+
require('@consta/uikit/Collapse');
|
|
15
|
+
var helpers = require('../helpers.js');
|
|
16
|
+
var helpers$1 = require('./helpers.js');
|
|
17
|
+
require('@consta/icons/IconCancel');
|
|
18
|
+
require('@consta/uikit/Button');
|
|
19
|
+
require('classnames');
|
|
20
|
+
require('react-virtuoso');
|
|
21
|
+
require('@consta/uikit/MixScrollBar');
|
|
22
|
+
require('@consta/uikit/Text');
|
|
23
|
+
require('@consta/uikit/Checkbox');
|
|
24
|
+
require('@consta/uikit/TextField');
|
|
25
|
+
require('@consta/uikit/Radio');
|
|
26
|
+
require('@consta/uikit/RadioGroup');
|
|
27
|
+
|
|
28
|
+
const DatePickerRange = ({ koob, applyedFilters, field, }) => {
|
|
29
|
+
const ds_name = React.useContext(DatasetNameContext.DatasetNameContext);
|
|
30
|
+
const { handleChangeCompletedFilters } = React.useContext(CompletedFiltersContext.CompletedFiltersContext);
|
|
31
|
+
const [value, setValue] = React.useState(null);
|
|
32
|
+
const [isLoading, setIsLoading] = React.useState(true);
|
|
33
|
+
React.useEffect(() => {
|
|
34
|
+
if (value) {
|
|
35
|
+
handleChangeCompletedFilters({
|
|
36
|
+
[field]: [
|
|
37
|
+
'between',
|
|
38
|
+
helpers.formatDate(value[0]),
|
|
39
|
+
helpers.formatDate(value[1]),
|
|
40
|
+
],
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}, [value]);
|
|
44
|
+
React.useEffect(() => {
|
|
45
|
+
const modifiedFilters = applyedFilters
|
|
46
|
+
? applyedFilters.filter((item) => item !== 'between')
|
|
47
|
+
: null;
|
|
48
|
+
if (!modifiedFilters) {
|
|
49
|
+
getKoobDataByCfg.getKoobDataByCfgFromLib({
|
|
50
|
+
data: {
|
|
51
|
+
koob: koob,
|
|
52
|
+
columns: [`min(${field}):${field}_min`, `max(${field}):${field}_max`],
|
|
53
|
+
},
|
|
54
|
+
ds_name,
|
|
55
|
+
})
|
|
56
|
+
.then((resp) => {
|
|
57
|
+
var _a, _b;
|
|
58
|
+
setValue([
|
|
59
|
+
helpers$1.getCorrectDate((_a = resp[0]) === null || _a === void 0 ? void 0 : _a[`${field}_min`]),
|
|
60
|
+
helpers$1.getCorrectDate((_b = resp[0]) === null || _b === void 0 ? void 0 : _b[`${field}_max`]),
|
|
61
|
+
]);
|
|
62
|
+
})
|
|
63
|
+
.catch(() => {
|
|
64
|
+
setValue(null);
|
|
65
|
+
})
|
|
66
|
+
.finally(() => setIsLoading(false));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
setValue([
|
|
70
|
+
helpers$1.getCorrectDate(modifiedFilters[0]),
|
|
71
|
+
helpers$1.getCorrectDate(modifiedFilters[1]),
|
|
72
|
+
]);
|
|
73
|
+
setIsLoading(false);
|
|
74
|
+
}
|
|
75
|
+
}, []);
|
|
76
|
+
return (jsxRuntime.jsx(Layout.Layout, { style: { justifyContent: 'center', alignItems: 'center' }, children: isLoading ? (jsxRuntime.jsx(Loader.Loader, {})) : (jsxRuntime.jsx(DatePicker.DatePicker, { type: "date-range", value: value, onChange: (value) => setValue(value) })) }));
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
exports.DatePickerRange = DatePickerRange;
|
|
80
|
+
//# sourceMappingURL=DatePickerRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePickerRange.js","sources":["../../../../../src/ui-components/FilterComponents/DatePickerRange/DatePickerRange.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport { DatePicker } from '@consta/uikit/DatePicker';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Loader } from '@consta/uikit/Loader';\r\n\r\nimport { getKoobDataByCfgFromLib } from '@/utils';\r\n\r\nimport { DatasetNameContext } from '../../CommonContexts';\r\nimport { CompletedFiltersContext } from '../../FilterComponents';\r\nimport { formatDate } from '../helpers';\r\nimport { DatePickerRangeConfig, OmitedComponentFields } from '../types';\r\n\r\nimport { getCorrectDate } from './helpers';\r\n\r\ninterface FieldItem extends Omit<DatePickerRangeConfig, OmitedComponentFields> {\r\n applyedFilters?: string[];\r\n}\r\n\r\nexport const DatePickerRange: React.FC<FieldItem> = ({\r\n koob,\r\n applyedFilters,\r\n field,\r\n}) => {\r\n const ds_name = useContext(DatasetNameContext);\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\r\n\r\n const [value, setValue] = useState<[Date?, Date?] | null>(null);\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n if (value) {\r\n handleChangeCompletedFilters({\r\n [field]: [\r\n 'between',\r\n formatDate((value as Date[])[0]),\r\n formatDate((value as Date[])[1]),\r\n ],\r\n });\r\n }\r\n }, [value]);\r\n\r\n useEffect(() => {\r\n const modifiedFilters: (string | undefined)[] | null = applyedFilters\r\n ? applyedFilters.filter((item: string) => item !== 'between')\r\n : null;\r\n\r\n if (!modifiedFilters) {\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n koob: koob as string,\r\n columns: [`min(${field}):${field}_min`, `max(${field}):${field}_max`],\r\n },\r\n ds_name,\r\n })\r\n .then((resp) => {\r\n setValue([\r\n getCorrectDate(resp[0]?.[`${field}_min`]),\r\n getCorrectDate(resp[0]?.[`${field}_max`]),\r\n ]);\r\n })\r\n .catch(() => {\r\n setValue(null);\r\n })\r\n .finally(() => setIsLoading(false));\r\n } else {\r\n setValue([\r\n getCorrectDate(modifiedFilters[0]),\r\n getCorrectDate(modifiedFilters[1]),\r\n ]);\r\n setIsLoading(false);\r\n }\r\n }, []);\r\n\r\n return (\r\n <Layout style={{ justifyContent: 'center', alignItems: 'center' }}>\r\n {isLoading ? (\r\n <Loader />\r\n ) : (\r\n <DatePicker\r\n type=\"date-range\"\r\n value={value}\r\n onChange={(value) => setValue(value)}\r\n />\r\n )}\r\n </Layout>\r\n );\r\n};\r\n"],"names":["useContext","DatasetNameContext","CompletedFiltersContext","useState","useEffect","formatDate","getKoobDataByCfgFromLib","getCorrectDate","_jsx","Layout","Loader","DatePicker"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../../src/ui-components/FilterComponents/DatePickerRange/helpers.ts"],"sourcesContent":["export const getCorrectDate = (value: string | undefined) =>\r\n value === undefined ? value : new Date(value);\r\n"],"names":[],"mappings":";;AAAa,MAAA,cAAc,GAAG,CAAC,KAAyB,KACtD,KAAK,KAAK,SAAS,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var IconCancel = require('@consta/icons/IconCancel');
|
|
6
|
+
var Button = require('@consta/uikit/Button');
|
|
7
|
+
var DatePicker = require('@consta/uikit/DatePicker');
|
|
8
|
+
var Layout = require('@consta/uikit/Layout');
|
|
9
|
+
var CompletedFiltersContext = require('../Context/CompletedFiltersContext.js');
|
|
10
|
+
var helpers = require('../helpers.js');
|
|
11
|
+
|
|
12
|
+
const DatePickerSingle = ({ applyedFilters, field, }) => {
|
|
13
|
+
const { handleChangeCompletedFilters } = React.useContext(CompletedFiltersContext.CompletedFiltersContext);
|
|
14
|
+
const [value, setValue] = React.useState(null);
|
|
15
|
+
React.useEffect(() => {
|
|
16
|
+
if (value) {
|
|
17
|
+
handleChangeCompletedFilters({
|
|
18
|
+
[field]: ['=', helpers.formatDate(value)],
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}, [value]);
|
|
22
|
+
React.useEffect(() => {
|
|
23
|
+
const modifiedFilters = applyedFilters ? applyedFilters[1] : null;
|
|
24
|
+
if (modifiedFilters) {
|
|
25
|
+
setValue(new Date(modifiedFilters));
|
|
26
|
+
}
|
|
27
|
+
}, []);
|
|
28
|
+
return (jsxRuntime.jsxs(Layout.Layout, { children: [jsxRuntime.jsx(DatePicker.DatePicker, { type: "date", size: "s", value: value, onChange: (value) => {
|
|
29
|
+
setValue(value);
|
|
30
|
+
} }), jsxRuntime.jsx(Button.Button, { size: "s", iconLeft: IconCancel.IconCancel, onClick: () => {
|
|
31
|
+
setValue(null);
|
|
32
|
+
handleChangeCompletedFilters({
|
|
33
|
+
[field]: undefined,
|
|
34
|
+
});
|
|
35
|
+
} })] }));
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
exports.DatePickerSingle = DatePickerSingle;
|
|
39
|
+
//# sourceMappingURL=DatePickerSingle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePickerSingle.js","sources":["../../../../../src/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport { IconCancel } from '@consta/icons/IconCancel';\r\nimport { Button } from '@consta/uikit/Button';\r\nimport { DatePicker } from '@consta/uikit/DatePicker';\r\nimport { Layout } from '@consta/uikit/Layout';\r\n\r\nimport { CompletedFiltersContext } from '../Context';\r\nimport { formatDate } from '../helpers';\r\nimport { DatePickerSingleConfig, OmitedComponentFields } from '../types';\r\n\r\ninterface DatePickerSingleProps\r\n extends Omit<DatePickerSingleConfig, OmitedComponentFields> {\r\n applyedFilters?: string[];\r\n}\r\n\r\nexport const DatePickerSingle: React.FC<DatePickerSingleProps> = ({\r\n applyedFilters,\r\n field,\r\n}) => {\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\r\n\r\n const [value, setValue] = useState<Date | null>(null);\r\n\r\n useEffect(() => {\r\n if (value) {\r\n handleChangeCompletedFilters({\r\n [field]: ['=', formatDate(value)],\r\n });\r\n }\r\n }, [value]);\r\n\r\n useEffect(() => {\r\n const modifiedFilters = applyedFilters ? applyedFilters[1] : null;\r\n\r\n if (modifiedFilters) {\r\n setValue(new Date(modifiedFilters));\r\n }\r\n }, []);\r\n\r\n return (\r\n <Layout>\r\n <DatePicker\r\n type=\"date\"\r\n size=\"s\"\r\n value={value}\r\n onChange={(value) => {\r\n setValue(value);\r\n }}\r\n />\r\n <Button\r\n size=\"s\"\r\n iconLeft={IconCancel}\r\n onClick={() => {\r\n setValue(null);\r\n handleChangeCompletedFilters({\r\n [field]: undefined,\r\n });\r\n }}\r\n />\r\n </Layout>\r\n );\r\n};\r\n"],"names":["useContext","CompletedFiltersContext","useState","useEffect","formatDate","_jsxs","Layout","_jsx","DatePicker","Button","IconCancel"],"mappings":";;;;;;;;;;;AAea,MAAA,gBAAgB,GAAoC,CAAC,EAChE,cAAc,EACd,KAAK,GACN,KAAI;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAGA,gBAAU,CAACC,+CAAuB,CAAC,CAAC;IAE7E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGC,cAAQ,CAAc,IAAI,CAAC,CAAC;IAEtDC,eAAS,CAAC,MAAK;QACb,IAAI,KAAK,EAAE;AACT,YAAA,4BAA4B,CAAC;gBAC3B,CAAC,KAAK,GAAG,CAAC,GAAG,EAAEC,kBAAU,CAAC,KAAK,CAAC,CAAC;AAClC,aAAA,CAAC,CAAC;SACJ;AACH,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZD,eAAS,CAAC,MAAK;AACb,QAAA,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAElE,IAAI,eAAe,EAAE;AACnB,YAAA,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;SACrC;KACF,EAAE,EAAE,CAAC,CAAC;IAEP,QACEE,eAAC,CAAAC,aAAM,EACL,EAAA,QAAA,EAAA,CAAAC,cAAA,CAACC,qBAAU,EACT,EAAA,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,KAAI;oBAClB,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClB,iBAAC,GACD,EACFD,cAAA,CAACE,aAAM,EAAA,EACL,IAAI,EAAC,GAAG,EACR,QAAQ,EAAEC,qBAAU,EACpB,OAAO,EAAE,MAAK;oBACZ,QAAQ,CAAC,IAAI,CAAC,CAAC;AACf,oBAAA,4BAA4B,CAAC;wBAC3B,CAAC,KAAK,GAAG,SAAS;AACnB,qBAAA,CAAC,CAAC;iBACJ,EAAA,CACD,CACK,EAAA,CAAA,EACT;AACJ;;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var cn = require('classnames');
|
|
6
|
+
var IconFunnel = require('@consta/icons/IconFunnel');
|
|
7
|
+
var Collapse = require('@consta/uikit/Collapse');
|
|
8
|
+
var Layout = require('@consta/uikit/Layout');
|
|
9
|
+
var CustomControlDashCollapse = require('../CustomControlDashCollapse/CustomControlDashCollapse.js');
|
|
10
|
+
var helpers = require('../helpers.js');
|
|
11
|
+
var ControlDashStyles_module = require('../styles/ControlDashStyles.module.scss.js');
|
|
12
|
+
|
|
13
|
+
const GroupedCollapse = ({ fieldInfo, luxmsFilters, }) => {
|
|
14
|
+
const { name, isFieldOpen } = fieldInfo;
|
|
15
|
+
const [isOpen, setIsOpen] = React.useState(isFieldOpen !== null && isFieldOpen !== void 0 ? isFieldOpen : false);
|
|
16
|
+
const isApplyed = React.useMemo(() => {
|
|
17
|
+
return !!fieldInfo.children.find((item) => luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[item.field]);
|
|
18
|
+
}, [luxmsFilters]);
|
|
19
|
+
return (jsxRuntime.jsx(Collapse.Collapse, { className: cn(ControlDashStyles_module.default.groupedCollapse, {
|
|
20
|
+
[ControlDashStyles_module.default.groupedCollapse_bold]: fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.isBold,
|
|
21
|
+
}), label: name, isOpen: isOpen, onClick: () => setIsOpen(!isOpen), size: "s", rightSide: isApplyed ? jsxRuntime.jsx(IconFunnel.IconFunnel, { size: "xs", view: "brand" }) : jsxRuntime.jsx(jsxRuntime.Fragment, {}), children: isOpen && (jsxRuntime.jsx(Layout.Layout, { className: ControlDashStyles_module.default.groupedCollapse__content, direction: "column", children: fieldInfo.children.map((fieldInfo) => {
|
|
22
|
+
return (jsxRuntime.jsx(CustomControlDashCollapse.CustomControlDashCollapse, { name: fieldInfo.name, isFieldOpen: fieldInfo.isFieldOpen, areFiltersApplyed: !!(luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.field]), children: helpers.getFilterByType({
|
|
23
|
+
fieldInfo,
|
|
24
|
+
luxmsFilters,
|
|
25
|
+
}) }, fieldInfo.name));
|
|
26
|
+
}) })) }));
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
exports.GroupedCollapse = GroupedCollapse;
|
|
30
|
+
//# sourceMappingURL=GroupedCollapse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupedCollapse.js","sources":["../../../../../src/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport { IconFunnel } from '@consta/icons/IconFunnel';\r\nimport { Collapse } from '@consta/uikit/Collapse';\r\nimport { Layout } from '@consta/uikit/Layout';\r\n\r\nimport { CustomControlDashCollapse } from '../CustomControlDashCollapse/CustomControlDashCollapse';\r\nimport { getFilterByType } from '../helpers';\r\nimport { GroupedCollapseProps } from '../types';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\nexport const GroupedCollapse: React.FC<GroupedCollapseProps> = ({\r\n fieldInfo,\r\n luxmsFilters,\r\n}) => {\r\n const { name, isFieldOpen } = fieldInfo;\r\n\r\n const [isOpen, setIsOpen] = useState(isFieldOpen ?? false);\r\n\r\n const isApplyed = useMemo(() => {\r\n return !!fieldInfo.children.find((item) => luxmsFilters?.[item.field]);\r\n }, [luxmsFilters]);\r\n\r\n return (\r\n <Collapse\r\n className={classNames(styles.groupedCollapse, {\r\n [styles.groupedCollapse_bold]: fieldInfo?.isBold,\r\n })}\r\n label={name}\r\n isOpen={isOpen}\r\n onClick={() => setIsOpen(!isOpen)}\r\n size=\"s\"\r\n rightSide={isApplyed ? <IconFunnel size=\"xs\" view=\"brand\" /> : <></>}\r\n >\r\n {/* Тут достаточно isOpen, т.к. всё равно transition отключен */}\r\n {isOpen && (\r\n <Layout className={styles.groupedCollapse__content} direction=\"column\">\r\n {fieldInfo.children.map((fieldInfo) => {\r\n return (\r\n <CustomControlDashCollapse\r\n key={fieldInfo.name}\r\n name={fieldInfo.name}\r\n isFieldOpen={fieldInfo.isFieldOpen}\r\n areFiltersApplyed={!!luxmsFilters?.[fieldInfo?.field]}\r\n >\r\n {getFilterByType({\r\n fieldInfo,\r\n luxmsFilters,\r\n })}\r\n </CustomControlDashCollapse>\r\n );\r\n })}\r\n </Layout>\r\n )}\r\n </Collapse>\r\n );\r\n};\r\n"],"names":["useState","useMemo","_jsx","Collapse","classNames","styles","IconFunnel","_Fragment","Layout","CustomControlDashCollapse","getFilterByType"],"mappings":";;;;;;;;;;;;AAYa,MAAA,eAAe,GAAmC,CAAC,EAC9D,SAAS,EACT,YAAY,GACb,KAAI;AACH,IAAA,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;AAExC,IAAA,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAC,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,WAAW,GAAI,KAAK,CAAC,CAAC;AAE3D,IAAA,MAAM,SAAS,GAAGC,aAAO,CAAC,MAAK;QAC7B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,QACEC,cAAC,CAAAC,iBAAQ,EACP,EAAA,SAAS,EAAEC,EAAU,CAACC,gCAAM,CAAC,eAAe,EAAE;YAC5C,CAACA,gCAAM,CAAC,oBAAoB,GAAG,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,MAAM;AACjD,SAAA,CAAC,EACF,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,IAAI,EAAC,GAAG,EACR,SAAS,EAAE,SAAS,GAAGH,cAAC,CAAAI,qBAAU,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAA,CAAG,GAAGJ,cAAK,CAAAK,mBAAA,EAAA,EAAA,CAAA,EAAA,QAAA,EAGnE,MAAM,KACLL,cAAC,CAAAM,aAAM,IAAC,SAAS,EAAEH,gCAAM,CAAC,wBAAwB,EAAE,SAAS,EAAC,QAAQ,EACnE,QAAA,EAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,KAAI;AACpC,gBAAA,QACEH,cAAC,CAAAO,mDAAyB,EAExB,EAAA,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,WAAW,EAAE,SAAS,CAAC,WAAW,EAClC,iBAAiB,EAAE,CAAC,EAAC,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAG,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,KAAK,CAAC,CAAA,EAAA,QAAA,EAEpDC,uBAAe,CAAC;wBACf,SAAS;wBACT,YAAY;AACb,qBAAA,CAAC,IARG,SAAS,CAAC,IAAI,CASO,EAC5B;AACJ,aAAC,CAAC,EAAA,CACK,CACV,EAAA,CACQ,EACX;AACJ;;;;"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var Checkbox = require('@consta/uikit/Checkbox');
|
|
6
|
+
var ControlDashStyles_module = require('../../styles/ControlDashStyles.module.scss.js');
|
|
7
|
+
|
|
8
|
+
const DinamicCheckboxes = ({ areDisabled, item, areAllChecked, searchedValue, excludedData, includedData, handleChangeIncludedData, handleChangeExcludedData, }) => {
|
|
9
|
+
//Проверяем, будет ли данный чекбокс выбран
|
|
10
|
+
const isChecked = React.useMemo(() => {
|
|
11
|
+
if (areAllChecked && !searchedValue) {
|
|
12
|
+
return !(excludedData === null || excludedData === void 0 ? void 0 : excludedData.includes(item));
|
|
13
|
+
}
|
|
14
|
+
else if (areAllChecked && searchedValue) {
|
|
15
|
+
return ((String(item).toLowerCase().includes(searchedValue) &&
|
|
16
|
+
!(excludedData === null || excludedData === void 0 ? void 0 : excludedData.includes(item))) ||
|
|
17
|
+
includedData.includes(item));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return includedData === null || includedData === void 0 ? void 0 : includedData.includes(item);
|
|
21
|
+
}
|
|
22
|
+
}, [areAllChecked, excludedData, includedData]);
|
|
23
|
+
return (jsxRuntime.jsx(Checkbox.Checkbox, { disabled: areDisabled, checked: isChecked, size: "s", label: item, className: ControlDashStyles_module.default.infiniteScrollFilters__singleCheckbox, onChange: ({ target }) => {
|
|
24
|
+
const checked = target.checked;
|
|
25
|
+
if (!checked && !searchedValue) {
|
|
26
|
+
if (areAllChecked) {
|
|
27
|
+
handleChangeIncludedData([]);
|
|
28
|
+
handleChangeExcludedData((prev) => [...prev, item]);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
handleChangeExcludedData([]);
|
|
32
|
+
handleChangeIncludedData((prev) => prev.filter((filterItem) => filterItem !== item));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else if (searchedValue) {
|
|
36
|
+
if (String(item).toLowerCase().includes(searchedValue)) {
|
|
37
|
+
if (excludedData.includes(item)) {
|
|
38
|
+
handleChangeExcludedData((prev) => prev.filter((filterItem) => filterItem !== item));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
handleChangeExcludedData((prev) => [...prev, item]);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
if (includedData.includes(item)) {
|
|
46
|
+
handleChangeIncludedData((prev) => prev.filter((filterItem) => filterItem !== item));
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
handleChangeIncludedData((prev) => [...prev, item]);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
if (areAllChecked) {
|
|
55
|
+
handleChangeIncludedData([]);
|
|
56
|
+
handleChangeExcludedData((prev) => prev.filter((filterItem) => filterItem !== item));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
handleChangeExcludedData([]);
|
|
60
|
+
handleChangeIncludedData((prev) => [...prev, item]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
} }));
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
exports.DinamicCheckboxes = DinamicCheckboxes;
|
|
67
|
+
//# sourceMappingURL=DinamicCheckboxes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DinamicCheckboxes.js","sources":["../../../../../../src/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\r\nimport { Checkbox } from '@consta/uikit/Checkbox';\r\n\r\nimport styles from '../../styles/ControlDashStyles.module.scss';\r\n\r\ninterface DinamicCheckboxes {\r\n areDisabled: boolean;\r\n includedData: string[];\r\n excludedData: string[];\r\n searchedValue: string;\r\n areAllChecked: boolean;\r\n item: string;\r\n handleChangeIncludedData: (\r\n newIncludedData: string[] | ((prev: string[]) => string[])\r\n ) => void;\r\n handleChangeExcludedData: (\r\n newExcludedData: string[] | ((prev: string[]) => string[])\r\n ) => void;\r\n}\r\n\r\nexport const DinamicCheckboxes: React.FC<DinamicCheckboxes> = ({\r\n areDisabled,\r\n item,\r\n areAllChecked,\r\n searchedValue,\r\n excludedData,\r\n includedData,\r\n handleChangeIncludedData,\r\n handleChangeExcludedData,\r\n}) => {\r\n //Проверяем, будет ли данный чекбокс выбран\r\n const isChecked = useMemo(() => {\r\n if (areAllChecked && !searchedValue) {\r\n return !excludedData?.includes(item);\r\n } else if (areAllChecked && searchedValue) {\r\n return (\r\n (String(item).toLowerCase().includes(searchedValue) &&\r\n !excludedData?.includes(item)) ||\r\n includedData.includes(item)\r\n );\r\n } else {\r\n return includedData?.includes(item);\r\n }\r\n }, [areAllChecked, excludedData, includedData]);\r\n\r\n return (\r\n <Checkbox\r\n disabled={areDisabled}\r\n checked={isChecked}\r\n size=\"s\"\r\n label={item}\r\n className={styles.infiniteScrollFilters__singleCheckbox}\r\n onChange={({ target }) => {\r\n const checked = target.checked;\r\n\r\n if (!checked && !searchedValue) {\r\n if (areAllChecked) {\r\n handleChangeIncludedData([]);\r\n handleChangeExcludedData((prev: string[]) => [...prev, item]);\r\n } else {\r\n handleChangeExcludedData([]);\r\n handleChangeIncludedData((prev: string[]) =>\r\n prev.filter((filterItem) => filterItem !== item)\r\n );\r\n }\r\n } else if (searchedValue) {\r\n if (String(item).toLowerCase().includes(searchedValue)) {\r\n if (excludedData.includes(item)) {\r\n handleChangeExcludedData((prev: string[]) =>\r\n prev.filter((filterItem) => filterItem !== item)\r\n );\r\n } else {\r\n handleChangeExcludedData((prev: string[]) => [...prev, item]);\r\n }\r\n } else {\r\n if (includedData.includes(item)) {\r\n handleChangeIncludedData((prev: string[]) =>\r\n prev.filter((filterItem) => filterItem !== item)\r\n );\r\n } else {\r\n handleChangeIncludedData((prev: string[]) => [...prev, item]);\r\n }\r\n }\r\n } else {\r\n if (areAllChecked) {\r\n handleChangeIncludedData([]);\r\n handleChangeExcludedData((prev: string[]) =>\r\n prev.filter((filterItem) => filterItem !== item)\r\n );\r\n } else {\r\n handleChangeExcludedData([]);\r\n handleChangeIncludedData((prev: string[]) => [...prev, item]);\r\n }\r\n }\r\n }}\r\n />\r\n );\r\n};\r\n"],"names":["useMemo","_jsx","Checkbox","styles"],"mappings":";;;;;;;MAoBa,iBAAiB,GAAgC,CAAC,EAC7D,WAAW,EACX,IAAI,EACJ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,GACzB,KAAI;;AAEH,IAAA,MAAM,SAAS,GAAGA,aAAO,CAAC,MAAK;AAC7B,QAAA,IAAI,aAAa,IAAI,CAAC,aAAa,EAAE;AACnC,YAAA,OAAO,EAAC,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC;SACtC;AAAM,aAAA,IAAI,aAAa,IAAI,aAAa,EAAE;AACzC,YAAA,QACE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;AACjD,gBAAA,EAAC,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC/B,gBAAA,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC3B;SACH;aAAM;YACL,OAAO,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;SACrC;KACF,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;AAEhD,IAAA,QACEC,cAAA,CAACC,iBAAQ,EAAA,EACP,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,SAAS,EAClB,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,IAAI,EACX,SAAS,EAAEC,gCAAM,CAAC,qCAAqC,EACvD,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI;AACvB,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAE/B,YAAA,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,aAAa,EAAE;oBACjB,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAC7B,oBAAA,wBAAwB,CAAC,CAAC,IAAc,KAAK,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBAC/D;qBAAM;oBACL,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBAC7B,wBAAwB,CAAC,CAAC,IAAc,KACtC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,KAAK,UAAU,KAAK,IAAI,CAAC,CACjD,CAAC;iBACH;aACF;iBAAM,IAAI,aAAa,EAAE;AACxB,gBAAA,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;AACtD,oBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAC/B,wBAAwB,CAAC,CAAC,IAAc,KACtC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,KAAK,UAAU,KAAK,IAAI,CAAC,CACjD,CAAC;qBACH;yBAAM;AACL,wBAAA,wBAAwB,CAAC,CAAC,IAAc,KAAK,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;qBAC/D;iBACF;qBAAM;AACL,oBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAC/B,wBAAwB,CAAC,CAAC,IAAc,KACtC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,KAAK,UAAU,KAAK,IAAI,CAAC,CACjD,CAAC;qBACH;yBAAM;AACL,wBAAA,wBAAwB,CAAC,CAAC,IAAc,KAAK,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;qBAC/D;iBACF;aACF;iBAAM;gBACL,IAAI,aAAa,EAAE;oBACjB,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBAC7B,wBAAwB,CAAC,CAAC,IAAc,KACtC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,KAAK,UAAU,KAAK,IAAI,CAAC,CACjD,CAAC;iBACH;qBAAM;oBACL,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAC7B,oBAAA,wBAAwB,CAAC,CAAC,IAAc,KAAK,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBAC/D;aACF;SACF,EAAA,CACD,EACF;AACJ;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var cn = require('classnames');
|
|
5
|
+
var reactVirtuoso = require('react-virtuoso');
|
|
6
|
+
var MixScrollBar = require('@consta/uikit/MixScrollBar');
|
|
7
|
+
var constants = require('../../constants.js');
|
|
8
|
+
var index = require('../../VirtuosoFooter/index.js');
|
|
9
|
+
var DinamicCheckboxes = require('../DinamicCheckboxes/DinamicCheckboxes.js');
|
|
10
|
+
var ControlDashStyles_module = require('../../styles/ControlDashStyles.module.scss.js');
|
|
11
|
+
|
|
12
|
+
const DynamicCheckboxesList = ({ areDisabled, data, areAllChecked, searchedValue, excludedData, includedData, handleChangeIncludedData, handleChangeExcludedData, isLoadingMore, setLength, virtuosoHandleRef, }) => {
|
|
13
|
+
return (jsxRuntime.jsx(reactVirtuoso.Virtuoso, { ref: virtuosoHandleRef, className: cn(ControlDashStyles_module.default.infiniteScrollFilters__content, [
|
|
14
|
+
MixScrollBar.cnMixScrollBar({ size: 'm' }),
|
|
15
|
+
]), data: data, endReached: (index) => {
|
|
16
|
+
if ((index + 1) % constants.SIZE === 0) {
|
|
17
|
+
setLength(index + 1);
|
|
18
|
+
}
|
|
19
|
+
}, increaseViewportBy: 0, itemContent: (_, item) => {
|
|
20
|
+
return (jsxRuntime.jsx(DinamicCheckboxes.DinamicCheckboxes, { item: item, areDisabled: areDisabled, includedData: includedData, excludedData: excludedData, searchedValue: searchedValue, areAllChecked: areAllChecked, handleChangeIncludedData: handleChangeIncludedData, handleChangeExcludedData: handleChangeExcludedData }));
|
|
21
|
+
}, components: {
|
|
22
|
+
Footer: () => (jsxRuntime.jsx(index.VirtuosoFooter, { isLoading: isLoadingMore, dataLength: data.length })),
|
|
23
|
+
} }));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.DynamicCheckboxesList = DynamicCheckboxesList;
|
|
27
|
+
//# sourceMappingURL=DynamicCheckboxesList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicCheckboxesList.js","sources":["../../../../../../src/ui-components/FilterComponents/InfiniteScrollCheckboxes/DynamicCheckboxesList/DynamicCheckboxesList.tsx"],"sourcesContent":["import React, { Ref } from 'react';\r\nimport classNames from 'classnames';\r\nimport { Virtuoso, VirtuosoHandle } from 'react-virtuoso';\r\nimport { cnMixScrollBar } from '@consta/uikit/MixScrollBar';\r\n\r\nimport { SIZE } from '../../constants';\r\nimport { VirtuosoFooter } from '../../VirtuosoFooter';\r\nimport { DinamicCheckboxes } from '../DinamicCheckboxes/DinamicCheckboxes';\r\n\r\nimport styles from '../../styles/ControlDashStyles.module.scss';\r\n\r\ninterface IDynamicCheckboxesListProps {\r\n areDisabled: boolean;\r\n data: string[];\r\n includedData: string[];\r\n excludedData: string[];\r\n searchedValue: string;\r\n areAllChecked: boolean;\r\n isLoadingMore: boolean;\r\n handleChangeIncludedData: (\r\n newIncludedData: string[] | ((prev: string[]) => string[])\r\n ) => void;\r\n handleChangeExcludedData: (\r\n newExcludedData: string[] | ((prev: string[]) => string[])\r\n ) => void;\r\n setLength: React.Dispatch<React.SetStateAction<number>>;\r\n virtuosoHandleRef: Ref<VirtuosoHandle> | null;\r\n}\r\n\r\nexport const DynamicCheckboxesList: React.FC<IDynamicCheckboxesListProps> = ({\r\n areDisabled,\r\n data,\r\n areAllChecked,\r\n searchedValue,\r\n excludedData,\r\n includedData,\r\n handleChangeIncludedData,\r\n handleChangeExcludedData,\r\n isLoadingMore,\r\n setLength,\r\n virtuosoHandleRef,\r\n}) => {\r\n return (\r\n <Virtuoso\r\n ref={virtuosoHandleRef}\r\n className={classNames(styles.infiniteScrollFilters__content, [\r\n cnMixScrollBar({ size: 'm' }),\r\n ])}\r\n data={data}\r\n endReached={(index) => {\r\n if ((index + 1) % SIZE === 0) {\r\n setLength(index + 1);\r\n }\r\n }}\r\n increaseViewportBy={0}\r\n itemContent={(_, item) => {\r\n return (\r\n <DinamicCheckboxes\r\n item={item}\r\n areDisabled={areDisabled}\r\n includedData={includedData}\r\n excludedData={excludedData}\r\n searchedValue={searchedValue}\r\n areAllChecked={areAllChecked}\r\n handleChangeIncludedData={handleChangeIncludedData}\r\n handleChangeExcludedData={handleChangeExcludedData}\r\n />\r\n );\r\n }}\r\n components={{\r\n Footer: () => (\r\n <VirtuosoFooter isLoading={isLoadingMore} dataLength={data.length} />\r\n ),\r\n }}\r\n />\r\n );\r\n};\r\n"],"names":["_jsx","Virtuoso","classNames","styles","cnMixScrollBar","SIZE","DinamicCheckboxes","VirtuosoFooter"],"mappings":";;;;;;;;;;;AA6BO,MAAM,qBAAqB,GAA0C,CAAC,EAC3E,WAAW,EACX,IAAI,EACJ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,SAAS,EACT,iBAAiB,GAClB,KAAI;AACH,IAAA,QACEA,cAAA,CAACC,sBAAQ,EAAA,EACP,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAEC,EAAU,CAACC,gCAAM,CAAC,8BAA8B,EAAE;AAC3D,YAAAC,2BAAc,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;SAC9B,CAAC,EACF,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,CAAC,KAAK,KAAI;YACpB,IAAI,CAAC,KAAK,GAAG,CAAC,IAAIC,cAAI,KAAK,CAAC,EAAE;AAC5B,gBAAA,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;aACtB;AACH,SAAC,EACD,kBAAkB,EAAE,CAAC,EACrB,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;AACvB,YAAA,QACEL,cAAC,CAAAM,mCAAiB,EAChB,EAAA,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,wBAAwB,EAAE,wBAAwB,EAClD,wBAAwB,EAAE,wBAAwB,EAAA,CAClD,EACF;SACH,EACD,UAAU,EAAE;AACV,YAAA,MAAM,EAAE,OACNN,cAAA,CAACO,oBAAc,EAAC,EAAA,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,GAAI,CACtE;AACF,SAAA,EAAA,CACD,EACF;AACJ;;;;"}
|
package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js
ADDED
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var axios = require('axios');
|
|
6
|
+
var Layout = require('@consta/uikit/Layout');
|
|
7
|
+
var filtersConversion = require('../../helpers/filtersConversion.js');
|
|
8
|
+
var useDebounce = require('../../helpers/useDebounce.js');
|
|
9
|
+
require('axios-retry');
|
|
10
|
+
var getKoobDataByCfg = require('../../../utils/getKoobDataByCfg.js');
|
|
11
|
+
var DatasetNameContext = require('../../CommonContexts/DatasetNameContext.js');
|
|
12
|
+
var constants = require('../constants.js');
|
|
13
|
+
var CompletedFiltersContext = require('../Context/CompletedFiltersContext.js');
|
|
14
|
+
var DynamicCheckboxesList = require('./DynamicCheckboxesList/DynamicCheckboxesList.js');
|
|
15
|
+
var StaticMenu = require('./StaticMenu/StaticMenu.js');
|
|
16
|
+
|
|
17
|
+
const InfiniteScrollCheckboxesContent = ({ koob, field, sortField, sortSymbol, activeFilters, applyedFilters }) => {
|
|
18
|
+
const ds_name = React.useContext(DatasetNameContext.DatasetNameContext);
|
|
19
|
+
const { completedFilters, handleChangeCompletedFilters, getCompletedFiltersWithoutField, } = React.useContext(CompletedFiltersContext.CompletedFiltersContext);
|
|
20
|
+
const [totalCount, setTotalCount] = React.useState(0);
|
|
21
|
+
const [currentCount, setCurrentCount] = React.useState(0);
|
|
22
|
+
const [inputValue, setInputValue] = React.useState(null);
|
|
23
|
+
const [length, setLength] = React.useState(0);
|
|
24
|
+
const [data, setData] = React.useState([]);
|
|
25
|
+
const [excludedData, setExcludedData] = React.useState([]);
|
|
26
|
+
const [includedData, setIncludedData] = React.useState([]);
|
|
27
|
+
const [isLoading, setIsLoading] = React.useState(true);
|
|
28
|
+
const [isLoadingMore, setIsLoadingMore] = React.useState(true);
|
|
29
|
+
const [areAllChecked, setAreAllChecked] = React.useState(true);
|
|
30
|
+
const [searchedValue, setSearchedValue] = React.useState('');
|
|
31
|
+
const [areDisabled, setAreDisabled] = React.useState(false);
|
|
32
|
+
const isFirstRender = React.useRef(true);
|
|
33
|
+
const tokenRef = React.useRef();
|
|
34
|
+
const virtuosoHandleRef = React.useRef(null);
|
|
35
|
+
const baseRequestParams = {
|
|
36
|
+
koob: koob,
|
|
37
|
+
columns: [field],
|
|
38
|
+
distinct: true,
|
|
39
|
+
};
|
|
40
|
+
//Набор функций для взаимодействия с состояниями
|
|
41
|
+
const handleChangeInputValue = (newInputValue) => {
|
|
42
|
+
setInputValue(newInputValue);
|
|
43
|
+
};
|
|
44
|
+
const handleChangeAreAllChecked = (newAreAllChecked) => {
|
|
45
|
+
setAreAllChecked(newAreAllChecked);
|
|
46
|
+
};
|
|
47
|
+
const handleChangeSearchedValue = (newSearchedValue) => {
|
|
48
|
+
setSearchedValue(newSearchedValue);
|
|
49
|
+
};
|
|
50
|
+
const handleChangeExcludedData = (newExcludedData) => {
|
|
51
|
+
setExcludedData(newExcludedData);
|
|
52
|
+
};
|
|
53
|
+
const handleChangeIncludedData = (newIncludedData) => {
|
|
54
|
+
setIncludedData(newIncludedData);
|
|
55
|
+
};
|
|
56
|
+
const handleChangeIsLoading = (newValue) => {
|
|
57
|
+
setIsLoading(newValue);
|
|
58
|
+
};
|
|
59
|
+
React.useEffect(() => {
|
|
60
|
+
getKoobDataByCfg.getKoobDataByCfgFromLib({
|
|
61
|
+
data: Object.assign(Object.assign({}, baseRequestParams), { sort: [], filters: {} }),
|
|
62
|
+
isCount: true,
|
|
63
|
+
ds_name,
|
|
64
|
+
})
|
|
65
|
+
.then((resp) => {
|
|
66
|
+
setTotalCount(resp[0].count);
|
|
67
|
+
})
|
|
68
|
+
.catch(() => {
|
|
69
|
+
setTotalCount(0);
|
|
70
|
+
});
|
|
71
|
+
}, []);
|
|
72
|
+
React.useEffect(() => {
|
|
73
|
+
// Примененные фмильтры по полям, на которые реагирует данный фильтр
|
|
74
|
+
const mergedFilters = activeFilters
|
|
75
|
+
? filtersConversion.filtersConversionForControlDash(activeFilters, {
|
|
76
|
+
filters: completedFilters,
|
|
77
|
+
// Убираем ошибки типизации
|
|
78
|
+
result: {},
|
|
79
|
+
pendingFilters: {},
|
|
80
|
+
})
|
|
81
|
+
: {};
|
|
82
|
+
// Примененные фильтры по данному полю
|
|
83
|
+
const currentFieldFilters = (completedFilters === null || completedFilters === void 0 ? void 0 : completedFilters[field])
|
|
84
|
+
? { [field]: completedFilters === null || completedFilters === void 0 ? void 0 : completedFilters[field] }
|
|
85
|
+
: {};
|
|
86
|
+
const CancelToken = axios.CancelToken;
|
|
87
|
+
const source = CancelToken.source();
|
|
88
|
+
if (tokenRef.current) {
|
|
89
|
+
tokenRef.current.cancel('Невалидный запрос');
|
|
90
|
+
}
|
|
91
|
+
tokenRef.current = source;
|
|
92
|
+
getKoobDataByCfg.getKoobDataByCfgFromLib({
|
|
93
|
+
data: Object.assign(Object.assign({}, baseRequestParams), { filters: Object.assign(Object.assign({}, mergedFilters), currentFieldFilters) }),
|
|
94
|
+
cfg: {
|
|
95
|
+
cancelToken: source.token,
|
|
96
|
+
},
|
|
97
|
+
isCount: true,
|
|
98
|
+
ds_name,
|
|
99
|
+
})
|
|
100
|
+
.then((resp) => {
|
|
101
|
+
setCurrentCount(resp[0].count);
|
|
102
|
+
})
|
|
103
|
+
.catch((error) => {
|
|
104
|
+
if (error.code !== 'ERR_CANCELED') {
|
|
105
|
+
setCurrentCount(0);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}, [completedFilters]);
|
|
109
|
+
//Отложенное значение в поле ввода
|
|
110
|
+
const debouncedSearchTerm = useDebounce.useDebounce(inputValue, 1000);
|
|
111
|
+
const restFilters = getCompletedFiltersWithoutField(field);
|
|
112
|
+
const debouncedTempApplyedFilters = useDebounce.useDebounce(restFilters, isFirstRender.current ? 0 : 1000);
|
|
113
|
+
const tempApplyedFilters = React.useMemo(() => {
|
|
114
|
+
if (activeFilters) {
|
|
115
|
+
return filtersConversion.filtersConversionForControlDash(activeFilters, {
|
|
116
|
+
filters: completedFilters,
|
|
117
|
+
// Убираем ошибки типизации
|
|
118
|
+
result: {},
|
|
119
|
+
pendingFilters: {},
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
return {};
|
|
124
|
+
}
|
|
125
|
+
}, [debouncedTempApplyedFilters]);
|
|
126
|
+
React.useEffect(() => {
|
|
127
|
+
setAreDisabled(restFilters !== debouncedTempApplyedFilters);
|
|
128
|
+
}, [restFilters]);
|
|
129
|
+
React.useEffect(() => {
|
|
130
|
+
setAreDisabled(false);
|
|
131
|
+
}, [tempApplyedFilters]);
|
|
132
|
+
React.useEffect(() => {
|
|
133
|
+
if (isFirstRender.current === false) {
|
|
134
|
+
setIsLoadingMore(true);
|
|
135
|
+
getKoobDataByCfg.getKoobDataByCfgFromLib({
|
|
136
|
+
data: Object.assign(Object.assign({}, baseRequestParams), { sort: [`${sortSymbol !== null && sortSymbol !== void 0 ? sortSymbol : '+'}${sortField !== null && sortField !== void 0 ? sortField : field}`], filters: Object.assign(Object.assign({}, (debouncedSearchTerm
|
|
137
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
138
|
+
: {})), tempApplyedFilters), limit: constants.SIZE, offset: length }),
|
|
139
|
+
ds_name,
|
|
140
|
+
})
|
|
141
|
+
.then((resp) => setData(resp.map((item) => item[field])))
|
|
142
|
+
.catch(() => setData([]))
|
|
143
|
+
.finally(() => {
|
|
144
|
+
setIsLoading(false);
|
|
145
|
+
setIsLoadingMore(false);
|
|
146
|
+
setLength(0);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}, [debouncedSearchTerm]);
|
|
150
|
+
React.useEffect(() => {
|
|
151
|
+
if (inputValue === debouncedSearchTerm) {
|
|
152
|
+
setIsLoading(false);
|
|
153
|
+
}
|
|
154
|
+
}, [inputValue]);
|
|
155
|
+
React.useEffect(() => {
|
|
156
|
+
setIsLoadingMore(true);
|
|
157
|
+
getKoobDataByCfg.getKoobDataByCfgFromLib({
|
|
158
|
+
data: Object.assign(Object.assign({}, baseRequestParams), { sort: [`${sortSymbol !== null && sortSymbol !== void 0 ? sortSymbol : '+'}${sortField !== null && sortField !== void 0 ? sortField : field}`], filters: Object.assign(Object.assign({}, (debouncedSearchTerm
|
|
159
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
160
|
+
: {})), tempApplyedFilters), limit: constants.SIZE, offset: length }),
|
|
161
|
+
ds_name,
|
|
162
|
+
})
|
|
163
|
+
.then((resp) => setData([...data, ...resp.map((item) => item[field])]))
|
|
164
|
+
.catch(() => setData([]))
|
|
165
|
+
.finally(() => {
|
|
166
|
+
isFirstRender.current = false;
|
|
167
|
+
setIsLoading(false);
|
|
168
|
+
setIsLoadingMore(false);
|
|
169
|
+
});
|
|
170
|
+
}, [length]);
|
|
171
|
+
React.useEffect(() => {
|
|
172
|
+
var _a;
|
|
173
|
+
if (!isFirstRender.current) {
|
|
174
|
+
setLength(0);
|
|
175
|
+
setAreDisabled(true);
|
|
176
|
+
(_a = virtuosoHandleRef === null || virtuosoHandleRef === void 0 ? void 0 : virtuosoHandleRef.current) === null || _a === void 0 ? void 0 : _a.scrollToIndex({
|
|
177
|
+
index: 0,
|
|
178
|
+
behavior: 'smooth',
|
|
179
|
+
});
|
|
180
|
+
getKoobDataByCfg.getKoobDataByCfgFromLib({
|
|
181
|
+
data: Object.assign(Object.assign({}, baseRequestParams), { sort: [`${sortSymbol !== null && sortSymbol !== void 0 ? sortSymbol : '+'}${sortField !== null && sortField !== void 0 ? sortField : field}`], filters: Object.assign(Object.assign({}, (debouncedSearchTerm
|
|
182
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
183
|
+
: {})), tempApplyedFilters), limit: constants.SIZE, offset: 0 }),
|
|
184
|
+
ds_name,
|
|
185
|
+
})
|
|
186
|
+
.then((resp) => {
|
|
187
|
+
setData(resp.map((item) => item[field]));
|
|
188
|
+
})
|
|
189
|
+
.catch(() => {
|
|
190
|
+
setData([]);
|
|
191
|
+
})
|
|
192
|
+
.finally(() => {
|
|
193
|
+
setIsLoading(false);
|
|
194
|
+
setIsLoadingMore(false);
|
|
195
|
+
setAreDisabled(false);
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}, [tempApplyedFilters]);
|
|
199
|
+
React.useEffect(() => {
|
|
200
|
+
//Если у нас есть какие-то фильтры
|
|
201
|
+
if (excludedData.length || includedData.length || searchedValue) {
|
|
202
|
+
//Если у нас есть поиск по ключевому слову
|
|
203
|
+
if (searchedValue) {
|
|
204
|
+
//Задаем базовое значение, к которому будем добавлять фильтры, если они выбраны
|
|
205
|
+
const filters = ['or'];
|
|
206
|
+
if (excludedData.length && includedData.length) {
|
|
207
|
+
filters.push([
|
|
208
|
+
'and',
|
|
209
|
+
['!=', ...excludedData],
|
|
210
|
+
['ilike', `%${searchedValue}%`],
|
|
211
|
+
]);
|
|
212
|
+
filters.push(['=', ...includedData]);
|
|
213
|
+
}
|
|
214
|
+
else if (excludedData.length) {
|
|
215
|
+
filters.push([
|
|
216
|
+
'and',
|
|
217
|
+
['!=', ...excludedData],
|
|
218
|
+
['ilike', `%${searchedValue}%`],
|
|
219
|
+
]);
|
|
220
|
+
}
|
|
221
|
+
else if (includedData.length) {
|
|
222
|
+
filters.push(['=', ...includedData]);
|
|
223
|
+
filters.push(['ilike', `%${searchedValue}%`]);
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
filters.push(['ilike', `%${searchedValue}%`]);
|
|
227
|
+
}
|
|
228
|
+
return handleChangeCompletedFilters({
|
|
229
|
+
[field]: filters,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
//Выбраны не все, добавляем значения по одному
|
|
233
|
+
if (includedData.length)
|
|
234
|
+
return handleChangeCompletedFilters({
|
|
235
|
+
[field]: ['=', ...includedData],
|
|
236
|
+
});
|
|
237
|
+
//Выбраны все, убираем значения по одному
|
|
238
|
+
if (excludedData.length)
|
|
239
|
+
return handleChangeCompletedFilters({
|
|
240
|
+
[field]: ['!=', ...excludedData],
|
|
241
|
+
});
|
|
242
|
+
//Если фильтров нет
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
if (areAllChecked) {
|
|
246
|
+
return handleChangeCompletedFilters({
|
|
247
|
+
[field]: undefined,
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
if (!areAllChecked) {
|
|
251
|
+
return handleChangeCompletedFilters({
|
|
252
|
+
[field]: ['='],
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}, [excludedData.length, includedData.length, searchedValue, areAllChecked]);
|
|
257
|
+
//Парсим данные, пришедшие из фильтров
|
|
258
|
+
React.useEffect(() => {
|
|
259
|
+
if (applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters.includes('or')) {
|
|
260
|
+
//Убираем слово or
|
|
261
|
+
const slicedData = [...applyedFilters].slice(1, applyedFilters.length);
|
|
262
|
+
//Пробегаемся по оставшемуся массиву и добавляем в фильтры пришедшие значения
|
|
263
|
+
slicedData.forEach((item) => {
|
|
264
|
+
//Else if нужен для разделения случаев != и =
|
|
265
|
+
if (item.includes('and')) {
|
|
266
|
+
setExcludedData(item[1].filter((item) => item !== '!='));
|
|
267
|
+
setSearchedValue(item[2][1].split('%').join(''));
|
|
268
|
+
}
|
|
269
|
+
else if (item.includes('ilike')) {
|
|
270
|
+
setSearchedValue(item[1].split('%').join(''));
|
|
271
|
+
}
|
|
272
|
+
else if (item.includes('=')) {
|
|
273
|
+
setIncludedData(item.filter((item) => item !== '='));
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
if (applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters.includes('!=')) {
|
|
278
|
+
return setExcludedData(applyedFilters.filter((item) => item !== '!='));
|
|
279
|
+
}
|
|
280
|
+
if (applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters.includes('=')) {
|
|
281
|
+
//Случай, когда у нас не выбраны точечно фильтры
|
|
282
|
+
setAreAllChecked(false);
|
|
283
|
+
return setIncludedData(applyedFilters.filter((item) => item !== '='));
|
|
284
|
+
}
|
|
285
|
+
if (applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters.includes('ilike')) {
|
|
286
|
+
return setSearchedValue(applyedFilters[1].split('%').join(''));
|
|
287
|
+
}
|
|
288
|
+
}, [applyedFilters]);
|
|
289
|
+
return (jsxRuntime.jsxs(Layout.Layout, { direction: "column", children: [jsxRuntime.jsx(StaticMenu.default, { areDisabled: areDisabled, dataLength: data.length, isLoading: isLoading, inputValue: inputValue, totalCount: totalCount, currentCount: currentCount, handleChangeInputValue: handleChangeInputValue, handleChangeIsLoading: handleChangeIsLoading, handleChangeAreAllChecked: handleChangeAreAllChecked, handleChangeSearchedValue: handleChangeSearchedValue, handleChangeIncludedData: handleChangeIncludedData, handleChangeExcludedData: handleChangeExcludedData }), jsxRuntime.jsx(DynamicCheckboxesList.DynamicCheckboxesList, { areDisabled: areDisabled, data: isLoading ? [] : data, areAllChecked: areAllChecked, searchedValue: searchedValue, excludedData: excludedData, includedData: includedData, handleChangeIncludedData: handleChangeIncludedData, handleChangeExcludedData: handleChangeExcludedData, isLoadingMore: isLoadingMore || isLoading, setLength: setLength, virtuosoHandleRef: virtuosoHandleRef })] }));
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
exports.InfiniteScrollCheckboxesContent = InfiniteScrollCheckboxesContent;
|
|
293
|
+
//# sourceMappingURL=InfiniteScrollCheckboxes.js.map
|