@ynput/ayon-frontend-shared 0.2.16 → 0.2.17

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 (210) hide show
  1. package/dist/DetailsPanel.cjs.js +9 -10
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +9 -10
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/ProjectTreeTable.cjs.js +38 -34
  6. package/dist/ProjectTreeTable.cjs.js.map +1 -1
  7. package/dist/ProjectTreeTable.es.js +20 -16
  8. package/dist/ProjectTreeTable.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs10.js +4 -4
  10. package/dist/_virtual/index.cjs5.js +5 -3
  11. package/dist/_virtual/index.cjs5.js.map +1 -1
  12. package/dist/_virtual/index.cjs6.js +3 -5
  13. package/dist/_virtual/index.cjs6.js.map +1 -1
  14. package/dist/_virtual/index.cjs8.js +4 -4
  15. package/dist/_virtual/index.cjs9.js +4 -4
  16. package/dist/_virtual/index.es10.js +4 -4
  17. package/dist/_virtual/index.es5.js +5 -2
  18. package/dist/_virtual/index.es5.js.map +1 -1
  19. package/dist/_virtual/index.es6.js +2 -5
  20. package/dist/_virtual/index.es6.js.map +1 -1
  21. package/dist/_virtual/index.es8.js +4 -4
  22. package/dist/_virtual/index.es9.js +4 -4
  23. package/dist/index.cjs.js +6 -7
  24. package/dist/index.cjs.js.map +1 -1
  25. package/dist/index.es.js +6 -7
  26. package/dist/index.es.js.map +1 -1
  27. package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.cjs.js +1 -2
  28. package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.cjs.js.map +1 -1
  29. package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.es.js +1 -2
  30. package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.es.js.map +1 -1
  31. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
  32. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  33. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  34. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  35. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  36. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  37. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  38. package/dist/node_modules/remove-accents/index.es.js +1 -1
  39. package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/vfile/lib/index.es.js +1 -1
  41. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +6 -7
  42. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
  43. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +6 -7
  44. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
  45. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js +2 -0
  46. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js.map +1 -1
  47. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js +2 -0
  48. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js.map +1 -1
  49. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +5 -1
  50. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  51. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -1
  52. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  53. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +21 -86
  54. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  55. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +21 -86
  56. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  57. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js +2 -0
  58. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js.map +1 -1
  59. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js +2 -0
  60. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js.map +1 -1
  61. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +6 -7
  62. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  63. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -7
  64. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  65. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +6 -7
  66. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  67. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -7
  68. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  69. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +6 -7
  70. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  71. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -7
  72. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  73. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +27 -6
  74. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
  75. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +27 -6
  76. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
  77. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +6 -7
  78. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  79. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -7
  80. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  81. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +6 -7
  82. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  83. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -7
  84. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  85. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +6 -7
  86. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  87. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -7
  88. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  89. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +9 -10
  90. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  91. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +9 -10
  92. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  93. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +6 -7
  94. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  95. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -7
  96. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  97. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +6 -7
  98. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  99. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -7
  100. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  101. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +5 -6
  102. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  103. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -6
  104. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  105. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +16 -9
  106. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  107. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +16 -9
  108. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  109. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  110. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  111. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +1 -1
  112. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  113. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +5 -7
  114. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  115. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -7
  116. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  117. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +1 -174
  118. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  119. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +2 -175
  120. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  121. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +212 -0
  122. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -0
  123. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +212 -0
  124. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -0
  125. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -185
  126. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  127. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +2 -186
  128. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  129. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +191 -0
  130. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -0
  131. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +191 -0
  132. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -0
  133. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js +1 -79
  134. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js.map +1 -1
  135. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js +2 -80
  136. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js.map +1 -1
  137. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +84 -0
  138. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -0
  139. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +84 -0
  140. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -0
  141. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -277
  142. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  143. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +2 -278
  144. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  145. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +282 -0
  146. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -0
  147. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +282 -0
  148. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -0
  149. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +3 -2
  150. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  151. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +3 -2
  152. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  153. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js.map +1 -1
  154. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js.map +1 -1
  155. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  156. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  157. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +8 -175
  158. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  159. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +8 -175
  160. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  161. package/dist/shared/src/containers/ProjectTreeTable/{context/ProjectTableModulesContext.cjs.js → hooks/useProjectTableModules.cjs.js} +26 -48
  162. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -0
  163. package/dist/shared/src/containers/ProjectTreeTable/{context/ProjectTableModulesContext.es.js → hooks/useProjectTableModules.es.js} +26 -48
  164. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -0
  165. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +4 -3
  166. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  167. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -3
  168. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  169. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +8 -5
  170. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  171. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +7 -4
  172. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  173. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +7 -8
  174. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  175. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +7 -8
  176. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  177. package/dist/shared/src/context/RemoteModulesContext.es.js +1 -1
  178. package/dist/shared/src/hooks/useLoadModule.cjs.js +3 -3
  179. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  180. package/dist/shared/src/hooks/useLoadModule.es.js +3 -3
  181. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  182. package/dist/types/components/ProjectTableSettings/ColumnItem.d.ts +1 -0
  183. package/dist/types/components/ProjectTableSettings/SortableColumnItem.d.ts +1 -0
  184. package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
  185. package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +9 -2
  186. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +16 -16
  187. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsProvider.d.ts +9 -0
  188. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +5 -61
  189. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +59 -0
  190. package/dist/types/containers/ProjectTreeTable/context/SelectedRowsContext.d.ts +3 -8
  191. package/dist/types/containers/ProjectTreeTable/context/SelectedRowsProvider.d.ts +6 -0
  192. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +2 -4
  193. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsProvider.d.ts +4 -0
  194. package/dist/types/containers/ProjectTreeTable/context/index.d.ts +4 -2
  195. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
  196. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +1 -2
  197. package/dist/types/containers/ProjectTreeTable/hooks/useEntitiesMap.d.ts +1 -1
  198. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -3
  199. package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +1 -1
  200. package/dist/types/containers/ProjectTreeTable/{context/ProjectTableModulesContext.d.ts → hooks/useProjectTableModules.d.ts} +5 -12
  201. package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -10
  202. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -3
  203. package/package.json +1 -1
  204. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map +0 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js.map +0 -1
  206. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js +0 -33
  207. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js.map +0 -1
  208. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js +0 -33
  209. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js.map +0 -1
  210. package/dist/types/containers/ProjectTreeTable/context/ProjectTableSelectionContext.d.ts +0 -11
@@ -1,186 +1,19 @@
1
1
  import { useMemo } from "react";
2
- import "../../ContextMenu/ContextMenuContext.es.js";
2
+ import "react-toastify";
3
+ import "../context/CellEditingContext.es.js";
4
+ import "../context/ClipboardContext.es.js";
3
5
  import "../../../../../_virtual/jsx-runtime.es.js";
4
- import "@ynput/ayon-react-components";
5
- /* empty css */
6
- import "clsx";
7
- import "react-dom";
8
- import "../../Feed/context/FeedContext.es.js";
9
- import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
10
- import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
6
+ import "@tanstack/react-table";
7
+ import "../context/SelectionCellsContext.es.js";
8
+ import "../ProjectTreeTable.es.js";
9
+ import { useColumnSettingsContext } from "../context/ColumnSettingsContext.es.js";
10
+ import { useProjectTableContext } from "../context/ProjectTableContext.es.js";
11
11
  import "lodash";
12
- import "react-toastify";
13
12
  import { getAttributeIcon } from "../../../util/getAttributeIcon.es.js";
14
13
  import "../../../util/pubsub.es.js";
15
- import "../../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
16
- import "../../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
17
- import "react-markdown";
18
- import "remark-emoji";
19
- import "remark-gfm";
20
- import "remark-directive";
21
- import "remark-directive-rehype";
22
- import "../../Feed/components/CommentInput/CommentInput.es.js";
23
- import "../../Feed/components/ReactionContainer/Reactions.styled.es.js";
24
- import "../../Feed/components/FilesGrid/FilesGrid.styled.es.js";
25
- import "../../Feed/components/FileUploadCard/FileUploadCard.styled.es.js";
26
- import "../../../context/RemoteModulesContext.es.js";
27
- import "../../../context/DetailsPanelContext.es.js";
28
- import "../../../context/ThumbnailUploaderContext.es.js";
29
- import "../../../context/SettingsPanelContext.es.js";
30
- import "../../../context/pip/PiPProvider.es.js";
31
- import "../../../context/pip/PiPWrapper.es.js";
32
- import "../../../context/AddonProjectContext.es.js";
33
- import "../../../context/AddonContext.es.js";
34
- import "../../../context/PowerpackContext.es.js";
35
- import "../../Feed/components/CommentInput/quillToMarkdown.es.js";
36
- import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
37
- import "../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
38
- import "../../Feed/components/ActivityReference/ActivityReference.styled.es.js";
39
- import "react-router-dom";
40
- import "../../Feed/components/ActivityStatus/ActivityStatus.es.js";
41
- import "../../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
42
- import "../../Feed/components/ActivityDate.es.js";
43
- import "../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
44
- import "../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
45
- import "../../Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
46
- import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
47
- import "../../Feed/Feed.styled.es.js";
48
- import "date-fns";
49
- import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
50
- import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
51
- import "../ProjectTreeTable.es.js";
52
- import "../context/SelectionCellsContext.es.js";
53
- import { useProjectTableContext } from "../context/ProjectTableContext.es.js";
54
14
  import "../context/ProjectTableQueriesContext.es.js";
55
15
  import "../context/SelectedRowsContext.es.js";
56
- import { useColumnSettingsContext } from "../context/ColumnSettingsContext.es.js";
57
- import "../context/CellEditingContext.es.js";
58
- import "../context/ClipboardContext.es.js";
59
- import "../context/ProjectTableSelectionContext.es.js";
60
16
  import "../context/ProjectDataContext.es.js";
61
- import "../context/ProjectTableModulesContext.es.js";
62
- import "@tanstack/react-table";
63
- import "../widgets/CollapsedWidget.es.js";
64
- import "../widgets/DateWidget.es.js";
65
- import "../widgets/EnumWidget.es.js";
66
- import "../widgets/TextWidget.es.js";
67
- import "../widgets/BooleanWidget.es.js";
68
- import "../widgets/CellWidget.es.js";
69
- import "../widgets/EntityNameWidget.es.js";
70
- import "../widgets/GroupHeaderWidget.es.js";
71
- import "../widgets/ThumbnailWidget.es.js";
72
- import "../ProjectTreeTable.styled.es.js";
73
- import "../components/SelectionCell.es.js";
74
- import "../components/RowSelectionHeader.es.js";
75
- import "../widgets/LoadMoreWidget.es.js";
76
- import "../../../api/base/client.es.js";
77
- import "../../../api/generated/graphql.es.js";
78
- import "../../../api/generated/access.es.js";
79
- import "../../../api/generated/actions.es.js";
80
- import "../../../api/generated/activityFeed.es.js";
81
- import "../../../api/generated/addons.es.js";
82
- import "../../../api/generated/anatomy.es.js";
83
- import "../../../api/generated/attributes.es.js";
84
- import "../../../api/generated/authentication.es.js";
85
- import "../../../api/generated/bundles.es.js";
86
- import "../../../api/generated/configuration.es.js";
87
- import "../../../api/generated/desktop.es.js";
88
- import "../../../api/generated/entityLists.es.js";
89
- import "../../../api/generated/events.es.js";
90
- import "../../../api/generated/files.es.js";
91
- import "../../../api/generated/folders.es.js";
92
- import "../../../api/generated/inbox.es.js";
93
- import "../../../api/generated/links.es.js";
94
- import "../../../api/generated/market.es.js";
95
- import "../../../api/generated/onboarding.es.js";
96
- import "../../../api/generated/operations.es.js";
97
- import "../../../api/generated/products.es.js";
98
- import "../../../api/generated/projectDashboard.es.js";
99
- import "../../../api/generated/projects.es.js";
100
- import "../../../api/generated/reviewables.es.js";
101
- import "../../../api/generated/services.es.js";
102
- import "../../../api/generated/system.es.js";
103
- import "../../../api/generated/tasks.es.js";
104
- import "../../../api/generated/teams.es.js";
105
- import "../../../api/generated/thumbnails.es.js";
106
- import "../../../api/generated/uRIs.es.js";
107
- import "../../../api/generated/users.es.js";
108
- import "../../../api/generated/versions.es.js";
109
- import "../../../api/generated/workfiles.es.js";
110
- import "../../../api/generated/ynputCloud.es.js";
111
- import "../../../api/generated/grouping.es.js";
112
- import "../../../api/queries/actions/getActions.es.js";
113
- import "../../../api/queries/activities/getActivities.es.js";
114
- import "../../../api/queries/activities/updateActivities.es.js";
115
- import "../../../api/queries/activities/updateReaction.es.js";
116
- import "../../../api/queries/activities/getMentions.es.js";
117
- import "../../../api/queries/addons/getAddons.es.js";
118
- import "../../../api/queries/addons/updateAddons.es.js";
119
- import "../../../api/queries/attributes/getAttributes.es.js";
120
- import "../../../api/queries/attributes/updateAttributes.es.js";
121
- import "../../../api/queries/authentication/getAuthentication.es.js";
122
- import "../../../api/queries/entities/getEntity.es.js";
123
- import "../../../api/queries/entities/getEntityPanel.es.js";
124
- import "../../../api/queries/entities/updateEntity.es.js";
125
- import "../../../api/queries/entityLists/getLists.es.js";
126
- import "../../../api/queries/entityLists/updateLists.es.js";
127
- import "../../../api/queries/entityLists/getListsAttributes.es.js";
128
- import "../../../api/queries/entityLists/updateListsAttributes.es.js";
129
- import "../../../api/queries/folders/getFolders.es.js";
130
- import "../../../api/queries/overview/getOverview.es.js";
131
- import "../../../api/queries/overview/updateOverview.es.js";
132
- import "../../../api/queries/project/getProject.es.js";
133
- import "../../../api/queries/project/updateProject.es.js";
134
- import "../../../api/queries/review/getReview.es.js";
135
- import "../../../api/queries/review/updateReview.es.js";
136
- import "../../../api/queries/system/getSystem.es.js";
137
- import "../../../api/queries/userDashboard/getUserDashboard.es.js";
138
- import "../../../api/queries/users/getUsers.es.js";
139
- import "../../../api/queries/users/updateUsers.es.js";
140
- import "../../../api/queries/watchers/getWatchers.es.js";
141
- import "../../../api/queries/permissions/getPermissions.es.js";
142
- import "../../../api/queries/grouping/getGrouping.es.js";
143
- import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
144
- import "@dnd-kit/core";
145
- import "@dnd-kit/sortable";
146
- import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
147
- import "axios";
148
- import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
149
- import "../../../components/ReviewableCard/ReviewableCard.es.js";
150
- import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
151
- import "../../../components/FileThumbnail/FileThumbnail.es.js";
152
- import "../../../components/Thumbnail/Thumbnail.styled.es.js";
153
- import "../../../components/Thumbnail/StackedThumbnails.es.js";
154
- import "../../../components/EntityThumbnailUploader/EntityThumbnailUploader.styled.es.js";
155
- import "../../../components/ThumbnailUploader/ThumbnailUploader.styled.es.js";
156
- import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
157
- import "../../../components/EntityPath/EntityPath.styled.es.js";
158
- import "../../../components/EntityPath/SegmentProvider.es.js";
159
- import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
160
- import "../../../../../_virtual/runtime.es.js";
161
- import "../../../../../_virtual/semver.es.js";
162
- import "react-redux";
163
- import "custom-protocol-check";
164
- import "../../../components/Watchers/Watchers.es.js";
165
- import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
166
- import "../../../components/Powerpack/PowerpackButton.es.js";
167
- import "../../../components/Powerpack/PricingLink.es.js";
168
- import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
169
- import "../../../components/SettingsPanel/SettingsPanel.es.js";
170
- import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
171
- import "../../../components/AttributeEditor/components/MinMaxField.es.js";
172
- import "../../../components/EnumEditor/EnumEditor.styled.es.js";
173
- import "../../../components/SearchFilter/filterDates.es.js";
174
- import "../../../components/Badge/Badge.es.js";
175
- import "../../DetailsPanel/DetailsPanel.styled.es.js";
176
- import "../../DetailsPanel/FeedFilters/FeedFilters.styled.es.js";
177
- import "../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
178
- import "../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js";
179
- import "../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
180
- import "../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
181
- import "../../Actions/Actions.styled.es.js";
182
- import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
183
- import "../../Actions/ActionIcon.es.js";
184
17
  const allowedGroupByFields = ["string", "integer", "float"];
185
18
  const isAttribGroupable = (attrib, entityType, allowedTypes, enumOnly) => {
186
19
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"useGetGroupedFields.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetGroupedFields.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n ProjectTableAttribute,\n useColumnSettingsContext,\n useProjectTableContext,\n} from '@shared/containers'\nimport { getAttributeIcon } from '@shared/util'\nimport { EntityGrouping } from '@shared/api'\n\n// @martastain says list_of_* is a pita to implement, so we are not supporting it for now\nexport const allowedGroupByFields = ['string', 'integer', 'float']\nexport const isAttribGroupable = (\n attrib: ProjectTableAttribute,\n entityType: EntityGrouping['entityType'],\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const typesToCheck = allowedTypes || allowedGroupByFields\n const hasValidType = typesToCheck.includes(attrib.data.type) && attrib.scope?.includes(entityType)\n\n if (!hasValidType) return false\n if (enumOnly) return !!attrib.data.enum && attrib.data.enum.length > 0\n\n return true\n}\n\nexport const useGetGroupedFields = (\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const { columnOrder } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n return useMemo(\n () =>\n [\n {\n value: 'taskType',\n label: 'Task Type',\n icon: getAttributeIcon('task'),\n },\n {\n value: 'assignees',\n label: 'Assignees',\n icon: getAttributeIcon('assignees'),\n },\n {\n value: 'status',\n label: 'Status',\n icon: getAttributeIcon('status'),\n },\n {\n value: 'tags',\n label: 'Tags',\n icon: getAttributeIcon('tags'),\n },\n ...attribFields\n .filter((attrib) => isAttribGroupable(attrib, 'task', allowedTypes, enumOnly))\n .map((field) => ({\n value: 'attrib.' + field.name,\n label: field.data.title || field.name,\n icon: getAttributeIcon(field.name),\n })),\n ].sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n if (indexA === -1 && indexB === -1) return 0\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n return indexA - indexB\n }),\n [attribFields, columnOrder, allowedTypes, enumOnly],\n )\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAM,uBAAuB,CAAC,UAAU,WAAW,OAAO;AAC1D,MAAM,oBAAoB,CAC/B,QACA,YACA,cACA,aACG;;AACH,QAAM,eAAe,gBAAgB;AAC/B,QAAA,eAAe,aAAa,SAAS,OAAO,KAAK,IAAI,OAAK,YAAO,UAAP,mBAAc,SAAS;AAEnF,MAAA,CAAC,aAAqB,QAAA;AACtB,MAAA,SAAiB,QAAA,CAAC,CAAC,OAAO,KAAK,QAAQ,OAAO,KAAK,KAAK,SAAS;AAE9D,SAAA;AACT;AAEa,MAAA,sBAAsB,CACjC,cACA,aACG;AACG,QAAA,EAAE,YAAY,IAAI,yBAAyB;AAC3C,QAAA,EAAE,aAAa,IAAI,uBAAuB;AAEzC,SAAA;AAAA,IACL,MACE;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM,iBAAiB,MAAM;AAAA,MAC/B;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM,iBAAiB,WAAW;AAAA,MACpC;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM,iBAAiB,QAAQ;AAAA,MACjC;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM,iBAAiB,MAAM;AAAA,MAC/B;AAAA,MACA,GAAG,aACA,OAAO,CAAC,WAAW,kBAAkB,QAAQ,QAAQ,cAAc,QAAQ,CAAC,EAC5E,IAAI,CAAC,WAAW;AAAA,QACf,OAAO,YAAY,MAAM;AAAA,QACzB,OAAO,MAAM,KAAK,SAAS,MAAM;AAAA,QACjC,MAAM,iBAAiB,MAAM,IAAI;AAAA,MAAA,EACjC;AAAA,IAAA,EACJ,KAAK,CAAC,GAAG,MAAM;AACf,YAAM,SAAS,YAAY,QAAQ,EAAE,KAAK;AAC1C,YAAM,SAAS,YAAY,QAAQ,EAAE,KAAK;AAC1C,UAAI,WAAW,MAAM,WAAW,GAAW,QAAA;AACvC,UAAA,WAAW,GAAW,QAAA;AACtB,UAAA,WAAW,GAAW,QAAA;AAC1B,aAAO,SAAS;AAAA,IAAA,CACjB;AAAA,IACH,CAAC,cAAc,aAAa,cAAc,QAAQ;AAAA,EACpD;AACF;"}
1
+ {"version":3,"file":"useGetGroupedFields.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetGroupedFields.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { ProjectTableAttribute } from '../types'\nimport { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { getAttributeIcon } from '@shared/util'\nimport { EntityGrouping } from '@shared/api'\n\n// @martastain says list_of_* is a pita to implement, so we are not supporting it for now\nexport const allowedGroupByFields = ['string', 'integer', 'float']\nexport const isAttribGroupable = (\n attrib: ProjectTableAttribute,\n entityType: EntityGrouping['entityType'],\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const typesToCheck = allowedTypes || allowedGroupByFields\n const hasValidType = typesToCheck.includes(attrib.data.type) && attrib.scope?.includes(entityType)\n\n if (!hasValidType) return false\n if (enumOnly) return !!attrib.data.enum && attrib.data.enum.length > 0\n\n return true\n}\n\nexport const useGetGroupedFields = (\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const { columnOrder } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n return useMemo(\n () =>\n [\n {\n value: 'taskType',\n label: 'Task Type',\n icon: getAttributeIcon('task'),\n },\n {\n value: 'assignees',\n label: 'Assignees',\n icon: getAttributeIcon('assignees'),\n },\n {\n value: 'status',\n label: 'Status',\n icon: getAttributeIcon('status'),\n },\n {\n value: 'tags',\n label: 'Tags',\n icon: getAttributeIcon('tags'),\n },\n ...attribFields\n .filter((attrib) => isAttribGroupable(attrib, 'task', allowedTypes, enumOnly))\n .map((field) => ({\n value: 'attrib.' + field.name,\n label: field.data.title || field.name,\n icon: getAttributeIcon(field.name),\n })),\n ].sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n if (indexA === -1 && indexB === -1) return 0\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n return indexA - indexB\n }),\n [attribFields, columnOrder, allowedTypes, enumOnly],\n )\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAOO,MAAM,uBAAuB,CAAC,UAAU,WAAW,OAAO;AAC1D,MAAM,oBAAoB,CAC/B,QACA,YACA,cACA,aACG;;AACH,QAAM,eAAe,gBAAgB;AAC/B,QAAA,eAAe,aAAa,SAAS,OAAO,KAAK,IAAI,OAAK,YAAO,UAAP,mBAAc,SAAS;AAEnF,MAAA,CAAC,aAAqB,QAAA;AACtB,MAAA,SAAiB,QAAA,CAAC,CAAC,OAAO,KAAK,QAAQ,OAAO,KAAK,KAAK,SAAS;AAE9D,SAAA;AACT;AAEa,MAAA,sBAAsB,CACjC,cACA,aACG;AACG,QAAA,EAAE,YAAY,IAAI,yBAAyB;AAC3C,QAAA,EAAE,aAAa,IAAI,uBAAuB;AAEzC,SAAA;AAAA,IACL,MACE;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM,iBAAiB,MAAM;AAAA,MAC/B;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM,iBAAiB,WAAW;AAAA,MACpC;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM,iBAAiB,QAAQ;AAAA,MACjC;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM,iBAAiB,MAAM;AAAA,MAC/B;AAAA,MACA,GAAG,aACA,OAAO,CAAC,WAAW,kBAAkB,QAAQ,QAAQ,cAAc,QAAQ,CAAC,EAC5E,IAAI,CAAC,WAAW;AAAA,QACf,OAAO,YAAY,MAAM;AAAA,QACzB,OAAO,MAAM,KAAK,SAAS,MAAM;AAAA,QACjC,MAAM,iBAAiB,MAAM,IAAI;AAAA,MAAA,EACjC;AAAA,IAAA,EACJ,KAAK,CAAC,GAAG,MAAM;AACf,YAAM,SAAS,YAAY,QAAQ,EAAE,KAAK;AAC1C,YAAM,SAAS,YAAY,QAAQ,EAAE,KAAK;AAC1C,UAAI,WAAW,MAAM,WAAW,GAAW,QAAA;AACvC,UAAA,WAAW,GAAW,QAAA;AACtB,UAAA,WAAW,GAAW,QAAA;AAC1B,aAAO,SAAS;AAAA,IAAA,CACjB;AAAA,IACH,CAAC,cAAc,aAAa,cAAc,QAAQ;AAAA,EACpD;AACF;"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("../../../../../_virtual/jsx-runtime.cjs.js");
4
- const React = require("react");
3
+ require("react");
5
4
  const useLoadModule = require("../../../hooks/useLoadModule.cjs.js");
6
5
  require("../../../../../_virtual/runtime.cjs.js");
7
6
  require("../../../../../_virtual/semver.cjs.js");
@@ -88,50 +87,29 @@ require("react-redux");
88
87
  require("custom-protocol-check");
89
88
  const GroupSettingsFallback = require("../components/GroupSettingsFallback.cjs.js");
90
89
  const getGroupQueriesFallback = (params) => [];
91
- const ProjectTableModuleContext = React.createContext(
92
- void 0
93
- );
94
- ProjectTableModuleContext.displayName = "ProjectTableModuleContext";
95
- const ProjectTableModuleProvider = React.memo(
96
- ({ children, GroupSettings: GroupSettingsProp, getGroupQueries: getGroupQueriesProp }) => {
97
- const minVersion = "1.0.6-dev";
98
- const [GroupSettings, { outdated, isLoading: isLoadingSettings }] = useLoadModule.useLoadModule({
99
- addon: "powerpack",
100
- remote: "slicer",
101
- module: "GroupSettings",
102
- fallback: GroupSettingsProp || GroupSettingsFallback.GroupSettingsFallback,
103
- minVersion,
104
- skip: !!GroupSettingsProp
105
- });
106
- const [getGroupQueries, { isLoading: isLoadingQueries }] = useLoadModule.useLoadModule({
107
- addon: "powerpack",
108
- remote: "slicer",
109
- module: "getGroupQueries",
110
- fallback: getGroupQueriesProp || getGroupQueriesFallback,
111
- minVersion,
112
- skip: !!getGroupQueriesProp
113
- });
114
- const isLoading = isLoadingSettings || isLoadingQueries;
115
- const value = React.useMemo(
116
- () => ({
117
- GroupSettings,
118
- getGroupQueries,
119
- requiredVersion: outdated == null ? void 0 : outdated.required,
120
- isLoading
121
- }),
122
- [GroupSettings, getGroupQueries, outdated == null ? void 0 : outdated.required, isLoading]
123
- );
124
- return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ProjectTableModuleContext.Provider, { value, children });
125
- }
126
- );
127
- ProjectTableModuleProvider.displayName = "ProjectTableModuleProvider";
128
- const useProjectTableModuleContext = () => {
129
- const context = React.useContext(ProjectTableModuleContext);
130
- if (context === void 0) {
131
- throw new Error("useProjectTableModuleContext must be used within a ProjectTableModuleProvider");
132
- }
133
- return context;
90
+ const useProjectTableModules = () => {
91
+ const minVersion = "1.0.6-dev";
92
+ const [GroupSettings, { outdated, isLoading: isLoadingSettings }] = useLoadModule.useLoadModule({
93
+ addon: "powerpack",
94
+ remote: "slicer",
95
+ module: "GroupSettings",
96
+ fallback: GroupSettingsFallback.GroupSettingsFallback,
97
+ minVersion
98
+ });
99
+ const [getGroupQueries, { isLoading: isLoadingQueries }] = useLoadModule.useLoadModule({
100
+ addon: "powerpack",
101
+ remote: "slicer",
102
+ module: "getGroupQueries",
103
+ fallback: getGroupQueriesFallback,
104
+ minVersion
105
+ });
106
+ const isLoading = isLoadingSettings || isLoadingQueries;
107
+ return {
108
+ GroupSettings,
109
+ getGroupQueries,
110
+ requiredVersion: outdated == null ? void 0 : outdated.required,
111
+ isLoading
112
+ };
134
113
  };
135
- exports.ProjectTableModuleProvider = ProjectTableModuleProvider;
136
- exports.useProjectTableModuleContext = useProjectTableModuleContext;
137
- //# sourceMappingURL=ProjectTableModulesContext.cjs.js.map
114
+ exports.useProjectTableModules = useProjectTableModules;
115
+ //# sourceMappingURL=useProjectTableModules.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProjectTableModules.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useProjectTableModules.ts"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport { GroupSettingsFallback } from '../components/GroupSettingsFallback'\nimport { EntityGroup } from '@shared/api'\nimport { Filter } from '@ynput/ayon-react-components'\nimport { TableGroupBy } from '../context'\nimport { ProjectTableAttribute } from './useAttributesList'\n\ntype GetGroupQueriesParams = {\n taskGroups: EntityGroup[]\n filters: Filter[]\n groupBy: TableGroupBy\n groupPageCounts: Record<string, number>\n dataType: ProjectTableAttribute['data']['type']\n}\n\ntype GetGroupQueriesReturn = {\n value: any\n count: number\n filter: string\n}[]\n\nexport type ProjectTableModulesType = {\n GroupSettings: typeof GroupSettingsFallback\n getGroupQueries?: (params: GetGroupQueriesParams) => GetGroupQueriesReturn\n requiredVersion?: string\n isLoading: boolean\n}\n\nconst getGroupQueriesFallback = (params: GetGroupQueriesParams): GetGroupQueriesReturn => []\n\nexport const useProjectTableModules = (): ProjectTableModulesType => {\n const minVersion = '1.0.6-dev'\n const [GroupSettings, { outdated, isLoading: isLoadingSettings }] = useLoadModule({\n addon: 'powerpack',\n remote: 'slicer',\n module: 'GroupSettings',\n fallback: GroupSettingsFallback,\n minVersion: minVersion,\n })\n\n const [getGroupQueries, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'slicer',\n module: 'getGroupQueries',\n fallback: getGroupQueriesFallback,\n minVersion: minVersion,\n })\n\n const isLoading = isLoadingSettings || isLoadingQueries\n\n return {\n GroupSettings,\n getGroupQueries,\n requiredVersion: outdated?.required,\n isLoading: isLoading,\n }\n}\n"],"names":["useLoadModule","GroupSettingsFallback"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,0BAA0B,CAAC,WAAyD,CAAC;AAEpF,MAAM,yBAAyB,MAA+B;AACnE,QAAM,aAAa;AACb,QAAA,CAAC,eAAe,EAAE,UAAU,WAAW,kBAAkB,CAAC,IAAIA,4BAAc;AAAA,IAChF,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUC,sBAAA;AAAA,IACV;AAAA,EAAA,CACD;AAED,QAAM,CAAC,iBAAiB,EAAE,WAAW,iBAAkB,CAAA,IAAID,cAAAA,cAAc;AAAA,IACvE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV;AAAA,EAAA,CACD;AAED,QAAM,YAAY,qBAAqB;AAEhC,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,iBAAiB,qCAAU;AAAA,IAC3B;AAAA,EACF;AACF;;"}
@@ -1,5 +1,4 @@
1
- import { j as jsxRuntimeExports } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import React__default, { createContext, useMemo, useContext } from "react";
1
+ import "react";
3
2
  import { useLoadModule } from "../../../hooks/useLoadModule.es.js";
4
3
  import "../../../../../_virtual/runtime.es.js";
5
4
  import "../../../../../_virtual/semver.es.js";
@@ -86,52 +85,31 @@ import "react-redux";
86
85
  import "custom-protocol-check";
87
86
  import { GroupSettingsFallback } from "../components/GroupSettingsFallback.es.js";
88
87
  const getGroupQueriesFallback = (params) => [];
89
- const ProjectTableModuleContext = createContext(
90
- void 0
91
- );
92
- ProjectTableModuleContext.displayName = "ProjectTableModuleContext";
93
- const ProjectTableModuleProvider = React__default.memo(
94
- ({ children, GroupSettings: GroupSettingsProp, getGroupQueries: getGroupQueriesProp }) => {
95
- const minVersion = "1.0.6-dev";
96
- const [GroupSettings, { outdated, isLoading: isLoadingSettings }] = useLoadModule({
97
- addon: "powerpack",
98
- remote: "slicer",
99
- module: "GroupSettings",
100
- fallback: GroupSettingsProp || GroupSettingsFallback,
101
- minVersion,
102
- skip: !!GroupSettingsProp
103
- });
104
- const [getGroupQueries, { isLoading: isLoadingQueries }] = useLoadModule({
105
- addon: "powerpack",
106
- remote: "slicer",
107
- module: "getGroupQueries",
108
- fallback: getGroupQueriesProp || getGroupQueriesFallback,
109
- minVersion,
110
- skip: !!getGroupQueriesProp
111
- });
112
- const isLoading = isLoadingSettings || isLoadingQueries;
113
- const value = useMemo(
114
- () => ({
115
- GroupSettings,
116
- getGroupQueries,
117
- requiredVersion: outdated == null ? void 0 : outdated.required,
118
- isLoading
119
- }),
120
- [GroupSettings, getGroupQueries, outdated == null ? void 0 : outdated.required, isLoading]
121
- );
122
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ProjectTableModuleContext.Provider, { value, children });
123
- }
124
- );
125
- ProjectTableModuleProvider.displayName = "ProjectTableModuleProvider";
126
- const useProjectTableModuleContext = () => {
127
- const context = useContext(ProjectTableModuleContext);
128
- if (context === void 0) {
129
- throw new Error("useProjectTableModuleContext must be used within a ProjectTableModuleProvider");
130
- }
131
- return context;
88
+ const useProjectTableModules = () => {
89
+ const minVersion = "1.0.6-dev";
90
+ const [GroupSettings, { outdated, isLoading: isLoadingSettings }] = useLoadModule({
91
+ addon: "powerpack",
92
+ remote: "slicer",
93
+ module: "GroupSettings",
94
+ fallback: GroupSettingsFallback,
95
+ minVersion
96
+ });
97
+ const [getGroupQueries, { isLoading: isLoadingQueries }] = useLoadModule({
98
+ addon: "powerpack",
99
+ remote: "slicer",
100
+ module: "getGroupQueries",
101
+ fallback: getGroupQueriesFallback,
102
+ minVersion
103
+ });
104
+ const isLoading = isLoadingSettings || isLoadingQueries;
105
+ return {
106
+ GroupSettings,
107
+ getGroupQueries,
108
+ requiredVersion: outdated == null ? void 0 : outdated.required,
109
+ isLoading
110
+ };
132
111
  };
133
112
  export {
134
- ProjectTableModuleProvider,
135
- useProjectTableModuleContext
113
+ useProjectTableModules
136
114
  };
137
- //# sourceMappingURL=ProjectTableModulesContext.es.js.map
115
+ //# sourceMappingURL=useProjectTableModules.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProjectTableModules.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useProjectTableModules.ts"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport { GroupSettingsFallback } from '../components/GroupSettingsFallback'\nimport { EntityGroup } from '@shared/api'\nimport { Filter } from '@ynput/ayon-react-components'\nimport { TableGroupBy } from '../context'\nimport { ProjectTableAttribute } from './useAttributesList'\n\ntype GetGroupQueriesParams = {\n taskGroups: EntityGroup[]\n filters: Filter[]\n groupBy: TableGroupBy\n groupPageCounts: Record<string, number>\n dataType: ProjectTableAttribute['data']['type']\n}\n\ntype GetGroupQueriesReturn = {\n value: any\n count: number\n filter: string\n}[]\n\nexport type ProjectTableModulesType = {\n GroupSettings: typeof GroupSettingsFallback\n getGroupQueries?: (params: GetGroupQueriesParams) => GetGroupQueriesReturn\n requiredVersion?: string\n isLoading: boolean\n}\n\nconst getGroupQueriesFallback = (params: GetGroupQueriesParams): GetGroupQueriesReturn => []\n\nexport const useProjectTableModules = (): ProjectTableModulesType => {\n const minVersion = '1.0.6-dev'\n const [GroupSettings, { outdated, isLoading: isLoadingSettings }] = useLoadModule({\n addon: 'powerpack',\n remote: 'slicer',\n module: 'GroupSettings',\n fallback: GroupSettingsFallback,\n minVersion: minVersion,\n })\n\n const [getGroupQueries, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'slicer',\n module: 'getGroupQueries',\n fallback: getGroupQueriesFallback,\n minVersion: minVersion,\n })\n\n const isLoading = isLoadingSettings || isLoadingQueries\n\n return {\n GroupSettings,\n getGroupQueries,\n requiredVersion: outdated?.required,\n isLoading: isLoading,\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,0BAA0B,CAAC,WAAyD,CAAC;AAEpF,MAAM,yBAAyB,MAA+B;AACnE,QAAM,aAAa;AACb,QAAA,CAAC,eAAe,EAAE,UAAU,WAAW,kBAAkB,CAAC,IAAI,cAAc;AAAA,IAChF,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV;AAAA,EAAA,CACD;AAED,QAAM,CAAC,iBAAiB,EAAE,WAAW,iBAAkB,CAAA,IAAI,cAAc;AAAA,IACvE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV;AAAA,EAAA,CACD;AAED,QAAM,YAAY,qBAAqB;AAEhC,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,iBAAiB,qCAAU;AAAA,IAC3B;AAAA,EACF;AACF;"}
@@ -7,14 +7,15 @@ require("react-toastify");
7
7
  require("../../../util/pubsub.cjs.js");
8
8
  require("../context/CellEditingContext.cjs.js");
9
9
  require("../context/ClipboardContext.cjs.js");
10
+ require("../../../../../_virtual/jsx-runtime.cjs.js");
11
+ require("@tanstack/react-table");
12
+ require("../context/SelectionCellsContext.cjs.js");
13
+ require("../ProjectTreeTable.cjs.js");
10
14
  require("../context/ColumnSettingsContext.cjs.js");
11
15
  require("../context/ProjectTableContext.cjs.js");
12
16
  require("../context/ProjectTableQueriesContext.cjs.js");
13
17
  require("../context/SelectedRowsContext.cjs.js");
14
- require("../context/SelectionCellsContext.cjs.js");
15
- require("../context/ProjectTableSelectionContext.cjs.js");
16
18
  require("../context/ProjectDataContext.cjs.js");
17
- require("../context/ProjectTableModulesContext.cjs.js");
18
19
  const useQueryFilters = ({
19
20
  filters,
20
21
  sliceFilter
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryFilters.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '@shared/containers/ProjectTreeTable/utils'\n\ninterface UseQueryFiltersProps {\n filters: Filter[]\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: Filter[]\n}\n\nexport const useQueryFilters = ({\n filters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n // merge the slice filter with the user filters\n let combinedFilters = [...filters]\n if (sliceFilter?.values?.length) {\n combinedFilters.push(sliceFilter as Filter)\n }\n\n // transform the task bar filters to the query format\n const queryFilter = clientFilterToQueryFilter(combinedFilters)\n const queryFilterString = combinedFilters.length ? JSON.stringify(queryFilter) : ''\n // extract the fuzzy search from the filters\n const fuzzySearchFilter = combinedFilters.find((filter) => filter.id.includes('text'))\n ?.values?.[0]?.id\n\n return {\n filterString: queryFilterString,\n filter: queryFilter,\n search: fuzzySearchFilter,\n combinedFilters,\n }\n }, [filters, sliceFilter])\n}\n"],"names":["useMemo","clientFilterToQueryFilter"],"mappings":";;;;;;;;;;;;;;;;;AAiBO,MAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AACF,MAAgD;AAC9C,SAAOA,cAAQ,MAAM;;AAEf,QAAA,kBAAkB,CAAC,GAAG,OAAO;AAC7B,SAAA,gDAAa,WAAb,mBAAqB,QAAQ;AAC/B,sBAAgB,KAAK,WAAqB;AAAA,IAAA;AAItC,UAAA,cAAcC,oDAA0B,eAAe;AAC7D,UAAM,oBAAoB,gBAAgB,SAAS,KAAK,UAAU,WAAW,IAAI;AAEjF,UAAM,qBAAoB,iCAAgB,KAAK,CAAC,WAAW,OAAO,GAAG,SAAS,MAAM,CAAC,MAA3D,mBACtB,WADsB,mBACb,OADa,mBACT;AAEV,WAAA;AAAA,MACL,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EAAA,GACC,CAAC,SAAS,WAAW,CAAC;AAC3B;;"}
1
+ {"version":3,"file":"useQueryFilters.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\n\ninterface UseQueryFiltersProps {\n filters: Filter[]\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: Filter[]\n}\n\nexport const useQueryFilters = ({\n filters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n // merge the slice filter with the user filters\n let combinedFilters = [...filters]\n if (sliceFilter?.values?.length) {\n combinedFilters.push(sliceFilter as Filter)\n }\n\n // transform the task bar filters to the query format\n const queryFilter = clientFilterToQueryFilter(combinedFilters)\n const queryFilterString = combinedFilters.length ? JSON.stringify(queryFilter) : ''\n // extract the fuzzy search from the filters\n const fuzzySearchFilter = combinedFilters.find((filter) => filter.id.includes('text'))\n ?.values?.[0]?.id\n\n return {\n filterString: queryFilterString,\n filter: queryFilter,\n search: fuzzySearchFilter,\n combinedFilters,\n }\n }, [filters, sliceFilter])\n}\n"],"names":["useMemo","clientFilterToQueryFilter"],"mappings":";;;;;;;;;;;;;;;;;;AAiBO,MAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AACF,MAAgD;AAC9C,SAAOA,cAAQ,MAAM;;AAEf,QAAA,kBAAkB,CAAC,GAAG,OAAO;AAC7B,SAAA,gDAAa,WAAb,mBAAqB,QAAQ;AAC/B,sBAAgB,KAAK,WAAqB;AAAA,IAAA;AAItC,UAAA,cAAcC,oDAA0B,eAAe;AAC7D,UAAM,oBAAoB,gBAAgB,SAAS,KAAK,UAAU,WAAW,IAAI;AAEjF,UAAM,qBAAoB,iCAAgB,KAAK,CAAC,WAAW,OAAO,GAAG,SAAS,MAAM,CAAC,MAA3D,mBACtB,WADsB,mBACb,OADa,mBACT;AAEV,WAAA;AAAA,MACL,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EAAA,GACC,CAAC,SAAS,WAAW,CAAC;AAC3B;;"}
@@ -5,14 +5,15 @@ import "react-toastify";
5
5
  import "../../../util/pubsub.es.js";
6
6
  import "../context/CellEditingContext.es.js";
7
7
  import "../context/ClipboardContext.es.js";
8
+ import "../../../../../_virtual/jsx-runtime.es.js";
9
+ import "@tanstack/react-table";
10
+ import "../context/SelectionCellsContext.es.js";
11
+ import "../ProjectTreeTable.es.js";
8
12
  import "../context/ColumnSettingsContext.es.js";
9
13
  import "../context/ProjectTableContext.es.js";
10
14
  import "../context/ProjectTableQueriesContext.es.js";
11
15
  import "../context/SelectedRowsContext.es.js";
12
- import "../context/SelectionCellsContext.es.js";
13
- import "../context/ProjectTableSelectionContext.es.js";
14
16
  import "../context/ProjectDataContext.es.js";
15
- import "../context/ProjectTableModulesContext.es.js";
16
17
  const useQueryFilters = ({
17
18
  filters,
18
19
  sliceFilter
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryFilters.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '@shared/containers/ProjectTreeTable/utils'\n\ninterface UseQueryFiltersProps {\n filters: Filter[]\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: Filter[]\n}\n\nexport const useQueryFilters = ({\n filters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n // merge the slice filter with the user filters\n let combinedFilters = [...filters]\n if (sliceFilter?.values?.length) {\n combinedFilters.push(sliceFilter as Filter)\n }\n\n // transform the task bar filters to the query format\n const queryFilter = clientFilterToQueryFilter(combinedFilters)\n const queryFilterString = combinedFilters.length ? JSON.stringify(queryFilter) : ''\n // extract the fuzzy search from the filters\n const fuzzySearchFilter = combinedFilters.find((filter) => filter.id.includes('text'))\n ?.values?.[0]?.id\n\n return {\n filterString: queryFilterString,\n filter: queryFilter,\n search: fuzzySearchFilter,\n combinedFilters,\n }\n }, [filters, sliceFilter])\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAiBO,MAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AACF,MAAgD;AAC9C,SAAO,QAAQ,MAAM;;AAEf,QAAA,kBAAkB,CAAC,GAAG,OAAO;AAC7B,SAAA,gDAAa,WAAb,mBAAqB,QAAQ;AAC/B,sBAAgB,KAAK,WAAqB;AAAA,IAAA;AAItC,UAAA,cAAc,0BAA0B,eAAe;AAC7D,UAAM,oBAAoB,gBAAgB,SAAS,KAAK,UAAU,WAAW,IAAI;AAEjF,UAAM,qBAAoB,iCAAgB,KAAK,CAAC,WAAW,OAAO,GAAG,SAAS,MAAM,CAAC,MAA3D,mBACtB,WADsB,mBACb,OADa,mBACT;AAEV,WAAA;AAAA,MACL,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EAAA,GACC,CAAC,SAAS,WAAW,CAAC;AAC3B;"}
1
+ {"version":3,"file":"useQueryFilters.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\n\ninterface UseQueryFiltersProps {\n filters: Filter[]\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: Filter[]\n}\n\nexport const useQueryFilters = ({\n filters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n // merge the slice filter with the user filters\n let combinedFilters = [...filters]\n if (sliceFilter?.values?.length) {\n combinedFilters.push(sliceFilter as Filter)\n }\n\n // transform the task bar filters to the query format\n const queryFilter = clientFilterToQueryFilter(combinedFilters)\n const queryFilterString = combinedFilters.length ? JSON.stringify(queryFilter) : ''\n // extract the fuzzy search from the filters\n const fuzzySearchFilter = combinedFilters.find((filter) => filter.id.includes('text'))\n ?.values?.[0]?.id\n\n return {\n filterString: queryFilterString,\n filter: queryFilter,\n search: fuzzySearchFilter,\n combinedFilters,\n }\n }, [filters, sliceFilter])\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAiBO,MAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AACF,MAAgD;AAC9C,SAAO,QAAQ,MAAM;;AAEf,QAAA,kBAAkB,CAAC,GAAG,OAAO;AAC7B,SAAA,gDAAa,WAAb,mBAAqB,QAAQ;AAC/B,sBAAgB,KAAK,WAAqB;AAAA,IAAA;AAItC,UAAA,cAAc,0BAA0B,eAAe;AAC7D,UAAM,oBAAoB,gBAAgB,SAAS,KAAK,UAAU,WAAW,IAAI;AAEjF,UAAM,qBAAoB,iCAAgB,KAAK,CAAC,WAAW,OAAO,GAAG,SAAS,MAAM,CAAC,MAA3D,mBACtB,WADsB,mBACb,OADa,mBACT;AAEV,WAAA;AAAA,MACL,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EAAA,GACC,CAAC,SAAS,WAAW,CAAC;AAC3B;"}
@@ -3,14 +3,17 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("react-toastify");
4
4
  require("../context/CellEditingContext.cjs.js");
5
5
  require("../context/ClipboardContext.cjs.js");
6
+ require("../../../../../_virtual/jsx-runtime.cjs.js");
7
+ require("react");
8
+ require("@tanstack/react-table");
9
+ require("../context/SelectionCellsContext.cjs.js");
10
+ require("../ProjectTreeTable.cjs.js");
6
11
  require("../context/ColumnSettingsContext.cjs.js");
7
- const ProjectTableContext = require("../context/ProjectTableContext.cjs.js");
12
+ require("../context/ProjectTableContext.cjs.js");
13
+ const ProjectTableProvider = require("../context/ProjectTableProvider.cjs.js");
8
14
  require("../context/ProjectTableQueriesContext.cjs.js");
9
15
  require("../context/SelectedRowsContext.cjs.js");
10
- require("../context/SelectionCellsContext.cjs.js");
11
- require("../context/ProjectTableSelectionContext.cjs.js");
12
16
  require("../context/ProjectDataContext.cjs.js");
13
- require("../context/ProjectTableModulesContext.cjs.js");
14
17
  var BorderPosition = /* @__PURE__ */ ((BorderPosition2) => {
15
18
  BorderPosition2[BorderPosition2["None"] = 0] = "None";
16
19
  BorderPosition2[BorderPosition2["Top"] = 1] = "Top";
@@ -67,7 +70,7 @@ const getBorderClasses = (borders) => {
67
70
  if (borders & 8) classes.push("shadow-left");
68
71
  return classes;
69
72
  };
70
- const getEntityDataById = (id, entitiesMap) => entitiesMap.get(ProjectTableContext.parseRowId(id));
73
+ const getEntityDataById = (id, entitiesMap) => entitiesMap.get(ProjectTableProvider.parseRowId(id));
71
74
  exports.BorderPosition = BorderPosition;
72
75
  exports.getBorderClasses = getBorderClasses;
73
76
  exports.getCellBorders = getCellBorders;
@@ -1 +1 @@
1
- {"version":3,"file":"cellUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { parseRowId } from '../context'\nimport { EMapResult, EntitiesMap } from '../types'\n\n// Type definitions for cell identifiers\nexport type CellId = string\nexport type RowId = string\nexport type ColId = string\n\n// Cell position in the grid\nexport interface CellPosition {\n rowId: RowId\n colId: ColId\n}\n\n// Cell border position flags - used for determining which borders to show\nexport enum BorderPosition {\n None = 0,\n Top = 1 << 0,\n Right = 1 << 1,\n Bottom = 1 << 2,\n Left = 1 << 3,\n All = Top | Right | Bottom | Left,\n}\n\n/**\n * Create a standardized cell ID from row and column IDs\n */\nexport const getCellId = (rowId: RowId, colId: ColId): CellId => `cell-${rowId}-${colId}`\n\n/**\n * Parse a cell ID to extract row and column IDs\n * @returns CellPosition or null if invalid format\n */\nexport const parseCellId = (cellId: CellId): CellPosition | null => {\n const match = cellId.match(/^cell-(.+)-(.+)$/)\n if (!match) return null\n return { rowId: match[1], colId: match[2] }\n}\n\nexport const getCellValue = (obj: any, path: string): any => {\n if (!obj || !path) return undefined\n\n const parts = path.split('_')\n let current = obj\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in current) {\n current = current[part]\n } else {\n return undefined // Return undefined if any part of the path is invalid\n }\n }\n\n return current\n}\n\n/**\n * Determines which borders to display for a selected cell\n * based on its position within the selection grid\n *\n * @param rowIndex Current cell's row index\n * @param colIndex Current cell's column index\n * @param selectedCells 2D array representing selection state (true = selected)\n * @returns BorderPosition flags indicating which borders to display\n */\nexport const getCellBorders = (\n rowIndex: number,\n colIndex: number,\n selectedCells: boolean[][],\n): BorderPosition => {\n if (!selectedCells[rowIndex]?.[colIndex]) {\n return BorderPosition.None\n }\n\n let borders = BorderPosition.None\n\n // Check top border\n if (rowIndex === 0 || !selectedCells[rowIndex - 1]?.[colIndex]) {\n borders |= BorderPosition.Top\n }\n\n // Check right border\n if (!selectedCells[rowIndex]?.[colIndex + 1]) {\n borders |= BorderPosition.Right\n }\n\n // Check bottom border\n if (!selectedCells[rowIndex + 1]?.[colIndex]) {\n borders |= BorderPosition.Bottom\n }\n\n // Check left border\n if (colIndex === 0 || !selectedCells[rowIndex]?.[colIndex - 1]) {\n borders |= BorderPosition.Left\n }\n\n return borders\n}\n\n/**\n * Converts border position flags to CSS classes for shadow styling\n */\nexport const getBorderClasses = (borders: BorderPosition): string[] => {\n const classes: string[] = []\n\n if (borders & BorderPosition.Top) classes.push('shadow-top')\n if (borders & BorderPosition.Right) classes.push('shadow-right')\n if (borders & BorderPosition.Bottom) classes.push('shadow-bottom')\n if (borders & BorderPosition.Left) classes.push('shadow-left')\n\n return classes\n}\n\n// get a entity from it's id\nexport const getEntityDataById = <T extends 'folder' | 'task' | 'product' | 'version'>(\n id: string,\n entitiesMap: EntitiesMap,\n) => entitiesMap.get(parseRowId(id)) as EMapResult<T> | undefined\n"],"names":["BorderPosition","parseRowId"],"mappings":";;;;;;;;;;;;;AAmBY,IAAA,mCAAAA,oBAAL;AACLA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,CAAN,IAAA;AACAA,kBAAAA,gBAAA,WAAQ,CAAR,IAAA;AACAA,kBAAAA,gBAAA,YAAS,CAAT,IAAA;AACAA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,EAAN,IAAA;AANUA,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAYL,MAAM,YAAY,CAAC,OAAc,UAAyB,QAAQ,KAAK,IAAI,KAAK;AAM1E,MAAA,cAAc,CAAC,WAAwC;AAC5D,QAAA,QAAQ,OAAO,MAAM,kBAAkB;AACzC,MAAA,CAAC,MAAc,QAAA;AACZ,SAAA,EAAE,OAAO,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,EAAE;AAC5C;AAEa,MAAA,eAAe,CAAC,KAAU,SAAsB;AAC3D,MAAI,CAAC,OAAO,CAAC,KAAa,QAAA;AAEpB,QAAA,QAAQ,KAAK,MAAM,GAAG;AAC5B,MAAI,UAAU;AAEd,aAAW,QAAQ,OAAO;AACxB,QAAI,WAAW,OAAO,YAAY,YAAY,QAAQ,SAAS;AAC7D,gBAAU,QAAQ,IAAI;AAAA,IAAA,OACjB;AACE,aAAA;AAAA,IAAA;AAAA,EACT;AAGK,SAAA;AACT;AAWO,MAAM,iBAAiB,CAC5B,UACA,UACA,kBACmB;;AACnB,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,YAAW;AACjC,WAAA;AAAA,EAAA;AAGT,MAAI,UAAU;AAGV,MAAA,aAAa,KAAK,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACnD,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACjC,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACjC,eAAA;AAAA,EAAA;AAIT,MAAA,aAAa,KAAK,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACnD,eAAA;AAAA,EAAA;AAGN,SAAA;AACT;AAKa,MAAA,mBAAmB,CAAC,YAAsC;AACrE,QAAM,UAAoB,CAAC;AAE3B,MAAI,UAAU,EAA4B,SAAA,KAAK,YAAY;AAC3D,MAAI,UAAU,EAA8B,SAAA,KAAK,cAAc;AAC/D,MAAI,UAAU,EAA+B,SAAA,KAAK,eAAe;AACjE,MAAI,UAAU,EAA6B,SAAA,KAAK,aAAa;AAEtD,SAAA;AACT;AAGa,MAAA,oBAAoB,CAC/B,IACA,gBACG,YAAY,IAAIC,oBAAA,WAAW,EAAE,CAAC;;;;;;;;"}
1
+ {"version":3,"file":"cellUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { parseRowId } from '../context'\nimport { EMapResult, EntitiesMap } from '../types'\n\n// Type definitions for cell identifiers\nexport type CellId = string\nexport type RowId = string\nexport type ColId = string\n\n// Cell position in the grid\nexport interface CellPosition {\n rowId: RowId\n colId: ColId\n}\n\n// Cell border position flags - used for determining which borders to show\nexport enum BorderPosition {\n None = 0,\n Top = 1 << 0,\n Right = 1 << 1,\n Bottom = 1 << 2,\n Left = 1 << 3,\n All = Top | Right | Bottom | Left,\n}\n\n/**\n * Create a standardized cell ID from row and column IDs\n */\nexport const getCellId = (rowId: RowId, colId: ColId): CellId => `cell-${rowId}-${colId}`\n\n/**\n * Parse a cell ID to extract row and column IDs\n * @returns CellPosition or null if invalid format\n */\nexport const parseCellId = (cellId: CellId): CellPosition | null => {\n const match = cellId.match(/^cell-(.+)-(.+)$/)\n if (!match) return null\n return { rowId: match[1], colId: match[2] }\n}\n\nexport const getCellValue = (obj: any, path: string): any => {\n if (!obj || !path) return undefined\n\n const parts = path.split('_')\n let current = obj\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in current) {\n current = current[part]\n } else {\n return undefined // Return undefined if any part of the path is invalid\n }\n }\n\n return current\n}\n\n/**\n * Determines which borders to display for a selected cell\n * based on its position within the selection grid\n *\n * @param rowIndex Current cell's row index\n * @param colIndex Current cell's column index\n * @param selectedCells 2D array representing selection state (true = selected)\n * @returns BorderPosition flags indicating which borders to display\n */\nexport const getCellBorders = (\n rowIndex: number,\n colIndex: number,\n selectedCells: boolean[][],\n): BorderPosition => {\n if (!selectedCells[rowIndex]?.[colIndex]) {\n return BorderPosition.None\n }\n\n let borders = BorderPosition.None\n\n // Check top border\n if (rowIndex === 0 || !selectedCells[rowIndex - 1]?.[colIndex]) {\n borders |= BorderPosition.Top\n }\n\n // Check right border\n if (!selectedCells[rowIndex]?.[colIndex + 1]) {\n borders |= BorderPosition.Right\n }\n\n // Check bottom border\n if (!selectedCells[rowIndex + 1]?.[colIndex]) {\n borders |= BorderPosition.Bottom\n }\n\n // Check left border\n if (colIndex === 0 || !selectedCells[rowIndex]?.[colIndex - 1]) {\n borders |= BorderPosition.Left\n }\n\n return borders\n}\n\n/**\n * Converts border position flags to CSS classes for shadow styling\n */\nexport const getBorderClasses = (borders: BorderPosition): string[] => {\n const classes: string[] = []\n\n if (borders & BorderPosition.Top) classes.push('shadow-top')\n if (borders & BorderPosition.Right) classes.push('shadow-right')\n if (borders & BorderPosition.Bottom) classes.push('shadow-bottom')\n if (borders & BorderPosition.Left) classes.push('shadow-left')\n\n return classes\n}\n\n// get a entity from it's id\nexport const getEntityDataById = <T extends 'folder' | 'task' | 'product' | 'version'>(\n id: string,\n entitiesMap: EntitiesMap,\n) => entitiesMap.get(parseRowId(id)) as EMapResult<T> | undefined\n"],"names":["BorderPosition","parseRowId"],"mappings":";;;;;;;;;;;;;;;;AAmBY,IAAA,mCAAAA,oBAAL;AACLA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,CAAN,IAAA;AACAA,kBAAAA,gBAAA,WAAQ,CAAR,IAAA;AACAA,kBAAAA,gBAAA,YAAS,CAAT,IAAA;AACAA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,EAAN,IAAA;AANUA,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAYL,MAAM,YAAY,CAAC,OAAc,UAAyB,QAAQ,KAAK,IAAI,KAAK;AAM1E,MAAA,cAAc,CAAC,WAAwC;AAC5D,QAAA,QAAQ,OAAO,MAAM,kBAAkB;AACzC,MAAA,CAAC,MAAc,QAAA;AACZ,SAAA,EAAE,OAAO,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,EAAE;AAC5C;AAEa,MAAA,eAAe,CAAC,KAAU,SAAsB;AAC3D,MAAI,CAAC,OAAO,CAAC,KAAa,QAAA;AAEpB,QAAA,QAAQ,KAAK,MAAM,GAAG;AAC5B,MAAI,UAAU;AAEd,aAAW,QAAQ,OAAO;AACxB,QAAI,WAAW,OAAO,YAAY,YAAY,QAAQ,SAAS;AAC7D,gBAAU,QAAQ,IAAI;AAAA,IAAA,OACjB;AACE,aAAA;AAAA,IAAA;AAAA,EACT;AAGK,SAAA;AACT;AAWO,MAAM,iBAAiB,CAC5B,UACA,UACA,kBACmB;;AACnB,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,YAAW;AACjC,WAAA;AAAA,EAAA;AAGT,MAAI,UAAU;AAGV,MAAA,aAAa,KAAK,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACnD,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACjC,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACjC,eAAA;AAAA,EAAA;AAIT,MAAA,aAAa,KAAK,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACnD,eAAA;AAAA,EAAA;AAGN,SAAA;AACT;AAKa,MAAA,mBAAmB,CAAC,YAAsC;AACrE,QAAM,UAAoB,CAAC;AAE3B,MAAI,UAAU,EAA4B,SAAA,KAAK,YAAY;AAC3D,MAAI,UAAU,EAA8B,SAAA,KAAK,cAAc;AAC/D,MAAI,UAAU,EAA+B,SAAA,KAAK,eAAe;AACjE,MAAI,UAAU,EAA6B,SAAA,KAAK,aAAa;AAEtD,SAAA;AACT;AAGa,MAAA,oBAAoB,CAC/B,IACA,gBACG,YAAY,IAAIC,qBAAA,WAAW,EAAE,CAAC;;;;;;;;"}
@@ -1,14 +1,17 @@
1
1
  import "react-toastify";
2
2
  import "../context/CellEditingContext.es.js";
3
3
  import "../context/ClipboardContext.es.js";
4
+ import "../../../../../_virtual/jsx-runtime.es.js";
5
+ import "react";
6
+ import "@tanstack/react-table";
7
+ import "../context/SelectionCellsContext.es.js";
8
+ import "../ProjectTreeTable.es.js";
4
9
  import "../context/ColumnSettingsContext.es.js";
5
- import { parseRowId } from "../context/ProjectTableContext.es.js";
10
+ import "../context/ProjectTableContext.es.js";
11
+ import { parseRowId } from "../context/ProjectTableProvider.es.js";
6
12
  import "../context/ProjectTableQueriesContext.es.js";
7
13
  import "../context/SelectedRowsContext.es.js";
8
- import "../context/SelectionCellsContext.es.js";
9
- import "../context/ProjectTableSelectionContext.es.js";
10
14
  import "../context/ProjectDataContext.es.js";
11
- import "../context/ProjectTableModulesContext.es.js";
12
15
  var BorderPosition = /* @__PURE__ */ ((BorderPosition2) => {
13
16
  BorderPosition2[BorderPosition2["None"] = 0] = "None";
14
17
  BorderPosition2[BorderPosition2["Top"] = 1] = "Top";
@@ -1 +1 @@
1
- {"version":3,"file":"cellUtils.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { parseRowId } from '../context'\nimport { EMapResult, EntitiesMap } from '../types'\n\n// Type definitions for cell identifiers\nexport type CellId = string\nexport type RowId = string\nexport type ColId = string\n\n// Cell position in the grid\nexport interface CellPosition {\n rowId: RowId\n colId: ColId\n}\n\n// Cell border position flags - used for determining which borders to show\nexport enum BorderPosition {\n None = 0,\n Top = 1 << 0,\n Right = 1 << 1,\n Bottom = 1 << 2,\n Left = 1 << 3,\n All = Top | Right | Bottom | Left,\n}\n\n/**\n * Create a standardized cell ID from row and column IDs\n */\nexport const getCellId = (rowId: RowId, colId: ColId): CellId => `cell-${rowId}-${colId}`\n\n/**\n * Parse a cell ID to extract row and column IDs\n * @returns CellPosition or null if invalid format\n */\nexport const parseCellId = (cellId: CellId): CellPosition | null => {\n const match = cellId.match(/^cell-(.+)-(.+)$/)\n if (!match) return null\n return { rowId: match[1], colId: match[2] }\n}\n\nexport const getCellValue = (obj: any, path: string): any => {\n if (!obj || !path) return undefined\n\n const parts = path.split('_')\n let current = obj\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in current) {\n current = current[part]\n } else {\n return undefined // Return undefined if any part of the path is invalid\n }\n }\n\n return current\n}\n\n/**\n * Determines which borders to display for a selected cell\n * based on its position within the selection grid\n *\n * @param rowIndex Current cell's row index\n * @param colIndex Current cell's column index\n * @param selectedCells 2D array representing selection state (true = selected)\n * @returns BorderPosition flags indicating which borders to display\n */\nexport const getCellBorders = (\n rowIndex: number,\n colIndex: number,\n selectedCells: boolean[][],\n): BorderPosition => {\n if (!selectedCells[rowIndex]?.[colIndex]) {\n return BorderPosition.None\n }\n\n let borders = BorderPosition.None\n\n // Check top border\n if (rowIndex === 0 || !selectedCells[rowIndex - 1]?.[colIndex]) {\n borders |= BorderPosition.Top\n }\n\n // Check right border\n if (!selectedCells[rowIndex]?.[colIndex + 1]) {\n borders |= BorderPosition.Right\n }\n\n // Check bottom border\n if (!selectedCells[rowIndex + 1]?.[colIndex]) {\n borders |= BorderPosition.Bottom\n }\n\n // Check left border\n if (colIndex === 0 || !selectedCells[rowIndex]?.[colIndex - 1]) {\n borders |= BorderPosition.Left\n }\n\n return borders\n}\n\n/**\n * Converts border position flags to CSS classes for shadow styling\n */\nexport const getBorderClasses = (borders: BorderPosition): string[] => {\n const classes: string[] = []\n\n if (borders & BorderPosition.Top) classes.push('shadow-top')\n if (borders & BorderPosition.Right) classes.push('shadow-right')\n if (borders & BorderPosition.Bottom) classes.push('shadow-bottom')\n if (borders & BorderPosition.Left) classes.push('shadow-left')\n\n return classes\n}\n\n// get a entity from it's id\nexport const getEntityDataById = <T extends 'folder' | 'task' | 'product' | 'version'>(\n id: string,\n entitiesMap: EntitiesMap,\n) => entitiesMap.get(parseRowId(id)) as EMapResult<T> | undefined\n"],"names":["BorderPosition"],"mappings":";;;;;;;;;;;AAmBY,IAAA,mCAAAA,oBAAL;AACLA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,CAAN,IAAA;AACAA,kBAAAA,gBAAA,WAAQ,CAAR,IAAA;AACAA,kBAAAA,gBAAA,YAAS,CAAT,IAAA;AACAA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,EAAN,IAAA;AANUA,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAYL,MAAM,YAAY,CAAC,OAAc,UAAyB,QAAQ,KAAK,IAAI,KAAK;AAM1E,MAAA,cAAc,CAAC,WAAwC;AAC5D,QAAA,QAAQ,OAAO,MAAM,kBAAkB;AACzC,MAAA,CAAC,MAAc,QAAA;AACZ,SAAA,EAAE,OAAO,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,EAAE;AAC5C;AAEa,MAAA,eAAe,CAAC,KAAU,SAAsB;AAC3D,MAAI,CAAC,OAAO,CAAC,KAAa,QAAA;AAEpB,QAAA,QAAQ,KAAK,MAAM,GAAG;AAC5B,MAAI,UAAU;AAEd,aAAW,QAAQ,OAAO;AACxB,QAAI,WAAW,OAAO,YAAY,YAAY,QAAQ,SAAS;AAC7D,gBAAU,QAAQ,IAAI;AAAA,IAAA,OACjB;AACE,aAAA;AAAA,IAAA;AAAA,EACT;AAGK,SAAA;AACT;AAWO,MAAM,iBAAiB,CAC5B,UACA,UACA,kBACmB;;AACnB,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,YAAW;AACjC,WAAA;AAAA,EAAA;AAGT,MAAI,UAAU;AAGV,MAAA,aAAa,KAAK,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACnD,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACjC,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACjC,eAAA;AAAA,EAAA;AAIT,MAAA,aAAa,KAAK,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACnD,eAAA;AAAA,EAAA;AAGN,SAAA;AACT;AAKa,MAAA,mBAAmB,CAAC,YAAsC;AACrE,QAAM,UAAoB,CAAC;AAE3B,MAAI,UAAU,EAA4B,SAAA,KAAK,YAAY;AAC3D,MAAI,UAAU,EAA8B,SAAA,KAAK,cAAc;AAC/D,MAAI,UAAU,EAA+B,SAAA,KAAK,eAAe;AACjE,MAAI,UAAU,EAA6B,SAAA,KAAK,aAAa;AAEtD,SAAA;AACT;AAGa,MAAA,oBAAoB,CAC/B,IACA,gBACG,YAAY,IAAI,WAAW,EAAE,CAAC;"}
1
+ {"version":3,"file":"cellUtils.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { parseRowId } from '../context'\nimport { EMapResult, EntitiesMap } from '../types'\n\n// Type definitions for cell identifiers\nexport type CellId = string\nexport type RowId = string\nexport type ColId = string\n\n// Cell position in the grid\nexport interface CellPosition {\n rowId: RowId\n colId: ColId\n}\n\n// Cell border position flags - used for determining which borders to show\nexport enum BorderPosition {\n None = 0,\n Top = 1 << 0,\n Right = 1 << 1,\n Bottom = 1 << 2,\n Left = 1 << 3,\n All = Top | Right | Bottom | Left,\n}\n\n/**\n * Create a standardized cell ID from row and column IDs\n */\nexport const getCellId = (rowId: RowId, colId: ColId): CellId => `cell-${rowId}-${colId}`\n\n/**\n * Parse a cell ID to extract row and column IDs\n * @returns CellPosition or null if invalid format\n */\nexport const parseCellId = (cellId: CellId): CellPosition | null => {\n const match = cellId.match(/^cell-(.+)-(.+)$/)\n if (!match) return null\n return { rowId: match[1], colId: match[2] }\n}\n\nexport const getCellValue = (obj: any, path: string): any => {\n if (!obj || !path) return undefined\n\n const parts = path.split('_')\n let current = obj\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in current) {\n current = current[part]\n } else {\n return undefined // Return undefined if any part of the path is invalid\n }\n }\n\n return current\n}\n\n/**\n * Determines which borders to display for a selected cell\n * based on its position within the selection grid\n *\n * @param rowIndex Current cell's row index\n * @param colIndex Current cell's column index\n * @param selectedCells 2D array representing selection state (true = selected)\n * @returns BorderPosition flags indicating which borders to display\n */\nexport const getCellBorders = (\n rowIndex: number,\n colIndex: number,\n selectedCells: boolean[][],\n): BorderPosition => {\n if (!selectedCells[rowIndex]?.[colIndex]) {\n return BorderPosition.None\n }\n\n let borders = BorderPosition.None\n\n // Check top border\n if (rowIndex === 0 || !selectedCells[rowIndex - 1]?.[colIndex]) {\n borders |= BorderPosition.Top\n }\n\n // Check right border\n if (!selectedCells[rowIndex]?.[colIndex + 1]) {\n borders |= BorderPosition.Right\n }\n\n // Check bottom border\n if (!selectedCells[rowIndex + 1]?.[colIndex]) {\n borders |= BorderPosition.Bottom\n }\n\n // Check left border\n if (colIndex === 0 || !selectedCells[rowIndex]?.[colIndex - 1]) {\n borders |= BorderPosition.Left\n }\n\n return borders\n}\n\n/**\n * Converts border position flags to CSS classes for shadow styling\n */\nexport const getBorderClasses = (borders: BorderPosition): string[] => {\n const classes: string[] = []\n\n if (borders & BorderPosition.Top) classes.push('shadow-top')\n if (borders & BorderPosition.Right) classes.push('shadow-right')\n if (borders & BorderPosition.Bottom) classes.push('shadow-bottom')\n if (borders & BorderPosition.Left) classes.push('shadow-left')\n\n return classes\n}\n\n// get a entity from it's id\nexport const getEntityDataById = <T extends 'folder' | 'task' | 'product' | 'version'>(\n id: string,\n entitiesMap: EntitiesMap,\n) => entitiesMap.get(parseRowId(id)) as EMapResult<T> | undefined\n"],"names":["BorderPosition"],"mappings":";;;;;;;;;;;;;;AAmBY,IAAA,mCAAAA,oBAAL;AACLA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,CAAN,IAAA;AACAA,kBAAAA,gBAAA,WAAQ,CAAR,IAAA;AACAA,kBAAAA,gBAAA,YAAS,CAAT,IAAA;AACAA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,EAAN,IAAA;AANUA,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAYL,MAAM,YAAY,CAAC,OAAc,UAAyB,QAAQ,KAAK,IAAI,KAAK;AAM1E,MAAA,cAAc,CAAC,WAAwC;AAC5D,QAAA,QAAQ,OAAO,MAAM,kBAAkB;AACzC,MAAA,CAAC,MAAc,QAAA;AACZ,SAAA,EAAE,OAAO,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,EAAE;AAC5C;AAEa,MAAA,eAAe,CAAC,KAAU,SAAsB;AAC3D,MAAI,CAAC,OAAO,CAAC,KAAa,QAAA;AAEpB,QAAA,QAAQ,KAAK,MAAM,GAAG;AAC5B,MAAI,UAAU;AAEd,aAAW,QAAQ,OAAO;AACxB,QAAI,WAAW,OAAO,YAAY,YAAY,QAAQ,SAAS;AAC7D,gBAAU,QAAQ,IAAI;AAAA,IAAA,OACjB;AACE,aAAA;AAAA,IAAA;AAAA,EACT;AAGK,SAAA;AACT;AAWO,MAAM,iBAAiB,CAC5B,UACA,UACA,kBACmB;;AACnB,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,YAAW;AACjC,WAAA;AAAA,EAAA;AAGT,MAAI,UAAU;AAGV,MAAA,aAAa,KAAK,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACnD,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACjC,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACjC,eAAA;AAAA,EAAA;AAIT,MAAA,aAAa,KAAK,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACnD,eAAA;AAAA,EAAA;AAGN,SAAA;AACT;AAKa,MAAA,mBAAmB,CAAC,YAAsC;AACrE,QAAM,UAAoB,CAAC;AAE3B,MAAI,UAAU,EAA4B,SAAA,KAAK,YAAY;AAC3D,MAAI,UAAU,EAA8B,SAAA,KAAK,cAAc;AAC/D,MAAI,UAAU,EAA+B,SAAA,KAAK,eAAe;AACjE,MAAI,UAAU,EAA6B,SAAA,KAAK,aAAa;AAEtD,SAAA;AACT;AAGa,MAAA,oBAAoB,CAC/B,IACA,gBACG,YAAY,IAAI,WAAW,EAAE,CAAC;"}