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