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,25 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { Virtuoso } from 'react-virtuoso';
|
|
4
|
+
import { cnMixScrollBar } from '@consta/uikit/MixScrollBar';
|
|
5
|
+
import { SIZE } from '../../constants.js';
|
|
6
|
+
import { VirtuosoFooter } from '../../VirtuosoFooter/index.js';
|
|
7
|
+
import { DinamicCheckboxes } from '../DinamicCheckboxes/DinamicCheckboxes.js';
|
|
8
|
+
import styles from '../../styles/ControlDashStyles.module.scss.js';
|
|
9
|
+
|
|
10
|
+
const DynamicCheckboxesList = ({ areDisabled, data, areAllChecked, searchedValue, excludedData, includedData, handleChangeIncludedData, handleChangeExcludedData, isLoadingMore, setLength, virtuosoHandleRef, }) => {
|
|
11
|
+
return (jsx(Virtuoso, { ref: virtuosoHandleRef, className: cn(styles.infiniteScrollFilters__content, [
|
|
12
|
+
cnMixScrollBar({ size: 'm' }),
|
|
13
|
+
]), data: data, endReached: (index) => {
|
|
14
|
+
if ((index + 1) % SIZE === 0) {
|
|
15
|
+
setLength(index + 1);
|
|
16
|
+
}
|
|
17
|
+
}, increaseViewportBy: 0, itemContent: (_, item) => {
|
|
18
|
+
return (jsx(DinamicCheckboxes, { item: item, areDisabled: areDisabled, includedData: includedData, excludedData: excludedData, searchedValue: searchedValue, areAllChecked: areAllChecked, handleChangeIncludedData: handleChangeIncludedData, handleChangeExcludedData: handleChangeExcludedData }));
|
|
19
|
+
}, components: {
|
|
20
|
+
Footer: () => (jsx(VirtuosoFooter, { isLoading: isLoadingMore, dataLength: data.length })),
|
|
21
|
+
} }));
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { DynamicCheckboxesList };
|
|
25
|
+
//# 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","classNames"],"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,GAAA,CAAC,QAAQ,EAAA,EACP,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAEC,EAAU,CAAC,MAAM,CAAC,8BAA8B,EAAE;AAC3D,YAAA,cAAc,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,IAAI,IAAI,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,QACED,GAAC,CAAA,iBAAiB,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,OACNA,GAAA,CAAC,cAAc,EAAC,EAAA,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,GAAI,CACtE;AACF,SAAA,EAAA,CACD,EACF;AACJ;;;;"}
|
package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js
ADDED
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext, useState, useRef, useEffect, useMemo } from 'react';
|
|
3
|
+
import axios from 'axios';
|
|
4
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
5
|
+
import { filtersConversionForControlDash } from '../../helpers/filtersConversion.js';
|
|
6
|
+
import { useDebounce } from '../../helpers/useDebounce.js';
|
|
7
|
+
import 'axios-retry';
|
|
8
|
+
import { getKoobDataByCfgFromLib } from '../../../utils/getKoobDataByCfg.js';
|
|
9
|
+
import { DatasetNameContext } from '../../CommonContexts/DatasetNameContext.js';
|
|
10
|
+
import { SIZE } from '../constants.js';
|
|
11
|
+
import { CompletedFiltersContext } from '../Context/CompletedFiltersContext.js';
|
|
12
|
+
import { DynamicCheckboxesList } from './DynamicCheckboxesList/DynamicCheckboxesList.js';
|
|
13
|
+
import StaticMenu from './StaticMenu/StaticMenu.js';
|
|
14
|
+
|
|
15
|
+
const InfiniteScrollCheckboxesContent = ({ koob, field, sortField, sortSymbol, activeFilters, applyedFilters }) => {
|
|
16
|
+
const ds_name = useContext(DatasetNameContext);
|
|
17
|
+
const { completedFilters, handleChangeCompletedFilters, getCompletedFiltersWithoutField, } = useContext(CompletedFiltersContext);
|
|
18
|
+
const [totalCount, setTotalCount] = useState(0);
|
|
19
|
+
const [currentCount, setCurrentCount] = useState(0);
|
|
20
|
+
const [inputValue, setInputValue] = useState(null);
|
|
21
|
+
const [length, setLength] = useState(0);
|
|
22
|
+
const [data, setData] = useState([]);
|
|
23
|
+
const [excludedData, setExcludedData] = useState([]);
|
|
24
|
+
const [includedData, setIncludedData] = useState([]);
|
|
25
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
26
|
+
const [isLoadingMore, setIsLoadingMore] = useState(true);
|
|
27
|
+
const [areAllChecked, setAreAllChecked] = useState(true);
|
|
28
|
+
const [searchedValue, setSearchedValue] = useState('');
|
|
29
|
+
const [areDisabled, setAreDisabled] = useState(false);
|
|
30
|
+
const isFirstRender = useRef(true);
|
|
31
|
+
const tokenRef = useRef();
|
|
32
|
+
const virtuosoHandleRef = useRef(null);
|
|
33
|
+
const baseRequestParams = {
|
|
34
|
+
koob: koob,
|
|
35
|
+
columns: [field],
|
|
36
|
+
distinct: true,
|
|
37
|
+
};
|
|
38
|
+
//Набор функций для взаимодействия с состояниями
|
|
39
|
+
const handleChangeInputValue = (newInputValue) => {
|
|
40
|
+
setInputValue(newInputValue);
|
|
41
|
+
};
|
|
42
|
+
const handleChangeAreAllChecked = (newAreAllChecked) => {
|
|
43
|
+
setAreAllChecked(newAreAllChecked);
|
|
44
|
+
};
|
|
45
|
+
const handleChangeSearchedValue = (newSearchedValue) => {
|
|
46
|
+
setSearchedValue(newSearchedValue);
|
|
47
|
+
};
|
|
48
|
+
const handleChangeExcludedData = (newExcludedData) => {
|
|
49
|
+
setExcludedData(newExcludedData);
|
|
50
|
+
};
|
|
51
|
+
const handleChangeIncludedData = (newIncludedData) => {
|
|
52
|
+
setIncludedData(newIncludedData);
|
|
53
|
+
};
|
|
54
|
+
const handleChangeIsLoading = (newValue) => {
|
|
55
|
+
setIsLoading(newValue);
|
|
56
|
+
};
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
getKoobDataByCfgFromLib({
|
|
59
|
+
data: Object.assign(Object.assign({}, baseRequestParams), { sort: [], filters: {} }),
|
|
60
|
+
isCount: true,
|
|
61
|
+
ds_name,
|
|
62
|
+
})
|
|
63
|
+
.then((resp) => {
|
|
64
|
+
setTotalCount(resp[0].count);
|
|
65
|
+
})
|
|
66
|
+
.catch(() => {
|
|
67
|
+
setTotalCount(0);
|
|
68
|
+
});
|
|
69
|
+
}, []);
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
// Примененные фмильтры по полям, на которые реагирует данный фильтр
|
|
72
|
+
const mergedFilters = activeFilters
|
|
73
|
+
? filtersConversionForControlDash(activeFilters, {
|
|
74
|
+
filters: completedFilters,
|
|
75
|
+
// Убираем ошибки типизации
|
|
76
|
+
result: {},
|
|
77
|
+
pendingFilters: {},
|
|
78
|
+
})
|
|
79
|
+
: {};
|
|
80
|
+
// Примененные фильтры по данному полю
|
|
81
|
+
const currentFieldFilters = (completedFilters === null || completedFilters === void 0 ? void 0 : completedFilters[field])
|
|
82
|
+
? { [field]: completedFilters === null || completedFilters === void 0 ? void 0 : completedFilters[field] }
|
|
83
|
+
: {};
|
|
84
|
+
const CancelToken = axios.CancelToken;
|
|
85
|
+
const source = CancelToken.source();
|
|
86
|
+
if (tokenRef.current) {
|
|
87
|
+
tokenRef.current.cancel('Невалидный запрос');
|
|
88
|
+
}
|
|
89
|
+
tokenRef.current = source;
|
|
90
|
+
getKoobDataByCfgFromLib({
|
|
91
|
+
data: Object.assign(Object.assign({}, baseRequestParams), { filters: Object.assign(Object.assign({}, mergedFilters), currentFieldFilters) }),
|
|
92
|
+
cfg: {
|
|
93
|
+
cancelToken: source.token,
|
|
94
|
+
},
|
|
95
|
+
isCount: true,
|
|
96
|
+
ds_name,
|
|
97
|
+
})
|
|
98
|
+
.then((resp) => {
|
|
99
|
+
setCurrentCount(resp[0].count);
|
|
100
|
+
})
|
|
101
|
+
.catch((error) => {
|
|
102
|
+
if (error.code !== 'ERR_CANCELED') {
|
|
103
|
+
setCurrentCount(0);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}, [completedFilters]);
|
|
107
|
+
//Отложенное значение в поле ввода
|
|
108
|
+
const debouncedSearchTerm = useDebounce(inputValue, 1000);
|
|
109
|
+
const restFilters = getCompletedFiltersWithoutField(field);
|
|
110
|
+
const debouncedTempApplyedFilters = useDebounce(restFilters, isFirstRender.current ? 0 : 1000);
|
|
111
|
+
const tempApplyedFilters = useMemo(() => {
|
|
112
|
+
if (activeFilters) {
|
|
113
|
+
return filtersConversionForControlDash(activeFilters, {
|
|
114
|
+
filters: completedFilters,
|
|
115
|
+
// Убираем ошибки типизации
|
|
116
|
+
result: {},
|
|
117
|
+
pendingFilters: {},
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
return {};
|
|
122
|
+
}
|
|
123
|
+
}, [debouncedTempApplyedFilters]);
|
|
124
|
+
useEffect(() => {
|
|
125
|
+
setAreDisabled(restFilters !== debouncedTempApplyedFilters);
|
|
126
|
+
}, [restFilters]);
|
|
127
|
+
useEffect(() => {
|
|
128
|
+
setAreDisabled(false);
|
|
129
|
+
}, [tempApplyedFilters]);
|
|
130
|
+
useEffect(() => {
|
|
131
|
+
if (isFirstRender.current === false) {
|
|
132
|
+
setIsLoadingMore(true);
|
|
133
|
+
getKoobDataByCfgFromLib({
|
|
134
|
+
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
|
|
135
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
136
|
+
: {})), tempApplyedFilters), limit: SIZE, offset: length }),
|
|
137
|
+
ds_name,
|
|
138
|
+
})
|
|
139
|
+
.then((resp) => setData(resp.map((item) => item[field])))
|
|
140
|
+
.catch(() => setData([]))
|
|
141
|
+
.finally(() => {
|
|
142
|
+
setIsLoading(false);
|
|
143
|
+
setIsLoadingMore(false);
|
|
144
|
+
setLength(0);
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}, [debouncedSearchTerm]);
|
|
148
|
+
useEffect(() => {
|
|
149
|
+
if (inputValue === debouncedSearchTerm) {
|
|
150
|
+
setIsLoading(false);
|
|
151
|
+
}
|
|
152
|
+
}, [inputValue]);
|
|
153
|
+
useEffect(() => {
|
|
154
|
+
setIsLoadingMore(true);
|
|
155
|
+
getKoobDataByCfgFromLib({
|
|
156
|
+
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
|
|
157
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
158
|
+
: {})), tempApplyedFilters), limit: SIZE, offset: length }),
|
|
159
|
+
ds_name,
|
|
160
|
+
})
|
|
161
|
+
.then((resp) => setData([...data, ...resp.map((item) => item[field])]))
|
|
162
|
+
.catch(() => setData([]))
|
|
163
|
+
.finally(() => {
|
|
164
|
+
isFirstRender.current = false;
|
|
165
|
+
setIsLoading(false);
|
|
166
|
+
setIsLoadingMore(false);
|
|
167
|
+
});
|
|
168
|
+
}, [length]);
|
|
169
|
+
useEffect(() => {
|
|
170
|
+
var _a;
|
|
171
|
+
if (!isFirstRender.current) {
|
|
172
|
+
setLength(0);
|
|
173
|
+
setAreDisabled(true);
|
|
174
|
+
(_a = virtuosoHandleRef === null || virtuosoHandleRef === void 0 ? void 0 : virtuosoHandleRef.current) === null || _a === void 0 ? void 0 : _a.scrollToIndex({
|
|
175
|
+
index: 0,
|
|
176
|
+
behavior: 'smooth',
|
|
177
|
+
});
|
|
178
|
+
getKoobDataByCfgFromLib({
|
|
179
|
+
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
|
|
180
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
181
|
+
: {})), tempApplyedFilters), limit: SIZE, offset: 0 }),
|
|
182
|
+
ds_name,
|
|
183
|
+
})
|
|
184
|
+
.then((resp) => {
|
|
185
|
+
setData(resp.map((item) => item[field]));
|
|
186
|
+
})
|
|
187
|
+
.catch(() => {
|
|
188
|
+
setData([]);
|
|
189
|
+
})
|
|
190
|
+
.finally(() => {
|
|
191
|
+
setIsLoading(false);
|
|
192
|
+
setIsLoadingMore(false);
|
|
193
|
+
setAreDisabled(false);
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}, [tempApplyedFilters]);
|
|
197
|
+
useEffect(() => {
|
|
198
|
+
//Если у нас есть какие-то фильтры
|
|
199
|
+
if (excludedData.length || includedData.length || searchedValue) {
|
|
200
|
+
//Если у нас есть поиск по ключевому слову
|
|
201
|
+
if (searchedValue) {
|
|
202
|
+
//Задаем базовое значение, к которому будем добавлять фильтры, если они выбраны
|
|
203
|
+
const filters = ['or'];
|
|
204
|
+
if (excludedData.length && includedData.length) {
|
|
205
|
+
filters.push([
|
|
206
|
+
'and',
|
|
207
|
+
['!=', ...excludedData],
|
|
208
|
+
['ilike', `%${searchedValue}%`],
|
|
209
|
+
]);
|
|
210
|
+
filters.push(['=', ...includedData]);
|
|
211
|
+
}
|
|
212
|
+
else if (excludedData.length) {
|
|
213
|
+
filters.push([
|
|
214
|
+
'and',
|
|
215
|
+
['!=', ...excludedData],
|
|
216
|
+
['ilike', `%${searchedValue}%`],
|
|
217
|
+
]);
|
|
218
|
+
}
|
|
219
|
+
else if (includedData.length) {
|
|
220
|
+
filters.push(['=', ...includedData]);
|
|
221
|
+
filters.push(['ilike', `%${searchedValue}%`]);
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
filters.push(['ilike', `%${searchedValue}%`]);
|
|
225
|
+
}
|
|
226
|
+
return handleChangeCompletedFilters({
|
|
227
|
+
[field]: filters,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
//Выбраны не все, добавляем значения по одному
|
|
231
|
+
if (includedData.length)
|
|
232
|
+
return handleChangeCompletedFilters({
|
|
233
|
+
[field]: ['=', ...includedData],
|
|
234
|
+
});
|
|
235
|
+
//Выбраны все, убираем значения по одному
|
|
236
|
+
if (excludedData.length)
|
|
237
|
+
return handleChangeCompletedFilters({
|
|
238
|
+
[field]: ['!=', ...excludedData],
|
|
239
|
+
});
|
|
240
|
+
//Если фильтров нет
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
if (areAllChecked) {
|
|
244
|
+
return handleChangeCompletedFilters({
|
|
245
|
+
[field]: undefined,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
if (!areAllChecked) {
|
|
249
|
+
return handleChangeCompletedFilters({
|
|
250
|
+
[field]: ['='],
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}, [excludedData.length, includedData.length, searchedValue, areAllChecked]);
|
|
255
|
+
//Парсим данные, пришедшие из фильтров
|
|
256
|
+
useEffect(() => {
|
|
257
|
+
if (applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters.includes('or')) {
|
|
258
|
+
//Убираем слово or
|
|
259
|
+
const slicedData = [...applyedFilters].slice(1, applyedFilters.length);
|
|
260
|
+
//Пробегаемся по оставшемуся массиву и добавляем в фильтры пришедшие значения
|
|
261
|
+
slicedData.forEach((item) => {
|
|
262
|
+
//Else if нужен для разделения случаев != и =
|
|
263
|
+
if (item.includes('and')) {
|
|
264
|
+
setExcludedData(item[1].filter((item) => item !== '!='));
|
|
265
|
+
setSearchedValue(item[2][1].split('%').join(''));
|
|
266
|
+
}
|
|
267
|
+
else if (item.includes('ilike')) {
|
|
268
|
+
setSearchedValue(item[1].split('%').join(''));
|
|
269
|
+
}
|
|
270
|
+
else if (item.includes('=')) {
|
|
271
|
+
setIncludedData(item.filter((item) => item !== '='));
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
if (applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters.includes('!=')) {
|
|
276
|
+
return setExcludedData(applyedFilters.filter((item) => item !== '!='));
|
|
277
|
+
}
|
|
278
|
+
if (applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters.includes('=')) {
|
|
279
|
+
//Случай, когда у нас не выбраны точечно фильтры
|
|
280
|
+
setAreAllChecked(false);
|
|
281
|
+
return setIncludedData(applyedFilters.filter((item) => item !== '='));
|
|
282
|
+
}
|
|
283
|
+
if (applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters.includes('ilike')) {
|
|
284
|
+
return setSearchedValue(applyedFilters[1].split('%').join(''));
|
|
285
|
+
}
|
|
286
|
+
}, [applyedFilters]);
|
|
287
|
+
return (jsxs(Layout, { direction: "column", children: [jsx(StaticMenu, { 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 }), jsx(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 })] }));
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
export { InfiniteScrollCheckboxesContent };
|
|
291
|
+
//# sourceMappingURL=InfiniteScrollCheckboxes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InfiniteScrollCheckboxes.js","sources":["../../../../../src/ui-components/FilterComponents/InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';\r\nimport axios, { CancelTokenSource } from 'axios';\r\nimport { VirtuosoHandle } from 'react-virtuoso';\r\nimport { Layout } from '@consta/uikit/Layout';\r\n\r\nimport { filtersConversionForControlDash } from '@/ui-components/helpers/filtersConversion';\r\nimport { useDebounce } from '@/ui-components/helpers/useDebounce';\r\nimport { getKoobDataByCfgFromLib } from '@/utils';\r\n\r\nimport { DatasetNameContext } from '../../CommonContexts';\r\nimport { SIZE } from '../constants';\r\nimport { CompletedFiltersContext } from '../Context';\r\nimport {\r\n InfiniteScrollCheckboxesConfig,\r\n OmitedComponentFields,\r\n} from '../types';\r\n\r\nimport { DynamicCheckboxesList } from './DynamicCheckboxesList/DynamicCheckboxesList';\r\nimport StaticMenu from './StaticMenu/StaticMenu';\r\n\r\ninterface InfiniteScrollComponents\r\n extends Omit<InfiniteScrollCheckboxesConfig, OmitedComponentFields> {\r\n applyedFilters: any[];\r\n}\r\n\r\nexport const InfiniteScrollCheckboxesContent: React.FC<\r\n InfiniteScrollComponents\r\n> = ({ koob, field, sortField, sortSymbol, activeFilters, applyedFilters }) => {\r\n const ds_name = useContext(DatasetNameContext);\r\n const {\r\n completedFilters,\r\n handleChangeCompletedFilters,\r\n getCompletedFiltersWithoutField,\r\n } = useContext(CompletedFiltersContext);\r\n\r\n const [totalCount, setTotalCount] = useState(0);\r\n const [currentCount, setCurrentCount] = useState(0);\r\n const [inputValue, setInputValue] = useState<string | null>(null);\r\n const [length, setLength] = useState(0);\r\n const [data, setData] = useState<string[]>([]);\r\n const [excludedData, setExcludedData] = useState<string[]>([]);\r\n const [includedData, setIncludedData] = useState<string[]>([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [isLoadingMore, setIsLoadingMore] = useState(true);\r\n const [areAllChecked, setAreAllChecked] = useState(true);\r\n const [searchedValue, setSearchedValue] = useState('');\r\n const [areDisabled, setAreDisabled] = useState(false);\r\n\r\n const isFirstRender = useRef(true);\r\n const tokenRef = useRef<CancelTokenSource | null>();\r\n const virtuosoHandleRef = useRef<VirtuosoHandle>(null);\r\n\r\n const baseRequestParams = {\r\n koob: koob as string,\r\n columns: [field],\r\n distinct: true,\r\n };\r\n\r\n //Набор функций для взаимодействия с состояниями\r\n const handleChangeInputValue = (newInputValue: string | null) => {\r\n setInputValue(newInputValue);\r\n };\r\n\r\n const handleChangeAreAllChecked = (newAreAllChecked: boolean) => {\r\n setAreAllChecked(newAreAllChecked);\r\n };\r\n\r\n const handleChangeSearchedValue = (newSearchedValue: string) => {\r\n setSearchedValue(newSearchedValue);\r\n };\r\n\r\n const handleChangeExcludedData = (\r\n newExcludedData: string[] | ((prev: string[]) => string[])\r\n ) => {\r\n setExcludedData(newExcludedData);\r\n };\r\n\r\n const handleChangeIncludedData = (\r\n newIncludedData: string[] | ((prev: string[]) => string[])\r\n ) => {\r\n setIncludedData(newIncludedData);\r\n };\r\n\r\n const handleChangeIsLoading = (newValue: boolean) => {\r\n setIsLoading(newValue);\r\n };\r\n\r\n useEffect(() => {\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n ...baseRequestParams,\r\n sort: [],\r\n filters: {},\r\n },\r\n isCount: true,\r\n ds_name,\r\n })\r\n .then((resp: Record<string, number>[]) => {\r\n setTotalCount(resp[0].count);\r\n })\r\n .catch(() => {\r\n setTotalCount(0);\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n // Примененные фмильтры по полям, на которые реагирует данный фильтр\r\n const mergedFilters = activeFilters\r\n ? filtersConversionForControlDash(activeFilters, {\r\n filters: completedFilters,\r\n // Убираем ошибки типизации\r\n result: {},\r\n pendingFilters: {},\r\n })\r\n : {};\r\n // Примененные фильтры по данному полю\r\n const currentFieldFilters = completedFilters?.[field]\r\n ? { [field]: completedFilters?.[field] }\r\n : {};\r\n\r\n const CancelToken = axios.CancelToken;\r\n const source = CancelToken.source();\r\n\r\n if (tokenRef.current) {\r\n tokenRef.current.cancel('Невалидный запрос');\r\n }\r\n\r\n tokenRef.current = source;\r\n\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n ...baseRequestParams,\r\n filters: { ...mergedFilters, ...currentFieldFilters },\r\n },\r\n cfg: {\r\n cancelToken: source.token,\r\n },\r\n isCount: true,\r\n ds_name,\r\n })\r\n .then((resp: Record<string, number>[]) => {\r\n setCurrentCount(resp[0].count);\r\n })\r\n .catch((error) => {\r\n if (error.code !== 'ERR_CANCELED') {\r\n setCurrentCount(0);\r\n }\r\n });\r\n }, [completedFilters]);\r\n\r\n //Отложенное значение в поле ввода\r\n const debouncedSearchTerm = useDebounce(inputValue, 1000);\r\n\r\n const restFilters = getCompletedFiltersWithoutField(field);\r\n\r\n const debouncedTempApplyedFilters = useDebounce(\r\n restFilters,\r\n isFirstRender.current ? 0 : 1000\r\n );\r\n\r\n const tempApplyedFilters = useMemo(() => {\r\n if (activeFilters) {\r\n return filtersConversionForControlDash(activeFilters, {\r\n filters: completedFilters,\r\n // Убираем ошибки типизации\r\n result: {},\r\n pendingFilters: {},\r\n });\r\n } else {\r\n return {};\r\n }\r\n }, [debouncedTempApplyedFilters]);\r\n\r\n useEffect(() => {\r\n setAreDisabled(restFilters !== debouncedTempApplyedFilters);\r\n }, [restFilters]);\r\n\r\n useEffect(() => {\r\n setAreDisabled(false);\r\n }, [tempApplyedFilters]);\r\n\r\n useEffect(() => {\r\n if (isFirstRender.current === false) {\r\n setIsLoadingMore(true);\r\n\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n ...baseRequestParams,\r\n sort: [`${sortSymbol ?? '+'}${sortField ?? field}`],\r\n filters: {\r\n ...(debouncedSearchTerm\r\n ? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }\r\n : {}),\r\n ...tempApplyedFilters,\r\n },\r\n limit: SIZE,\r\n offset: length,\r\n },\r\n ds_name,\r\n })\r\n .then((resp: Record<string, string>[]) =>\r\n setData(resp.map((item) => item[field]))\r\n )\r\n .catch(() => setData([]))\r\n .finally(() => {\r\n setIsLoading(false);\r\n setIsLoadingMore(false);\r\n setLength(0);\r\n });\r\n }\r\n }, [debouncedSearchTerm]);\r\n\r\n useEffect(() => {\r\n if (inputValue === debouncedSearchTerm) {\r\n setIsLoading(false);\r\n }\r\n }, [inputValue]);\r\n\r\n useEffect(() => {\r\n setIsLoadingMore(true);\r\n\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n ...baseRequestParams,\r\n sort: [`${sortSymbol ?? '+'}${sortField ?? field}`],\r\n filters: {\r\n ...(debouncedSearchTerm\r\n ? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }\r\n : {}),\r\n ...tempApplyedFilters,\r\n },\r\n limit: SIZE,\r\n offset: length,\r\n },\r\n ds_name,\r\n })\r\n .then((resp: Record<string, string>[]) =>\r\n setData([...data, ...resp.map((item) => item[field])])\r\n )\r\n .catch(() => setData([]))\r\n .finally(() => {\r\n isFirstRender.current = false;\r\n setIsLoading(false);\r\n setIsLoadingMore(false);\r\n });\r\n }, [length]);\r\n\r\n useEffect(() => {\r\n if (!isFirstRender.current) {\r\n setLength(0);\r\n setAreDisabled(true);\r\n virtuosoHandleRef?.current?.scrollToIndex({\r\n index: 0,\r\n behavior: 'smooth',\r\n });\r\n\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n ...baseRequestParams,\r\n sort: [`${sortSymbol ?? '+'}${sortField ?? field}`],\r\n filters: {\r\n ...(debouncedSearchTerm\r\n ? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }\r\n : {}),\r\n ...tempApplyedFilters,\r\n },\r\n limit: SIZE,\r\n offset: 0,\r\n },\r\n ds_name,\r\n })\r\n .then((resp: Record<string, string>[]) => {\r\n setData(resp.map((item) => item[field]));\r\n })\r\n .catch(() => {\r\n setData([]);\r\n })\r\n .finally(() => {\r\n setIsLoading(false);\r\n setIsLoadingMore(false);\r\n setAreDisabled(false);\r\n });\r\n }\r\n }, [tempApplyedFilters]);\r\n\r\n useEffect(() => {\r\n //Если у нас есть какие-то фильтры\r\n if (excludedData.length || includedData.length || searchedValue) {\r\n //Если у нас есть поиск по ключевому слову\r\n if (searchedValue) {\r\n //Задаем базовое значение, к которому будем добавлять фильтры, если они выбраны\r\n const filters: any = ['or'];\r\n\r\n if (excludedData.length && includedData.length) {\r\n filters.push([\r\n 'and',\r\n ['!=', ...excludedData],\r\n ['ilike', `%${searchedValue}%`],\r\n ]);\r\n filters.push(['=', ...includedData]);\r\n } else if (excludedData.length) {\r\n filters.push([\r\n 'and',\r\n ['!=', ...excludedData],\r\n ['ilike', `%${searchedValue}%`],\r\n ]);\r\n } else if (includedData.length) {\r\n filters.push(['=', ...includedData]);\r\n filters.push(['ilike', `%${searchedValue}%`]);\r\n } else {\r\n filters.push(['ilike', `%${searchedValue}%`]);\r\n }\r\n\r\n return handleChangeCompletedFilters({\r\n [field]: filters,\r\n });\r\n }\r\n\r\n //Выбраны не все, добавляем значения по одному\r\n if (includedData.length)\r\n return handleChangeCompletedFilters({\r\n [field]: ['=', ...includedData],\r\n });\r\n //Выбраны все, убираем значения по одному\r\n if (excludedData.length)\r\n return handleChangeCompletedFilters({\r\n [field]: ['!=', ...excludedData],\r\n });\r\n\r\n //Если фильтров нет\r\n } else {\r\n if (areAllChecked) {\r\n return handleChangeCompletedFilters({\r\n [field]: undefined,\r\n });\r\n }\r\n\r\n if (!areAllChecked) {\r\n return handleChangeCompletedFilters({\r\n [field]: ['='],\r\n });\r\n }\r\n }\r\n }, [excludedData.length, includedData.length, searchedValue, areAllChecked]);\r\n\r\n //Парсим данные, пришедшие из фильтров\r\n useEffect(() => {\r\n if (applyedFilters?.includes('or')) {\r\n //Убираем слово or\r\n const slicedData = [...applyedFilters].slice(1, applyedFilters.length);\r\n\r\n //Пробегаемся по оставшемуся массиву и добавляем в фильтры пришедшие значения\r\n slicedData.forEach((item: string[][] | string | string[]) => {\r\n //Else if нужен для разделения случаев != и =\r\n if ((item as string[]).includes('and')) {\r\n setExcludedData(\r\n (item[1] as string[]).filter((item) => item !== '!=')\r\n );\r\n setSearchedValue(item[2][1].split('%').join(''));\r\n } else if ((item as string[]).includes('ilike')) {\r\n setSearchedValue((item[1] as string).split('%').join(''));\r\n } else if ((item as string[]).includes('=')) {\r\n setIncludedData((item as string[]).filter((item) => item !== '='));\r\n }\r\n });\r\n }\r\n\r\n if (applyedFilters?.includes('!=')) {\r\n return setExcludedData(\r\n (applyedFilters as string[]).filter((item) => item !== '!=')\r\n );\r\n }\r\n\r\n if (applyedFilters?.includes('=')) {\r\n //Случай, когда у нас не выбраны точечно фильтры\r\n setAreAllChecked(false);\r\n return setIncludedData(\r\n (applyedFilters as string[]).filter((item) => item !== '=')\r\n );\r\n }\r\n\r\n if (applyedFilters?.includes('ilike')) {\r\n return setSearchedValue(\r\n (applyedFilters[1] as string).split('%').join('')\r\n );\r\n }\r\n }, [applyedFilters]);\r\n\r\n return (\r\n <Layout direction=\"column\">\r\n <StaticMenu\r\n areDisabled={areDisabled}\r\n dataLength={data.length}\r\n isLoading={isLoading}\r\n inputValue={inputValue}\r\n totalCount={totalCount}\r\n currentCount={currentCount}\r\n handleChangeInputValue={handleChangeInputValue}\r\n handleChangeIsLoading={handleChangeIsLoading}\r\n handleChangeAreAllChecked={handleChangeAreAllChecked}\r\n handleChangeSearchedValue={handleChangeSearchedValue}\r\n handleChangeIncludedData={handleChangeIncludedData}\r\n handleChangeExcludedData={handleChangeExcludedData}\r\n />\r\n <DynamicCheckboxesList\r\n areDisabled={areDisabled}\r\n data={isLoading ? [] : data}\r\n areAllChecked={areAllChecked}\r\n searchedValue={searchedValue}\r\n excludedData={excludedData}\r\n includedData={includedData}\r\n handleChangeIncludedData={handleChangeIncludedData}\r\n handleChangeExcludedData={handleChangeExcludedData}\r\n isLoadingMore={isLoadingMore || isLoading}\r\n setLength={setLength}\r\n virtuosoHandleRef={virtuosoHandleRef}\r\n />\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
package/dist/esm/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Checkbox } from '@consta/uikit/Checkbox';
|
|
3
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
4
|
+
import { Text } from '@consta/uikit/Text';
|
|
5
|
+
import { TextField } from '@consta/uikit/TextField';
|
|
6
|
+
import styles from '../../styles/ControlDashStyles.module.scss.js';
|
|
7
|
+
|
|
8
|
+
const StaticMenu = ({ areDisabled, dataLength, inputValue, isLoading, totalCount, currentCount, handleChangeInputValue, handleChangeAreAllChecked, handleChangeSearchedValue, handleChangeIncludedData, handleChangeExcludedData, handleChangeIsLoading, }) => {
|
|
9
|
+
return (jsxs(Fragment, { children: [jsx(TextField, { className: styles.infiniteScrollFilters__search, size: "s", placeholder: "\u041D\u0430\u0439\u0442\u0438", value: inputValue, onChange: (value) => {
|
|
10
|
+
handleChangeIsLoading(true);
|
|
11
|
+
handleChangeInputValue(value);
|
|
12
|
+
}, onKeyDown: (e) => {
|
|
13
|
+
if (e.key === 'Enter') {
|
|
14
|
+
handleChangeAreAllChecked(true);
|
|
15
|
+
handleChangeSearchedValue((inputValue || '').toLowerCase());
|
|
16
|
+
}
|
|
17
|
+
} }), jsx(Layout, { className: styles.infiniteScrollFilters__selectAll, children: !isLoading && !!dataLength && (jsxs(Fragment, { children: [jsx(Checkbox, { disabled: areDisabled, checked: currentCount > 0, intermediate: totalCount !== currentCount && currentCount > 0, label: "\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435", size: "s", onChange: ({ target }) => {
|
|
18
|
+
const checked = target.checked;
|
|
19
|
+
//Если не выбираем все или поле ввода пустое, то ключевое слово имеет значение ''
|
|
20
|
+
if (!checked) {
|
|
21
|
+
handleChangeSearchedValue('');
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
handleChangeSearchedValue((inputValue !== null && inputValue !== void 0 ? inputValue : '').toLowerCase());
|
|
25
|
+
}
|
|
26
|
+
handleChangeAreAllChecked(checked);
|
|
27
|
+
handleChangeIncludedData([]);
|
|
28
|
+
handleChangeExcludedData([]);
|
|
29
|
+
} }), jsxs(Text, { view: "primary", size: "s", children: [currentCount, " \u0438\u0437 ", totalCount] })] })) })] }));
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export { StaticMenu as default };
|
|
33
|
+
//# sourceMappingURL=StaticMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticMenu.js","sources":["../../../../../../src/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Checkbox } from '@consta/uikit/Checkbox';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Text } from '@consta/uikit/Text';\r\nimport { TextField } from '@consta/uikit/TextField';\r\n\r\nimport styles from '../../styles/ControlDashStyles.module.scss';\r\n\r\ninterface StaticMenu {\r\n areDisabled: boolean;\r\n dataLength: number;\r\n inputValue: string | null;\r\n isLoading: boolean;\r\n totalCount: number;\r\n currentCount: number;\r\n handleChangeInputValue: (newInputValue: string | null) => void;\r\n handleChangeAreAllChecked: (newAreAllChecked: boolean) => void;\r\n handleChangeSearchedValue: (newSearchedValue: string) => void;\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 handleChangeIsLoading: (newValue: boolean) => void;\r\n}\r\n\r\nconst StaticMenu: React.FC<StaticMenu> = ({\r\n areDisabled,\r\n dataLength,\r\n inputValue,\r\n isLoading,\r\n totalCount,\r\n currentCount,\r\n handleChangeInputValue,\r\n handleChangeAreAllChecked,\r\n handleChangeSearchedValue,\r\n handleChangeIncludedData,\r\n handleChangeExcludedData,\r\n handleChangeIsLoading,\r\n}) => {\r\n return (\r\n <>\r\n <TextField\r\n className={styles.infiniteScrollFilters__search}\r\n size=\"s\"\r\n placeholder=\"Найти\"\r\n value={inputValue}\r\n onChange={(value) => {\r\n handleChangeIsLoading(true);\r\n handleChangeInputValue(value);\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter') {\r\n handleChangeAreAllChecked(true);\r\n handleChangeSearchedValue((inputValue || '').toLowerCase());\r\n }\r\n }}\r\n />\r\n\r\n <Layout className={styles.infiniteScrollFilters__selectAll}>\r\n {!isLoading && !!dataLength && (\r\n <>\r\n <Checkbox\r\n disabled={areDisabled}\r\n checked={currentCount > 0}\r\n intermediate={totalCount !== currentCount && currentCount > 0}\r\n label=\"Выбрать все\"\r\n size=\"s\"\r\n onChange={({ target }) => {\r\n const checked = target.checked;\r\n\r\n //Если не выбираем все или поле ввода пустое, то ключевое слово имеет значение ''\r\n if (!checked) {\r\n handleChangeSearchedValue('');\r\n } else {\r\n handleChangeSearchedValue((inputValue ?? '').toLowerCase());\r\n }\r\n\r\n handleChangeAreAllChecked(checked);\r\n handleChangeIncludedData([]);\r\n handleChangeExcludedData([]);\r\n }}\r\n />\r\n <Text view=\"primary\" size=\"s\">\r\n {currentCount} из {totalCount}\r\n </Text>\r\n </>\r\n )}\r\n </Layout>\r\n </>\r\n );\r\n};\r\n\r\nexport default StaticMenu;\r\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;;;AA2BA,MAAM,UAAU,GAAyB,CAAC,EACxC,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,GACtB,KAAI;AACH,IAAA,QACEA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEC,GAAC,CAAA,SAAS,EACR,EAAA,SAAS,EAAE,MAAM,CAAC,6BAA6B,EAC/C,IAAI,EAAC,GAAG,EACR,WAAW,EAAC,gCAAO,EACnB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,KAAK,KAAI;oBAClB,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC5B,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAChC,iBAAC,EACD,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,oBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;wBACrB,yBAAyB,CAAC,IAAI,CAAC,CAAC;wBAChC,yBAAyB,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;qBAC7D;iBACF,EAAA,CACD,EAEFA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAE,MAAM,CAAC,gCAAgC,EAAA,QAAA,EACvD,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,KACzBF,IACE,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CAAAC,GAAA,CAAC,QAAQ,EAAA,EACP,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,YAAY,GAAG,CAAC,EACzB,YAAY,EAAE,UAAU,KAAK,YAAY,IAAI,YAAY,GAAG,CAAC,EAC7D,KAAK,EAAC,+DAAa,EACnB,IAAI,EAAC,GAAG,EACR,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI;AACvB,gCAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;;gCAG/B,IAAI,CAAC,OAAO,EAAE;oCACZ,yBAAyB,CAAC,EAAE,CAAC,CAAC;iCAC/B;qCAAM;AACL,oCAAA,yBAAyB,CAAC,CAAC,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,UAAU,GAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;iCAC7D;gCAED,yBAAyB,CAAC,OAAO,CAAC,CAAC;gCACnC,wBAAwB,CAAC,EAAE,CAAC,CAAC;gCAC7B,wBAAwB,CAAC,EAAE,CAAC,CAAC;6BAC9B,EAAA,CACD,EACFF,IAAC,CAAA,IAAI,IAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,GAAG,EAC1B,QAAA,EAAA,CAAA,YAAY,oBAAM,UAAU,CAAA,EAAA,CACxB,IACN,CACJ,EAAA,CACM,CACR,EAAA,CAAA,EACH;AACJ;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import cn from 'classnames';
|
|
4
|
+
import { Virtuoso } from 'react-virtuoso';
|
|
5
|
+
import { cnMixScrollBar } from '@consta/uikit/MixScrollBar';
|
|
6
|
+
import { Radio } from '@consta/uikit/Radio';
|
|
7
|
+
import { SIZE } from '../../constants.js';
|
|
8
|
+
import { CompletedFiltersContext } from '../../Context/CompletedFiltersContext.js';
|
|
9
|
+
import { VirtuosoFooter } from '../../VirtuosoFooter/index.js';
|
|
10
|
+
import styles from '../../styles/ControlDashStyles.module.scss.js';
|
|
11
|
+
|
|
12
|
+
const DynamicRadioList = ({ field, areDisabled, data, isLoading, handleChangeLength, currentValue, virtuosoHandleRef, handleChangeCurrentValue, }) => {
|
|
13
|
+
const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);
|
|
14
|
+
return (jsx(Virtuoso, { ref: virtuosoHandleRef, className: cn(styles.infiniteScrollFilters__content, [
|
|
15
|
+
cnMixScrollBar({ size: 'm' }),
|
|
16
|
+
]), data: data, endReached: (index) => {
|
|
17
|
+
if ((index + 1) % SIZE === 0) {
|
|
18
|
+
handleChangeLength(index + 1);
|
|
19
|
+
}
|
|
20
|
+
}, increaseViewportBy: 0, itemContent: (_, item) => {
|
|
21
|
+
return (jsx(Radio, { size: "s", label: item, disabled: areDisabled, checked: item === currentValue, className: styles.infiniteScrollFilters__singleCheckbox, onMouseDown: (event) => {
|
|
22
|
+
if (event.button === 0)
|
|
23
|
+
if (item !== currentValue) {
|
|
24
|
+
handleChangeCurrentValue(item);
|
|
25
|
+
handleChangeCompletedFilters({
|
|
26
|
+
[field]: ['=', item],
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
handleChangeCurrentValue(undefined);
|
|
31
|
+
handleChangeCompletedFilters({
|
|
32
|
+
[field]: undefined,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
} }));
|
|
36
|
+
}, components: {
|
|
37
|
+
Footer: () => (jsx(VirtuosoFooter, { isLoading: isLoading, dataLength: data.length })),
|
|
38
|
+
} }));
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { DynamicRadioList };
|
|
42
|
+
//# sourceMappingURL=DynamicRadioList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicRadioList.js","sources":["../../../../../../src/ui-components/FilterComponents/InfiniteScrollRadio/DynamicRadioList/DynamicRadioList.tsx"],"sourcesContent":["import React, { Ref, useContext } from 'react';\r\nimport classNames from 'classnames';\r\nimport { Virtuoso, VirtuosoHandle } from 'react-virtuoso';\r\nimport { cnMixScrollBar } from '@consta/uikit/MixScrollBar';\r\nimport { Radio } from '@consta/uikit/Radio';\r\n\r\nimport { SIZE } from '../../constants';\r\nimport { CompletedFiltersContext } from '../../Context';\r\nimport { VirtuosoFooter } from '../../VirtuosoFooter';\r\n\r\nimport styles from '../../styles/ControlDashStyles.module.scss';\r\n\r\ninterface DynamicRadioListProps {\r\n field: string;\r\n areDisabled: boolean;\r\n data: string[];\r\n isLoading: boolean;\r\n handleChangeLength: (value: number) => void;\r\n currentValue: string | undefined;\r\n virtuosoHandleRef: Ref<VirtuosoHandle> | null;\r\n handleChangeCurrentValue: (value: string | undefined) => void;\r\n}\r\n\r\nexport const DynamicRadioList: React.FC<DynamicRadioListProps> = ({\r\n field,\r\n areDisabled,\r\n data,\r\n isLoading,\r\n handleChangeLength,\r\n currentValue,\r\n virtuosoHandleRef,\r\n handleChangeCurrentValue,\r\n}) => {\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\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 handleChangeLength(index + 1);\r\n }\r\n }}\r\n increaseViewportBy={0}\r\n itemContent={(_, item) => {\r\n return (\r\n <Radio\r\n size=\"s\"\r\n label={item}\r\n disabled={areDisabled}\r\n checked={item === currentValue}\r\n className={styles.infiniteScrollFilters__singleCheckbox}\r\n onMouseDown={(event) => {\r\n if (event.button === 0)\r\n if (item !== currentValue) {\r\n handleChangeCurrentValue(item);\r\n handleChangeCompletedFilters({\r\n [field]: ['=', item],\r\n });\r\n } else {\r\n handleChangeCurrentValue(undefined);\r\n handleChangeCompletedFilters({\r\n [field]: undefined,\r\n });\r\n }\r\n }}\r\n />\r\n );\r\n }}\r\n components={{\r\n Footer: () => (\r\n <VirtuosoFooter isLoading={isLoading} dataLength={data.length} />\r\n ),\r\n }}\r\n />\r\n );\r\n};\r\n"],"names":["_jsx","classNames"],"mappings":";;;;;;;;;;;MAuBa,gBAAgB,GAAoC,CAAC,EAChE,KAAK,EACL,WAAW,EACX,IAAI,EACJ,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,GACzB,KAAI;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;AAC7E,IAAA,QACEA,GAAA,CAAC,QAAQ,EAAA,EACP,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAEC,EAAU,CAAC,MAAM,CAAC,8BAA8B,EAAE;AAC3D,YAAA,cAAc,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,IAAI,IAAI,KAAK,CAAC,EAAE;AAC5B,gBAAA,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;aAC/B;AACH,SAAC,EACD,kBAAkB,EAAE,CAAC,EACrB,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;AACvB,YAAA,QACED,GAAA,CAAC,KAAK,EAAA,EACJ,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,IAAI,KAAK,YAAY,EAC9B,SAAS,EAAE,MAAM,CAAC,qCAAqC,EACvD,WAAW,EAAE,CAAC,KAAK,KAAI;AACrB,oBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AACpB,wBAAA,IAAI,IAAI,KAAK,YAAY,EAAE;4BACzB,wBAAwB,CAAC,IAAI,CAAC,CAAC;AAC/B,4BAAA,4BAA4B,CAAC;AAC3B,gCAAA,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;AACrB,6BAAA,CAAC,CAAC;yBACJ;6BAAM;4BACL,wBAAwB,CAAC,SAAS,CAAC,CAAC;AACpC,4BAAA,4BAA4B,CAAC;gCAC3B,CAAC,KAAK,GAAG,SAAS;AACnB,6BAAA,CAAC,CAAC;yBACJ;iBACJ,EAAA,CACD,EACF;SACH,EACD,UAAU,EAAE;AACV,YAAA,MAAM,EAAE,OACNA,GAAA,CAAC,cAAc,EAAC,EAAA,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,GAAI,CAClE;AACF,SAAA,EAAA,CACD,EACF;AACJ;;;;"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext, useState, useRef, useEffect, useMemo } from 'react';
|
|
3
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
4
|
+
import { TextField } from '@consta/uikit/TextField';
|
|
5
|
+
import { filtersConversionForControlDash } from '../../helpers/filtersConversion.js';
|
|
6
|
+
import { useDebounce } from '../../helpers/useDebounce.js';
|
|
7
|
+
import 'axios';
|
|
8
|
+
import 'axios-retry';
|
|
9
|
+
import { getKoobDataByCfgFromLib } from '../../../utils/getKoobDataByCfg.js';
|
|
10
|
+
import { DatasetNameContext } from '../../CommonContexts/DatasetNameContext.js';
|
|
11
|
+
import { SIZE } from '../constants.js';
|
|
12
|
+
import { CompletedFiltersContext } from '../Context/CompletedFiltersContext.js';
|
|
13
|
+
import { DynamicRadioList } from './DynamicRadioList/DynamicRadioList.js';
|
|
14
|
+
import styles from '../styles/ControlDashStyles.module.scss.js';
|
|
15
|
+
|
|
16
|
+
const InfiniteScrollRadio = ({ applyedFilters, koob, field, sortField, sortSymbol, activeFilters, }) => {
|
|
17
|
+
const ds_name = useContext(DatasetNameContext);
|
|
18
|
+
const { completedFilters, getCompletedFiltersWithoutField } = useContext(CompletedFiltersContext);
|
|
19
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
20
|
+
const [isLoadingMore, setIsLoadingMore] = useState(true);
|
|
21
|
+
const [data, setData] = useState([]);
|
|
22
|
+
const [length, setLength] = useState(0);
|
|
23
|
+
const [searchedValue, setSearchedValue] = useState(null);
|
|
24
|
+
const [currentValue, setCurrentValue] = useState(applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters[1]);
|
|
25
|
+
const [areDisabled, setAreDisabled] = useState(false);
|
|
26
|
+
const isFirstRender = useRef(true);
|
|
27
|
+
const virtuosoHandleRef = useRef(null);
|
|
28
|
+
//Отложенное значение в поле ввода
|
|
29
|
+
const debouncedSearchTerm = useDebounce(searchedValue, 1000);
|
|
30
|
+
const restFilters = getCompletedFiltersWithoutField(field);
|
|
31
|
+
const debouncedTempApplyedFilters = useDebounce(restFilters, 1000);
|
|
32
|
+
const handleChangeCurrentValue = (value) => {
|
|
33
|
+
setCurrentValue(value);
|
|
34
|
+
};
|
|
35
|
+
const handleChangeLength = (value) => {
|
|
36
|
+
setLength(value);
|
|
37
|
+
};
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (searchedValue === debouncedSearchTerm) {
|
|
40
|
+
setIsLoading(false);
|
|
41
|
+
}
|
|
42
|
+
}, [searchedValue]);
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
setAreDisabled(restFilters !== debouncedTempApplyedFilters);
|
|
45
|
+
}, [restFilters]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
setAreDisabled(false);
|
|
48
|
+
}, [debouncedTempApplyedFilters]);
|
|
49
|
+
const tempApplyedFilters = useMemo(() => {
|
|
50
|
+
if (activeFilters) {
|
|
51
|
+
return filtersConversionForControlDash(activeFilters, {
|
|
52
|
+
filters: completedFilters,
|
|
53
|
+
// Убираем ошибки типизации
|
|
54
|
+
result: {},
|
|
55
|
+
pendingFilters: {},
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return {};
|
|
60
|
+
}
|
|
61
|
+
}, [debouncedTempApplyedFilters]);
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
if (isFirstRender.current === false) {
|
|
64
|
+
setIsLoading(true);
|
|
65
|
+
getKoobDataByCfgFromLib({
|
|
66
|
+
data: {
|
|
67
|
+
koob: koob,
|
|
68
|
+
columns: [field],
|
|
69
|
+
distinct: true,
|
|
70
|
+
sort: [`${sortSymbol !== null && sortSymbol !== void 0 ? sortSymbol : '+'}${sortField !== null && sortField !== void 0 ? sortField : field}`],
|
|
71
|
+
filters: Object.assign(Object.assign({}, (debouncedSearchTerm
|
|
72
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
73
|
+
: {})), tempApplyedFilters),
|
|
74
|
+
limit: SIZE,
|
|
75
|
+
offset: length,
|
|
76
|
+
},
|
|
77
|
+
ds_name,
|
|
78
|
+
})
|
|
79
|
+
.then((resp) => setData(resp.map((item) => item[field])))
|
|
80
|
+
.catch(() => setData([]))
|
|
81
|
+
.finally(() => {
|
|
82
|
+
setIsLoading(false);
|
|
83
|
+
setIsLoadingMore(false);
|
|
84
|
+
setLength(0);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}, [debouncedSearchTerm]);
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
setIsLoadingMore(true);
|
|
90
|
+
getKoobDataByCfgFromLib({
|
|
91
|
+
data: {
|
|
92
|
+
koob: koob,
|
|
93
|
+
columns: [field],
|
|
94
|
+
distinct: true,
|
|
95
|
+
sort: [`${sortSymbol !== null && sortSymbol !== void 0 ? sortSymbol : '+'}${sortField !== null && sortField !== void 0 ? sortField : field}`],
|
|
96
|
+
filters: Object.assign(Object.assign({}, (debouncedSearchTerm
|
|
97
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
98
|
+
: {})), tempApplyedFilters),
|
|
99
|
+
limit: SIZE,
|
|
100
|
+
offset: length,
|
|
101
|
+
},
|
|
102
|
+
ds_name,
|
|
103
|
+
})
|
|
104
|
+
.then((resp) => setData([...data, ...resp.map((item) => item[field])]))
|
|
105
|
+
.catch(() => setData([]))
|
|
106
|
+
.finally(() => {
|
|
107
|
+
isFirstRender.current = false;
|
|
108
|
+
setIsLoading(false);
|
|
109
|
+
setIsLoadingMore(false);
|
|
110
|
+
});
|
|
111
|
+
}, [length]);
|
|
112
|
+
useEffect(() => {
|
|
113
|
+
var _a;
|
|
114
|
+
if (!isFirstRender.current) {
|
|
115
|
+
setLength(0);
|
|
116
|
+
setAreDisabled(true);
|
|
117
|
+
(_a = virtuosoHandleRef === null || virtuosoHandleRef === void 0 ? void 0 : virtuosoHandleRef.current) === null || _a === void 0 ? void 0 : _a.scrollToIndex({
|
|
118
|
+
index: 0,
|
|
119
|
+
behavior: 'smooth',
|
|
120
|
+
});
|
|
121
|
+
getKoobDataByCfgFromLib({
|
|
122
|
+
data: {
|
|
123
|
+
koob: koob,
|
|
124
|
+
columns: [field],
|
|
125
|
+
distinct: true,
|
|
126
|
+
sort: [`${sortSymbol !== null && sortSymbol !== void 0 ? sortSymbol : '+'}${sortField !== null && sortField !== void 0 ? sortField : field}`],
|
|
127
|
+
filters: Object.assign(Object.assign({}, (debouncedSearchTerm
|
|
128
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
129
|
+
: {})), tempApplyedFilters),
|
|
130
|
+
limit: SIZE,
|
|
131
|
+
offset: 0,
|
|
132
|
+
},
|
|
133
|
+
ds_name,
|
|
134
|
+
})
|
|
135
|
+
.then((resp) => {
|
|
136
|
+
setData(resp.map((item) => item[field]));
|
|
137
|
+
})
|
|
138
|
+
.catch(() => {
|
|
139
|
+
setData([]);
|
|
140
|
+
})
|
|
141
|
+
.finally(() => {
|
|
142
|
+
setIsLoading(false);
|
|
143
|
+
setIsLoadingMore(false);
|
|
144
|
+
setAreDisabled(false);
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}, [tempApplyedFilters]);
|
|
148
|
+
return (jsxs(Layout, { direction: "column", children: [jsx(TextField, { placeholder: "\u041D\u0430\u0439\u0442\u0438", value: searchedValue, onChange: (value) => {
|
|
149
|
+
setSearchedValue(value);
|
|
150
|
+
setIsLoading(true);
|
|
151
|
+
}, className: styles.infiniteScrollFilters__search, size: "s" }), jsx(DynamicRadioList, { field: field, areDisabled: areDisabled, data: isLoading ? [] : data, isLoading: isLoadingMore || isLoading, handleChangeLength: handleChangeLength, currentValue: currentValue, virtuosoHandleRef: virtuosoHandleRef, handleChangeCurrentValue: handleChangeCurrentValue })] }));
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export { InfiniteScrollRadio };
|
|
155
|
+
//# sourceMappingURL=index.js.map
|