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":"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":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext, useState, useEffect } from 'react';
|
|
3
|
+
import { TextField } from '@consta/uikit/TextField';
|
|
4
|
+
import { CompletedFiltersContext } from '../Context/CompletedFiltersContext.js';
|
|
5
|
+
import '@consta/icons/IconFunnel';
|
|
6
|
+
import '@consta/uikit/Collapse';
|
|
7
|
+
import styles from '../styles/ControlDashStyles.module.scss.js';
|
|
8
|
+
import '@consta/uikit/DatePicker';
|
|
9
|
+
import '@consta/uikit/Layout';
|
|
10
|
+
import '@consta/uikit/Loader';
|
|
11
|
+
import 'axios';
|
|
12
|
+
import 'axios-retry';
|
|
13
|
+
import 'tslib';
|
|
14
|
+
import 'bi-internal/core';
|
|
15
|
+
import '../../CommonContexts/DatasetNameContext.js';
|
|
16
|
+
import '@consta/icons/IconCancel';
|
|
17
|
+
import '@consta/uikit/Button';
|
|
18
|
+
import 'classnames';
|
|
19
|
+
import 'react-virtuoso';
|
|
20
|
+
import '@consta/uikit/MixScrollBar';
|
|
21
|
+
import '@consta/uikit/Text';
|
|
22
|
+
import '@consta/uikit/Checkbox';
|
|
23
|
+
import '@consta/uikit/Radio';
|
|
24
|
+
import '@consta/uikit/RadioGroup';
|
|
25
|
+
|
|
26
|
+
const InputFieldItem = ({ applyedFilters, field, }) => {
|
|
27
|
+
const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);
|
|
28
|
+
const [value, setValue] = useState(applyedFilters ? applyedFilters[1].split('%').join('') : null);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (value) {
|
|
31
|
+
handleChangeCompletedFilters({
|
|
32
|
+
[field]: ['ilike', `%${value}%`],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
handleChangeCompletedFilters({
|
|
37
|
+
[field]: undefined,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}, [value]);
|
|
41
|
+
return (jsx(TextField, { placeholder: "\u041D\u0430\u0439\u0442\u0438", value: value, onChange: (value) => setValue(value), size: "s", className: styles.sideBar__inputItem }));
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export { InputFieldItem };
|
|
45
|
+
//# 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":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAYa,MAAA,cAAc,GAAwB,CAAC,EAClD,cAAc,EACd,KAAK,GACN,KAAI;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;AAE7E,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAC9D,CAAC;IAEF,SAAS,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,QACEA,GAAA,CAAC,SAAS,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,EAAE,MAAM,CAAC,kBAAkB,EAAA,CACpC,EACF;AACJ;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext, useState, useEffect } from 'react';
|
|
3
|
+
import cn from 'classnames';
|
|
4
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
5
|
+
import { TextField } from '@consta/uikit/TextField';
|
|
6
|
+
import { CompletedFiltersContext } from '../Context/CompletedFiltersContext.js';
|
|
7
|
+
import styles from '../styles/ControlDashStyles.module.scss.js';
|
|
8
|
+
|
|
9
|
+
const NumberRangeFilter = ({ applyedFilters, field, }) => {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);
|
|
12
|
+
const [startValue, setStartValue] = useState((_a = applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters[1]) !== null && _a !== void 0 ? _a : null);
|
|
13
|
+
const [endValue, setEndValue] = useState((_b = applyedFilters === null || applyedFilters === void 0 ? void 0 : applyedFilters[2]) !== null && _b !== void 0 ? _b : null);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (endValue !== null && startValue !== null) {
|
|
16
|
+
const filterValue = ['between'];
|
|
17
|
+
filterValue.push(Number(startValue), Number(endValue));
|
|
18
|
+
handleChangeCompletedFilters({ [field]: filterValue });
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
handleChangeCompletedFilters({ [field]: undefined });
|
|
22
|
+
}
|
|
23
|
+
}, [startValue, endValue]);
|
|
24
|
+
return (jsxs(Layout, { direction: "row", children: [jsx(TextField, { className: cn(styles.numberFilter, styles.numberFilter_left), type: "number", placeholder: "\u041E\u0442", size: "s", value: startValue, incrementButtons: false, onChange: (value) => {
|
|
25
|
+
setStartValue(value);
|
|
26
|
+
} }), jsx(TextField, { className: styles.numberFilter, type: "number", placeholder: "\u0414\u043E", size: "s", value: endValue, incrementButtons: false, onChange: (value) => {
|
|
27
|
+
setEndValue(value);
|
|
28
|
+
} })] }));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { NumberRangeFilter };
|
|
32
|
+
//# 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":["_jsxs","_jsx","classNames"],"mappings":";;;;;;;;AAca,MAAA,iBAAiB,GAAwB,CAAC,EACrD,cAAc,EACd,KAAK,GACN,KAAI;;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAE7E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,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,GAAG,QAAQ,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;IAEF,SAAS,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,QACEA,KAAC,MAAM,EAAA,EAAC,SAAS,EAAC,KAAK,EACrB,QAAA,EAAA,CAAAC,GAAA,CAAC,SAAS,EAAA,EACR,SAAS,EAAEC,EAAU,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,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,EACFD,GAAA,CAAC,SAAS,EAAA,EACR,SAAS,EAAE,MAAM,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,38 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext, useState, useEffect } from 'react';
|
|
3
|
+
import { RadioGroup } from '@consta/uikit/RadioGroup';
|
|
4
|
+
import { CompletedFiltersContext } from '../Context/CompletedFiltersContext.js';
|
|
5
|
+
import '@consta/icons/IconFunnel';
|
|
6
|
+
import '@consta/uikit/Collapse';
|
|
7
|
+
import '@consta/uikit/DatePicker';
|
|
8
|
+
import '@consta/uikit/Layout';
|
|
9
|
+
import '@consta/uikit/Loader';
|
|
10
|
+
import 'axios';
|
|
11
|
+
import 'axios-retry';
|
|
12
|
+
import 'tslib';
|
|
13
|
+
import 'bi-internal/core';
|
|
14
|
+
import '../../CommonContexts/DatasetNameContext.js';
|
|
15
|
+
import '@consta/icons/IconCancel';
|
|
16
|
+
import '@consta/uikit/Button';
|
|
17
|
+
import 'classnames';
|
|
18
|
+
import { PERIOD_TYPE_ITEMS } from '../constants.js';
|
|
19
|
+
import 'react-virtuoso';
|
|
20
|
+
import '@consta/uikit/MixScrollBar';
|
|
21
|
+
import '@consta/uikit/Text';
|
|
22
|
+
import '@consta/uikit/Checkbox';
|
|
23
|
+
import '@consta/uikit/TextField';
|
|
24
|
+
import '@consta/uikit/Radio';
|
|
25
|
+
|
|
26
|
+
const PeriodController = ({ applyedFilters, field, }) => {
|
|
27
|
+
const { handleChangeCompletedFilters } = useContext(CompletedFiltersContext);
|
|
28
|
+
const [value, setValue] = useState(applyedFilters ? applyedFilters[1] : PERIOD_TYPE_ITEMS[2]);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
handleChangeCompletedFilters({
|
|
31
|
+
[field]: ['=', value],
|
|
32
|
+
});
|
|
33
|
+
}, [value]);
|
|
34
|
+
return (jsx(RadioGroup, { items: PERIOD_TYPE_ITEMS, value: value, onChange: (value) => setValue(value), getItemLabel: (item) => item, size: "s" }));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export { PeriodController };
|
|
38
|
+
//# 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":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAYa,MAAA,gBAAgB,GAAwB,CAAC,EACpD,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,CAChC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAC1D,CAAC;IAEF,SAAS,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,QACEA,GAAC,CAAA,UAAU,EACT,EAAA,KAAK,EAAE,iBAAiB,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,15 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
3
|
+
import { Loader } from '@consta/uikit/Loader';
|
|
4
|
+
import { Text } from '@consta/uikit/Text';
|
|
5
|
+
import styles from '../styles/ControlDashStyles.module.scss.js';
|
|
6
|
+
|
|
7
|
+
const VirtuosoFooter = ({ isLoading, dataLength, }) => {
|
|
8
|
+
if (isLoading) {
|
|
9
|
+
return (jsx(Layout, { className: styles.infiniteScrollFilters__virtuosoFooter, children: jsx(Loader, {}) }));
|
|
10
|
+
}
|
|
11
|
+
return (jsx(Fragment, { children: !dataLength ? (jsx(Layout, { className: styles.infiniteScrollFilters__virtuosoFooter, children: jsx(Text, { size: "s", view: "primary", children: "\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445" }) })) : (jsx(Fragment, {})) }));
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { VirtuosoFooter };
|
|
15
|
+
//# 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","_Fragment"],"mappings":";;;;;;AAYa,MAAA,cAAc,GAAkC,CAAC,EAC5D,SAAS,EACT,UAAU,GACX,KAAI;IACH,IAAI,SAAS,EAAE;AACb,QAAA,QACEA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAE,MAAM,CAAC,qCAAqC,YAC7DA,GAAC,CAAA,MAAM,EAAG,EAAA,CAAA,EAAA,CACH,EACT;KACH;AAED,IAAA,QACEA,GACG,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CAAC,UAAU,IACVD,GAAC,CAAA,MAAM,IAAC,SAAS,EAAE,MAAM,CAAC,qCAAqC,YAC7DA,GAAC,CAAA,IAAI,EAAC,EAAA,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,EAEtB,QAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CACA,KAETA,iBAAK,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,46 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import './Context/CompletedFiltersContext.js';
|
|
3
|
+
import 'react';
|
|
4
|
+
import '@consta/icons/IconFunnel';
|
|
5
|
+
import '@consta/uikit/Collapse';
|
|
6
|
+
import { DatePickerRange } from './DatePickerRange/DatePickerRange.js';
|
|
7
|
+
import { DatePickerSingle } from './DatePickerSingle/DatePickerSingle.js';
|
|
8
|
+
import 'classnames';
|
|
9
|
+
import '@consta/uikit/Layout';
|
|
10
|
+
import { InfiniteScrollCheckboxesContent } from './InfiniteScrollCheckboxes/InfiniteScrollCheckboxes.js';
|
|
11
|
+
import { InfiniteScrollRadio } from './InfiniteScrollRadio/index.js';
|
|
12
|
+
import { InputFieldItem } from './InputFieldItem/InputFieldItem.js';
|
|
13
|
+
import { NumberRangeFilter } from './NumberRangeFilter/index.js';
|
|
14
|
+
import { PeriodController } from './PeriodController/PeriodController.js';
|
|
15
|
+
import '@consta/uikit/Loader';
|
|
16
|
+
import '@consta/uikit/Text';
|
|
17
|
+
|
|
18
|
+
const isFieldsDataWithGrouping = (item) => {
|
|
19
|
+
return item.filterType !== 'group';
|
|
20
|
+
};
|
|
21
|
+
const getFilterByType = ({ fieldInfo, luxmsFilters, }) => {
|
|
22
|
+
const { field, filterType } = fieldInfo;
|
|
23
|
+
switch (filterType) {
|
|
24
|
+
case 'numberRange':
|
|
25
|
+
return (jsx(NumberRangeFilter, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: fieldInfo.field }));
|
|
26
|
+
case 'input':
|
|
27
|
+
return (jsx(InputFieldItem, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: fieldInfo.field }));
|
|
28
|
+
case 'periodController':
|
|
29
|
+
return (jsx(PeriodController, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: field }));
|
|
30
|
+
case 'datePickerRange':
|
|
31
|
+
return (jsx(DatePickerRange, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], koob: fieldInfo.koob, field: field }));
|
|
32
|
+
case 'datePickerSingle':
|
|
33
|
+
return (jsx(DatePickerSingle, { applyedFilters: luxmsFilters === null || luxmsFilters === void 0 ? void 0 : luxmsFilters[field], field: field }));
|
|
34
|
+
case 'infiniteScrollCheckboxes':
|
|
35
|
+
return (jsx(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 }));
|
|
36
|
+
case 'infiniteScrollRadio':
|
|
37
|
+
return (jsx(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 }));
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const formatDate = (date) => {
|
|
41
|
+
if (date)
|
|
42
|
+
return date.toLocaleDateString().split('.').reverse().join('-');
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { formatDate, getFilterByType, isFieldsDataWithGrouping };
|
|
46
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../src/ui-components/FilterComponents/helpers.tsx"],"sourcesContent":["import React from 'react';\r\n\r\nimport { FieldsData, FieldsDataWithGrouping, GetFilterByType } from './types';\r\nimport {\r\n DatePickerRange,\r\n DatePickerSingle,\r\n InfiniteScrollCheckboxesContent,\r\n InfiniteScrollRadio,\r\n InputFieldItem,\r\n NumberRangeFilter,\r\n PeriodController,\r\n} from '.';\r\n\r\nexport const isFieldsDataWithGrouping = (\r\n item: FieldsDataWithGrouping | FieldsData\r\n): item is FieldsData => {\r\n return item.filterType !== 'group';\r\n};\r\n\r\nexport const getFilterByType = ({\r\n fieldInfo,\r\n luxmsFilters,\r\n}: GetFilterByType) => {\r\n const { field, filterType } = fieldInfo;\r\n\r\n switch (filterType) {\r\n case 'numberRange':\r\n return (\r\n <NumberRangeFilter\r\n applyedFilters={luxmsFilters?.[field]}\r\n field={fieldInfo.field}\r\n />\r\n );\r\n case 'input':\r\n return (\r\n <InputFieldItem\r\n applyedFilters={luxmsFilters?.[field]}\r\n field={fieldInfo.field}\r\n />\r\n );\r\n case 'periodController':\r\n return (\r\n <PeriodController\r\n applyedFilters={luxmsFilters?.[field]}\r\n field={field}\r\n />\r\n );\r\n case 'datePickerRange':\r\n return (\r\n <DatePickerRange\r\n applyedFilters={luxmsFilters?.[field]}\r\n koob={fieldInfo.koob}\r\n field={field}\r\n />\r\n );\r\n case 'datePickerSingle':\r\n return (\r\n <DatePickerSingle\r\n applyedFilters={luxmsFilters?.[field]}\r\n field={field}\r\n />\r\n );\r\n case 'infiniteScrollCheckboxes':\r\n return (\r\n <InfiniteScrollCheckboxesContent\r\n applyedFilters={luxmsFilters?.[field]}\r\n activeFilters={fieldInfo.activeFilters}\r\n koob={fieldInfo.koob}\r\n field={field}\r\n sortSymbol={fieldInfo.sortSymbol}\r\n sortField={fieldInfo.sortField}\r\n />\r\n );\r\n case 'infiniteScrollRadio':\r\n return (\r\n <InfiniteScrollRadio\r\n applyedFilters={luxmsFilters?.[field]}\r\n activeFilters={fieldInfo.activeFilters}\r\n koob={fieldInfo.koob}\r\n field={field}\r\n sortSymbol={fieldInfo.sortSymbol}\r\n sortField={fieldInfo.sortField}\r\n />\r\n );\r\n }\r\n};\r\n\r\nexport const formatDate = (date: Date) => {\r\n if (date) return date.toLocaleDateString().split('.').reverse().join('-');\r\n};\r\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;AAaa,MAAA,wBAAwB,GAAG,CACtC,IAAyC,KACnB;AACtB,IAAA,OAAO,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC;AACrC,EAAE;AAEW,MAAA,eAAe,GAAG,CAAC,EAC9B,SAAS,EACT,YAAY,GACI,KAAI;AACpB,IAAA,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IAExC,QAAQ,UAAU;AAChB,QAAA,KAAK,aAAa;YAChB,QACEA,IAAC,iBAAiB,EAAA,EAChB,cAAc,EAAE,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAG,KAAK,CAAC,EACrC,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,CAAA,EACF;AACJ,QAAA,KAAK,OAAO;YACV,QACEA,IAAC,cAAc,EAAA,EACb,cAAc,EAAE,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAG,KAAK,CAAC,EACrC,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,CAAA,EACF;AACJ,QAAA,KAAK,kBAAkB;YACrB,QACEA,IAAC,gBAAgB,EAAA,EACf,cAAc,EAAE,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,KAAK,CAAC,EACrC,KAAK,EAAE,KAAK,EAAA,CACZ,EACF;AACJ,QAAA,KAAK,iBAAiB;YACpB,QACEA,GAAC,CAAA,eAAe,EACd,EAAA,cAAc,EAAE,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAG,KAAK,CAAC,EACrC,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,KAAK,EAAE,KAAK,EACZ,CAAA,EACF;AACJ,QAAA,KAAK,kBAAkB;YACrB,QACEA,IAAC,gBAAgB,EAAA,EACf,cAAc,EAAE,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,KAAK,CAAC,EACrC,KAAK,EAAE,KAAK,EAAA,CACZ,EACF;AACJ,QAAA,KAAK,0BAA0B;YAC7B,QACEA,IAAC,+BAA+B,EAAA,EAC9B,cAAc,EAAE,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,KAAK,CAAC,EACrC,aAAa,EAAE,SAAS,CAAC,aAAa,EACtC,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,SAAS,EAAE,SAAS,CAAC,SAAS,EAAA,CAC9B,EACF;AACJ,QAAA,KAAK,qBAAqB;YACxB,QACEA,IAAC,mBAAmB,EAAA,EAClB,cAAc,EAAE,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,KAAK,CAAC,EACrC,aAAa,EAAE,SAAS,CAAC,aAAa,EACtC,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,SAAS,EAAE,SAAS,CAAC,SAAS,EAAA,CAC9B,EACF;KACL;AACH,EAAE;AAEW,MAAA,UAAU,GAAG,CAAC,IAAU,KAAI;AACvC,IAAA,IAAI,IAAI;AAAE,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5E;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import styleInject from '../../../node_modules/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".ControlDashStyles-module__infiniteScrollFilters___oWOZ9{padding:5px!important;width:300px}.ControlDashStyles-module__infiniteScrollFilters__content___Xa3AO{height:250px!important}.ControlDashStyles-module__infiniteScrollFilters__loaderContainer___-Mocg{justify-content:center;padding-top:50px;width:100%}.ControlDashStyles-module__infiniteScrollFilters__checkboxesContainer___Hj7WX{overflow-y:auto!important;padding-right:10px}.ControlDashStyles-module__infiniteScrollFilters__search___mvnDG{margin-bottom:5px}.ControlDashStyles-module__infiniteScrollFilters__selectAll___P3P0o{align-items:center;height:26px;justify-content:space-between;margin-bottom:3px;padding:3px;transition:all .2s;width:100%}.ControlDashStyles-module__infiniteScrollFilters__selectAll_loading___bIcMM{margin-bottom:100px}.ControlDashStyles-module__infiniteScrollFilters__selectAll___P3P0o:hover{background-color:rgba(0,32,51,.051)}.ControlDashStyles-module__infiniteScrollFilters__virtuosoFooter___P0-S7{justify-content:center;padding-bottom:5px}.ControlDashStyles-module__infiniteScrollFilters__singleCheckbox___qzZil{padding:3px;transition:none;width:100%}.ControlDashStyles-module__infiniteScrollFilters__singleCheckbox___qzZil:hover{background-color:rgba(0,32,51,.051)}.ControlDashStyles-module__groupedCollapse___iruQ1>.Collapse-Label{width:-moz-fit-content!important;width:fit-content!important}.ControlDashStyles-module__groupedCollapse___iruQ1>.Collapse-Body{transition:none!important}.ControlDashStyles-module__groupedCollapse__content___ui9uq{margin-left:20px}.ControlDashStyles-module__groupedCollapse_bold___lQYNK>.Collapse-Label{font-weight:700!important}.ControlDashStyles-module__collapse___6E0rs>.Collapse-Label{width:-moz-fit-content!important;width:fit-content!important}.ControlDashStyles-module__numberFilter___WbcV0{margin:10px 0}.ControlDashStyles-module__numberFilter_left___2SR6v{margin-right:10px}";
|
|
4
|
+
var styles = {"infiniteScrollFilters":"ControlDashStyles-module__infiniteScrollFilters___oWOZ9","infiniteScrollFilters__content":"ControlDashStyles-module__infiniteScrollFilters__content___Xa3AO","infiniteScrollFilters__loaderContainer":"ControlDashStyles-module__infiniteScrollFilters__loaderContainer___-Mocg","infiniteScrollFilters__checkboxesContainer":"ControlDashStyles-module__infiniteScrollFilters__checkboxesContainer___Hj7WX","infiniteScrollFilters__search":"ControlDashStyles-module__infiniteScrollFilters__search___mvnDG","infiniteScrollFilters__selectAll":"ControlDashStyles-module__infiniteScrollFilters__selectAll___P3P0o","infiniteScrollFilters__selectAll_loading":"ControlDashStyles-module__infiniteScrollFilters__selectAll_loading___bIcMM","infiniteScrollFilters__virtuosoFooter":"ControlDashStyles-module__infiniteScrollFilters__virtuosoFooter___P0-S7","infiniteScrollFilters__singleCheckbox":"ControlDashStyles-module__infiniteScrollFilters__singleCheckbox___qzZil","groupedCollapse":"ControlDashStyles-module__groupedCollapse___iruQ1","groupedCollapse__content":"ControlDashStyles-module__groupedCollapse__content___ui9uq","groupedCollapse_bold":"ControlDashStyles-module__groupedCollapse_bold___lQYNK","collapse":"ControlDashStyles-module__collapse___6E0rs","numberFilter":"ControlDashStyles-module__numberFilter___WbcV0","numberFilter_left":"ControlDashStyles-module__numberFilter_left___2SR6v"};
|
|
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,20 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useRef, useState } from 'react';
|
|
3
|
+
import { IconClose } from '@consta/icons/IconClose';
|
|
4
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
5
|
+
import { Text } from '@consta/uikit/Text';
|
|
6
|
+
import { Tooltip } from '@consta/uikit/Tooltip';
|
|
7
|
+
import styles from '../filtersIndicatorStyles.module.scss.js';
|
|
8
|
+
|
|
9
|
+
const FiltersTag = ({ filterKey, value, filtersAssociations, resetFilters, }) => {
|
|
10
|
+
const anchorRef = useRef(null);
|
|
11
|
+
const [isTooltipVisible, setIsTooltipVisible] = useState(false);
|
|
12
|
+
const [isTagShown, setIsTagShown] = useState(true);
|
|
13
|
+
return (jsxs(Fragment, { children: [isTagShown && (jsxs(Layout, { ref: anchorRef, className: styles.filtersIndicatorItem, children: [jsxs(Text, { size: "s", view: "primary", weight: "semibold", children: [filtersAssociations[filterKey], ":\u00A0"] }), jsx(Text, { size: "s", view: "primary", className: styles.filtersIndicatorItem__value, onMouseEnter: () => setIsTooltipVisible(true), onMouseLeave: () => setIsTooltipVisible(false), children: value }), jsx(IconClose, { size: "xs", className: styles.filtersIndicatorItem__iconClose, onClick: () => {
|
|
14
|
+
resetFilters(filterKey);
|
|
15
|
+
setIsTagShown(false);
|
|
16
|
+
} })] }, filterKey + value)), jsx(Tooltip, { isOpen: isTooltipVisible, direction: "upCenter", anchorRef: anchorRef, placeholder: undefined, onPointerEnterCapture: undefined, onPointerLeaveCapture: undefined, children: jsx(Text, { view: "primary", lineHeight: "m", size: "s", children: value }) })] }));
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { FiltersTag };
|
|
20
|
+
//# sourceMappingURL=FiltersTag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FiltersTag.js","sources":["../../../../../src/ui-components/FiltersIndicator/FiltersTag/FiltersTag.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\r\nimport { IconClose } from '@consta/icons/IconClose';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Text } from '@consta/uikit/Text';\r\nimport { Tooltip } from '@consta/uikit/Tooltip';\r\n\r\nimport { IFiltersTagProps } from '../types';\r\n\r\nimport styles from '../filtersIndicatorStyles.module.scss';\r\n\r\nexport const FiltersTag: React.FC<IFiltersTagProps> = ({\r\n filterKey,\r\n value,\r\n filtersAssociations,\r\n resetFilters,\r\n}) => {\r\n const anchorRef = useRef<HTMLDivElement>(null);\r\n\r\n const [isTooltipVisible, setIsTooltipVisible] = useState(false);\r\n const [isTagShown, setIsTagShown] = useState(true);\r\n\r\n return (\r\n <>\r\n {isTagShown && (\r\n <Layout\r\n ref={anchorRef}\r\n className={styles.filtersIndicatorItem}\r\n key={filterKey + value}\r\n >\r\n <Text size=\"s\" view=\"primary\" weight=\"semibold\">\r\n {filtersAssociations[filterKey as keyof object]}: \r\n </Text>\r\n <Text\r\n size=\"s\"\r\n view=\"primary\"\r\n className={styles.filtersIndicatorItem__value}\r\n onMouseEnter={() => setIsTooltipVisible(true)}\r\n onMouseLeave={() => setIsTooltipVisible(false)}\r\n >\r\n {value}\r\n </Text>\r\n <IconClose\r\n size=\"xs\"\r\n className={styles.filtersIndicatorItem__iconClose}\r\n onClick={() => {\r\n resetFilters(filterKey);\r\n setIsTagShown(false);\r\n }}\r\n />\r\n </Layout>\r\n )}\r\n <Tooltip\r\n isOpen={isTooltipVisible}\r\n direction=\"upCenter\"\r\n anchorRef={anchorRef}\r\n placeholder={undefined}\r\n onPointerEnterCapture={undefined}\r\n onPointerLeaveCapture={undefined}\r\n >\r\n <Text view=\"primary\" lineHeight=\"m\" size=\"s\">\r\n {value}\r\n </Text>\r\n </Tooltip>\r\n </>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;AAUO,MAAM,UAAU,GAA+B,CAAC,EACrD,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,YAAY,GACb,KAAI;AACH,IAAA,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE/C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEnD,QACEA,4BACG,UAAU,KACTA,IAAC,CAAA,MAAM,IACL,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,MAAM,CAAC,oBAAoB,EAGtC,QAAA,EAAA,CAAAA,IAAA,CAAC,IAAI,EAAC,EAAA,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,EAAC,MAAM,EAAC,UAAU,EAC5C,QAAA,EAAA,CAAA,mBAAmB,CAAC,SAAyB,CAAC,eAC1C,EACPC,GAAA,CAAC,IAAI,EACH,EAAA,IAAI,EAAC,GAAG,EACR,IAAI,EAAC,SAAS,EACd,SAAS,EAAE,MAAM,CAAC,2BAA2B,EAC7C,YAAY,EAAE,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAC7C,YAAY,EAAE,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAE7C,KAAK,EAAA,CACD,EACPA,GAAC,CAAA,SAAS,IACR,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,MAAM,CAAC,+BAA+B,EACjD,OAAO,EAAE,MAAK;4BACZ,YAAY,CAAC,SAAS,CAAC,CAAC;4BACxB,aAAa,CAAC,KAAK,CAAC,CAAC;yBACtB,EAAA,CACD,CArBG,EAAA,EAAA,SAAS,GAAG,KAAK,CAsBf,CACV,EACDA,GAAC,CAAA,OAAO,EACN,EAAA,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAC,UAAU,EACpB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,qBAAqB,EAAE,SAAS,EAChC,qBAAqB,EAAE,SAAS,EAEhC,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,SAAS,EAAC,UAAU,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EACzC,QAAA,EAAA,KAAK,EACD,CAAA,EAAA,CACC,CACT,EAAA,CAAA,EACH;AACJ;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import styleInject from '../../node_modules/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".filtersIndicatorStyles-module__filtersIndicator___BkxLs{background-color:none;left:0;position:sticky;top:0;z-index:1000001}.filtersIndicatorStyles-module__filtersIndicator__container___iFlI2{gap:5px;margin-bottom:0;overflow-x:auto;padding:0 5px 5px;width:100%}.filtersIndicatorStyles-module__filtersIndicatorItem___PX-Ws{align-items:center;background-color:rgba(0,66,105,.07);border-radius:8px;min-width:-moz-fit-content;min-width:fit-content;padding:5px}.filtersIndicatorStyles-module__filtersIndicatorItem__value___Pe9fb{max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filtersIndicatorStyles-module__filtersIndicatorItem__iconClose___rL2jN{cursor:pointer;margin-left:5px}";
|
|
4
|
+
var styles = {"filtersIndicator":"filtersIndicatorStyles-module__filtersIndicator___BkxLs","filtersIndicator__container":"filtersIndicatorStyles-module__filtersIndicator__container___iFlI2","filtersIndicatorItem":"filtersIndicatorStyles-module__filtersIndicatorItem___PX-Ws","filtersIndicatorItem__value":"filtersIndicatorStyles-module__filtersIndicatorItem__value___Pe9fb","filtersIndicatorItem__iconClose":"filtersIndicatorStyles-module__filtersIndicatorItem__iconClose___rL2jN"};
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { styles as default };
|
|
8
|
+
//# sourceMappingURL=filtersIndicatorStyles.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filtersIndicatorStyles.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext, useState, useEffect } from 'react';
|
|
3
|
+
import cn from 'classnames';
|
|
4
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
5
|
+
import { cnMixScrollBar } from '@consta/uikit/MixScrollBar';
|
|
6
|
+
import { SkeletonBrick } from '@consta/uikit/Skeleton';
|
|
7
|
+
import 'axios';
|
|
8
|
+
import 'axios-retry';
|
|
9
|
+
import { getKoobDataByCfgFromLib } from '../../utils/getKoobDataByCfg.js';
|
|
10
|
+
import { DatasetNameContext } from '../CommonContexts/DatasetNameContext.js';
|
|
11
|
+
import { FiltersTag } from './FiltersTag/FiltersTag.js';
|
|
12
|
+
import styles from './filtersIndicatorStyles.module.scss.js';
|
|
13
|
+
|
|
14
|
+
const FiltersIndicator = ({ luxmsFilters, filtersAssociations, koob, columns, className, backgroundColor, resetFilters, }) => {
|
|
15
|
+
const ds_name = useContext(DatasetNameContext);
|
|
16
|
+
const [concatedFilters, setConcatedFilters] = useState({});
|
|
17
|
+
const [areFiltersVisible, setAreFiltersVisible] = useState(false);
|
|
18
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
setIsLoading(true);
|
|
21
|
+
getKoobDataByCfgFromLib({
|
|
22
|
+
data: {
|
|
23
|
+
koob: koob,
|
|
24
|
+
columns,
|
|
25
|
+
filters: luxmsFilters,
|
|
26
|
+
},
|
|
27
|
+
ds_name,
|
|
28
|
+
})
|
|
29
|
+
.then((resp) => {
|
|
30
|
+
const firstRespItem = resp[0];
|
|
31
|
+
const activeFiltersIndicators = Object.entries(luxmsFilters).reduce((acc, [key, value]) => {
|
|
32
|
+
if (value)
|
|
33
|
+
acc = Object.assign(Object.assign({}, acc), { [key]: firstRespItem === null || firstRespItem === void 0 ? void 0 : firstRespItem[key] });
|
|
34
|
+
return acc;
|
|
35
|
+
}, {});
|
|
36
|
+
setAreFiltersVisible(!!Object.keys(activeFiltersIndicators).length);
|
|
37
|
+
setConcatedFilters(activeFiltersIndicators);
|
|
38
|
+
})
|
|
39
|
+
.catch(() => setConcatedFilters({}))
|
|
40
|
+
.finally(() => setIsLoading(false));
|
|
41
|
+
}, [luxmsFilters]);
|
|
42
|
+
return (jsx(Fragment, { children: areFiltersVisible && (jsx(Layout, { className: cn(styles.filtersIndicator, className), style: {
|
|
43
|
+
backgroundColor: backgroundColor ? backgroundColor : 'none',
|
|
44
|
+
}, children: jsx(Layout, { className: cn(styles.filtersIndicator__container, [
|
|
45
|
+
cnMixScrollBar({ size: 'm' }),
|
|
46
|
+
]), children: isLoading ? (jsx(SkeletonBrick, { height: 27 })) : (jsx(Fragment, { children: Object.entries(concatedFilters).map(([filterKey, value]) => {
|
|
47
|
+
return (jsx(FiltersTag, { filterKey: filterKey, value: value, filtersAssociations: filtersAssociations, resetFilters: resetFilters }, filterKey + value));
|
|
48
|
+
}) })) }) })) }));
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { FiltersIndicator };
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/ui-components/FiltersIndicator/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { cnMixScrollBar } from '@consta/uikit/MixScrollBar';\r\nimport { SkeletonBrick } from '@consta/uikit/Skeleton';\r\n\r\nimport { getKoobDataByCfgFromLib } from '@/utils';\r\n\r\nimport { DatasetNameContext } from '../CommonContexts';\r\n\r\nimport { FiltersTag } from './FiltersTag/FiltersTag';\r\nimport { IFiltersIndicatorsProps, IResp } from './types';\r\n\r\nimport styles from './filtersIndicatorStyles.module.scss';\r\n\r\nexport const FiltersIndicator: React.FC<IFiltersIndicatorsProps> = ({\r\n luxmsFilters,\r\n filtersAssociations,\r\n koob,\r\n columns,\r\n className,\r\n backgroundColor,\r\n resetFilters,\r\n}) => {\r\n const ds_name = useContext(DatasetNameContext);\r\n\r\n const [concatedFilters, setConcatedFilters] = useState<\r\n Record<string, string>\r\n >({});\r\n const [areFiltersVisible, setAreFiltersVisible] = useState(false);\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n setIsLoading(true);\r\n getKoobDataByCfgFromLib({\r\n data: {\r\n koob: koob,\r\n columns,\r\n filters: luxmsFilters,\r\n },\r\n ds_name,\r\n })\r\n .then((resp: IResp[]) => {\r\n const firstRespItem = resp[0];\r\n const activeFiltersIndicators = Object.entries(luxmsFilters).reduce(\r\n (acc, [key, value]) => {\r\n if (value) acc = { ...acc, [key]: firstRespItem?.[key] };\r\n return acc;\r\n },\r\n {}\r\n );\r\n setAreFiltersVisible(!!Object.keys(activeFiltersIndicators).length);\r\n setConcatedFilters(activeFiltersIndicators);\r\n })\r\n .catch(() => setConcatedFilters({}))\r\n .finally(() => setIsLoading(false));\r\n }, [luxmsFilters]);\r\n\r\n return (\r\n <>\r\n {areFiltersVisible && (\r\n <Layout\r\n className={classNames(styles.filtersIndicator, className)}\r\n style={{\r\n backgroundColor: backgroundColor ? backgroundColor : 'none',\r\n }}\r\n >\r\n <Layout\r\n className={classNames(styles.filtersIndicator__container, [\r\n cnMixScrollBar({ size: 'm' }),\r\n ])}\r\n >\r\n {isLoading ? (\r\n <SkeletonBrick height={27} />\r\n ) : (\r\n <>\r\n {Object.entries(concatedFilters).map(([filterKey, value]) => {\r\n return (\r\n <FiltersTag\r\n key={filterKey + value}\r\n filterKey={filterKey}\r\n value={value}\r\n filtersAssociations={filtersAssociations}\r\n resetFilters={resetFilters}\r\n />\r\n );\r\n })}\r\n </>\r\n )}\r\n </Layout>\r\n </Layout>\r\n )}\r\n </>\r\n );\r\n};\r\n"],"names":["_jsx","classNames","_Fragment"],"mappings":";;;;;;;;;;;;;MAea,gBAAgB,GAAsC,CAAC,EAClE,YAAY,EACZ,mBAAmB,EACnB,IAAI,EACJ,OAAO,EACP,SAAS,EACT,eAAe,EACf,YAAY,GACb,KAAI;AACH,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAEpD,EAAE,CAAC,CAAC;IACN,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjD,SAAS,CAAC,MAAK;QACb,YAAY,CAAC,IAAI,CAAC,CAAC;AACnB,QAAA,uBAAuB,CAAC;AACtB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,IAAI;gBACV,OAAO;AACP,gBAAA,OAAO,EAAE,YAAY;AACtB,aAAA;YACD,OAAO;SACR,CAAC;AACC,aAAA,IAAI,CAAC,CAAC,IAAa,KAAI;AACtB,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACjE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AACpB,gBAAA,IAAI,KAAK;AAAE,oBAAA,GAAG,mCAAQ,GAAG,CAAA,EAAA,EAAE,CAAC,GAAG,GAAG,aAAa,KAAb,IAAA,IAAA,aAAa,uBAAb,aAAa,CAAG,GAAG,CAAC,GAAE,CAAC;AACzD,gBAAA,OAAO,GAAG,CAAC;aACZ,EACD,EAAE,CACH,CAAC;AACF,YAAA,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;YACpE,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;AAC9C,SAAC,CAAC;aACD,KAAK,CAAC,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;aACnC,OAAO,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,QACEA,0BACG,iBAAiB,KAChBA,GAAC,CAAA,MAAM,IACL,SAAS,EAAEC,EAAU,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,EACzD,KAAK,EAAE;gBACL,eAAe,EAAE,eAAe,GAAG,eAAe,GAAG,MAAM;aAC5D,EAED,QAAA,EAAAD,GAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAEC,EAAU,CAAC,MAAM,CAAC,2BAA2B,EAAE;AACxD,oBAAA,cAAc,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC9B,iBAAA,CAAC,EAED,QAAA,EAAA,SAAS,IACRD,GAAA,CAAC,aAAa,EAAA,EAAC,MAAM,EAAE,EAAE,EAAI,CAAA,KAE7BA,GAAA,CAAAE,QAAA,EAAA,EAAA,QAAA,EACG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;wBAC1D,QACEF,GAAC,CAAA,UAAU,EAET,EAAA,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAJrB,EAAA,SAAS,GAAG,KAAK,CAKtB,EACF;qBACH,CAAC,GACD,CACJ,EAAA,CACM,GACF,CACV,EAAA,CACA,EACH;AACJ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/ui-components/IconComponent/index.tsx"],"sourcesContent":["import React from 'react';\r\n\r\nexport interface IIconComponent {\r\n icon?: string;\r\n}\r\n\r\nexport const IconComponent = ({ icon }: IIconComponent) => {\r\n return <img src={icon} alt=\"icon\" />;\r\n};\r\n"],"names":["_jsx"],"mappings":";;MAMa,aAAa,GAAG,CAAC,EAAE,IAAI,EAAkB,KAAI;IACxD,OAAOA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,EAAA,CAAG,CAAC;AACvC;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
4
|
+
import { Text } from '@consta/uikit/Text';
|
|
5
|
+
|
|
6
|
+
const KpiLayoutContent = (_a) => {
|
|
7
|
+
var { value, valuePercent } = _a, props = __rest(_a, ["value", "valuePercent"]);
|
|
8
|
+
let view = 'primary';
|
|
9
|
+
let content;
|
|
10
|
+
const valueCondition = value || value === 0;
|
|
11
|
+
const valuePercentCondition = valuePercent || valuePercent === 0;
|
|
12
|
+
if (props.lastPeriodDifferenceAlternative) {
|
|
13
|
+
view = (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceView) || 'success';
|
|
14
|
+
content = jsx(Fragment, { children: props.lastPeriodDifferenceAlternative });
|
|
15
|
+
}
|
|
16
|
+
else if (props.lastPeriodDifference && (props === null || props === void 0 ? void 0 : props.lastPeriodDifference) > 0) {
|
|
17
|
+
view = (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceView) || 'success';
|
|
18
|
+
content = (jsxs(Fragment, { children: ['+' + (props === null || props === void 0 ? void 0 : props.lastPeriodDifference), (props === null || props === void 0 ? void 0 : props.lastPeriodDifferencePercent) && '%', (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceMeasure) &&
|
|
19
|
+
(props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceMeasure)] }));
|
|
20
|
+
}
|
|
21
|
+
else if ((props === null || props === void 0 ? void 0 : props.lastPeriodDifference) === 0) {
|
|
22
|
+
view = (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceView) || 'ghost';
|
|
23
|
+
content = jsx(Fragment, { children: props === null || props === void 0 ? void 0 : props.lastPeriodDifference });
|
|
24
|
+
}
|
|
25
|
+
else if (props.lastPeriodDifference && (props === null || props === void 0 ? void 0 : props.lastPeriodDifference) < 0) {
|
|
26
|
+
view = (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceView) || 'alert';
|
|
27
|
+
content = (jsxs(Fragment, { children: [props === null || props === void 0 ? void 0 : props.lastPeriodDifference, (props === null || props === void 0 ? void 0 : props.lastPeriodDifferencePercent) && '%', (props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceMeasure) &&
|
|
28
|
+
(props === null || props === void 0 ? void 0 : props.lastPeriodDifferenceMeasure)] }));
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
content = jsx(Fragment, {});
|
|
32
|
+
}
|
|
33
|
+
return (jsxs(Layout, { direction: "row", className: "kpi-layout__content", children: [props.valueAlternative ? (jsx(Text, { size: "2xl", weight: "semibold", lineHeight: "xs", view: (props === null || props === void 0 ? void 0 : props.valueView) || 'primary', children: props.valueAlternative })) : valueCondition && valuePercentCondition ? (jsx(Text, { size: "2xl", weight: "semibold", lineHeight: "xs", view: (props === null || props === void 0 ? void 0 : props.showValueWithPercentView) || 'primary', children: value +
|
|
34
|
+
' ' +
|
|
35
|
+
((props === null || props === void 0 ? void 0 : props.valueMeasure) || '') +
|
|
36
|
+
' | ' +
|
|
37
|
+
valuePercent +
|
|
38
|
+
'%' })) : (jsxs(Fragment, { children: [valueCondition && (jsx(Text, { size: "2xl", weight: "semibold", lineHeight: "xs", view: (props === null || props === void 0 ? void 0 : props.valueView) || 'primary', children: value + ' ' + ((props === null || props === void 0 ? void 0 : props.valueMeasure) || '') })), valuePercentCondition && (jsx(Text, { size: "2xl", weight: "semibold", lineHeight: "xs", view: (props === null || props === void 0 ? void 0 : props.valuePercentView) || 'primary', children: valuePercent + '%' }))] })), jsx(Text, { className: "kpi-layout__content_lpd", size: "xl", view: view, children: content })] }));
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { KpiLayoutContent };
|
|
42
|
+
//# sourceMappingURL=KpiLayoutContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KpiLayoutContent.js","sources":["../../../../../src/ui-components/KpiLayout/Modules/KpiLayoutContent.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Text, TextPropView } from '@consta/uikit/Text';\r\n\r\nimport '../KpiLayout.scss';\r\n\r\nexport interface IKpiLayoutContent {\r\n value?: number | null;\r\n valueAlternative?: string;\r\n valueMeasure?: string;\r\n valueView?: TextPropView;\r\n valuePercent?: number;\r\n valuePercentView?: TextPropView;\r\n lastPeriodDifference?: number;\r\n lastPeriodDifferenceMeasure?: string;\r\n lastPeriodDifferencePercent?: boolean;\r\n lastPeriodDifferenceAlternative?: string;\r\n lastPeriodDifferenceView?: TextPropView;\r\n showValueWithPercentView?: TextPropView;\r\n}\r\n\r\nexport const KpiLayoutContent: React.FC<IKpiLayoutContent> = ({\r\n value,\r\n valuePercent,\r\n ...props\r\n}) => {\r\n let view: TextPropView = 'primary';\r\n let content: React.ReactNode;\r\n const valueCondition = value || value === 0;\r\n const valuePercentCondition = valuePercent || valuePercent === 0;\r\n\r\n if (props.lastPeriodDifferenceAlternative) {\r\n view = props?.lastPeriodDifferenceView || 'success';\r\n content = <>{props.lastPeriodDifferenceAlternative}</>;\r\n } else if (props.lastPeriodDifference && props?.lastPeriodDifference > 0) {\r\n view = props?.lastPeriodDifferenceView || 'success';\r\n content = (\r\n <>\r\n {'+' + props?.lastPeriodDifference}\r\n {props?.lastPeriodDifferencePercent && '%'}\r\n {props?.lastPeriodDifferenceMeasure &&\r\n props?.lastPeriodDifferenceMeasure}\r\n </>\r\n );\r\n } else if (props?.lastPeriodDifference === 0) {\r\n view = props?.lastPeriodDifferenceView || 'ghost';\r\n content = <>{props?.lastPeriodDifference}</>;\r\n } else if (props.lastPeriodDifference && props?.lastPeriodDifference < 0) {\r\n view = props?.lastPeriodDifferenceView || 'alert';\r\n content = (\r\n <>\r\n {props?.lastPeriodDifference}\r\n {props?.lastPeriodDifferencePercent && '%'}\r\n {props?.lastPeriodDifferenceMeasure &&\r\n props?.lastPeriodDifferenceMeasure}\r\n </>\r\n );\r\n } else {\r\n content = <></>;\r\n }\r\n\r\n return (\r\n <Layout direction=\"row\" className=\"kpi-layout__content\">\r\n {props.valueAlternative ? (\r\n <Text\r\n size=\"2xl\"\r\n weight=\"semibold\"\r\n lineHeight=\"xs\"\r\n view={props?.valueView || 'primary'}\r\n >\r\n {props.valueAlternative}\r\n </Text>\r\n ) : valueCondition && valuePercentCondition ? (\r\n <Text\r\n size=\"2xl\"\r\n weight=\"semibold\"\r\n lineHeight=\"xs\"\r\n view={props?.showValueWithPercentView || 'primary'}\r\n >\r\n {value +\r\n ' ' +\r\n (props?.valueMeasure || '') +\r\n ' | ' +\r\n valuePercent +\r\n '%'}\r\n </Text>\r\n ) : (\r\n <>\r\n {valueCondition && (\r\n <Text\r\n size=\"2xl\"\r\n weight=\"semibold\"\r\n lineHeight=\"xs\"\r\n view={props?.valueView || 'primary'}\r\n >\r\n {value + ' ' + (props?.valueMeasure || '')}\r\n </Text>\r\n )}\r\n {valuePercentCondition && (\r\n <Text\r\n size=\"2xl\"\r\n weight=\"semibold\"\r\n lineHeight=\"xs\"\r\n view={props?.valuePercentView || 'primary'}\r\n >\r\n {valuePercent + '%'}\r\n </Text>\r\n )}\r\n </>\r\n )}\r\n <Text className=\"kpi-layout__content_lpd\" size=\"xl\" view={view}>\r\n {content}\r\n </Text>\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { IconQuestion } from '@consta/icons/IconQuestion';
|
|
4
|
+
import { Card } from '@consta/uikit/Card';
|
|
5
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
6
|
+
import { Popover } from '@consta/uikit/Popover';
|
|
7
|
+
import { Text } from '@consta/uikit/Text';
|
|
8
|
+
|
|
9
|
+
const KpiLayoutHeader = ({ title, showQuestion, questionLabel, onQuestionClick, }) => {
|
|
10
|
+
const [position, setPosition] = useState();
|
|
11
|
+
const handleMouseMove = (event) => {
|
|
12
|
+
setPosition({ x: event.clientX, y: event.clientY });
|
|
13
|
+
};
|
|
14
|
+
return (jsx(Layout, { direction: "row", className: "kpi-layout__header", children: jsxs(Text, { weight: "semibold", size: "s", lineHeight: "m", className: "kpi-layout__header_title", children: [title, showQuestion && (jsxs(Fragment, { children: [jsx(IconQuestion, { view: "ghost", size: "s", className: "kpi-layout__header_question-icon", onMouseMove: handleMouseMove, onMouseLeave: () => setPosition(undefined), onClick: onQuestionClick }), questionLabel && (jsx(Popover, { direction: "upRight", spareDirection: "rightCenter", position: position, isInteractive: false, placeholder: undefined, onPointerEnterCapture: undefined, onPointerLeaveCapture: undefined, children: jsx(Card, { className: "kpi-layout__header_popover", verticalSpace: "s", horizontalSpace: "s", children: jsx(Text, { size: "xs", dangerouslySetInnerHTML: {
|
|
15
|
+
__html: questionLabel,
|
|
16
|
+
} }) }) }))] }))] }) }));
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { KpiLayoutHeader };
|
|
20
|
+
//# sourceMappingURL=KpiLayoutHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KpiLayoutHeader.js","sources":["../../../../../src/ui-components/KpiLayout/Modules/KpiLayoutHeader.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport { IconQuestion } from '@consta/icons/IconQuestion';\r\nimport { Card } from '@consta/uikit/Card';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Popover } from '@consta/uikit/Popover';\r\nimport { Text } from '@consta/uikit/Text';\r\n\r\nimport '../KpiLayout.scss';\r\n\r\nexport interface IKpiLayoutHeader {\r\n title: string;\r\n showQuestion?: boolean;\r\n questionLabel?: string;\r\n onQuestionClick?: React.EventHandler<React.MouseEvent>;\r\n}\r\n\r\ninterface IPosition {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport const KpiLayoutHeader: React.FC<IKpiLayoutHeader> = ({\r\n title,\r\n showQuestion,\r\n questionLabel,\r\n onQuestionClick,\r\n}) => {\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 direction=\"row\" className=\"kpi-layout__header\">\r\n <Text\r\n weight=\"semibold\"\r\n size=\"s\"\r\n lineHeight=\"m\"\r\n className=\"kpi-layout__header_title\"\r\n >\r\n {title}\r\n {showQuestion && (\r\n <>\r\n <IconQuestion\r\n view=\"ghost\"\r\n size=\"s\"\r\n className=\"kpi-layout__header_question-icon\"\r\n onMouseMove={handleMouseMove}\r\n onMouseLeave={() => setPosition(undefined)}\r\n onClick={onQuestionClick}\r\n />\r\n {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=\"kpi-layout__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: questionLabel!,\r\n }}\r\n ></Text>\r\n </Card>\r\n </Popover>\r\n )}\r\n </>\r\n )}\r\n </Text>\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;AAqBO,MAAM,eAAe,GAA+B,CAAC,EAC1D,KAAK,EACL,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,KAAI;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAyB,CAAC;AAElE,IAAA,MAAM,eAAe,GAAG,CAAC,KAAuB,KAAI;AAClD,QAAA,WAAW,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACtD,KAAC,CAAC;AAEF,IAAA,QACEA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,KAAK,EAAC,SAAS,EAAC,oBAAoB,EAAA,QAAA,EACpDC,IAAC,CAAA,IAAI,EACH,EAAA,MAAM,EAAC,UAAU,EACjB,IAAI,EAAC,GAAG,EACR,UAAU,EAAC,GAAG,EACd,SAAS,EAAC,0BAA0B,EAAA,QAAA,EAAA,CAEnC,KAAK,EACL,YAAY,KACXA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEF,GAAC,CAAA,YAAY,EACX,EAAA,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,GAAG,EACR,SAAS,EAAC,kCAAkC,EAC5C,WAAW,EAAE,eAAe,EAC5B,YAAY,EAAE,MAAM,WAAW,CAAC,SAAS,CAAC,EAC1C,OAAO,EAAE,eAAe,EAAA,CACxB,EACD,aAAa,KACZA,GAAC,CAAA,OAAO,EACN,EAAA,SAAS,EAAC,SAAS,EACnB,cAAc,EAAC,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,KAAK,EACpB,WAAW,EAAE,SAAS,EACtB,qBAAqB,EAAE,SAAS,EAChC,qBAAqB,EAAE,SAAS,EAAA,QAAA,EAEhCA,GAAC,CAAA,IAAI,EACH,EAAA,SAAS,EAAC,4BAA4B,EACtC,aAAa,EAAC,GAAG,EACjB,eAAe,EAAC,GAAG,EAEnB,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAA,EACH,IAAI,EAAC,IAAI,EACT,uBAAuB,EAAE;AACvB,wCAAA,MAAM,EAAE,aAAc;qCACvB,EACK,CAAA,EAAA,CACH,GACC,CACX,CAAA,EAAA,CACA,CACJ,CACI,EAAA,CAAA,EAAA,CACA,EACT;AACJ;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { IconForward } from '@consta/icons/IconForward';
|
|
3
|
+
import { Button } from '@consta/uikit/Button';
|
|
4
|
+
import { Layout } from '@consta/uikit/Layout';
|
|
5
|
+
import { Text } from '@consta/uikit/Text';
|
|
6
|
+
|
|
7
|
+
const KpiLayoutInfo = ({ info, infoAlternative, showButtonDetails, onButtonDetailsClick, }) => {
|
|
8
|
+
const infoContent = infoAlternative
|
|
9
|
+
? infoAlternative
|
|
10
|
+
: info && 'По отношению к ' + info;
|
|
11
|
+
return (jsxs(Layout, { direction: "row", flex: 1, className: "kpi-layout__info", children: [jsx(Text, { size: "xs", lineHeight: "xs", view: "secondary", children: infoContent }), showButtonDetails && (jsx(Button, { label: "\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435", view: "clear", size: "xs", onClick: onButtonDetailsClick, iconRight: IconForward }))] }));
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { KpiLayoutInfo };
|
|
15
|
+
//# sourceMappingURL=KpiLayoutInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KpiLayoutInfo.js","sources":["../../../../../src/ui-components/KpiLayout/Modules/KpiLayoutInfo.tsx"],"sourcesContent":["import React from 'react';\r\nimport { IconForward } from '@consta/icons/IconForward';\r\nimport { Button } from '@consta/uikit/Button';\r\nimport { Layout } from '@consta/uikit/Layout';\r\nimport { Text } from '@consta/uikit/Text';\r\n\r\nimport '../KpiLayout.scss';\r\n\r\nexport interface IKpiLayoutInfo {\r\n info?: string;\r\n infoAlternative?: string;\r\n showButtonDetails?: boolean;\r\n onButtonDetailsClick?: React.EventHandler<React.MouseEvent>;\r\n}\r\n\r\nexport const KpiLayoutInfo: React.FC<IKpiLayoutInfo> = ({\r\n info,\r\n infoAlternative,\r\n showButtonDetails,\r\n onButtonDetailsClick,\r\n}) => {\r\n const infoContent = infoAlternative\r\n ? infoAlternative\r\n : info && 'По отношению к ' + info;\r\n return (\r\n <Layout direction=\"row\" flex={1} className=\"kpi-layout__info\">\r\n <Text size=\"xs\" lineHeight=\"xs\" view=\"secondary\">\r\n {infoContent}\r\n </Text>\r\n {showButtonDetails && (\r\n <Button\r\n label=\"Подробнее\"\r\n view=\"clear\"\r\n size=\"xs\"\r\n onClick={onButtonDetailsClick}\r\n iconRight={IconForward}\r\n />\r\n )}\r\n </Layout>\r\n );\r\n};\r\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAeO,MAAM,aAAa,GAA6B,CAAC,EACtD,IAAI,EACJ,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,KAAI;IACH,MAAM,WAAW,GAAG,eAAe;AACjC,UAAE,eAAe;AACjB,UAAE,IAAI,IAAI,iBAAiB,GAAG,IAAI,CAAC;AACrC,IAAA,QACEA,IAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,KAAK,EAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,CAC3DC,GAAC,CAAA,IAAI,EAAC,EAAA,IAAI,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,IAAI,EAAC,WAAW,EAAA,QAAA,EAC7C,WAAW,EAAA,CACP,EACN,iBAAiB,KAChBA,GAAC,CAAA,MAAM,EACL,EAAA,KAAK,EAAC,wDAAW,EACjB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,WAAW,EAAA,CACtB,CACH,CAAA,EAAA,CACM,EACT;AACJ;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } 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 { KpiLayoutContent } from './Modules/KpiLayoutContent.js';
|
|
6
|
+
import { KpiLayoutHeader } from './Modules/KpiLayoutHeader.js';
|
|
7
|
+
import { KpiLayoutInfo } from './Modules/KpiLayoutInfo.js';
|
|
8
|
+
|
|
9
|
+
const KpiLayout = (props) => {
|
|
10
|
+
return (jsx("div", { className: cn('kpi-layout', props.className), children: props.isLoading ? (jsx(Layout, { className: "kpi-layout__loaderContainer", children: jsx(Loader, { style: { marginTop: props === null || props === void 0 ? void 0 : props.loaderMarginTop } }) })) : (jsxs(Fragment, { children: [jsx(Layout, { className: "kpi-layout__wrapper", children: jsxs(Layout, { direction: "column", children: [jsx(KpiLayoutHeader, Object.assign({}, props)), jsx(KpiLayoutContent, Object.assign({}, props)), jsx(KpiLayoutInfo, { info: props.info, infoAlternative: props.infoAlternative, showButtonDetails: props.showButtonDetails, onButtonDetailsClick: props.onButtonDetailsClick })] }) }), jsx("div", { style: { height: props.height || '40px' }, children: props.children && props.children })] })) }));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { KpiLayout };
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/ui-components/KpiLayout/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\nimport { TextPropView } from '@consta/uikit/Text';\r\n\r\nimport { KpiLayoutContent, KpiLayoutHeader, KpiLayoutInfo } from './Modules';\r\n\r\nimport './KpiLayout.scss';\r\n\r\nexport interface IKpiLayout {\r\n title: string; //Заголовок\r\n showQuestion?: boolean; //Отображение знака вопроса (подсказки)\r\n questionLabel?: string; //Отображается при наведении на знак вопроса\r\n onQuestionClick?: React.EventHandler<React.MouseEvent>;\r\n value?: number | null; //Отображение числового значения\r\n valueMeasure?: string; //Значение, в которых измеряется value\r\n valueAlternative?: string; //Отображение value в произвольном формате в виде строки\r\n valueView?: TextPropView;\r\n valuePercent?: number; //Отображение числового значения в процентах\r\n valuePercentView?: TextPropView;\r\n lastPeriodDifference?: number; //Разность с прошлым периодом\r\n lastPeriodDifferenceMeasure?: string; //Значение, в которых измеряется lastPeriodDifference\r\n lastPeriodDifferencePercent?: boolean; //Разность с прошлым периодом в процентах\r\n lastPeriodDifferenceAlternative?: string; //Отображение lastPeriodDifference в произвольном формате в виде строки\r\n lastPeriodDifferenceView?: TextPropView;\r\n showValueWithPercentView?: TextPropView;\r\n info?: string; //Информация о данных\r\n infoAlternative?: string; //Альтернативный текст информации о данных\r\n className?: string; //Стили для kpi-layout\r\n showButtonDetails?: boolean; //Кнопка подробнее\r\n onButtonDetailsClick?: React.EventHandler<React.MouseEvent>; //Кнопка подробнее\r\n height?: number | string; //Высота echarts графика\r\n isLoading?: boolean; // Булеан свойство, отвечающее за отображение Loader\r\n loaderMarginTop?: number; // Отступ сверху для Loader\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport const KpiLayout: React.FC<IKpiLayout> = (props) => {\r\n return (\r\n <div className={classnames('kpi-layout', props.className)}>\r\n {props.isLoading ? (\r\n <Layout className=\"kpi-layout__loaderContainer\">\r\n <Loader style={{ marginTop: props?.loaderMarginTop }} />\r\n </Layout>\r\n ) : (\r\n <>\r\n <Layout className=\"kpi-layout__wrapper\">\r\n <Layout direction=\"column\">\r\n <KpiLayoutHeader {...props} />\r\n <KpiLayoutContent {...props} />\r\n <KpiLayoutInfo\r\n info={props.info}\r\n infoAlternative={props.infoAlternative}\r\n showButtonDetails={props.showButtonDetails}\r\n onButtonDetailsClick={props.onButtonDetailsClick}\r\n />\r\n </Layout>\r\n </Layout>\r\n <div style={{ height: props.height || '40px' }}>\r\n {props.children && props.children}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n"],"names":["_jsx","classnames","_jsxs","_Fragment"],"mappings":";;;;;;;;AAsCa,MAAA,SAAS,GAAyB,CAAC,KAAK,KAAI;AACvD,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,EAAU,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,YACtD,KAAK,CAAC,SAAS,IACdD,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,6BAA6B,EAAA,QAAA,EAC7CA,GAAC,CAAA,MAAM,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,eAAe,EAAE,EAAA,CAAI,EACjD,CAAA,KAETE,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEH,GAAC,CAAA,MAAM,EAAC,EAAA,SAAS,EAAC,qBAAqB,EACrC,QAAA,EAAAE,IAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,QAAQ,EACxB,QAAA,EAAA,CAAAF,GAAA,CAAC,eAAe,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,KAAK,CAAA,CAAI,EAC9BA,GAAA,CAAC,gBAAgB,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,KAAK,CAAA,CAAI,EAC/BA,GAAA,CAAC,aAAa,EAAA,EACZ,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAA,CAChD,CACK,EAAA,CAAA,EAAA,CACF,EACTA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE,EAC3C,QAAA,EAAA,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAC7B,CAAA,CAAA,EAAA,CACL,CACJ,EAAA,CACG,EACN;AACJ;;;;"}
|