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,78 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext, useState, useMemo, useEffect } from 'react';
|
|
3
|
+
import { IconClose } from '@consta/icons/IconClose';
|
|
4
|
+
import { IconTrash } from '@consta/icons/IconTrash';
|
|
5
|
+
import { Button } from '@consta/uikit/Button';
|
|
6
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
7
|
+
import { Sidebar } from '@consta/uikit/Sidebar';
|
|
8
|
+
import { Text } from '@consta/uikit/Text';
|
|
9
|
+
import { CompletedFiltersContext } from '../FilterComponents/Context/CompletedFiltersContext.js';
|
|
10
|
+
import { CustomControlDashCollapse } from '../FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.js';
|
|
11
|
+
import '@consta/uikit/DatePicker';
|
|
12
|
+
import '@consta/uikit/Loader';
|
|
13
|
+
import 'axios';
|
|
14
|
+
import 'axios-retry';
|
|
15
|
+
import 'tslib';
|
|
16
|
+
import 'bi-internal/core';
|
|
17
|
+
import '../CommonContexts/DatasetNameContext.js';
|
|
18
|
+
import { isFieldsDataWithGrouping, getFilterByType } from '../FilterComponents/helpers.js';
|
|
19
|
+
import '@consta/icons/IconCancel';
|
|
20
|
+
import { GroupedCollapse } from '../FilterComponents/GroupedCollapse/GroupedCollapse.js';
|
|
21
|
+
import 'classnames';
|
|
22
|
+
import 'react-virtuoso';
|
|
23
|
+
import '@consta/uikit/MixScrollBar';
|
|
24
|
+
import '@consta/uikit/Checkbox';
|
|
25
|
+
import '@consta/uikit/TextField';
|
|
26
|
+
import '@consta/uikit/Radio';
|
|
27
|
+
import '@consta/uikit/RadioGroup';
|
|
28
|
+
import IconArrow from './IconArrow/IconArrow.js';
|
|
29
|
+
import styles from './styles/ControlDashStyles.module.scss.js';
|
|
30
|
+
|
|
31
|
+
const ControlDashContent = ({ fieldsData, luxmsFilters, applyFilters, resetFilters, }) => {
|
|
32
|
+
const { completedFilters, handleChangeCompletedFilters } = useContext(CompletedFiltersContext);
|
|
33
|
+
const [isSidebarOpened, setIsSisdebarOpened] = useState(false);
|
|
34
|
+
const resetObject = useMemo(() => fieldsData.reduce((acc, item) => {
|
|
35
|
+
if ('field' in item)
|
|
36
|
+
acc = Object.assign(Object.assign({}, acc), { [item === null || item === void 0 ? void 0 : item.field]: undefined });
|
|
37
|
+
if ('children' in item) {
|
|
38
|
+
item.children.forEach((item) => {
|
|
39
|
+
acc = Object.assign(Object.assign({}, acc), { [item === null || item === void 0 ? void 0 : item.field]: undefined });
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return acc;
|
|
43
|
+
}, {}), [fieldsData]);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
handleChangeCompletedFilters(luxmsFilters);
|
|
46
|
+
}, [luxmsFilters]);
|
|
47
|
+
const handleResetClick = () => {
|
|
48
|
+
setIsSisdebarOpened(false);
|
|
49
|
+
if (resetFilters) {
|
|
50
|
+
resetFilters();
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
applyFilters(resetObject);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
const handleApplyClick = () => {
|
|
57
|
+
setIsSisdebarOpened(false);
|
|
58
|
+
applyFilters(completedFilters);
|
|
59
|
+
};
|
|
60
|
+
return (jsxs(Fragment, { children: [jsx(Button, { className: styles.controlDashOpenButton, view: "primary", iconLeft: IconArrow, onClick: () => {
|
|
61
|
+
setIsSisdebarOpened(true);
|
|
62
|
+
}, size: "l" }), jsxs(Sidebar, { isOpen: isSidebarOpened, size: "1/4", onEsc: () => setIsSisdebarOpened(false), onClickOutside: () => setIsSisdebarOpened(false),
|
|
63
|
+
//Иначе не работает
|
|
64
|
+
style: { zIndex: 1000 }, className: styles.sideBar, children: [jsxs(Sidebar.Content, { className: styles.sideBar__content, children: [jsxs(Layout, { className: styles.sideBar__header, children: [jsx(Text, { size: "l", weight: "bold", children: "\u0424\u0438\u043B\u044C\u0442\u0440\u044B" }), jsx(Button, { size: "s", view: "clear", iconLeft: IconClose, onClick: () => setIsSisdebarOpened(false) })] }), jsx(Layout, { direction: "column", children: fieldsData.map((fieldInfo) => {
|
|
65
|
+
if (isFieldsDataWithGrouping(fieldInfo)) {
|
|
66
|
+
return (jsx(CustomControlDashCollapse, { name: fieldInfo.name, isFieldOpen: fieldInfo.isFieldOpen, areFiltersApplyed: !!(luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.field]), children: getFilterByType({
|
|
67
|
+
fieldInfo,
|
|
68
|
+
luxmsFilters,
|
|
69
|
+
}) }, fieldInfo.name));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
return (jsx(GroupedCollapse, { fieldInfo: fieldInfo, luxmsFilters: luxmsFilters }, fieldInfo.name));
|
|
73
|
+
}
|
|
74
|
+
}) })] }), jsxs(Sidebar.Actions, { className: styles.sideBar__footer, children: [jsx(Button, { view: "ghost", label: "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B", iconLeft: IconTrash, onClick: handleResetClick, size: "s" }), jsx(Button, { view: "primary", label: "\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C", onClick: handleApplyClick, size: "s" })] })] })] }));
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export { ControlDashContent };
|
|
78
|
+
//# sourceMappingURL=ControlDashContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlDashContent.js","sources":["../../../../src/ui-components/ControlDash/ControlDashContent.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useState } from 'react';\r\nimport { IconClose } from '@consta/icons/IconClose';\r\nimport { IconTrash } from '@consta/icons/IconTrash';\r\nimport { Button } from '@consta/uikit/Button';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Sidebar } from '@consta/uikit/Sidebar';\r\nimport { Text } from '@consta/uikit/Text';\r\n\r\nimport {\r\n CompletedFiltersContext,\r\n CustomControlDashCollapse,\r\n GroupedCollapse,\r\n} from '../FilterComponents';\r\nimport {\r\n getFilterByType,\r\n isFieldsDataWithGrouping,\r\n} from '../FilterComponents/helpers';\r\n\r\nimport IconArrow from './IconArrow/IconArrow';\r\nimport { ControlDashProps } from './types';\r\n\r\nimport styles from './styles/ControlDashStyles.module.scss';\r\n\r\nexport const ControlDashContent: React.FC<ControlDashProps> = ({\r\n fieldsData,\r\n luxmsFilters,\r\n applyFilters,\r\n resetFilters,\r\n}) => {\r\n const { completedFilters, handleChangeCompletedFilters } = useContext(\r\n CompletedFiltersContext\r\n );\r\n\r\n const [isSidebarOpened, setIsSisdebarOpened] = useState(false);\r\n\r\n const resetObject = useMemo(\r\n () =>\r\n fieldsData.reduce((acc, item) => {\r\n if ('field' in item)\r\n acc = {\r\n ...acc,\r\n [item?.field]: undefined,\r\n };\r\n\r\n if ('children' in item) {\r\n item.children.forEach((item) => {\r\n acc = {\r\n ...acc,\r\n [item?.field]: undefined,\r\n };\r\n });\r\n }\r\n\r\n return acc;\r\n }, {}),\r\n [fieldsData]\r\n );\r\n\r\n useEffect(() => {\r\n handleChangeCompletedFilters(luxmsFilters);\r\n }, [luxmsFilters]);\r\n\r\n const handleResetClick = () => {\r\n setIsSisdebarOpened(false);\r\n\r\n if (resetFilters) {\r\n resetFilters();\r\n } else {\r\n applyFilters(resetObject);\r\n }\r\n };\r\n\r\n const handleApplyClick = () => {\r\n setIsSisdebarOpened(false);\r\n applyFilters(completedFilters);\r\n };\r\n\r\n return (\r\n <>\r\n <Button\r\n className={styles.controlDashOpenButton}\r\n view=\"primary\"\r\n iconLeft={IconArrow as any}\r\n onClick={() => {\r\n setIsSisdebarOpened(true);\r\n }}\r\n size=\"l\"\r\n />\r\n <Sidebar\r\n isOpen={isSidebarOpened}\r\n size=\"1/4\"\r\n onEsc={() => setIsSisdebarOpened(false)}\r\n onClickOutside={() => setIsSisdebarOpened(false)}\r\n //Иначе не работает\r\n style={{ zIndex: 1000 }}\r\n className={styles.sideBar}\r\n >\r\n <Sidebar.Content className={styles.sideBar__content}>\r\n <Layout className={styles.sideBar__header}>\r\n <Text size=\"l\" weight=\"bold\">\r\n Фильтры\r\n </Text>\r\n <Button\r\n size=\"s\"\r\n view=\"clear\"\r\n iconLeft={IconClose}\r\n onClick={() => setIsSisdebarOpened(false)}\r\n />\r\n </Layout>\r\n <Layout direction=\"column\">\r\n {fieldsData.map((fieldInfo) => {\r\n if (isFieldsDataWithGrouping(fieldInfo)) {\r\n return (\r\n <CustomControlDashCollapse\r\n key={fieldInfo.name}\r\n name={fieldInfo.name}\r\n isFieldOpen={fieldInfo.isFieldOpen}\r\n areFiltersApplyed={!!luxmsFilters?.[fieldInfo?.field]}\r\n >\r\n {getFilterByType({\r\n fieldInfo,\r\n luxmsFilters,\r\n })}\r\n </CustomControlDashCollapse>\r\n );\r\n } else {\r\n return (\r\n <GroupedCollapse\r\n key={fieldInfo.name}\r\n fieldInfo={fieldInfo}\r\n luxmsFilters={luxmsFilters}\r\n />\r\n );\r\n }\r\n })}\r\n </Layout>\r\n </Sidebar.Content>\r\n <Sidebar.Actions className={styles.sideBar__footer}>\r\n <Button\r\n view=\"ghost\"\r\n label=\"Сбросить фильтры\"\r\n iconLeft={IconTrash}\r\n onClick={handleResetClick}\r\n size=\"s\"\r\n />\r\n <Button\r\n view=\"primary\"\r\n label=\"Применить\"\r\n onClick={handleApplyClick}\r\n size=\"s\"\r\n />\r\n </Sidebar.Actions>\r\n </Sidebar>\r\n </>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import styles from './IconArrowStyles.module.scss.js';
|
|
3
|
+
|
|
4
|
+
const src = 'srv/resources/ds_template/Images/controlDashOpenButton.png';
|
|
5
|
+
const IconArrow = () => {
|
|
6
|
+
return (jsx("div", { className: styles.arrow, children: jsx("img", { className: styles.arrow__image, src: src, alt: "arrow" }) }));
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { IconArrow as default };
|
|
10
|
+
//# sourceMappingURL=IconArrow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconArrow.js","sources":["../../../../../src/ui-components/ControlDash/IconArrow/IconArrow.tsx"],"sourcesContent":["import React from 'react';\r\n\r\nimport styles from './IconArrowStyles.module.scss';\r\n\r\nconst src = 'srv/resources/ds_template/Images/controlDashOpenButton.png';\r\n\r\nconst IconArrow: React.FC = () => {\r\n return (\r\n <div className={styles.arrow}>\r\n <img className={styles.arrow__image} src={src} alt=\"arrow\" />\r\n </div>\r\n );\r\n};\r\n\r\nexport default IconArrow;\r\n"],"names":["_jsx"],"mappings":";;;AAIA,MAAM,GAAG,GAAG,4DAA4D,CAAC;AAEnE,MAAA,SAAS,GAAa,MAAK;IAC/B,QACEA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,KAAK,EAAA,QAAA,EAC1BA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC,OAAO,EAAA,CAAG,EACzD,CAAA,EACN;AACJ;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import styleInject from '../../../node_modules/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".IconArrowStyles-module__arrow___SxNdf{align-items:center;display:flex;flex-direction:column;height:58px;justify-content:center;margin-right:5px;width:27px}.IconArrowStyles-module__arrow__image___gmL3U{height:31px;width:13px}";
|
|
4
|
+
var styles = {"arrow":"IconArrowStyles-module__arrow___SxNdf","arrow__image":"IconArrowStyles-module__arrow__image___gmL3U"};
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { styles as default };
|
|
8
|
+
//# sourceMappingURL=IconArrowStyles.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconArrowStyles.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import styleInject from '../../../node_modules/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".ControlDashStyles-module__controlDashOpenButton___lz9UO{background-color:rgba(0,0,0,.5)!important;border-radius:8px;height:58px!important;position:absolute!important;right:-5px;top:calc(50% - 29px);width:27px!important;z-index:1001}.ControlDashStyles-module__controlDashOpenButton___lz9UO:hover{background-color:rgba(0,0,0,.438)!important}.ControlDashStyles-module__sideBar___x9f1s{border-radius:8px!important;display:flex!important;justify-content:space-between!important;padding:10px 0 10px 20px!important}.ControlDashStyles-module__sideBar__content___OX4KY{padding-right:20px}.ControlDashStyles-module__sideBar__header___s8DJJ{justify-content:space-between}.ControlDashStyles-module__sideBar__footer___p-y9T{display:flex;justify-content:space-between;margin-right:20px;padding-top:10px}";
|
|
4
|
+
var styles = {"controlDashOpenButton":"ControlDashStyles-module__controlDashOpenButton___lz9UO","sideBar":"ControlDashStyles-module__sideBar___x9f1s","sideBar__content":"ControlDashStyles-module__sideBar__content___OX4KY","sideBar__header":"ControlDashStyles-module__sideBar__header___s8DJJ","sideBar__footer":"ControlDashStyles-module__sideBar__footer___p-y9T"};
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { styles as default };
|
|
8
|
+
//# sourceMappingURL=ControlDashStyles.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlDashStyles.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import cn from 'classnames';
|
|
4
|
+
import { IconForward } from '@consta/icons/IconForward';
|
|
5
|
+
import { IconQuestion } from '@consta/icons/IconQuestion';
|
|
6
|
+
import { Button } from '@consta/uikit/Button';
|
|
7
|
+
import { Card } from '@consta/uikit/Card';
|
|
8
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
9
|
+
import { Popover } from '@consta/uikit/Popover';
|
|
10
|
+
import { Text } from '@consta/uikit/Text';
|
|
11
|
+
|
|
12
|
+
const DashletHeader = (props) => {
|
|
13
|
+
const [position, setPosition] = useState();
|
|
14
|
+
const handleMouseMove = (event) => {
|
|
15
|
+
setPosition({ x: event.clientX, y: event.clientY });
|
|
16
|
+
};
|
|
17
|
+
return (jsxs(Layout, { className: cn('dashlet-header', props.headerClassName), direction: "row", children: [jsxs(Layout, { direction: "column", flex: 6, children: [jsxs(Text, { className: "dashlet-header_title", weight: props.titleWeight || 'semibold', size: props.titleSize || 'm', view: props.titleView || 'primary', children: [props.title, (props === null || props === void 0 ? void 0 : props.showQuestion) && (jsxs(Fragment, { children: [jsx(IconQuestion, { view: "ghost", size: "s", className: "dashlet-header_question-icon", onMouseMove: handleMouseMove, onMouseLeave: () => setPosition(undefined), onClick: props.onQuestionClick }), props.questionLabel && (jsx(Popover, { direction: "upRight", spareDirection: "rightCenter", position: position, isInteractive: false, placeholder: undefined, onPointerEnterCapture: undefined, onPointerLeaveCapture: undefined, children: jsx(Card, { className: "dashlet-header_popover", verticalSpace: "s", horizontalSpace: "s", children: jsx(Text, { size: "xs", dangerouslySetInnerHTML: {
|
|
18
|
+
__html: props.questionLabel,
|
|
19
|
+
} }) }) }))] }))] }), jsx(Text, { className: "dashlet-header_subtitle", weight: props.subtitleWeight || 'regular', size: props.subtitleSize || 's', view: props.subtitleView || 'secondary', lineHeight: "xs", children: props.subtitle }), props.showButtonDetails && (jsx(Button, { label: "\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435", iconRight: IconForward, className: "dashlet-header_details-button", onClick: props.onButtonDetailsClick, size: "xs", view: "ghost" }))] }), jsx(Layout, { direction: "row", flex: 3, className: "dashlet-header_buttons", children: props.buttons })] }));
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { DashletHeader };
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/ui-components/DashletHeader/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport classnames from 'classnames';\r\nimport { IconForward } from '@consta/icons/IconForward';\r\nimport { IconQuestion } from '@consta/icons/IconQuestion';\r\nimport { Button } from '@consta/uikit/Button';\r\nimport { Card } from '@consta/uikit/Card';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Popover } from '@consta/uikit/Popover';\r\nimport {\r\n Text,\r\n TextPropSize,\r\n TextPropView,\r\n TextPropWeight,\r\n} from '@consta/uikit/Text';\r\n\r\nimport './DashletHeader.scss';\r\n\r\nexport interface IDashletHeader {\r\n title: string;\r\n titleSize?: TextPropSize;\r\n titleWeight?: TextPropWeight;\r\n titleView?: TextPropView;\r\n subtitle?: string;\r\n subtitleSize?: TextPropSize;\r\n subtitleWeight?: TextPropWeight;\r\n subtitleView?: TextPropView;\r\n headerClassName?: string;\r\n buttons?: React.ReactNode;\r\n showQuestion?: boolean;\r\n questionLabel?: string;\r\n onQuestionClick?: React.EventHandler<React.MouseEvent>;\r\n showButtonDetails?: boolean; //Кнопка подробнее\r\n onButtonDetailsClick?: React.EventHandler<React.MouseEvent>; //onClick кнопки подробнее\r\n}\r\n\r\ninterface IPosition {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport const DashletHeader: React.FC<IDashletHeader> = (props) => {\r\n const [position, setPosition] = useState<IPosition | undefined>();\r\n\r\n const handleMouseMove = (event: React.MouseEvent) => {\r\n setPosition({ x: event.clientX, y: event.clientY });\r\n };\r\n\r\n return (\r\n <Layout\r\n className={classnames('dashlet-header', props.headerClassName)}\r\n direction=\"row\"\r\n >\r\n <Layout direction=\"column\" flex={6}>\r\n <Text\r\n className=\"dashlet-header_title\"\r\n weight={props.titleWeight || 'semibold'}\r\n size={props.titleSize || 'm'}\r\n view={props.titleView || 'primary'}\r\n >\r\n {props.title}\r\n {props?.showQuestion && (\r\n <>\r\n <IconQuestion\r\n view=\"ghost\"\r\n size=\"s\"\r\n className=\"dashlet-header_question-icon\"\r\n onMouseMove={handleMouseMove}\r\n onMouseLeave={() => setPosition(undefined)}\r\n onClick={props.onQuestionClick}\r\n />\r\n {props.questionLabel && (\r\n <Popover\r\n direction=\"upRight\"\r\n spareDirection=\"rightCenter\"\r\n position={position}\r\n isInteractive={false}\r\n placeholder={undefined}\r\n onPointerEnterCapture={undefined}\r\n onPointerLeaveCapture={undefined}\r\n >\r\n <Card\r\n className=\"dashlet-header_popover\"\r\n verticalSpace=\"s\"\r\n horizontalSpace=\"s\"\r\n >\r\n <Text\r\n size=\"xs\"\r\n dangerouslySetInnerHTML={{\r\n __html: props.questionLabel!,\r\n }}\r\n ></Text>\r\n </Card>\r\n </Popover>\r\n )}\r\n </>\r\n )}\r\n </Text>\r\n <Text\r\n className=\"dashlet-header_subtitle\"\r\n weight={props.subtitleWeight || 'regular'}\r\n size={props.subtitleSize || 's'}\r\n view={props.subtitleView || 'secondary'}\r\n lineHeight=\"xs\"\r\n >\r\n {props.subtitle}\r\n </Text>\r\n {props.showButtonDetails && (\r\n <Button\r\n label=\"Подробнее\"\r\n iconRight={IconForward}\r\n className=\"dashlet-header_details-button\"\r\n onClick={props.onButtonDetailsClick}\r\n size=\"xs\"\r\n view=\"ghost\"\r\n />\r\n )}\r\n </Layout>\r\n <Layout direction=\"row\" flex={3} className=\"dashlet-header_buttons\">\r\n {props.buttons}\r\n </Layout>\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsxs","classnames","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Button } from '@consta/uikit/Button';
|
|
3
|
+
import { IconComponent } from '../IconComponent/index.js';
|
|
4
|
+
|
|
5
|
+
const DashletHeaderButton = ({ icon, iconComponent, onClick, size, iconSize, }) => {
|
|
6
|
+
return (jsx(Button, { size: size || 's', iconSize: iconSize || 's', view: "ghost",
|
|
7
|
+
//@ts-ignore не критично
|
|
8
|
+
iconRight: icon ? () => jsx(IconComponent, { icon: icon }) : iconComponent, onClick: onClick, onlyIcon: true }));
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { DashletHeaderButton };
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/ui-components/DashletHeaderButton/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Button, ButtonPropSize } from '@consta/uikit/Button';\r\n\r\nimport { IconComponent } from '../IconComponent';\r\n\r\nexport interface IDashletHeaderButton {\r\n icon?: string; // Использовать если нужно изображение из ds_template/Images\r\n iconComponent?: React.FC; // Использовать, если нужна компонента Consta\r\n onClick: React.EventHandler<React.MouseEvent>;\r\n size?: ButtonPropSize; // Размер кнопки\r\n iconSize?: ButtonPropSize; // Размер иконки внутри кнопки\r\n}\r\n\r\nexport const DashletHeaderButton: React.FC<IDashletHeaderButton> = ({\r\n icon,\r\n iconComponent,\r\n onClick,\r\n size,\r\n iconSize,\r\n}) => {\r\n return (\r\n <Button\r\n size={size || 's'}\r\n iconSize={iconSize || 's'}\r\n view=\"ghost\"\r\n //@ts-ignore не критично\r\n iconRight={icon ? () => <IconComponent icon={icon} /> : iconComponent}\r\n onClick={onClick}\r\n onlyIcon\r\n />\r\n );\r\n};\r\n"],"names":["_jsx"],"mappings":";;;;AAaa,MAAA,mBAAmB,GAAmC,CAAC,EAClE,IAAI,EACJ,aAAa,EACb,OAAO,EACP,IAAI,EACJ,QAAQ,GACT,KAAI;AACH,IAAA,QACEA,GAAC,CAAA,MAAM,IACL,IAAI,EAAE,IAAI,IAAI,GAAG,EACjB,QAAQ,EAAE,QAAQ,IAAI,GAAG,EACzB,IAAI,EAAC,OAAO;;QAEZ,SAAS,EAAE,IAAI,GAAG,MAAMA,GAAA,CAAC,aAAa,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,CAAI,GAAG,aAAa,EACrE,OAAO,EAAE,OAAO,EAChB,QAAQ,EACR,IAAA,EAAA,CAAA,EACF;AACJ;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
3
|
+
import { Modal } from '@consta/uikit/Modal';
|
|
4
|
+
|
|
5
|
+
const DashletHeaderModal = ({ children, heightModal = '100%', widthModal = '100%', isModalOpen, handleClose, }) => {
|
|
6
|
+
return (jsxs(Layout, { className: "dashlet-header__modal_layout", children: [children, jsx(Modal, { isOpen: isModalOpen, hasOverlay: true, onClickOutside: handleClose, onEsc: handleClose, style: { zIndex: 102, height: heightModal, width: widthModal }, className: "dashlet-header__modal", children: children })] }));
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { DashletHeaderModal };
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/ui-components/DashletHeaderModal/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Modal } from '@consta/uikit/Modal';\r\n\r\nimport './DashletHeaderModal.scss';\r\n\r\ninterface IDashletHeaderModalProps {\r\n isModalOpen: boolean;\r\n heightModal?: string;\r\n widthModal?: string;\r\n handleClose: () => void;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport const DashletHeaderModal: React.FC<IDashletHeaderModalProps> = ({\r\n children,\r\n heightModal = '100%',\r\n widthModal = '100%',\r\n isModalOpen,\r\n handleClose,\r\n}) => {\r\n return (\r\n <Layout className=\"dashlet-header__modal_layout\">\r\n {children}\r\n <Modal\r\n isOpen={isModalOpen}\r\n hasOverlay\r\n onClickOutside={handleClose}\r\n onEsc={handleClose}\r\n style={{ zIndex: 102, height: heightModal, width: widthModal }}\r\n className=\"dashlet-header__modal\"\r\n >\r\n {children}\r\n </Modal>\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx"],"mappings":";;;;MAca,kBAAkB,GAAuC,CAAC,EACrE,QAAQ,EACR,WAAW,GAAG,MAAM,EACpB,UAAU,GAAG,MAAM,EACnB,WAAW,EACX,WAAW,GACZ,KAAI;IACH,QACEA,KAAC,MAAM,EAAA,EAAC,SAAS,EAAC,8BAA8B,EAC7C,QAAA,EAAA,CAAA,QAAQ,EACTC,GAAA,CAAC,KAAK,EACJ,EAAA,MAAM,EAAE,WAAW,EACnB,UAAU,QACV,cAAc,EAAE,WAAW,EAC3B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAC9D,SAAS,EAAC,uBAAuB,YAEhC,QAAQ,EAAA,CACH,CACD,EAAA,CAAA,EACT;AACJ;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
4
|
+
import { Loader } from '@consta/uikit/Loader';
|
|
5
|
+
import { DashletHeader } from '../DashletHeader/index.js';
|
|
6
|
+
|
|
7
|
+
const DashletLayout = (props) => {
|
|
8
|
+
return (jsxs(Layout, { className: cn(props.noModal ? 'dashlet-layout' : 'dashlet-layout__into-modal', props.className), children: [jsx(DashletHeader, Object.assign({}, props)), props.isLoading ? (jsx(Layout, { className: "dashlet-layout__loaderContainer", children: jsx(Loader, { style: { marginTop: props === null || props === void 0 ? void 0 : props.loaderMarginTop } }) })) : (props.children)] }));
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { DashletLayout };
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/ui-components/DashletLayout/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport classnames from 'classnames';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Loader } from '@consta/uikit/Loader';\r\n\r\nimport { DashletHeader, IDashletHeader } from '../DashletHeader';\r\n\r\nimport './DashletLayout.scss';\r\n\r\nexport interface IDashletLayout extends IDashletHeader {\r\n className?: string;\r\n noModal?: boolean;\r\n isLoading?: boolean;\r\n loaderMarginTop?: number; // Отступ сверху для Loader\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport const DashletLayout: React.FC<IDashletLayout> = (props) => {\r\n return (\r\n <Layout\r\n className={classnames(\r\n props.noModal ? 'dashlet-layout' : 'dashlet-layout__into-modal',\r\n props.className\r\n )}\r\n >\r\n <DashletHeader {...props} />\r\n {props.isLoading ? (\r\n <Layout className=\"dashlet-layout__loaderContainer\">\r\n <Loader style={{ marginTop: props?.loaderMarginTop }} />\r\n </Layout>\r\n ) : (\r\n props.children\r\n )}\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsxs","classnames","_jsx"],"mappings":";;;;;;AAiBa,MAAA,aAAa,GAA6B,CAAC,KAAK,KAAI;AAC/D,IAAA,QACEA,IAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAEC,EAAU,CACnB,KAAK,CAAC,OAAO,GAAG,gBAAgB,GAAG,4BAA4B,EAC/D,KAAK,CAAC,SAAS,CAChB,aAEDC,GAAC,CAAA,aAAa,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,EAAI,EAC3B,KAAK,CAAC,SAAS,IACdA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,iCAAiC,EACjD,QAAA,EAAAA,GAAA,CAAC,MAAM,EAAA,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,eAAe,EAAE,EAAI,CAAA,EAAA,CACjD,KAET,KAAK,CAAC,QAAQ,CACf,CAAA,EAAA,CACM,EACT;AACJ;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { createContext, useState, useCallback, useMemo } from 'react';
|
|
4
|
+
|
|
5
|
+
const CompletedFiltersContext = createContext({
|
|
6
|
+
completedFilters: {},
|
|
7
|
+
handleChangeCompletedFilters: (_newCompletedFilters
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
9
|
+
) => { },
|
|
10
|
+
getCompletedFiltersWithoutField: ((_field) => ''),
|
|
11
|
+
});
|
|
12
|
+
const CompletedFiltersContextProvider = ({ children, initialFilters, }) => {
|
|
13
|
+
const [completedFilters, setCompletedFilters] = useState(initialFilters !== null && initialFilters !== void 0 ? initialFilters : {});
|
|
14
|
+
const handleChangeCompletedFilters = useCallback((newCompletedFilters) => {
|
|
15
|
+
setCompletedFilters((prev) => (Object.assign(Object.assign({}, prev), newCompletedFilters)));
|
|
16
|
+
}, []);
|
|
17
|
+
const getCompletedFiltersWithoutField = (field) => {
|
|
18
|
+
if (!(completedFilters === null || completedFilters === void 0 ? void 0 : completedFilters[field]))
|
|
19
|
+
return JSON.stringify(completedFilters);
|
|
20
|
+
const _a = completedFilters, _b = field; _a[_b]; const restFilters = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]);
|
|
21
|
+
return JSON.stringify(restFilters);
|
|
22
|
+
};
|
|
23
|
+
const values = useMemo(() => {
|
|
24
|
+
return {
|
|
25
|
+
completedFilters,
|
|
26
|
+
handleChangeCompletedFilters,
|
|
27
|
+
getCompletedFiltersWithoutField,
|
|
28
|
+
};
|
|
29
|
+
}, [completedFilters]);
|
|
30
|
+
return (jsx(CompletedFiltersContext.Provider, { value: values, children: children }));
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { CompletedFiltersContext, CompletedFiltersContextProvider };
|
|
34
|
+
//# sourceMappingURL=CompletedFiltersContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompletedFiltersContext.js","sources":["../../../../../src/ui-components/FilterComponents/Context/CompletedFiltersContext.tsx"],"sourcesContent":["import React, { createContext, useCallback, useMemo, useState } from 'react';\r\n\r\nimport { ContextValues } from '../types';\r\n\r\ninterface CompletedFiltersContextProviderProps {\r\n children: React.ReactNode;\r\n initialFilters?: ContextValues;\r\n}\r\n\r\nexport const CompletedFiltersContext = createContext({\r\n completedFilters: {} as ContextValues,\r\n handleChangeCompletedFilters: (\r\n _newCompletedFilters: ContextValues\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n ) => {},\r\n getCompletedFiltersWithoutField: ((_field: string) => '') as (\r\n _field: string\r\n ) => string,\r\n});\r\n\r\nexport const CompletedFiltersContextProvider = ({\r\n children,\r\n initialFilters,\r\n}: CompletedFiltersContextProviderProps) => {\r\n const [completedFilters, setCompletedFilters] = useState<ContextValues>(\r\n initialFilters ?? {}\r\n );\r\n\r\n const handleChangeCompletedFilters = useCallback(\r\n (newCompletedFilters: ContextValues) => {\r\n setCompletedFilters((prev) => ({ ...prev, ...newCompletedFilters }));\r\n },\r\n []\r\n );\r\n\r\n const getCompletedFiltersWithoutField = (field: string) => {\r\n if (!completedFilters?.[field]) return JSON.stringify(completedFilters);\r\n\r\n const { [field]: _notUsed, ...restFilters } = completedFilters;\r\n return JSON.stringify(restFilters);\r\n };\r\n\r\n const values = useMemo(() => {\r\n return {\r\n completedFilters,\r\n handleChangeCompletedFilters,\r\n getCompletedFiltersWithoutField,\r\n };\r\n }, [completedFilters]);\r\n return (\r\n <CompletedFiltersContext.Provider value={values}>\r\n {children}\r\n </CompletedFiltersContext.Provider>\r\n );\r\n};\r\n"],"names":["_jsx"],"mappings":";;;;AASO,MAAM,uBAAuB,GAAG,aAAa,CAAC;AACnD,IAAA,gBAAgB,EAAE,EAAmB;IACrC,4BAA4B,EAAE,CAC5B,oBAAmC;;AAEnC,YAAK;IACP,+BAA+B,GAAG,CAAC,MAAc,KAAK,EAAE,CAE7C;AACZ,CAAA,EAAE;AAEU,MAAA,+BAA+B,GAAG,CAAC,EAC9C,QAAQ,EACR,cAAc,GACuB,KAAI;AACzC,IAAA,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,cAAc,KAAA,IAAA,IAAd,cAAc,KAAd,KAAA,CAAA,GAAA,cAAc,GAAI,EAAE,CACrB,CAAC;AAEF,IAAA,MAAM,4BAA4B,GAAG,WAAW,CAC9C,CAAC,mBAAkC,KAAI;AACrC,QAAA,mBAAmB,CAAC,CAAC,IAAI,MAAW,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAK,EAAA,mBAAmB,CAAG,CAAA,CAAC,CAAC;KACtE,EACD,EAAE,CACH,CAAC;AAEF,IAAA,MAAM,+BAA+B,GAAG,CAAC,KAAa,KAAI;QACxD,IAAI,EAAC,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,uBAAhB,gBAAgB,CAAG,KAAK,CAAC,CAAA;AAAE,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAExE,QAAA,MAA8C,EAAA,GAAA,gBAAgB,CAAtD,CAAA,EAAA,GAAC,KAAM,CAAA,CAAU,EAAA,CAAA,EAAA,CAAA,CAAK,OAAA,WAAW,GAAnC,MAAA,CAAA,EAAA,EAAA,CAAA,OAAA,EAAA,KAAA,QAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,CAAqC,EAAoB;AAC/D,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACrC,KAAC,CAAC;AAEF,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAK;QAC1B,OAAO;YACL,gBAAgB;YAChB,4BAA4B;YAC5B,+BAA+B;SAChC,CAAC;AACJ,KAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACvB,IAAA,QACEA,GAAA,CAAC,uBAAuB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,MAAM,EAAA,QAAA,EAC5C,QAAQ,EAAA,CACwB,EACnC;AACJ;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
3
|
+
import { IconFunnel } from '@consta/icons/IconFunnel';
|
|
4
|
+
import { Collapse } from '@consta/uikit/Collapse';
|
|
5
|
+
import styles from '../styles/ControlDashStyles.module.scss.js';
|
|
6
|
+
|
|
7
|
+
const CustomControlDashCollapse = ({ name, areFiltersApplyed, isFieldOpen = false, children }) => {
|
|
8
|
+
const [isOpen, setIsOpen] = useState(isFieldOpen);
|
|
9
|
+
const [isContentShown, setIsContentShown] = useState(isFieldOpen);
|
|
10
|
+
const timerRef = useRef(null);
|
|
11
|
+
//При размонтировании очищаем таймаут
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
return () => {
|
|
14
|
+
if (timerRef.current)
|
|
15
|
+
clearTimeout(timerRef.current);
|
|
16
|
+
};
|
|
17
|
+
}, []);
|
|
18
|
+
const handleOnClick = useCallback(() => {
|
|
19
|
+
setIsOpen(!isOpen);
|
|
20
|
+
if (timerRef.current)
|
|
21
|
+
clearTimeout(timerRef.current);
|
|
22
|
+
timerRef.current = setTimeout(() => setIsContentShown(!isOpen), isOpen ? 700 : 0);
|
|
23
|
+
}, [isOpen]);
|
|
24
|
+
return (jsx(Collapse, { label: name, isOpen: isOpen, rightSide: areFiltersApplyed ? jsx(IconFunnel, { size: "xs", view: "brand" }) : jsx(Fragment, {}), onClick: handleOnClick, size: "s", className: styles.collapse, children: isContentShown && children }));
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export { CustomControlDashCollapse };
|
|
28
|
+
//# sourceMappingURL=CustomControlDashCollapse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomControlDashCollapse.js","sources":["../../../../../src/ui-components/FilterComponents/CustomControlDashCollapse/CustomControlDashCollapse.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\r\nimport { IconFunnel } from '@consta/icons/IconFunnel';\r\nimport { Collapse } from '@consta/uikit/Collapse';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\nexport interface ICustomControlDashCollapseProps {\r\n name: string;\r\n areFiltersApplyed: boolean;\r\n isFieldOpen?: boolean;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport const CustomControlDashCollapse: React.FC<\r\n ICustomControlDashCollapseProps\r\n> = ({ name, areFiltersApplyed, isFieldOpen = false, children }) => {\r\n const [isOpen, setIsOpen] = useState(isFieldOpen);\r\n const [isContentShown, setIsContentShown] = useState(isFieldOpen);\r\n\r\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n //При размонтировании очищаем таймаут\r\n useEffect(() => {\r\n return () => {\r\n if (timerRef.current) clearTimeout(timerRef.current);\r\n };\r\n }, []);\r\n\r\n const handleOnClick = useCallback(() => {\r\n setIsOpen(!isOpen);\r\n if (timerRef.current) clearTimeout(timerRef.current);\r\n timerRef.current = setTimeout(\r\n () => setIsContentShown(!isOpen),\r\n isOpen ? 700 : 0\r\n );\r\n }, [isOpen]);\r\n\r\n return (\r\n <Collapse\r\n label={name}\r\n isOpen={isOpen}\r\n rightSide={\r\n areFiltersApplyed ? <IconFunnel size=\"xs\" view=\"brand\" /> : <></>\r\n }\r\n onClick={handleOnClick}\r\n size=\"s\"\r\n className={styles.collapse}\r\n >\r\n {isContentShown && children}\r\n </Collapse>\r\n );\r\n};\r\n"],"names":["_jsx","_Fragment"],"mappings":";;;;;;AAaa,MAAA,yBAAyB,GAElC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAI;IACjE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AAElE,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;;IAGpE,SAAS,CAAC,MAAK;AACb,QAAA,OAAO,MAAK;YACV,IAAI,QAAQ,CAAC,OAAO;AAAE,gBAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvD,SAAC,CAAC;KACH,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAK;AACrC,QAAA,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,QAAQ,CAAC,OAAO;AAAE,YAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,QAAQ,CAAC,OAAO,GAAG,UAAU,CAC3B,MAAM,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAChC,MAAM,GAAG,GAAG,GAAG,CAAC,CACjB,CAAC;AACJ,KAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,QACEA,GAAC,CAAA,QAAQ,EACP,EAAA,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,MAAM,EACd,SAAS,EACP,iBAAiB,GAAGA,GAAA,CAAC,UAAU,EAAC,EAAA,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAA,CAAG,GAAGA,GAAA,CAAAC,QAAA,EAAA,EAAA,CAAK,EAEnE,OAAO,EAAE,aAAa,EACtB,IAAI,EAAC,GAAG,EACR,SAAS,EAAE,MAAM,CAAC,QAAQ,EAEzB,QAAA,EAAA,cAAc,IAAI,QAAQ,EAClB,CAAA,EACX;AACJ;;;;"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext, useState, useEffect } from 'react';
|
|
3
|
+
import { DatePicker } from '@consta/uikit/DatePicker';
|
|
4
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
5
|
+
import { Loader } from '@consta/uikit/Loader';
|
|
6
|
+
import 'axios';
|
|
7
|
+
import 'axios-retry';
|
|
8
|
+
import { getKoobDataByCfgFromLib } from '../../../utils/getKoobDataByCfg.js';
|
|
9
|
+
import { DatasetNameContext } from '../../CommonContexts/DatasetNameContext.js';
|
|
10
|
+
import { CompletedFiltersContext } from '../Context/CompletedFiltersContext.js';
|
|
11
|
+
import '@consta/icons/IconFunnel';
|
|
12
|
+
import '@consta/uikit/Collapse';
|
|
13
|
+
import { formatDate } from '../helpers.js';
|
|
14
|
+
import { getCorrectDate } from './helpers.js';
|
|
15
|
+
import '@consta/icons/IconCancel';
|
|
16
|
+
import '@consta/uikit/Button';
|
|
17
|
+
import 'classnames';
|
|
18
|
+
import 'react-virtuoso';
|
|
19
|
+
import '@consta/uikit/MixScrollBar';
|
|
20
|
+
import '@consta/uikit/Text';
|
|
21
|
+
import '@consta/uikit/Checkbox';
|
|
22
|
+
import '@consta/uikit/TextField';
|
|
23
|
+
import '@consta/uikit/Radio';
|
|
24
|
+
import '@consta/uikit/RadioGroup';
|
|
25
|
+
|
|
26
|
+
const DatePickerRange = ({ koob, applyedFilters, field, }) => {
|
|
27
|
+
const ds_name = useContext(DatasetNameContext);
|
|
28
|
+
const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);
|
|
29
|
+
const [value, setValue] = useState(null);
|
|
30
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (value) {
|
|
33
|
+
handleChangeCompletedFilters({
|
|
34
|
+
[field]: [
|
|
35
|
+
'between',
|
|
36
|
+
formatDate(value[0]),
|
|
37
|
+
formatDate(value[1]),
|
|
38
|
+
],
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}, [value]);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
const modifiedFilters = applyedFilters
|
|
44
|
+
? applyedFilters.filter((item) => item !== 'between')
|
|
45
|
+
: null;
|
|
46
|
+
if (!modifiedFilters) {
|
|
47
|
+
getKoobDataByCfgFromLib({
|
|
48
|
+
data: {
|
|
49
|
+
koob: koob,
|
|
50
|
+
columns: [`min(${field}):${field}_min`, `max(${field}):${field}_max`],
|
|
51
|
+
},
|
|
52
|
+
ds_name,
|
|
53
|
+
})
|
|
54
|
+
.then((resp) => {
|
|
55
|
+
var _a, _b;
|
|
56
|
+
setValue([
|
|
57
|
+
getCorrectDate((_a = resp[0]) === null || _a === void 0 ? void 0 : _a[`${field}_min`]),
|
|
58
|
+
getCorrectDate((_b = resp[0]) === null || _b === void 0 ? void 0 : _b[`${field}_max`]),
|
|
59
|
+
]);
|
|
60
|
+
})
|
|
61
|
+
.catch(() => {
|
|
62
|
+
setValue(null);
|
|
63
|
+
})
|
|
64
|
+
.finally(() => setIsLoading(false));
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
setValue([
|
|
68
|
+
getCorrectDate(modifiedFilters[0]),
|
|
69
|
+
getCorrectDate(modifiedFilters[1]),
|
|
70
|
+
]);
|
|
71
|
+
setIsLoading(false);
|
|
72
|
+
}
|
|
73
|
+
}, []);
|
|
74
|
+
return (jsx(Layout, { style: { justifyContent: 'center', alignItems: 'center' }, children: isLoading ? (jsx(Loader, {})) : (jsx(DatePicker, { type: "date-range", value: value, onChange: (value) => setValue(value) })) }));
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export { DatePickerRange };
|
|
78
|
+
//# sourceMappingURL=DatePickerRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePickerRange.js","sources":["../../../../../src/ui-components/FilterComponents/DatePickerRange/DatePickerRange.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport { DatePicker } from '@consta/uikit/DatePicker';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Loader } from '@consta/uikit/Loader';\r\n\r\nimport { getKoobDataByCfgFromLib } from '@/utils';\r\n\r\nimport { DatasetNameContext } from '../../CommonContexts';\r\nimport { CompletedFiltersContext } from '../../FilterComponents';\r\nimport { formatDate } from '../helpers';\r\nimport { DatePickerRangeConfig, OmitedComponentFields } from '../types';\r\n\r\nimport { getCorrectDate } from './helpers';\r\n\r\ninterface FieldItem extends Omit<DatePickerRangeConfig, OmitedComponentFields> {\r\n applyedFilters?: string[];\r\n}\r\n\r\nexport const DatePickerRange: React.FC<FieldItem> = ({\r\n koob,\r\n applyedFilters,\r\n field,\r\n}) => {\r\n const ds_name = useContext(DatasetNameContext);\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\r\n\r\n const [value, setValue] = useState<[Date?, Date?] | null>(null);\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n if (value) {\r\n handleChangeCompletedFilters({\r\n [field]: [\r\n 'between',\r\n formatDate((value as Date[])[0]),\r\n formatDate((value as Date[])[1]),\r\n ],\r\n });\r\n }\r\n }, [value]);\r\n\r\n useEffect(() => {\r\n const modifiedFilters: (string | undefined)[] | null = applyedFilters\r\n ? applyedFilters.filter((item: string) => item !== 'between')\r\n : null;\r\n\r\n if (!modifiedFilters) {\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n koob: koob as string,\r\n columns: [`min(${field}):${field}_min`, `max(${field}):${field}_max`],\r\n },\r\n ds_name,\r\n })\r\n .then((resp) => {\r\n setValue([\r\n getCorrectDate(resp[0]?.[`${field}_min`]),\r\n getCorrectDate(resp[0]?.[`${field}_max`]),\r\n ]);\r\n })\r\n .catch(() => {\r\n setValue(null);\r\n })\r\n .finally(() => setIsLoading(false));\r\n } else {\r\n setValue([\r\n getCorrectDate(modifiedFilters[0]),\r\n getCorrectDate(modifiedFilters[1]),\r\n ]);\r\n setIsLoading(false);\r\n }\r\n }, []);\r\n\r\n return (\r\n <Layout style={{ justifyContent: 'center', alignItems: 'center' }}>\r\n {isLoading ? (\r\n <Loader />\r\n ) : (\r\n <DatePicker\r\n type=\"date-range\"\r\n value={value}\r\n onChange={(value) => setValue(value)}\r\n />\r\n )}\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../../src/ui-components/FilterComponents/DatePickerRange/helpers.ts"],"sourcesContent":["export const getCorrectDate = (value: string | undefined) =>\r\n value === undefined ? value : new Date(value);\r\n"],"names":[],"mappings":"AAAa,MAAA,cAAc,GAAG,CAAC,KAAyB,KACtD,KAAK,KAAK,SAAS,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK;;;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext, useState, useEffect } from 'react';
|
|
3
|
+
import { IconCancel } from '@consta/icons/IconCancel';
|
|
4
|
+
import { Button } from '@consta/uikit/Button';
|
|
5
|
+
import { DatePicker } from '@consta/uikit/DatePicker';
|
|
6
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
7
|
+
import { CompletedFiltersContext } from '../Context/CompletedFiltersContext.js';
|
|
8
|
+
import { formatDate } from '../helpers.js';
|
|
9
|
+
|
|
10
|
+
const DatePickerSingle = ({ applyedFilters, field, }) => {
|
|
11
|
+
const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);
|
|
12
|
+
const [value, setValue] = useState(null);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (value) {
|
|
15
|
+
handleChangeCompletedFilters({
|
|
16
|
+
[field]: ['=', formatDate(value)],
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}, [value]);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
const modifiedFilters = applyedFilters ? applyedFilters[1] : null;
|
|
22
|
+
if (modifiedFilters) {
|
|
23
|
+
setValue(new Date(modifiedFilters));
|
|
24
|
+
}
|
|
25
|
+
}, []);
|
|
26
|
+
return (jsxs(Layout, { children: [jsx(DatePicker, { type: "date", size: "s", value: value, onChange: (value) => {
|
|
27
|
+
setValue(value);
|
|
28
|
+
} }), jsx(Button, { size: "s", iconLeft: IconCancel, onClick: () => {
|
|
29
|
+
setValue(null);
|
|
30
|
+
handleChangeCompletedFilters({
|
|
31
|
+
[field]: undefined,
|
|
32
|
+
});
|
|
33
|
+
} })] }));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export { DatePickerSingle };
|
|
37
|
+
//# sourceMappingURL=DatePickerSingle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePickerSingle.js","sources":["../../../../../src/ui-components/FilterComponents/DatePickerSingle/DatePickerSingle.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport { IconCancel } from '@consta/icons/IconCancel';\r\nimport { Button } from '@consta/uikit/Button';\r\nimport { DatePicker } from '@consta/uikit/DatePicker';\r\nimport { Layout } from '@consta/uikit/Layout';\r\n\r\nimport { CompletedFiltersContext } from '../Context';\r\nimport { formatDate } from '../helpers';\r\nimport { DatePickerSingleConfig, OmitedComponentFields } from '../types';\r\n\r\ninterface DatePickerSingleProps\r\n extends Omit<DatePickerSingleConfig, OmitedComponentFields> {\r\n applyedFilters?: string[];\r\n}\r\n\r\nexport const DatePickerSingle: React.FC<DatePickerSingleProps> = ({\r\n applyedFilters,\r\n field,\r\n}) => {\r\n const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);\r\n\r\n const [value, setValue] = useState<Date | null>(null);\r\n\r\n useEffect(() => {\r\n if (value) {\r\n handleChangeCompletedFilters({\r\n [field]: ['=', formatDate(value)],\r\n });\r\n }\r\n }, [value]);\r\n\r\n useEffect(() => {\r\n const modifiedFilters = applyedFilters ? applyedFilters[1] : null;\r\n\r\n if (modifiedFilters) {\r\n setValue(new Date(modifiedFilters));\r\n }\r\n }, []);\r\n\r\n return (\r\n <Layout>\r\n <DatePicker\r\n type=\"date\"\r\n size=\"s\"\r\n value={value}\r\n onChange={(value) => {\r\n setValue(value);\r\n }}\r\n />\r\n <Button\r\n size=\"s\"\r\n iconLeft={IconCancel}\r\n onClick={() => {\r\n setValue(null);\r\n handleChangeCompletedFilters({\r\n [field]: undefined,\r\n });\r\n }}\r\n />\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;AAea,MAAA,gBAAgB,GAAoC,CAAC,EAChE,cAAc,EACd,KAAK,GACN,KAAI;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAE7E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAc,IAAI,CAAC,CAAC;IAEtD,SAAS,CAAC,MAAK;QACb,IAAI,KAAK,EAAE;AACT,YAAA,4BAA4B,CAAC;gBAC3B,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,aAAA,CAAC,CAAC;SACJ;AACH,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAElE,IAAI,eAAe,EAAE;AACnB,YAAA,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;SACrC;KACF,EAAE,EAAE,CAAC,CAAC;IAEP,QACEA,IAAC,CAAA,MAAM,EACL,EAAA,QAAA,EAAA,CAAAC,GAAA,CAAC,UAAU,EACT,EAAA,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,KAAI;oBAClB,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClB,iBAAC,GACD,EACFA,GAAA,CAAC,MAAM,EAAA,EACL,IAAI,EAAC,GAAG,EACR,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,MAAK;oBACZ,QAAQ,CAAC,IAAI,CAAC,CAAC;AACf,oBAAA,4BAA4B,CAAC;wBAC3B,CAAC,KAAK,GAAG,SAAS;AACnB,qBAAA,CAAC,CAAC;iBACJ,EAAA,CACD,CACK,EAAA,CAAA,EACT;AACJ;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useMemo } from 'react';
|
|
3
|
+
import cn from 'classnames';
|
|
4
|
+
import { IconFunnel } from '@consta/icons/IconFunnel';
|
|
5
|
+
import { Collapse } from '@consta/uikit/Collapse';
|
|
6
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
7
|
+
import { CustomControlDashCollapse } from '../CustomControlDashCollapse/CustomControlDashCollapse.js';
|
|
8
|
+
import { getFilterByType } from '../helpers.js';
|
|
9
|
+
import styles from '../styles/ControlDashStyles.module.scss.js';
|
|
10
|
+
|
|
11
|
+
const GroupedCollapse = ({ fieldInfo, luxmsFilters, }) => {
|
|
12
|
+
const { name, isFieldOpen } = fieldInfo;
|
|
13
|
+
const [isOpen, setIsOpen] = useState(isFieldOpen !== null && isFieldOpen !== void 0 ? isFieldOpen : false);
|
|
14
|
+
const isApplyed = useMemo(() => {
|
|
15
|
+
return !!fieldInfo.children.find((item) => luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[item.field]);
|
|
16
|
+
}, [luxmsFilters]);
|
|
17
|
+
return (jsx(Collapse, { className: cn(styles.groupedCollapse, {
|
|
18
|
+
[styles.groupedCollapse_bold]: fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.isBold,
|
|
19
|
+
}), label: name, isOpen: isOpen, onClick: () => setIsOpen(!isOpen), size: "s", rightSide: isApplyed ? jsx(IconFunnel, { size: "xs", view: "brand" }) : jsx(Fragment, {}), children: isOpen && (jsx(Layout, { className: styles.groupedCollapse__content, direction: "column", children: fieldInfo.children.map((fieldInfo) => {
|
|
20
|
+
return (jsx(CustomControlDashCollapse, { name: fieldInfo.name, isFieldOpen: fieldInfo.isFieldOpen, areFiltersApplyed: !!(luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.field]), children: getFilterByType({
|
|
21
|
+
fieldInfo,
|
|
22
|
+
luxmsFilters,
|
|
23
|
+
}) }, fieldInfo.name));
|
|
24
|
+
}) })) }));
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export { GroupedCollapse };
|
|
28
|
+
//# sourceMappingURL=GroupedCollapse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupedCollapse.js","sources":["../../../../../src/ui-components/FilterComponents/GroupedCollapse/GroupedCollapse.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport { IconFunnel } from '@consta/icons/IconFunnel';\r\nimport { Collapse } from '@consta/uikit/Collapse';\r\nimport { Layout } from '@consta/uikit/Layout';\r\n\r\nimport { CustomControlDashCollapse } from '../CustomControlDashCollapse/CustomControlDashCollapse';\r\nimport { getFilterByType } from '../helpers';\r\nimport { GroupedCollapseProps } from '../types';\r\n\r\nimport styles from '../styles/ControlDashStyles.module.scss';\r\n\r\nexport const GroupedCollapse: React.FC<GroupedCollapseProps> = ({\r\n fieldInfo,\r\n luxmsFilters,\r\n}) => {\r\n const { name, isFieldOpen } = fieldInfo;\r\n\r\n const [isOpen, setIsOpen] = useState(isFieldOpen ?? false);\r\n\r\n const isApplyed = useMemo(() => {\r\n return !!fieldInfo.children.find((item) => luxmsFilters?.[item.field]);\r\n }, [luxmsFilters]);\r\n\r\n return (\r\n <Collapse\r\n className={classNames(styles.groupedCollapse, {\r\n [styles.groupedCollapse_bold]: fieldInfo?.isBold,\r\n })}\r\n label={name}\r\n isOpen={isOpen}\r\n onClick={() => setIsOpen(!isOpen)}\r\n size=\"s\"\r\n rightSide={isApplyed ? <IconFunnel size=\"xs\" view=\"brand\" /> : <></>}\r\n >\r\n {/* Тут достаточно isOpen, т.к. всё равно transition отключен */}\r\n {isOpen && (\r\n <Layout className={styles.groupedCollapse__content} direction=\"column\">\r\n {fieldInfo.children.map((fieldInfo) => {\r\n return (\r\n <CustomControlDashCollapse\r\n key={fieldInfo.name}\r\n name={fieldInfo.name}\r\n isFieldOpen={fieldInfo.isFieldOpen}\r\n areFiltersApplyed={!!luxmsFilters?.[fieldInfo?.field]}\r\n >\r\n {getFilterByType({\r\n fieldInfo,\r\n luxmsFilters,\r\n })}\r\n </CustomControlDashCollapse>\r\n );\r\n })}\r\n </Layout>\r\n )}\r\n </Collapse>\r\n );\r\n};\r\n"],"names":["_jsx","classNames","_Fragment"],"mappings":";;;;;;;;;;AAYa,MAAA,eAAe,GAAmC,CAAC,EAC9D,SAAS,EACT,YAAY,GACb,KAAI;AACH,IAAA,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;AAExC,IAAA,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,WAAW,GAAI,KAAK,CAAC,CAAC;AAE3D,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,MAAK;QAC7B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,QACEA,GAAC,CAAA,QAAQ,EACP,EAAA,SAAS,EAAEC,EAAU,CAAC,MAAM,CAAC,eAAe,EAAE;YAC5C,CAAC,MAAM,CAAC,oBAAoB,GAAG,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,MAAM;AACjD,SAAA,CAAC,EACF,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,IAAI,EAAC,GAAG,EACR,SAAS,EAAE,SAAS,GAAGD,GAAC,CAAA,UAAU,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAA,CAAG,GAAGA,GAAK,CAAAE,QAAA,EAAA,EAAA,CAAA,EAAA,QAAA,EAGnE,MAAM,KACLF,GAAC,CAAA,MAAM,IAAC,SAAS,EAAE,MAAM,CAAC,wBAAwB,EAAE,SAAS,EAAC,QAAQ,EACnE,QAAA,EAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,KAAI;AACpC,gBAAA,QACEA,GAAC,CAAA,yBAAyB,EAExB,EAAA,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,WAAW,EAAE,SAAS,CAAC,WAAW,EAClC,iBAAiB,EAAE,CAAC,EAAC,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAG,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,KAAK,CAAC,CAAA,EAAA,QAAA,EAEpD,eAAe,CAAC;wBACf,SAAS;wBACT,YAAY;AACb,qBAAA,CAAC,IARG,SAAS,CAAC,IAAI,CASO,EAC5B;AACJ,aAAC,CAAC,EAAA,CACK,CACV,EAAA,CACQ,EACX;AACJ;;;;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { Checkbox } from '@consta/uikit/Checkbox';
|
|
4
|
+
import styles from '../../styles/ControlDashStyles.module.scss.js';
|
|
5
|
+
|
|
6
|
+
const DinamicCheckboxes = ({ areDisabled, item, areAllChecked, searchedValue, excludedData, includedData, handleChangeIncludedData, handleChangeExcludedData, }) => {
|
|
7
|
+
//Проверяем, будет ли данный чекбокс выбран
|
|
8
|
+
const isChecked = useMemo(() => {
|
|
9
|
+
if (areAllChecked && !searchedValue) {
|
|
10
|
+
return !(excludedData === null || excludedData === void 0 ? void 0 : excludedData.includes(item));
|
|
11
|
+
}
|
|
12
|
+
else if (areAllChecked && searchedValue) {
|
|
13
|
+
return ((String(item).toLowerCase().includes(searchedValue) &&
|
|
14
|
+
!(excludedData === null || excludedData === void 0 ? void 0 : excludedData.includes(item))) ||
|
|
15
|
+
includedData.includes(item));
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return includedData === null || includedData === void 0 ? void 0 : includedData.includes(item);
|
|
19
|
+
}
|
|
20
|
+
}, [areAllChecked, excludedData, includedData]);
|
|
21
|
+
return (jsx(Checkbox, { disabled: areDisabled, checked: isChecked, size: "s", label: item, className: styles.infiniteScrollFilters__singleCheckbox, onChange: ({ target }) => {
|
|
22
|
+
const checked = target.checked;
|
|
23
|
+
if (!checked && !searchedValue) {
|
|
24
|
+
if (areAllChecked) {
|
|
25
|
+
handleChangeIncludedData([]);
|
|
26
|
+
handleChangeExcludedData((prev) => [...prev, item]);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
handleChangeExcludedData([]);
|
|
30
|
+
handleChangeIncludedData((prev) => prev.filter((filterItem) => filterItem !== item));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else if (searchedValue) {
|
|
34
|
+
if (String(item).toLowerCase().includes(searchedValue)) {
|
|
35
|
+
if (excludedData.includes(item)) {
|
|
36
|
+
handleChangeExcludedData((prev) => prev.filter((filterItem) => filterItem !== item));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
handleChangeExcludedData((prev) => [...prev, item]);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
if (includedData.includes(item)) {
|
|
44
|
+
handleChangeIncludedData((prev) => prev.filter((filterItem) => filterItem !== item));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
handleChangeIncludedData((prev) => [...prev, item]);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
if (areAllChecked) {
|
|
53
|
+
handleChangeIncludedData([]);
|
|
54
|
+
handleChangeExcludedData((prev) => prev.filter((filterItem) => filterItem !== item));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
handleChangeExcludedData([]);
|
|
58
|
+
handleChangeIncludedData((prev) => [...prev, item]);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
} }));
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export { DinamicCheckboxes };
|
|
65
|
+
//# sourceMappingURL=DinamicCheckboxes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DinamicCheckboxes.js","sources":["../../../../../../src/ui-components/FilterComponents/InfiniteScrollCheckboxes/DinamicCheckboxes/DinamicCheckboxes.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\r\nimport { Checkbox } from '@consta/uikit/Checkbox';\r\n\r\nimport styles from '../../styles/ControlDashStyles.module.scss';\r\n\r\ninterface DinamicCheckboxes {\r\n areDisabled: boolean;\r\n includedData: string[];\r\n excludedData: string[];\r\n searchedValue: string;\r\n areAllChecked: boolean;\r\n item: string;\r\n handleChangeIncludedData: (\r\n newIncludedData: string[] | ((prev: string[]) => string[])\r\n ) => void;\r\n handleChangeExcludedData: (\r\n newExcludedData: string[] | ((prev: string[]) => string[])\r\n ) => void;\r\n}\r\n\r\nexport const DinamicCheckboxes: React.FC<DinamicCheckboxes> = ({\r\n areDisabled,\r\n item,\r\n areAllChecked,\r\n searchedValue,\r\n excludedData,\r\n includedData,\r\n handleChangeIncludedData,\r\n handleChangeExcludedData,\r\n}) => {\r\n //Проверяем, будет ли данный чекбокс выбран\r\n const isChecked = useMemo(() => {\r\n if (areAllChecked && !searchedValue) {\r\n return !excludedData?.includes(item);\r\n } else if (areAllChecked && searchedValue) {\r\n return (\r\n (String(item).toLowerCase().includes(searchedValue) &&\r\n !excludedData?.includes(item)) ||\r\n includedData.includes(item)\r\n );\r\n } else {\r\n return includedData?.includes(item);\r\n }\r\n }, [areAllChecked, excludedData, includedData]);\r\n\r\n return (\r\n <Checkbox\r\n disabled={areDisabled}\r\n checked={isChecked}\r\n size=\"s\"\r\n label={item}\r\n className={styles.infiniteScrollFilters__singleCheckbox}\r\n onChange={({ target }) => {\r\n const checked = target.checked;\r\n\r\n if (!checked && !searchedValue) {\r\n if (areAllChecked) {\r\n handleChangeIncludedData([]);\r\n handleChangeExcludedData((prev: string[]) => [...prev, item]);\r\n } else {\r\n handleChangeExcludedData([]);\r\n handleChangeIncludedData((prev: string[]) =>\r\n prev.filter((filterItem) => filterItem !== item)\r\n );\r\n }\r\n } else if (searchedValue) {\r\n if (String(item).toLowerCase().includes(searchedValue)) {\r\n if (excludedData.includes(item)) {\r\n handleChangeExcludedData((prev: string[]) =>\r\n prev.filter((filterItem) => filterItem !== item)\r\n );\r\n } else {\r\n handleChangeExcludedData((prev: string[]) => [...prev, item]);\r\n }\r\n } else {\r\n if (includedData.includes(item)) {\r\n handleChangeIncludedData((prev: string[]) =>\r\n prev.filter((filterItem) => filterItem !== item)\r\n );\r\n } else {\r\n handleChangeIncludedData((prev: string[]) => [...prev, item]);\r\n }\r\n }\r\n } else {\r\n if (areAllChecked) {\r\n handleChangeIncludedData([]);\r\n handleChangeExcludedData((prev: string[]) =>\r\n prev.filter((filterItem) => filterItem !== item)\r\n );\r\n } else {\r\n handleChangeExcludedData([]);\r\n handleChangeIncludedData((prev: string[]) => [...prev, item]);\r\n }\r\n }\r\n }}\r\n />\r\n );\r\n};\r\n"],"names":["_jsx"],"mappings":"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"}
|