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 @@
|
|
|
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":["useContext","DatasetNameContext","CompletedFiltersContext","useState","useRef","useEffect","getKoobDataByCfgFromLib","filtersConversionForControlDash","useDebounce","useMemo","SIZE","_jsxs","Layout","_jsx","StaticMenu","DynamicCheckboxesList"],"mappings":"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"}
|
package/dist/cjs/ui-components/FilterComponents/InfiniteScrollCheckboxes/StaticMenu/StaticMenu.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var Checkbox = require('@consta/uikit/Checkbox');
|
|
7
|
+
var Layout = require('@consta/uikit/Layout');
|
|
8
|
+
var Text = require('@consta/uikit/Text');
|
|
9
|
+
var TextField = require('@consta/uikit/TextField');
|
|
10
|
+
var ControlDashStyles_module = require('../../styles/ControlDashStyles.module.scss.js');
|
|
11
|
+
|
|
12
|
+
const StaticMenu = ({ areDisabled, dataLength, inputValue, isLoading, totalCount, currentCount, handleChangeInputValue, handleChangeAreAllChecked, handleChangeSearchedValue, handleChangeIncludedData, handleChangeExcludedData, handleChangeIsLoading, }) => {
|
|
13
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(TextField.TextField, { className: ControlDashStyles_module.default.infiniteScrollFilters__search, size: "s", placeholder: "\u041D\u0430\u0439\u0442\u0438", value: inputValue, onChange: (value) => {
|
|
14
|
+
handleChangeIsLoading(true);
|
|
15
|
+
handleChangeInputValue(value);
|
|
16
|
+
}, onKeyDown: (e) => {
|
|
17
|
+
if (e.key === 'Enter') {
|
|
18
|
+
handleChangeAreAllChecked(true);
|
|
19
|
+
handleChangeSearchedValue((inputValue || '').toLowerCase());
|
|
20
|
+
}
|
|
21
|
+
} }), jsxRuntime.jsx(Layout.Layout, { className: ControlDashStyles_module.default.infiniteScrollFilters__selectAll, children: !isLoading && !!dataLength && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Checkbox.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 }) => {
|
|
22
|
+
const checked = target.checked;
|
|
23
|
+
//Если не выбираем все или поле ввода пустое, то ключевое слово имеет значение ''
|
|
24
|
+
if (!checked) {
|
|
25
|
+
handleChangeSearchedValue('');
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
handleChangeSearchedValue((inputValue !== null && inputValue !== void 0 ? inputValue : '').toLowerCase());
|
|
29
|
+
}
|
|
30
|
+
handleChangeAreAllChecked(checked);
|
|
31
|
+
handleChangeIncludedData([]);
|
|
32
|
+
handleChangeExcludedData([]);
|
|
33
|
+
} }), jsxRuntime.jsxs(Text.Text, { view: "primary", size: "s", children: [currentCount, " \u0438\u0437 ", totalCount] })] })) })] }));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.default = StaticMenu;
|
|
37
|
+
//# 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","TextField","styles","Layout","Checkbox","Text"],"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,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA,CACEC,cAAC,CAAAC,mBAAS,EACR,EAAA,SAAS,EAAEC,gCAAM,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,EAEFF,cAAA,CAACG,aAAM,EAAA,EAAC,SAAS,EAAED,gCAAM,CAAC,gCAAgC,EAAA,QAAA,EACvD,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,KACzBJ,eACE,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA,CAAAC,cAAA,CAACI,iBAAQ,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,EACFN,eAAC,CAAAO,SAAI,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,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var cn = require('classnames');
|
|
6
|
+
var reactVirtuoso = require('react-virtuoso');
|
|
7
|
+
var MixScrollBar = require('@consta/uikit/MixScrollBar');
|
|
8
|
+
var Radio = require('@consta/uikit/Radio');
|
|
9
|
+
var constants = require('../../constants.js');
|
|
10
|
+
var CompletedFiltersContext = require('../../Context/CompletedFiltersContext.js');
|
|
11
|
+
var index = require('../../VirtuosoFooter/index.js');
|
|
12
|
+
var ControlDashStyles_module = require('../../styles/ControlDashStyles.module.scss.js');
|
|
13
|
+
|
|
14
|
+
const DynamicRadioList = ({ field, areDisabled, data, isLoading, handleChangeLength, currentValue, virtuosoHandleRef, handleChangeCurrentValue, }) => {
|
|
15
|
+
const { handleChangeCompletedFilters } = React.useContext(CompletedFiltersContext.CompletedFiltersContext);
|
|
16
|
+
return (jsxRuntime.jsx(reactVirtuoso.Virtuoso, { ref: virtuosoHandleRef, className: cn(ControlDashStyles_module.default.infiniteScrollFilters__content, [
|
|
17
|
+
MixScrollBar.cnMixScrollBar({ size: 'm' }),
|
|
18
|
+
]), data: data, endReached: (index) => {
|
|
19
|
+
if ((index + 1) % constants.SIZE === 0) {
|
|
20
|
+
handleChangeLength(index + 1);
|
|
21
|
+
}
|
|
22
|
+
}, increaseViewportBy: 0, itemContent: (_, item) => {
|
|
23
|
+
return (jsxRuntime.jsx(Radio.Radio, { size: "s", label: item, disabled: areDisabled, checked: item === currentValue, className: ControlDashStyles_module.default.infiniteScrollFilters__singleCheckbox, onMouseDown: (event) => {
|
|
24
|
+
if (event.button === 0)
|
|
25
|
+
if (item !== currentValue) {
|
|
26
|
+
handleChangeCurrentValue(item);
|
|
27
|
+
handleChangeCompletedFilters({
|
|
28
|
+
[field]: ['=', item],
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
handleChangeCurrentValue(undefined);
|
|
33
|
+
handleChangeCompletedFilters({
|
|
34
|
+
[field]: undefined,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
} }));
|
|
38
|
+
}, components: {
|
|
39
|
+
Footer: () => (jsxRuntime.jsx(index.VirtuosoFooter, { isLoading: isLoading, dataLength: data.length })),
|
|
40
|
+
} }));
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
exports.DynamicRadioList = DynamicRadioList;
|
|
44
|
+
//# 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":["useContext","CompletedFiltersContext","_jsx","Virtuoso","classNames","styles","cnMixScrollBar","SIZE","Radio","VirtuosoFooter"],"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,GAAGA,gBAAU,CAACC,+CAAuB,CAAC,CAAC;AAC7E,IAAA,QACEC,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,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,QACEL,cAAA,CAACM,WAAK,EAAA,EACJ,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,IAAI,KAAK,YAAY,EAC9B,SAAS,EAAEH,gCAAM,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,OACNH,cAAA,CAACO,oBAAc,EAAC,EAAA,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,GAAI,CAClE;AACF,SAAA,EAAA,CACD,EACF;AACJ;;;;"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var Layout = require('@consta/uikit/Layout');
|
|
6
|
+
var TextField = require('@consta/uikit/TextField');
|
|
7
|
+
var filtersConversion = require('../../helpers/filtersConversion.js');
|
|
8
|
+
var useDebounce = require('../../helpers/useDebounce.js');
|
|
9
|
+
require('axios');
|
|
10
|
+
require('axios-retry');
|
|
11
|
+
var getKoobDataByCfg = require('../../../utils/getKoobDataByCfg.js');
|
|
12
|
+
var DatasetNameContext = require('../../CommonContexts/DatasetNameContext.js');
|
|
13
|
+
var constants = require('../constants.js');
|
|
14
|
+
var CompletedFiltersContext = require('../Context/CompletedFiltersContext.js');
|
|
15
|
+
var DynamicRadioList = require('./DynamicRadioList/DynamicRadioList.js');
|
|
16
|
+
var ControlDashStyles_module = require('../styles/ControlDashStyles.module.scss.js');
|
|
17
|
+
|
|
18
|
+
const InfiniteScrollRadio = ({ applyedFilters, koob, field, sortField, sortSymbol, activeFilters, }) => {
|
|
19
|
+
const ds_name = React.useContext(DatasetNameContext.DatasetNameContext);
|
|
20
|
+
const { completedFilters, getCompletedFiltersWithoutField } = React.useContext(CompletedFiltersContext.CompletedFiltersContext);
|
|
21
|
+
const [isLoading, setIsLoading] = React.useState(true);
|
|
22
|
+
const [isLoadingMore, setIsLoadingMore] = React.useState(true);
|
|
23
|
+
const [data, setData] = React.useState([]);
|
|
24
|
+
const [length, setLength] = React.useState(0);
|
|
25
|
+
const [searchedValue, setSearchedValue] = React.useState(null);
|
|
26
|
+
const [currentValue, setCurrentValue] = React.useState(applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters[1]);
|
|
27
|
+
const [areDisabled, setAreDisabled] = React.useState(false);
|
|
28
|
+
const isFirstRender = React.useRef(true);
|
|
29
|
+
const virtuosoHandleRef = React.useRef(null);
|
|
30
|
+
//Отложенное значение в поле ввода
|
|
31
|
+
const debouncedSearchTerm = useDebounce.useDebounce(searchedValue, 1000);
|
|
32
|
+
const restFilters = getCompletedFiltersWithoutField(field);
|
|
33
|
+
const debouncedTempApplyedFilters = useDebounce.useDebounce(restFilters, 1000);
|
|
34
|
+
const handleChangeCurrentValue = (value) => {
|
|
35
|
+
setCurrentValue(value);
|
|
36
|
+
};
|
|
37
|
+
const handleChangeLength = (value) => {
|
|
38
|
+
setLength(value);
|
|
39
|
+
};
|
|
40
|
+
React.useEffect(() => {
|
|
41
|
+
if (searchedValue === debouncedSearchTerm) {
|
|
42
|
+
setIsLoading(false);
|
|
43
|
+
}
|
|
44
|
+
}, [searchedValue]);
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
setAreDisabled(restFilters !== debouncedTempApplyedFilters);
|
|
47
|
+
}, [restFilters]);
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
setAreDisabled(false);
|
|
50
|
+
}, [debouncedTempApplyedFilters]);
|
|
51
|
+
const tempApplyedFilters = React.useMemo(() => {
|
|
52
|
+
if (activeFilters) {
|
|
53
|
+
return filtersConversion.filtersConversionForControlDash(activeFilters, {
|
|
54
|
+
filters: completedFilters,
|
|
55
|
+
// Убираем ошибки типизации
|
|
56
|
+
result: {},
|
|
57
|
+
pendingFilters: {},
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
}, [debouncedTempApplyedFilters]);
|
|
64
|
+
React.useEffect(() => {
|
|
65
|
+
if (isFirstRender.current === false) {
|
|
66
|
+
setIsLoading(true);
|
|
67
|
+
getKoobDataByCfg.getKoobDataByCfgFromLib({
|
|
68
|
+
data: {
|
|
69
|
+
koob: koob,
|
|
70
|
+
columns: [field],
|
|
71
|
+
distinct: true,
|
|
72
|
+
sort: [`${sortSymbol !== null && sortSymbol !== void 0 ? sortSymbol : '+'}${sortField !== null && sortField !== void 0 ? sortField : field}`],
|
|
73
|
+
filters: Object.assign(Object.assign({}, (debouncedSearchTerm
|
|
74
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
75
|
+
: {})), tempApplyedFilters),
|
|
76
|
+
limit: constants.SIZE,
|
|
77
|
+
offset: length,
|
|
78
|
+
},
|
|
79
|
+
ds_name,
|
|
80
|
+
})
|
|
81
|
+
.then((resp) => setData(resp.map((item) => item[field])))
|
|
82
|
+
.catch(() => setData([]))
|
|
83
|
+
.finally(() => {
|
|
84
|
+
setIsLoading(false);
|
|
85
|
+
setIsLoadingMore(false);
|
|
86
|
+
setLength(0);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}, [debouncedSearchTerm]);
|
|
90
|
+
React.useEffect(() => {
|
|
91
|
+
setIsLoadingMore(true);
|
|
92
|
+
getKoobDataByCfg.getKoobDataByCfgFromLib({
|
|
93
|
+
data: {
|
|
94
|
+
koob: koob,
|
|
95
|
+
columns: [field],
|
|
96
|
+
distinct: true,
|
|
97
|
+
sort: [`${sortSymbol !== null && sortSymbol !== void 0 ? sortSymbol : '+'}${sortField !== null && sortField !== void 0 ? sortField : field}`],
|
|
98
|
+
filters: Object.assign(Object.assign({}, (debouncedSearchTerm
|
|
99
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
100
|
+
: {})), tempApplyedFilters),
|
|
101
|
+
limit: constants.SIZE,
|
|
102
|
+
offset: length,
|
|
103
|
+
},
|
|
104
|
+
ds_name,
|
|
105
|
+
})
|
|
106
|
+
.then((resp) => setData([...data, ...resp.map((item) => item[field])]))
|
|
107
|
+
.catch(() => setData([]))
|
|
108
|
+
.finally(() => {
|
|
109
|
+
isFirstRender.current = false;
|
|
110
|
+
setIsLoading(false);
|
|
111
|
+
setIsLoadingMore(false);
|
|
112
|
+
});
|
|
113
|
+
}, [length]);
|
|
114
|
+
React.useEffect(() => {
|
|
115
|
+
var _a;
|
|
116
|
+
if (!isFirstRender.current) {
|
|
117
|
+
setLength(0);
|
|
118
|
+
setAreDisabled(true);
|
|
119
|
+
(_a = virtuosoHandleRef === null || virtuosoHandleRef === void 0 ? void 0 : virtuosoHandleRef.current) === null || _a === void 0 ? void 0 : _a.scrollToIndex({
|
|
120
|
+
index: 0,
|
|
121
|
+
behavior: 'smooth',
|
|
122
|
+
});
|
|
123
|
+
getKoobDataByCfg.getKoobDataByCfgFromLib({
|
|
124
|
+
data: {
|
|
125
|
+
koob: koob,
|
|
126
|
+
columns: [field],
|
|
127
|
+
distinct: true,
|
|
128
|
+
sort: [`${sortSymbol !== null && sortSymbol !== void 0 ? sortSymbol : '+'}${sortField !== null && sortField !== void 0 ? sortField : field}`],
|
|
129
|
+
filters: Object.assign(Object.assign({}, (debouncedSearchTerm
|
|
130
|
+
? { [field]: ['ilike', `%${debouncedSearchTerm}%`] }
|
|
131
|
+
: {})), tempApplyedFilters),
|
|
132
|
+
limit: constants.SIZE,
|
|
133
|
+
offset: 0,
|
|
134
|
+
},
|
|
135
|
+
ds_name,
|
|
136
|
+
})
|
|
137
|
+
.then((resp) => {
|
|
138
|
+
setData(resp.map((item) => item[field]));
|
|
139
|
+
})
|
|
140
|
+
.catch(() => {
|
|
141
|
+
setData([]);
|
|
142
|
+
})
|
|
143
|
+
.finally(() => {
|
|
144
|
+
setIsLoading(false);
|
|
145
|
+
setIsLoadingMore(false);
|
|
146
|
+
setAreDisabled(false);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}, [tempApplyedFilters]);
|
|
150
|
+
return (jsxRuntime.jsxs(Layout.Layout, { direction: "column", children: [jsxRuntime.jsx(TextField.TextField, { placeholder: "\u041D\u0430\u0439\u0442\u0438", value: searchedValue, onChange: (value) => {
|
|
151
|
+
setSearchedValue(value);
|
|
152
|
+
setIsLoading(true);
|
|
153
|
+
}, className: ControlDashStyles_module.default.infiniteScrollFilters__search, size: "s" }), jsxRuntime.jsx(DynamicRadioList.DynamicRadioList, { field: field, areDisabled: areDisabled, data: isLoading ? [] : data, isLoading: isLoadingMore || isLoading, handleChangeLength: handleChangeLength, currentValue: currentValue, virtuosoHandleRef: virtuosoHandleRef, handleChangeCurrentValue: handleChangeCurrentValue })] }));
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
exports.InfiniteScrollRadio = InfiniteScrollRadio;
|
|
157
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/ui-components/FilterComponents/InfiniteScrollRadio/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';\r\nimport { VirtuosoHandle } from 'react-virtuoso';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { TextField } from '@consta/uikit/TextField';\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 { InfiniteScrollRadioConfig, OmitedComponentFields } from '../types';\r\n\r\nimport { DynamicRadioList } from './DynamicRadioList/DynamicRadioList';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\ninterface InfiniteScrollRadioProps\r\n extends Omit<InfiniteScrollRadioConfig, OmitedComponentFields> {\r\n applyedFilters: string[];\r\n}\r\n\r\nexport const InfiniteScrollRadio: React.FC<InfiniteScrollRadioProps> = ({\r\n applyedFilters,\r\n koob,\r\n field,\r\n sortField,\r\n sortSymbol,\r\n activeFilters,\r\n}) => {\r\n const ds_name = useContext(DatasetNameContext);\r\n const { completedFilters, getCompletedFiltersWithoutField } = useContext(\r\n CompletedFiltersContext\r\n );\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [isLoadingMore, setIsLoadingMore] = useState(true);\r\n const [data, setData] = useState<string[]>([]);\r\n const [length, setLength] = useState(0);\r\n const [searchedValue, setSearchedValue] = useState<string | null>(null);\r\n const [currentValue, setCurrentValue] = useState(\r\n applyedFilters?.[1] as string | undefined\r\n );\r\n const [areDisabled, setAreDisabled] = useState(false);\r\n\r\n const isFirstRender = useRef(true);\r\n const virtuosoHandleRef = useRef<VirtuosoHandle>(null);\r\n\r\n //Отложенное значение в поле ввода\r\n const debouncedSearchTerm = useDebounce(searchedValue, 1000);\r\n\r\n const restFilters = getCompletedFiltersWithoutField(field);\r\n\r\n const debouncedTempApplyedFilters = useDebounce(restFilters, 1000);\r\n\r\n const handleChangeCurrentValue = (value: string | undefined) => {\r\n setCurrentValue(value);\r\n };\r\n\r\n const handleChangeLength = (value: number) => {\r\n setLength(value);\r\n };\r\n\r\n useEffect(() => {\r\n if (searchedValue === debouncedSearchTerm) {\r\n setIsLoading(false);\r\n }\r\n }, [searchedValue]);\r\n\r\n useEffect(() => {\r\n setAreDisabled(restFilters !== debouncedTempApplyedFilters);\r\n }, [restFilters]);\r\n\r\n useEffect(() => {\r\n setAreDisabled(false);\r\n }, [debouncedTempApplyedFilters]);\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 if (isFirstRender.current === false) {\r\n setIsLoading(true);\r\n\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n koob: koob as string,\r\n columns: [field],\r\n distinct: true,\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 setIsLoadingMore(true);\r\n\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n koob: koob as string,\r\n columns: [field],\r\n distinct: true,\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 koob: koob as string,\r\n columns: [field],\r\n distinct: true,\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 return (\r\n <Layout direction=\"column\">\r\n <TextField\r\n placeholder=\"Найти\"\r\n value={searchedValue}\r\n onChange={(value) => {\r\n setSearchedValue(value);\r\n setIsLoading(true);\r\n }}\r\n className={styles.infiniteScrollFilters__search}\r\n size=\"s\"\r\n />\r\n <DynamicRadioList\r\n field={field}\r\n areDisabled={areDisabled}\r\n data={isLoading ? [] : data}\r\n isLoading={isLoadingMore || isLoading}\r\n handleChangeLength={handleChangeLength}\r\n currentValue={currentValue}\r\n virtuosoHandleRef={virtuosoHandleRef}\r\n handleChangeCurrentValue={handleChangeCurrentValue}\r\n />\r\n </Layout>\r\n );\r\n};\r\n"],"names":["useContext","DatasetNameContext","CompletedFiltersContext","useState","useRef","useDebounce","useEffect","useMemo","filtersConversionForControlDash","getKoobDataByCfgFromLib","SIZE","_jsxs","Layout","_jsx","TextField","styles","DynamicRadioList"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var TextField = require('@consta/uikit/TextField');
|
|
6
|
+
var CompletedFiltersContext = require('../Context/CompletedFiltersContext.js');
|
|
7
|
+
require('@consta/icons/IconFunnel');
|
|
8
|
+
require('@consta/uikit/Collapse');
|
|
9
|
+
var ControlDashStyles_module = require('../styles/ControlDashStyles.module.scss.js');
|
|
10
|
+
require('@consta/uikit/DatePicker');
|
|
11
|
+
require('@consta/uikit/Layout');
|
|
12
|
+
require('@consta/uikit/Loader');
|
|
13
|
+
require('axios');
|
|
14
|
+
require('axios-retry');
|
|
15
|
+
require('tslib');
|
|
16
|
+
require('bi-internal/core');
|
|
17
|
+
require('../../CommonContexts/DatasetNameContext.js');
|
|
18
|
+
require('@consta/icons/IconCancel');
|
|
19
|
+
require('@consta/uikit/Button');
|
|
20
|
+
require('classnames');
|
|
21
|
+
require('react-virtuoso');
|
|
22
|
+
require('@consta/uikit/MixScrollBar');
|
|
23
|
+
require('@consta/uikit/Text');
|
|
24
|
+
require('@consta/uikit/Checkbox');
|
|
25
|
+
require('@consta/uikit/Radio');
|
|
26
|
+
require('@consta/uikit/RadioGroup');
|
|
27
|
+
|
|
28
|
+
const InputFieldItem = ({ applyedFilters, field, }) => {
|
|
29
|
+
const { handleChangeCompletedFilters } = React.useContext(CompletedFiltersContext.CompletedFiltersContext);
|
|
30
|
+
const [value, setValue] = React.useState(applyedFilters ? applyedFilters[1].split('%').join('') : null);
|
|
31
|
+
React.useEffect(() => {
|
|
32
|
+
if (value) {
|
|
33
|
+
handleChangeCompletedFilters({
|
|
34
|
+
[field]: ['ilike', `%${value}%`],
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
handleChangeCompletedFilters({
|
|
39
|
+
[field]: undefined,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}, [value]);
|
|
43
|
+
return (jsxRuntime.jsx(TextField.TextField, { placeholder: "\u041D\u0430\u0439\u0442\u0438", value: value, onChange: (value) => setValue(value), size: "s", className: ControlDashStyles_module.default.sideBar__inputItem }));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
exports.InputFieldItem = InputFieldItem;
|
|
47
|
+
//# sourceMappingURL=InputFieldItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputFieldItem.js","sources":["../../../../../src/ui-components/FilterComponents/InputFieldItem/InputFieldItem.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport { TextField } from '@consta/uikit/TextField';\r\n\r\nimport { CompletedFiltersContext } from '../../FilterComponents';\r\nimport { InputConfig, OmitedComponentFields } from '../types';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\ninterface FieldItem extends Omit<InputConfig, OmitedComponentFields> {\r\n applyedFilters: any[];\r\n}\r\n\r\nexport const InputFieldItem: React.FC<FieldItem> = ({\r\n applyedFilters,\r\n field,\r\n}) => {\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\r\n\r\n const [value, setValue] = useState<string | null>(\r\n applyedFilters ? applyedFilters[1].split('%').join('') : null\r\n );\r\n\r\n useEffect(() => {\r\n if (value) {\r\n handleChangeCompletedFilters({\r\n [field]: ['ilike', `%${value}%`],\r\n });\r\n } else {\r\n handleChangeCompletedFilters({\r\n [field]: undefined,\r\n });\r\n }\r\n }, [value]);\r\n\r\n return (\r\n <TextField\r\n placeholder=\"Найти\"\r\n value={value}\r\n onChange={(value) => setValue(value)}\r\n size=\"s\"\r\n className={styles.sideBar__inputItem}\r\n />\r\n );\r\n};\r\n"],"names":["useContext","CompletedFiltersContext","useState","useEffect","_jsx","TextField","styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAYa,MAAA,cAAc,GAAwB,CAAC,EAClD,cAAc,EACd,KAAK,GACN,KAAI;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAGA,gBAAU,CAACC,+CAAuB,CAAC,CAAC;AAE7E,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGC,cAAQ,CAChC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAC9D,CAAC;IAEFC,eAAS,CAAC,MAAK;QACb,IAAI,KAAK,EAAE;AACT,YAAA,4BAA4B,CAAC;gBAC3B,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,CAAC;AACjC,aAAA,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,4BAA4B,CAAC;gBAC3B,CAAC,KAAK,GAAG,SAAS;AACnB,aAAA,CAAC,CAAC;SACJ;AACH,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEZ,IAAA,QACEC,cAAA,CAACC,mBAAS,EAAA,EACR,WAAW,EAAC,gCAAO,EACnB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,EACpC,IAAI,EAAC,GAAG,EACR,SAAS,EAAEC,gCAAM,CAAC,kBAAkB,EAAA,CACpC,EACF;AACJ;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var cn = require('classnames');
|
|
6
|
+
var Layout = require('@consta/uikit/Layout');
|
|
7
|
+
var TextField = require('@consta/uikit/TextField');
|
|
8
|
+
var CompletedFiltersContext = require('../Context/CompletedFiltersContext.js');
|
|
9
|
+
var ControlDashStyles_module = require('../styles/ControlDashStyles.module.scss.js');
|
|
10
|
+
|
|
11
|
+
const NumberRangeFilter = ({ applyedFilters, field, }) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const { handleChangeCompletedFilters } = React.useContext(CompletedFiltersContext.CompletedFiltersContext);
|
|
14
|
+
const [startValue, setStartValue] = React.useState((_a = applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters[1]) !== null && _a !== void 0 ? _a : null);
|
|
15
|
+
const [endValue, setEndValue] = React.useState((_b = applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters[2]) !== null && _b !== void 0 ? _b : null);
|
|
16
|
+
React.useEffect(() => {
|
|
17
|
+
if (endValue !== null && startValue !== null) {
|
|
18
|
+
const filterValue = ['between'];
|
|
19
|
+
filterValue.push(Number(startValue), Number(endValue));
|
|
20
|
+
handleChangeCompletedFilters({ [field]: filterValue });
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
handleChangeCompletedFilters({ [field]: undefined });
|
|
24
|
+
}
|
|
25
|
+
}, [startValue, endValue]);
|
|
26
|
+
return (jsxRuntime.jsxs(Layout.Layout, { direction: "row", children: [jsxRuntime.jsx(TextField.TextField, { className: cn(ControlDashStyles_module.default.numberFilter, ControlDashStyles_module.default.numberFilter_left), type: "number", placeholder: "\u041E\u0442", size: "s", value: startValue, incrementButtons: false, onChange: (value) => {
|
|
27
|
+
setStartValue(value);
|
|
28
|
+
} }), jsxRuntime.jsx(TextField.TextField, { className: ControlDashStyles_module.default.numberFilter, type: "number", placeholder: "\u0414\u043E", size: "s", value: endValue, incrementButtons: false, onChange: (value) => {
|
|
29
|
+
setEndValue(value);
|
|
30
|
+
} })] }));
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.NumberRangeFilter = NumberRangeFilter;
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/ui-components/FilterComponents/NumberRangeFilter/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { TextField } from '@consta/uikit/TextField';\r\n\r\nimport { CompletedFiltersContext } from '../Context';\r\nimport { NumberRangeConfig, OmitedComponentFields } from '../types';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\ninterface FieldItem extends Omit<NumberRangeConfig, OmitedComponentFields> {\r\n applyedFilters: any[];\r\n}\r\n\r\nexport const NumberRangeFilter: React.FC<FieldItem> = ({\r\n applyedFilters,\r\n field,\r\n}) => {\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\r\n\r\n const [startValue, setStartValue] = useState<string | null>(\r\n applyedFilters?.[1] ?? null\r\n );\r\n const [endValue, setEndValue] = useState<string | null>(\r\n applyedFilters?.[2] ?? null\r\n );\r\n\r\n useEffect(() => {\r\n if (endValue !== null && startValue !== null) {\r\n const filterValue: Array<string | number> = ['between'];\r\n filterValue.push(Number(startValue), Number(endValue));\r\n handleChangeCompletedFilters({ [field]: filterValue });\r\n } else {\r\n handleChangeCompletedFilters({ [field]: undefined });\r\n }\r\n }, [startValue, endValue]);\r\n\r\n return (\r\n <Layout direction=\"row\">\r\n <TextField\r\n className={classNames(styles.numberFilter, styles.numberFilter_left)}\r\n type=\"number\"\r\n placeholder=\"От\"\r\n size=\"s\"\r\n value={startValue}\r\n incrementButtons={false}\r\n onChange={(value) => {\r\n setStartValue(value);\r\n }}\r\n />\r\n <TextField\r\n className={styles.numberFilter}\r\n type=\"number\"\r\n placeholder=\"До\"\r\n size=\"s\"\r\n value={endValue}\r\n incrementButtons={false}\r\n onChange={(value) => {\r\n setEndValue(value);\r\n }}\r\n />\r\n </Layout>\r\n );\r\n};\r\n"],"names":["useContext","CompletedFiltersContext","useState","useEffect","_jsxs","Layout","_jsx","TextField","classNames","styles"],"mappings":";;;;;;;;;;AAca,MAAA,iBAAiB,GAAwB,CAAC,EACrD,cAAc,EACd,KAAK,GACN,KAAI;;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAGA,gBAAU,CAACC,+CAAuB,CAAC,CAAC;IAE7E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGC,cAAQ,CAC1C,CAAA,EAAA,GAAA,cAAc,aAAd,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAd,cAAc,CAAG,CAAC,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAC5B,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,cAAQ,CACtC,CAAA,EAAA,GAAA,cAAc,aAAd,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAd,cAAc,CAAG,CAAC,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAC5B,CAAC;IAEFC,eAAS,CAAC,MAAK;QACb,IAAI,QAAQ,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE;AAC5C,YAAA,MAAM,WAAW,GAA2B,CAAC,SAAS,CAAC,CAAC;AACxD,YAAA,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvD,4BAA4B,CAAC,EAAE,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC;SACxD;aAAM;YACL,4BAA4B,CAAC,EAAE,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,CAAC;SACtD;AACH,KAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3B,QACEC,gBAACC,aAAM,EAAA,EAAC,SAAS,EAAC,KAAK,EACrB,QAAA,EAAA,CAAAC,cAAA,CAACC,mBAAS,EAAA,EACR,SAAS,EAAEC,EAAU,CAACC,gCAAM,CAAC,YAAY,EAAEA,gCAAM,CAAC,iBAAiB,CAAC,EACpE,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,cAAI,EAChB,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,KAAK,EACvB,QAAQ,EAAE,CAAC,KAAK,KAAI;oBAClB,aAAa,CAAC,KAAK,CAAC,CAAC;AACvB,iBAAC,GACD,EACFH,cAAA,CAACC,mBAAS,EAAA,EACR,SAAS,EAAEE,gCAAM,CAAC,YAAY,EAC9B,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,cAAI,EAChB,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,QAAQ,EACf,gBAAgB,EAAE,KAAK,EACvB,QAAQ,EAAE,CAAC,KAAK,KAAI;oBAClB,WAAW,CAAC,KAAK,CAAC,CAAC;iBACpB,EAAA,CACD,CACK,EAAA,CAAA,EACT;AACJ;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var RadioGroup = require('@consta/uikit/RadioGroup');
|
|
6
|
+
var CompletedFiltersContext = require('../Context/CompletedFiltersContext.js');
|
|
7
|
+
require('@consta/icons/IconFunnel');
|
|
8
|
+
require('@consta/uikit/Collapse');
|
|
9
|
+
require('@consta/uikit/DatePicker');
|
|
10
|
+
require('@consta/uikit/Layout');
|
|
11
|
+
require('@consta/uikit/Loader');
|
|
12
|
+
require('axios');
|
|
13
|
+
require('axios-retry');
|
|
14
|
+
require('tslib');
|
|
15
|
+
require('bi-internal/core');
|
|
16
|
+
require('../../CommonContexts/DatasetNameContext.js');
|
|
17
|
+
require('@consta/icons/IconCancel');
|
|
18
|
+
require('@consta/uikit/Button');
|
|
19
|
+
require('classnames');
|
|
20
|
+
var constants = require('../constants.js');
|
|
21
|
+
require('react-virtuoso');
|
|
22
|
+
require('@consta/uikit/MixScrollBar');
|
|
23
|
+
require('@consta/uikit/Text');
|
|
24
|
+
require('@consta/uikit/Checkbox');
|
|
25
|
+
require('@consta/uikit/TextField');
|
|
26
|
+
require('@consta/uikit/Radio');
|
|
27
|
+
|
|
28
|
+
const PeriodController = ({ applyedFilters, field, }) => {
|
|
29
|
+
const { handleChangeCompletedFilters } = React.useContext(CompletedFiltersContext.CompletedFiltersContext);
|
|
30
|
+
const [value, setValue] = React.useState(applyedFilters ? applyedFilters[1] : constants.PERIOD_TYPE_ITEMS[2]);
|
|
31
|
+
React.useEffect(() => {
|
|
32
|
+
handleChangeCompletedFilters({
|
|
33
|
+
[field]: ['=', value],
|
|
34
|
+
});
|
|
35
|
+
}, [value]);
|
|
36
|
+
return (jsxRuntime.jsx(RadioGroup.RadioGroup, { items: constants.PERIOD_TYPE_ITEMS, value: value, onChange: (value) => setValue(value), getItemLabel: (item) => item, size: "s" }));
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.PeriodController = PeriodController;
|
|
40
|
+
//# sourceMappingURL=PeriodController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PeriodController.js","sources":["../../../../../src/ui-components/FilterComponents/PeriodController/PeriodController.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport { RadioGroup } from '@consta/uikit/RadioGroup';\r\n\r\nimport { CompletedFiltersContext } from '../../FilterComponents';\r\nimport { PERIOD_TYPE_ITEMS } from '../constants';\r\nimport { OmitedComponentFields, PeriodControllerConfig } from '../types';\r\n\r\ninterface FieldItem\r\n extends Omit<PeriodControllerConfig, OmitedComponentFields> {\r\n applyedFilters: string[];\r\n}\r\n\r\nexport const PeriodController: React.FC<FieldItem> = ({\r\n applyedFilters,\r\n field,\r\n}) => {\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\r\n\r\n const [value, setValue] = useState(\r\n applyedFilters ? applyedFilters[1] : PERIOD_TYPE_ITEMS[2]\r\n );\r\n\r\n useEffect(() => {\r\n handleChangeCompletedFilters({\r\n [field]: ['=', value],\r\n });\r\n }, [value]);\r\n\r\n return (\r\n <RadioGroup\r\n items={PERIOD_TYPE_ITEMS}\r\n value={value}\r\n onChange={(value) => setValue(value)}\r\n getItemLabel={(item: string) => item}\r\n size=\"s\"\r\n />\r\n );\r\n};\r\n"],"names":["useContext","CompletedFiltersContext","useState","PERIOD_TYPE_ITEMS","useEffect","_jsx","RadioGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAYa,MAAA,gBAAgB,GAAwB,CAAC,EACpD,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,CAChC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAGC,2BAAiB,CAAC,CAAC,CAAC,CAC1D,CAAC;IAEFC,eAAS,CAAC,MAAK;AACb,QAAA,4BAA4B,CAAC;AAC3B,YAAA,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACtB,SAAA,CAAC,CAAC;AACL,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEZ,IAAA,QACEC,cAAC,CAAAC,qBAAU,EACT,EAAA,KAAK,EAAEH,2BAAiB,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,EACpC,YAAY,EAAE,CAAC,IAAY,KAAK,IAAI,EACpC,IAAI,EAAC,GAAG,EAAA,CACR,EACF;AACJ;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var Layout = require('@consta/uikit/Layout');
|
|
5
|
+
var Loader = require('@consta/uikit/Loader');
|
|
6
|
+
var Text = require('@consta/uikit/Text');
|
|
7
|
+
var ControlDashStyles_module = require('../styles/ControlDashStyles.module.scss.js');
|
|
8
|
+
|
|
9
|
+
const VirtuosoFooter = ({ isLoading, dataLength, }) => {
|
|
10
|
+
if (isLoading) {
|
|
11
|
+
return (jsxRuntime.jsx(Layout.Layout, { className: ControlDashStyles_module.default.infiniteScrollFilters__virtuosoFooter, children: jsxRuntime.jsx(Loader.Loader, {}) }));
|
|
12
|
+
}
|
|
13
|
+
return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: !dataLength ? (jsxRuntime.jsx(Layout.Layout, { className: ControlDashStyles_module.default.infiniteScrollFilters__virtuosoFooter, children: jsxRuntime.jsx(Text.Text, { size: "s", view: "primary", children: "\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445" }) })) : (jsxRuntime.jsx(jsxRuntime.Fragment, {})) }));
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.VirtuosoFooter = VirtuosoFooter;
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/ui-components/FilterComponents/VirtuosoFooter/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Loader } from '@consta/uikit/Loader';\r\nimport { Text } from '@consta/uikit/Text';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\ninterface VirtuosoFooterProps {\r\n isLoading: boolean;\r\n dataLength: number;\r\n}\r\n\r\nexport const VirtuosoFooter: React.FC<VirtuosoFooterProps> = ({\r\n isLoading,\r\n dataLength,\r\n}) => {\r\n if (isLoading) {\r\n return (\r\n <Layout className={styles.infiniteScrollFilters__virtuosoFooter}>\r\n <Loader />\r\n </Layout>\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {!dataLength ? (\r\n <Layout className={styles.infiniteScrollFilters__virtuosoFooter}>\r\n <Text size=\"s\" view=\"primary\">\r\n Нет данных\r\n </Text>\r\n </Layout>\r\n ) : (\r\n <></>\r\n )}\r\n </>\r\n );\r\n};\r\n"],"names":["_jsx","Layout","styles","Loader","_Fragment","Text"],"mappings":";;;;;;;;AAYa,MAAA,cAAc,GAAkC,CAAC,EAC5D,SAAS,EACT,UAAU,GACX,KAAI;IACH,IAAI,SAAS,EAAE;AACb,QAAA,QACEA,cAAA,CAACC,aAAM,EAAA,EAAC,SAAS,EAAEC,gCAAM,CAAC,qCAAqC,YAC7DF,cAAC,CAAAG,aAAM,EAAG,EAAA,CAAA,EAAA,CACH,EACT;KACH;AAED,IAAA,QACEH,cACG,CAAAI,mBAAA,EAAA,EAAA,QAAA,EAAA,CAAC,UAAU,IACVJ,cAAC,CAAAC,aAAM,IAAC,SAAS,EAAEC,gCAAM,CAAC,qCAAqC,YAC7DF,cAAC,CAAAK,SAAI,EAAC,EAAA,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,EAEtB,QAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CACA,KAETL,uCAAK,CACN,EAAA,CACA,EACH;AACJ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/ui-components/FilterComponents/constants.ts"],"sourcesContent":["export const SIZE = 20;\r\n\r\nexport const PERIOD_TYPE_ITEMS = ['Год', 'Квартал', 'Месяц'];\r\n"],"names":[],"mappings":";;AAAO,MAAM,IAAI,GAAG,GAAG;AAEV,MAAA,iBAAiB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO;;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
require('./Context/CompletedFiltersContext.js');
|
|
5
|
+
require('react');
|
|
6
|
+
require('@consta/icons/IconFunnel');
|
|
7
|
+
require('@consta/uikit/Collapse');
|
|
8
|
+
var DatePickerRange = require('./DatePickerRange/DatePickerRange.js');
|
|
9
|
+
var DatePickerSingle = require('./DatePickerSingle/DatePickerSingle.js');
|
|
10
|
+
require('classnames');
|
|
11
|
+
require('@consta/uikit/Layout');
|
|
12
|
+
var InfiniteScrollCheckboxes = require('./InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js');
|
|
13
|
+
var index = require('./InfiniteScrollRadio/index.js');
|
|
14
|
+
var InputFieldItem = require('./InputFieldItem/InputFieldItem.js');
|
|
15
|
+
var index$1 = require('./NumberRangeFilter/index.js');
|
|
16
|
+
var PeriodController = require('./PeriodController/PeriodController.js');
|
|
17
|
+
require('@consta/uikit/Loader');
|
|
18
|
+
require('@consta/uikit/Text');
|
|
19
|
+
|
|
20
|
+
const isFieldsDataWithGrouping = (item) => {
|
|
21
|
+
return item.filterType !== 'group';
|
|
22
|
+
};
|
|
23
|
+
const getFilterByType = ({ fieldInfo, luxmsFilters, }) => {
|
|
24
|
+
const { field, filterType } = fieldInfo;
|
|
25
|
+
switch (filterType) {
|
|
26
|
+
case 'numberRange':
|
|
27
|
+
return (jsxRuntime.jsx(index$1.NumberRangeFilter, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: fieldInfo.field }));
|
|
28
|
+
case 'input':
|
|
29
|
+
return (jsxRuntime.jsx(InputFieldItem.InputFieldItem, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: fieldInfo.field }));
|
|
30
|
+
case 'periodController':
|
|
31
|
+
return (jsxRuntime.jsx(PeriodController.PeriodController, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: field }));
|
|
32
|
+
case 'datePickerRange':
|
|
33
|
+
return (jsxRuntime.jsx(DatePickerRange.DatePickerRange, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], koob: fieldInfo.koob, field: field }));
|
|
34
|
+
case 'datePickerSingle':
|
|
35
|
+
return (jsxRuntime.jsx(DatePickerSingle.DatePickerSingle, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: field }));
|
|
36
|
+
case 'infiniteScrollCheckboxes':
|
|
37
|
+
return (jsxRuntime.jsx(InfiniteScrollCheckboxes.InfiniteScrollCheckboxesContent, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], activeFilters: fieldInfo.activeFilters, koob: fieldInfo.koob, field: field, sortSymbol: fieldInfo.sortSymbol, sortField: fieldInfo.sortField }));
|
|
38
|
+
case 'infiniteScrollRadio':
|
|
39
|
+
return (jsxRuntime.jsx(index.InfiniteScrollRadio, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], activeFilters: fieldInfo.activeFilters, koob: fieldInfo.koob, field: field, sortSymbol: fieldInfo.sortSymbol, sortField: fieldInfo.sortField }));
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const formatDate = (date) => {
|
|
43
|
+
if (date)
|
|
44
|
+
return date.toLocaleDateString().split('.').reverse().join('-');
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
exports.formatDate = formatDate;
|
|
48
|
+
exports.getFilterByType = getFilterByType;
|
|
49
|
+
exports.isFieldsDataWithGrouping = isFieldsDataWithGrouping;
|
|
50
|
+
//# sourceMappingURL=helpers.js.map
|