@ynput/ayon-frontend-shared 0.2.45 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +72 -65
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +104 -102
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +113 -4
- package/dist/Slicer.es.js.map +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +1 -1
- package/dist/_virtual/index.cjs12.js +1 -1
- package/dist/_virtual/index.es10.js +3 -3
- package/dist/_virtual/index.es11.js +5 -5
- package/dist/_virtual/index.es12.js +5 -5
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +141 -139
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +61 -54
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +5 -5
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +313 -305
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +57 -50
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +45 -38
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +47 -40
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -42
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +44 -37
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -41
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +279 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +48 -41
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -57
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -47
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -46
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -45
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -49
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -46
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -47
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +70 -63
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -42
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -61
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +93 -86
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +47 -40
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +46 -43
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +49 -46
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +49 -46
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +49 -46
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +50 -42
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +55 -48
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +70 -63
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +47 -40
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +468 -448
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +96 -89
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +47 -40
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -50
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +54 -47
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -68
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +49 -41
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +48 -41
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -48
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +54 -47
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -47
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +46 -39
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +46 -39
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +48 -41
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -55
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +11 -6
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +16 -13
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +342 -116
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +47 -40
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +7 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +69 -62
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -33
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +118 -111
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +49 -46
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +82 -0
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +27 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +71 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +10 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +294 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +215 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +25 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +28 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +304 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +99 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +95 -88
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +32 -31
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +125 -121
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +47 -49
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonContext.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +51 -44
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js +7 -7
- package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js +69 -46
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.es.js +4 -4
- package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
- package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
- package/dist/types/api/queries/entityLists/getLists.d.ts +183 -183
- package/dist/types/api/queries/links/getLinks.d.ts +1 -1
- package/dist/types/api/queries/overview/getOverview.d.ts +1 -1
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2 -2
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +28 -0
- package/dist/types/components/RemotePage/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +31 -30
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -2
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -4
- package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +3 -3
- package/dist/types/containers/Slicer/components/Slicer.d.ts +9 -0
- package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +7 -0
- package/dist/types/containers/Slicer/components/SlicerSearch.d.ts +6 -0
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +48 -0
- package/dist/types/containers/Slicer/hooks/index.d.ts +5 -0
- package/dist/types/containers/Slicer/{useFiltersWithHierarchy.d.ts → hooks/useFiltersWithHierarchy.d.ts} +1 -1
- package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +51 -0
- package/dist/types/containers/Slicer/hooks/useSlicerAttributesData.d.ts +7 -0
- package/dist/types/containers/Slicer/hooks/useTableDataBySlice.d.ts +8 -0
- package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +10 -0
- package/dist/types/containers/Slicer/index.d.ts +4 -2
- package/dist/types/containers/Slicer/types.d.ts +35 -0
- package/dist/types/containers/Slicer/{createFilterFromSlicer.d.ts → util/createFilterFromSlicer.d.ts} +2 -2
- package/dist/types/containers/Slicer/util/index.d.ts +1 -0
- package/dist/types/containers/Views/ViewsMenuContainer/BaseViewsTags.d.ts +4 -1
- package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +7 -1
- package/dist/types/containers/Views/index.d.ts +1 -1
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +1 -1
- package/dist/types/context/AddonContext.d.ts +10 -2
- package/dist/types/context/AddonProjectContext.d.ts +7 -12
- package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
- package/package.json +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +0 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +0 -1
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js.map +0 -1
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js.map +0 -1
- /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.cjs.js → hooks/useFiltersWithHierarchy.cjs.js} +0 -0
- /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.es.js → hooks/useFiltersWithHierarchy.es.js} +0 -0
- /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.cjs.js → util/createFilterFromSlicer.cjs.js} +0 -0
- /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.es.js → util/createFilterFromSlicer.es.js} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { j as
|
|
1
|
+
import { j as nt } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
2
|
import { useMemo as B, useCallback as h } from "react";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import it from "../hooks/useBuildProjectDataTable.es.js";
|
|
4
|
+
import mt from "../hooks/useFolderRelationships.es.js";
|
|
5
|
+
import ct, { ROW_ID_SEPARATOR as st } from "../hooks/useBuildGroupByTableData.es.js";
|
|
6
6
|
import "../../../context/RemoteModulesContext.es.js";
|
|
7
7
|
import "../../../context/DetailsPanelContext.es.js";
|
|
8
8
|
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
@@ -17,12 +17,12 @@ import "../../../context/MoveEntityContext.es.js";
|
|
|
17
17
|
import "../../../context/MenuContext.es.js";
|
|
18
18
|
import "../../../context/WebsocketContext.es.js";
|
|
19
19
|
import "../../../context/GlobalContext.es.js";
|
|
20
|
-
import { useProjectContext as
|
|
20
|
+
import { useProjectContext as ut } from "../../../context/ProjectContext.es.js";
|
|
21
21
|
import "../../../context/ProjectFoldersContext.es.js";
|
|
22
22
|
import "../../../context/UriContext.es.js";
|
|
23
|
-
import { useColumnSettingsContext as
|
|
24
|
-
import { ProjectTableContext as
|
|
25
|
-
const
|
|
23
|
+
import { useColumnSettingsContext as ft } from "./ColumnSettingsContext.es.js";
|
|
24
|
+
import { ProjectTableContext as lt } from "./ProjectTableContext.es.js";
|
|
25
|
+
const pt = (p) => p?.split(st)[0] || p, Nt = ({
|
|
26
26
|
children: p,
|
|
27
27
|
foldersMap: s,
|
|
28
28
|
tableRows: C,
|
|
@@ -41,26 +41,24 @@ const gt = (p) => p?.split(ft)[0] || p, qt = ({
|
|
|
41
41
|
scopes: g,
|
|
42
42
|
groups: a,
|
|
43
43
|
groupRowFunc: w,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
fetchNextPage: W,
|
|
51
|
-
reloadTableData: q,
|
|
44
|
+
queryFilters: G,
|
|
45
|
+
updateShowHierarchy: O,
|
|
46
|
+
toggleExpanded: _,
|
|
47
|
+
updateExpanded: V,
|
|
48
|
+
fetchNextPage: x,
|
|
49
|
+
reloadTableData: N,
|
|
52
50
|
setExpanded: f,
|
|
53
|
-
contextMenuItems:
|
|
54
|
-
powerpack:
|
|
55
|
-
modules:
|
|
56
|
-
groupByConfig:
|
|
51
|
+
contextMenuItems: W,
|
|
52
|
+
powerpack: q,
|
|
53
|
+
modules: z,
|
|
54
|
+
groupByConfig: J,
|
|
57
55
|
// player
|
|
58
|
-
playerOpen:
|
|
59
|
-
onOpenPlayer:
|
|
56
|
+
playerOpen: K,
|
|
57
|
+
onOpenPlayer: L,
|
|
60
58
|
// views
|
|
61
|
-
onResetView:
|
|
59
|
+
onResetView: Q
|
|
62
60
|
}) => {
|
|
63
|
-
const { attrib:
|
|
61
|
+
const { attrib: U } = ut(), X = it({
|
|
64
62
|
foldersMap: s,
|
|
65
63
|
tasksMap: c,
|
|
66
64
|
rows: C,
|
|
@@ -69,26 +67,26 @@ const gt = (p) => p?.split(ft)[0] || p, qt = ({
|
|
|
69
67
|
showHierarchy: b,
|
|
70
68
|
loadingTasks: P,
|
|
71
69
|
isLoadingMore: S
|
|
72
|
-
}), { groupBy: y, groupByConfig: { showEmpty:
|
|
70
|
+
}), { groupBy: y, groupByConfig: { showEmpty: Y = !1 } = {} } = ft(), Z = ct({
|
|
73
71
|
entities: i,
|
|
74
|
-
entityType:
|
|
72
|
+
entityType: J?.entityType || "unknown",
|
|
75
73
|
groups: a,
|
|
76
74
|
attribFields: u,
|
|
77
|
-
showEmpty:
|
|
75
|
+
showEmpty: Y,
|
|
78
76
|
groupRowFunc: w
|
|
79
|
-
}),
|
|
77
|
+
}), $ = B(
|
|
80
78
|
() => u.filter((e) => e.scope?.some((n) => g.includes(n))),
|
|
81
79
|
[u, g]
|
|
82
80
|
), j = B(
|
|
83
|
-
() => !!y &&
|
|
81
|
+
() => !!y && Z(y),
|
|
84
82
|
[y, i, a]
|
|
85
|
-
),
|
|
83
|
+
), H = y && j ? j : X, T = h(
|
|
86
84
|
(e, n = "entityId") => {
|
|
87
85
|
if (typeof e != "string") {
|
|
88
86
|
console.warn("getEntityById called with non-string id:", e);
|
|
89
87
|
return;
|
|
90
88
|
}
|
|
91
|
-
const t =
|
|
89
|
+
const t = pt(e);
|
|
92
90
|
if (s.has(t))
|
|
93
91
|
return s.get(t);
|
|
94
92
|
if (c.has(t))
|
|
@@ -101,24 +99,24 @@ const gt = (p) => p?.split(ft)[0] || p, qt = ({
|
|
|
101
99
|
},
|
|
102
100
|
[s, c, i]
|
|
103
101
|
), {
|
|
104
|
-
getInheritedDependents:
|
|
102
|
+
getInheritedDependents: F,
|
|
105
103
|
getChildrenEntities: D,
|
|
106
|
-
findInheritedValueFromAncestors:
|
|
107
|
-
findNonInheritedValues:
|
|
108
|
-
getAncestorsOf:
|
|
109
|
-
} =
|
|
104
|
+
findInheritedValueFromAncestors: k,
|
|
105
|
+
findNonInheritedValues: M,
|
|
106
|
+
getAncestorsOf: tt
|
|
107
|
+
} = mt({
|
|
110
108
|
entitiesMap: i,
|
|
111
109
|
tasksMap: c,
|
|
112
110
|
tasksByFolderMap: E,
|
|
113
111
|
getEntityById: T,
|
|
114
|
-
projectAttrib:
|
|
112
|
+
projectAttrib: U,
|
|
115
113
|
attribFields: u
|
|
116
|
-
}),
|
|
114
|
+
}), ot = h(
|
|
117
115
|
(e, n) => {
|
|
118
116
|
const t = typeof m == "object" ? m : {}, r = { ...t };
|
|
119
117
|
e.forEach((o) => {
|
|
120
|
-
const v = D(o).map((l) => l.id),
|
|
121
|
-
(n !== void 0 ? !n :
|
|
118
|
+
const v = D(o).map((l) => l.id), et = t[o] || !1;
|
|
119
|
+
(n !== void 0 ? !n : et) ? (r[o] = !1, v.forEach((l) => {
|
|
122
120
|
r[l] = !1;
|
|
123
121
|
})) : (r[o] = !0, v.forEach((l) => {
|
|
124
122
|
r[l] = !0;
|
|
@@ -126,7 +124,7 @@ const gt = (p) => p?.split(ft)[0] || p, qt = ({
|
|
|
126
124
|
}), f(r);
|
|
127
125
|
},
|
|
128
126
|
[m, D, f]
|
|
129
|
-
),
|
|
127
|
+
), rt = h(
|
|
130
128
|
(e, n) => {
|
|
131
129
|
const t = typeof m == "object" ? m : {}, r = { ...t };
|
|
132
130
|
e.forEach((o) => {
|
|
@@ -135,63 +133,60 @@ const gt = (p) => p?.split(ft)[0] || p, qt = ({
|
|
|
135
133
|
},
|
|
136
134
|
[m, f]
|
|
137
135
|
);
|
|
138
|
-
return /* @__PURE__ */
|
|
139
|
-
|
|
136
|
+
return /* @__PURE__ */ nt.jsx(
|
|
137
|
+
lt.Provider,
|
|
140
138
|
{
|
|
141
139
|
value: {
|
|
142
140
|
// from this context
|
|
143
|
-
tableData:
|
|
141
|
+
tableData: H,
|
|
144
142
|
// forwarded on
|
|
145
143
|
isInitialized: d,
|
|
146
144
|
isLoading: R,
|
|
147
145
|
error: A,
|
|
148
146
|
attribFields: u,
|
|
149
|
-
attribFieldsScoped:
|
|
147
|
+
attribFieldsScoped: $,
|
|
150
148
|
scopes: g,
|
|
151
149
|
users: I,
|
|
152
150
|
tasksMap: c,
|
|
153
151
|
foldersMap: s,
|
|
154
152
|
entitiesMap: i,
|
|
155
|
-
fetchNextPage:
|
|
156
|
-
reloadTableData:
|
|
153
|
+
fetchNextPage: x,
|
|
154
|
+
reloadTableData: N,
|
|
157
155
|
groups: a,
|
|
158
|
-
|
|
159
|
-
filters: G,
|
|
160
|
-
setFilters: O,
|
|
161
|
-
queryFilters: _,
|
|
156
|
+
queryFilters: G,
|
|
162
157
|
// hierarchy
|
|
163
158
|
showHierarchy: b,
|
|
164
|
-
updateShowHierarchy:
|
|
159
|
+
updateShowHierarchy: O,
|
|
165
160
|
// expanded state
|
|
166
161
|
expanded: m,
|
|
167
162
|
setExpanded: f,
|
|
168
|
-
toggleExpanded:
|
|
169
|
-
updateExpanded:
|
|
170
|
-
toggleExpandAll:
|
|
171
|
-
toggleExpands:
|
|
163
|
+
toggleExpanded: _,
|
|
164
|
+
updateExpanded: V,
|
|
165
|
+
toggleExpandAll: ot,
|
|
166
|
+
toggleExpands: rt,
|
|
172
167
|
getEntityById: T,
|
|
173
168
|
// folder relationships
|
|
174
|
-
getInheritedDependents:
|
|
175
|
-
findInheritedValueFromAncestors:
|
|
176
|
-
findNonInheritedValues:
|
|
177
|
-
getAncestorsOf:
|
|
169
|
+
getInheritedDependents: F,
|
|
170
|
+
findInheritedValueFromAncestors: k,
|
|
171
|
+
findNonInheritedValues: M,
|
|
172
|
+
getAncestorsOf: tt,
|
|
178
173
|
// context menu
|
|
179
|
-
contextMenuItems:
|
|
174
|
+
contextMenuItems: W,
|
|
180
175
|
// powerpack context
|
|
181
|
-
powerpack:
|
|
182
|
-
modules:
|
|
176
|
+
powerpack: q,
|
|
177
|
+
modules: z,
|
|
183
178
|
// player
|
|
184
|
-
playerOpen:
|
|
185
|
-
onOpenPlayer:
|
|
179
|
+
playerOpen: K,
|
|
180
|
+
onOpenPlayer: L,
|
|
186
181
|
// views
|
|
187
|
-
onResetView:
|
|
182
|
+
onResetView: Q
|
|
188
183
|
},
|
|
189
184
|
children: p
|
|
190
185
|
}
|
|
191
186
|
);
|
|
192
187
|
};
|
|
193
188
|
export {
|
|
194
|
-
|
|
195
|
-
|
|
189
|
+
Nt as ProjectTableProvider,
|
|
190
|
+
pt as parseRowId
|
|
196
191
|
};
|
|
197
192
|
//# sourceMappingURL=ProjectTableProvider.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTableProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableProvider.tsx"],"sourcesContent":["/**\n * Project Table Context\n *\n * This context serves as the central data management layer for the project table component.\n * It performs three main functions:\n *\n * 1. **Props Forwarding**: Acts as a bridge to forward essential props (project info, users,\n * attributes, filters, etc.) down to child components throughout the table hierarchy.\n *\n * 2. **Table Data Structure Building**: Transforms raw project data into structured table rows\n * that can be consumed by the table component. This includes processing folders, tasks,\n * and entities into a unified table format.\n *\n * 3. **Multi-Modal Data Presentation**: Supports three different data presentation modes:\n * - **Hierarchy Mode**: Builds nested folder/task relationships with expandable rows\n * - **Tasks List Mode**: Flattened view of tasks without hierarchical structure\n * - **Groups Mode**: Groups entities by specified criteria (entity type, custom groups)\n *\n * The context also provides utility functions for entity relationships, expansion state\n * management, filtering, and folder inheritance operations.\n */\nimport { ReactNode, useCallback, useMemo } from 'react'\nimport { ExpandedState, OnChangeFn } from '@tanstack/react-table'\nimport useBuildProjectDataTable from '../hooks/useBuildProjectDataTable'\nimport { Filter } from '@ynput/ayon-react-components'\nimport {\n EntitiesMap,\n EntityMap,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport useFolderRelationships from '../hooks/useFolderRelationships'\nimport { ProjectModel } from '../types/project'\nimport { ProjectTableAttribute, LoadingTasks } from '../types'\nimport { QueryFilter } from '../types/folders'\nimport { ContextMenuItemConstructors } from '../hooks/useCellContextMenu'\nimport { EntityGroup } from '@shared/api'\nimport useBuildGroupByTableData, {\n GroupByEntityType,\n ROW_ID_SEPARATOR,\n} from '../hooks/useBuildGroupByTableData'\nimport { PowerpackContextType, useProjectContext } from '@shared/context'\nimport { useColumnSettingsContext } from './ColumnSettingsContext'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { ProjectTableContext, ProjectTableContextType } from './ProjectTableContext'\n\nexport const parseRowId = (rowId: string) => rowId?.split(ROW_ID_SEPARATOR)[0] || rowId\n\nexport type TableUser = {\n name: string\n fullName?: string\n}\n\nexport interface ProjectTableProviderProps {\n children: ReactNode\n isInitialized: boolean\n\n // loading\n isLoading: boolean\n isLoadingMore: boolean\n loadingTasks?: LoadingTasks\n error?: string\n users: TableUser[]\n // Attributes\n attribFields: ProjectTableAttribute[]\n scopes: string[]\n\n // data\n tasksMap: TaskNodeMap\n foldersMap: FolderNodeMap\n entitiesMap: EntitiesMap\n tasksByFolderMap: TasksByFolderMap\n tableRows?: TableRow[] // any extra rows that we want to add to the table\n\n // grouping\n groups: EntityGroup[]\n groupRowFunc?: (node: any) => TableRow\n\n // data functions\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n\n // Filters\n filters: Filter[]\n setFilters: (filters: Filter[]) => void\n queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: string | undefined\n }\n\n // Hierarchy\n showHierarchy: boolean\n updateShowHierarchy: (showHierarchy: boolean) => void\n\n // Expanded state\n expanded: ExpandedState\n toggleExpanded: (id: string) => void\n updateExpanded: OnChangeFn<ExpandedState>\n setExpanded: React.Dispatch<React.SetStateAction<ExpandedState>>\n\n // context menu\n contextMenuItems: ContextMenuItemConstructors\n\n // powerpack context\n powerpack?: PowerpackContextType\n\n // remote modules\n modules: ProjectTableModulesType\n\n groupByConfig?: {\n entityType?: GroupByEntityType\n }\n\n // player\n playerOpen?: boolean\n onOpenPlayer?: (\n targetIds: {\n taskId?: string\n folderId?: string\n productId?: string\n versionId?: string\n },\n config?: { quickView?: boolean },\n ) => void\n // views\n onResetView?: () => void\n}\n\nexport const ProjectTableProvider = ({\n children,\n foldersMap,\n tableRows,\n tasksMap,\n entitiesMap,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n isLoading,\n error,\n isInitialized,\n users,\n attribFields,\n scopes,\n groups,\n groupRowFunc,\n filters,\n setFilters,\n queryFilters,\n updateShowHierarchy,\n toggleExpanded,\n updateExpanded,\n fetchNextPage,\n reloadTableData,\n setExpanded,\n contextMenuItems,\n powerpack,\n modules,\n groupByConfig,\n // player\n playerOpen,\n onOpenPlayer,\n // views\n onResetView,\n}: ProjectTableProviderProps) => {\n const { attrib: projectAttrib } = useProjectContext()\n // DATA TO TABLE\n const defaultTableData = useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows: tableRows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n })\n\n const { groupBy, groupByConfig: { showEmpty: showEmptyGroups = false } = {} } =\n useColumnSettingsContext()\n\n const buildGroupByTableData = useBuildGroupByTableData({\n entities: entitiesMap,\n entityType: groupByConfig?.entityType || 'unknown',\n groups: groups,\n attribFields,\n showEmpty: showEmptyGroups,\n groupRowFunc,\n })\n\n const attribFieldsScoped = useMemo(\n () => attribFields.filter((attrib) => attrib.scope?.some((scope) => scopes.includes(scope))),\n [attribFields, scopes],\n )\n\n // if we are grouping by something, we ignore current tableData and format the data based on the groupBy\n const groupedTableData = useMemo(\n () => !!groupBy && buildGroupByTableData(groupBy),\n [groupBy, entitiesMap, groups],\n )\n\n const tableData = groupBy && groupedTableData ? groupedTableData : defaultTableData\n\n const getEntityById = useCallback(\n (id: string, field: string = 'entityId'): EntityMap | undefined => {\n // defensive check to ensure id is a string\n if (typeof id !== 'string') {\n console.warn('getEntityById called with non-string id:', id)\n return undefined\n }\n // always parse the id to remove any suffixes\n // this can happen if the id is a group by id (we need to make the row id unique)\n const parsedId = parseRowId(id)\n if (foldersMap.has(parsedId)) {\n return foldersMap.get(parsedId)\n } else if (tasksMap.has(parsedId)) {\n return tasksMap.get(parsedId)\n } else if (entitiesMap.has(parsedId)) {\n return entitiesMap.get(parsedId)\n }\n\n // if we have not found the entity at all, double check through the maps using field (entityId)\n for (const [_, entity] of entitiesMap) {\n if (entity[field as keyof EntityMap] === parsedId) {\n return entity\n }\n }\n\n // Return undefined if not found\n return undefined\n },\n [foldersMap, tasksMap, entitiesMap],\n )\n\n // get folder relationship functions\n const {\n getInheritedDependents,\n getChildrenEntities,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n } = useFolderRelationships({\n entitiesMap,\n tasksMap,\n tasksByFolderMap,\n getEntityById,\n projectAttrib,\n attribFields: attribFields,\n })\n\n const toggleExpandAll: ProjectTableContextType['toggleExpandAll'] = useCallback(\n (rowIds, expandAll) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n // get all children of the rowId using tableData\n const childIds = getChildrenEntities(rowId).map((child) => child.id)\n // check if the rowId is expanded\n const isExpanded = expandedState[rowId] || false\n\n if (expandAll !== undefined ? !expandAll : isExpanded) {\n // collapse all children\n newExpandedState[rowId] = false\n childIds.forEach((id) => {\n newExpandedState[id] = false\n })\n } else {\n // expand all children\n newExpandedState[rowId] = true\n childIds.forEach((id) => {\n newExpandedState[id] = true\n })\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, getChildrenEntities, setExpanded],\n )\n\n const toggleExpands: ProjectTableContextType['toggleExpands'] = useCallback(\n (rowIds, expand) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n if (expand !== undefined) {\n // Use the provided expand parameter\n newExpandedState[rowId] = expand\n } else {\n // Toggle based on current state\n newExpandedState[rowId] = !expandedState[rowId]\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, setExpanded],\n )\n\n return (\n <ProjectTableContext.Provider\n value={{\n // from this context\n tableData,\n // forwarded on\n isInitialized,\n isLoading,\n error,\n attribFields,\n attribFieldsScoped,\n scopes,\n users,\n tasksMap,\n foldersMap,\n entitiesMap,\n fetchNextPage,\n reloadTableData,\n groups,\n // filters\n filters,\n setFilters,\n queryFilters,\n // hierarchy\n showHierarchy,\n updateShowHierarchy,\n // expanded state\n expanded,\n setExpanded,\n toggleExpanded,\n updateExpanded,\n toggleExpandAll,\n toggleExpands,\n getEntityById,\n // folder relationships\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n // context menu\n contextMenuItems,\n // powerpack context\n powerpack,\n modules,\n // player\n playerOpen,\n onOpenPlayer,\n // views\n onResetView,\n }}\n >\n {children}\n </ProjectTableContext.Provider>\n )\n}\n"],"names":["parseRowId","rowId","ROW_ID_SEPARATOR","ProjectTableProvider","children","foldersMap","tableRows","tasksMap","entitiesMap","tasksByFolderMap","expanded","showHierarchy","loadingTasks","isLoadingMore","isLoading","error","isInitialized","users","attribFields","scopes","groups","groupRowFunc","filters","setFilters","queryFilters","updateShowHierarchy","toggleExpanded","updateExpanded","fetchNextPage","reloadTableData","setExpanded","contextMenuItems","powerpack","modules","groupByConfig","playerOpen","onOpenPlayer","onResetView","projectAttrib","useProjectContext","defaultTableData","useBuildProjectDataTable","groupBy","showEmptyGroups","useColumnSettingsContext","buildGroupByTableData","useBuildGroupByTableData","attribFieldsScoped","useMemo","attrib","scope","groupedTableData","tableData","getEntityById","useCallback","id","field","parsedId","_","entity","getInheritedDependents","getChildrenEntities","findInheritedValueFromAncestors","findNonInheritedValues","getAncestorsOf","useFolderRelationships","toggleExpandAll","rowIds","expandAll","expandedState","newExpandedState","childIds","child","isExpanded","toggleExpands","expand","jsx","ProjectTableContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectTableProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableProvider.tsx"],"sourcesContent":["/**\n * Project Table Context\n *\n * This context serves as the central data management layer for the project table component.\n * It performs three main functions:\n *\n * 1. **Props Forwarding**: Acts as a bridge to forward essential props (project info, users,\n * attributes, filters, etc.) down to child components throughout the table hierarchy.\n *\n * 2. **Table Data Structure Building**: Transforms raw project data into structured table rows\n * that can be consumed by the table component. This includes processing folders, tasks,\n * and entities into a unified table format.\n *\n * 3. **Multi-Modal Data Presentation**: Supports three different data presentation modes:\n * - **Hierarchy Mode**: Builds nested folder/task relationships with expandable rows\n * - **Tasks List Mode**: Flattened view of tasks without hierarchical structure\n * - **Groups Mode**: Groups entities by specified criteria (entity type, custom groups)\n *\n * The context also provides utility functions for entity relationships, expansion state\n * management, filtering, and folder inheritance operations.\n */\nimport { ReactNode, useCallback, useMemo } from 'react'\nimport { ExpandedState, OnChangeFn } from '@tanstack/react-table'\nimport useBuildProjectDataTable from '../hooks/useBuildProjectDataTable'\nimport { Filter } from '@ynput/ayon-react-components'\nimport {\n EntitiesMap,\n EntityMap,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport useFolderRelationships from '../hooks/useFolderRelationships'\nimport { ProjectModel } from '../types/project'\nimport { ProjectTableAttribute, LoadingTasks } from '../types'\nimport { QueryFilter } from '../types/folders'\nimport { ContextMenuItemConstructors } from '../hooks/useCellContextMenu'\nimport { EntityGroup } from '@shared/api'\nimport useBuildGroupByTableData, {\n GroupByEntityType,\n ROW_ID_SEPARATOR,\n} from '../hooks/useBuildGroupByTableData'\nimport { PowerpackContextType, useProjectContext } from '@shared/context'\nimport { useColumnSettingsContext } from './ColumnSettingsContext'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { ProjectTableContext, ProjectTableContextType } from './ProjectTableContext'\n\nexport const parseRowId = (rowId: string) => rowId?.split(ROW_ID_SEPARATOR)[0] || rowId\n\nexport type TableUser = {\n name: string\n fullName?: string\n}\n\nexport interface ProjectTableProviderProps {\n children: ReactNode\n isInitialized: boolean\n\n // loading\n isLoading: boolean\n isLoadingMore: boolean\n loadingTasks?: LoadingTasks\n error?: string\n users: TableUser[]\n // Attributes\n attribFields: ProjectTableAttribute[]\n scopes: string[]\n\n // data\n tasksMap: TaskNodeMap\n foldersMap: FolderNodeMap\n entitiesMap: EntitiesMap\n tasksByFolderMap: TasksByFolderMap\n tableRows?: TableRow[] // any extra rows that we want to add to the table\n\n // grouping\n groups: EntityGroup[]\n groupRowFunc?: (node: any) => TableRow\n\n // data functions\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n\n // Filters\n queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: string | undefined\n }\n\n // Hierarchy\n showHierarchy: boolean\n updateShowHierarchy: (showHierarchy: boolean) => void\n\n // Expanded state\n expanded: ExpandedState\n toggleExpanded: (id: string) => void\n updateExpanded: OnChangeFn<ExpandedState>\n setExpanded: React.Dispatch<React.SetStateAction<ExpandedState>>\n\n // context menu\n contextMenuItems: ContextMenuItemConstructors\n\n // powerpack context\n powerpack?: PowerpackContextType\n\n // remote modules\n modules: ProjectTableModulesType\n\n groupByConfig?: {\n entityType?: GroupByEntityType\n }\n\n // player\n playerOpen?: boolean\n onOpenPlayer?: (\n targetIds: {\n taskId?: string\n folderId?: string\n productId?: string\n versionId?: string\n },\n config?: { quickView?: boolean },\n ) => void\n // views\n onResetView?: () => void\n}\n\nexport const ProjectTableProvider = ({\n children,\n foldersMap,\n tableRows,\n tasksMap,\n entitiesMap,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n isLoading,\n error,\n isInitialized,\n users,\n attribFields,\n scopes,\n groups,\n groupRowFunc,\n queryFilters,\n updateShowHierarchy,\n toggleExpanded,\n updateExpanded,\n fetchNextPage,\n reloadTableData,\n setExpanded,\n contextMenuItems,\n powerpack,\n modules,\n groupByConfig,\n // player\n playerOpen,\n onOpenPlayer,\n // views\n onResetView,\n}: ProjectTableProviderProps) => {\n const { attrib: projectAttrib } = useProjectContext()\n // DATA TO TABLE\n const defaultTableData = useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows: tableRows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n })\n\n const { groupBy, groupByConfig: { showEmpty: showEmptyGroups = false } = {} } =\n useColumnSettingsContext()\n\n const buildGroupByTableData = useBuildGroupByTableData({\n entities: entitiesMap,\n entityType: groupByConfig?.entityType || 'unknown',\n groups: groups,\n attribFields,\n showEmpty: showEmptyGroups,\n groupRowFunc,\n })\n\n const attribFieldsScoped = useMemo(\n () => attribFields.filter((attrib) => attrib.scope?.some((scope) => scopes.includes(scope))),\n [attribFields, scopes],\n )\n\n // if we are grouping by something, we ignore current tableData and format the data based on the groupBy\n const groupedTableData = useMemo(\n () => !!groupBy && buildGroupByTableData(groupBy),\n [groupBy, entitiesMap, groups],\n )\n\n const tableData = groupBy && groupedTableData ? groupedTableData : defaultTableData\n\n const getEntityById = useCallback(\n (id: string, field: string = 'entityId'): EntityMap | undefined => {\n // defensive check to ensure id is a string\n if (typeof id !== 'string') {\n console.warn('getEntityById called with non-string id:', id)\n return undefined\n }\n // always parse the id to remove any suffixes\n // this can happen if the id is a group by id (we need to make the row id unique)\n const parsedId = parseRowId(id)\n if (foldersMap.has(parsedId)) {\n return foldersMap.get(parsedId)\n } else if (tasksMap.has(parsedId)) {\n return tasksMap.get(parsedId)\n } else if (entitiesMap.has(parsedId)) {\n return entitiesMap.get(parsedId)\n }\n\n // if we have not found the entity at all, double check through the maps using field (entityId)\n for (const [_, entity] of entitiesMap) {\n if (entity[field as keyof EntityMap] === parsedId) {\n return entity\n }\n }\n\n // Return undefined if not found\n return undefined\n },\n [foldersMap, tasksMap, entitiesMap],\n )\n\n // get folder relationship functions\n const {\n getInheritedDependents,\n getChildrenEntities,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n } = useFolderRelationships({\n entitiesMap,\n tasksMap,\n tasksByFolderMap,\n getEntityById,\n projectAttrib,\n attribFields: attribFields,\n })\n\n const toggleExpandAll: ProjectTableContextType['toggleExpandAll'] = useCallback(\n (rowIds, expandAll) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n // get all children of the rowId using tableData\n const childIds = getChildrenEntities(rowId).map((child) => child.id)\n // check if the rowId is expanded\n const isExpanded = expandedState[rowId] || false\n\n if (expandAll !== undefined ? !expandAll : isExpanded) {\n // collapse all children\n newExpandedState[rowId] = false\n childIds.forEach((id) => {\n newExpandedState[id] = false\n })\n } else {\n // expand all children\n newExpandedState[rowId] = true\n childIds.forEach((id) => {\n newExpandedState[id] = true\n })\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, getChildrenEntities, setExpanded],\n )\n\n const toggleExpands: ProjectTableContextType['toggleExpands'] = useCallback(\n (rowIds, expand) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n if (expand !== undefined) {\n // Use the provided expand parameter\n newExpandedState[rowId] = expand\n } else {\n // Toggle based on current state\n newExpandedState[rowId] = !expandedState[rowId]\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, setExpanded],\n )\n\n return (\n <ProjectTableContext.Provider\n value={{\n // from this context\n tableData,\n // forwarded on\n isInitialized,\n isLoading,\n error,\n attribFields,\n attribFieldsScoped,\n scopes,\n users,\n tasksMap,\n foldersMap,\n entitiesMap,\n fetchNextPage,\n reloadTableData,\n groups,\n queryFilters,\n // hierarchy\n showHierarchy,\n updateShowHierarchy,\n // expanded state\n expanded,\n setExpanded,\n toggleExpanded,\n updateExpanded,\n toggleExpandAll,\n toggleExpands,\n getEntityById,\n // folder relationships\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n // context menu\n contextMenuItems,\n // powerpack context\n powerpack,\n modules,\n // player\n playerOpen,\n onOpenPlayer,\n // views\n onResetView,\n }}\n >\n {children}\n </ProjectTableContext.Provider>\n )\n}\n"],"names":["parseRowId","rowId","ROW_ID_SEPARATOR","ProjectTableProvider","children","foldersMap","tableRows","tasksMap","entitiesMap","tasksByFolderMap","expanded","showHierarchy","loadingTasks","isLoadingMore","isLoading","error","isInitialized","users","attribFields","scopes","groups","groupRowFunc","queryFilters","updateShowHierarchy","toggleExpanded","updateExpanded","fetchNextPage","reloadTableData","setExpanded","contextMenuItems","powerpack","modules","groupByConfig","playerOpen","onOpenPlayer","onResetView","projectAttrib","useProjectContext","defaultTableData","useBuildProjectDataTable","groupBy","showEmptyGroups","useColumnSettingsContext","buildGroupByTableData","useBuildGroupByTableData","attribFieldsScoped","useMemo","attrib","scope","groupedTableData","tableData","getEntityById","useCallback","id","field","parsedId","_","entity","getInheritedDependents","getChildrenEntities","findInheritedValueFromAncestors","findNonInheritedValues","getAncestorsOf","useFolderRelationships","toggleExpandAll","rowIds","expandAll","expandedState","newExpandedState","childIds","child","isExpanded","toggleExpands","expand","jsx","ProjectTableContext"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),t=require("../utils/cellUtils.cjs.js"),Q=require("../ProjectTreeTable.cjs.js"),p=require("./SelectionCellsContext.cjs.js");require("react-toastify");require("./ProjectTableQueriesContext.cjs.js");require("./ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("./ClipboardContext.cjs.js");require("./ProjectDataContext.cjs.js");require("./CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("./ColumnSettingsContext.cjs.js");require("./SelectedRowsContext.cjs.js");require("./DetailsPanelEntityContext.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const X=require("../hooks/useCheckSelectedCellsVisible.cjs.js"),Y=({children:F})=>{const[n,I]=o.useState(new Set),[f,d]=o.useState(null),[T,k]=o.useState(!1),[w,S]=o.useState(null),[g,z]=o.useState({rowIdToIndex:new Map,colIdToIndex:new Map,indexToRowId:new Map,indexToColId:new Map}),m=e=>JSON.stringify(Array.from(e.entries())),s=o.useMemo(()=>g,[m(g.rowIdToIndex),m(g.colIdToIndex),m(g.indexToRowId),m(g.indexToColId)]),O=o.useRef(!1),P=o.useMemo(()=>Array.from(n).filter(e=>t.parseCellId(e)?.colId===p.ROW_SELECTION_COLUMN_ID&&t.parseCellId(e)?.rowId).map(e=>t.parseCellId(e)?.rowId),[n]);X.useCheckSelectedCellsVisible({selectedCells:n,setSelectedCells:I,focusedCellId:f,setFocusedCellId:d});const _=o.useCallback((e,q)=>{const u=new Map,i=new Map,r=new Map,l=new Map;e.forEach((c,a)=>{u.set(c,a),r.set(a,c)}),q.forEach((c,a)=>{i.set(c,a),l.set(a,c)}),z({rowIdToIndex:u,colIdToIndex:i,indexToRowId:r,indexToColId:l})},[]),C=o.useCallback((e,q)=>{I(u=>{let i=new Set(e);if(q.colId!==p.ROW_SELECTION_COLUMN_ID&&q.colId!==Q.DRAG_HANDLE_COLUMN_ID){const r=Array.from(u).filter(l=>t.parseCellId(l)?.colId===p.ROW_SELECTION_COLUMN_ID);r.length&&(i=new Set([...i,...r]))}return i})},[]),M=o.useCallback((e,q,u)=>{u||C(new Set,e);const i=s.rowIdToIndex.get(e.rowId)??0,r=s.colIdToIndex.get(e.colId)??0,l=s.rowIdToIndex.get(q.rowId)??0,c=s.colIdToIndex.get(q.colId)??0,a=Math.min(i,l),x=Math.max(i,l),H=Math.min(r,c),J=Math.max(r,c),v=new Set(u?n:[]);for(let R=a;R<=x;R++){const G=s.indexToRowId.get(R);if(G)for(let b=H;b<=J;b++){const W=s.indexToColId.get(b);W&&v.add(t.getCellId(G,W))}}return v},[s,n,C]),E=o.useCallback((e,q)=>{const u=t.parseCellId(e);u&&(k(!0),O.current=n.has(e),q?I(i=>{const r=new Set(i);return r.has(e)?(r.delete(e),f===e&&(r.size>0?d(Array.from(r)[Array.from(r).length-1]):d(null))):(r.add(e),d(e),S(u)),r}):n.size===1&&n.has(e)&&[p.ROW_SELECTION_COLUMN_ID,"name"].includes(u.colId)?(I(new Set),S(null),d(null)):(C(new Set([e]),u),S(u),d(e)))},[n,f,C]),N=o.useCallback((e,q)=>{if(!T||!w)return;const u=t.parseCellId(e);if(u)if(q)I(i=>{const r=new Set(i);return t.parseCellId(e)&&(O.current?r.delete(e):r.add(e)),r});else{const i=M(w,u,!1);C(i,u)}},[T,w,M,C]),L=o.useCallback(()=>{k(!1)},[]),y=o.useCallback((e,q,u)=>{const i=t.parseCellId(e);if(i)if(u&&w){const r=M(w,i,q);C(r,i)}else q?I(r=>{const l=new Set(r);return l.has(e)?l.delete(e):l.add(e),l}):(C(new Set([e]),i),S(i))},[w,M,C]),A=o.useCallback(e=>{d(e)},[]),B=o.useCallback(()=>{I(new Set),S(null),d(null)},[]),h=o.useCallback(e=>n.has(e),[n]),D=o.useCallback(e=>e===f,[f]),U=o.useCallback(e=>t.parseCellId(e),[]),j=o.useCallback(e=>{if(!h(e))return[];const q=t.parseCellId(e);if(!q)return[];const u=s.rowIdToIndex.get(q.rowId),i=s.colIdToIndex.get(q.colId);if(u===void 0||i===void 0)return[];const r=s.indexToRowId.get(u-1),l=s.indexToColId.get(i+1),c=s.indexToRowId.get(u+1),a=s.indexToColId.get(i-1);let x=t.BorderPosition.None;return(!r||!n.has(t.getCellId(r,q.colId)))&&(x|=t.BorderPosition.Top),(!l||!n.has(t.getCellId(q.rowId,l)))&&(x|=t.BorderPosition.Right),(!c||!n.has(t.getCellId(c,q.colId)))&&(x|=t.BorderPosition.Bottom),(!a||!n.has(t.getCellId(q.rowId,a)))&&(x|=t.BorderPosition.Left),t.getBorderClasses(x)},[n,s,h]),V=o.useMemo(()=>({selectedCells:n,selectedRows:P,focusedCellId:f,selectionInProgress:T,anchorCell:w,gridMap:s,setSelectedCells:I,setFocusedCellId:d,setAnchorCell:S,registerGrid:_,selectCell:y,startSelection:E,extendSelection:N,endSelection:L,focusCell:A,clearSelection:B,isCellSelected:h,isCellFocused:D,getCellPositionFromId:U,getCellBorderClasses:j}),[n,P,f,T,w,s,I,d,S,_,y,E,N,L,A,B,h,D,U,j]);return K.jsxRuntimeExports.jsx(p.SelectionCellsContext.Provider,{value:V,children:F})};exports.SelectionCellsProvider=Y;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),t=require("../utils/cellUtils.cjs.js"),Q=require("../ProjectTreeTable.cjs.js"),p=require("./SelectionCellsContext.cjs.js");require("react-toastify");require("./ProjectTableQueriesContext.cjs.js");require("./ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("./ClipboardContext.cjs.js");require("./ProjectDataContext.cjs.js");require("./CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("./ColumnSettingsContext.cjs.js");require("./SelectedRowsContext.cjs.js");require("./DetailsPanelEntityContext.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/react-virtual");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const X=require("../hooks/useCheckSelectedCellsVisible.cjs.js"),Y=({children:F})=>{const[n,I]=o.useState(new Set),[f,d]=o.useState(null),[T,k]=o.useState(!1),[w,S]=o.useState(null),[g,z]=o.useState({rowIdToIndex:new Map,colIdToIndex:new Map,indexToRowId:new Map,indexToColId:new Map}),m=e=>JSON.stringify(Array.from(e.entries())),s=o.useMemo(()=>g,[m(g.rowIdToIndex),m(g.colIdToIndex),m(g.indexToRowId),m(g.indexToColId)]),O=o.useRef(!1),P=o.useMemo(()=>Array.from(n).filter(e=>t.parseCellId(e)?.colId===p.ROW_SELECTION_COLUMN_ID&&t.parseCellId(e)?.rowId).map(e=>t.parseCellId(e)?.rowId),[n]);X.useCheckSelectedCellsVisible({selectedCells:n,setSelectedCells:I,focusedCellId:f,setFocusedCellId:d});const _=o.useCallback((e,q)=>{const u=new Map,i=new Map,r=new Map,l=new Map;e.forEach((c,a)=>{u.set(c,a),r.set(a,c)}),q.forEach((c,a)=>{i.set(c,a),l.set(a,c)}),z({rowIdToIndex:u,colIdToIndex:i,indexToRowId:r,indexToColId:l})},[]),C=o.useCallback((e,q)=>{I(u=>{let i=new Set(e);if(q.colId!==p.ROW_SELECTION_COLUMN_ID&&q.colId!==Q.DRAG_HANDLE_COLUMN_ID){const r=Array.from(u).filter(l=>t.parseCellId(l)?.colId===p.ROW_SELECTION_COLUMN_ID);r.length&&(i=new Set([...i,...r]))}return i})},[]),M=o.useCallback((e,q,u)=>{u||C(new Set,e);const i=s.rowIdToIndex.get(e.rowId)??0,r=s.colIdToIndex.get(e.colId)??0,l=s.rowIdToIndex.get(q.rowId)??0,c=s.colIdToIndex.get(q.colId)??0,a=Math.min(i,l),x=Math.max(i,l),H=Math.min(r,c),J=Math.max(r,c),v=new Set(u?n:[]);for(let R=a;R<=x;R++){const G=s.indexToRowId.get(R);if(G)for(let b=H;b<=J;b++){const W=s.indexToColId.get(b);W&&v.add(t.getCellId(G,W))}}return v},[s,n,C]),E=o.useCallback((e,q)=>{const u=t.parseCellId(e);u&&(k(!0),O.current=n.has(e),q?I(i=>{const r=new Set(i);return r.has(e)?(r.delete(e),f===e&&(r.size>0?d(Array.from(r)[Array.from(r).length-1]):d(null))):(r.add(e),d(e),S(u)),r}):n.size===1&&n.has(e)&&[p.ROW_SELECTION_COLUMN_ID,"name"].includes(u.colId)?(I(new Set),S(null),d(null)):(C(new Set([e]),u),S(u),d(e)))},[n,f,C]),N=o.useCallback((e,q)=>{if(!T||!w)return;const u=t.parseCellId(e);if(u)if(q)I(i=>{const r=new Set(i);return t.parseCellId(e)&&(O.current?r.delete(e):r.add(e)),r});else{const i=M(w,u,!1);C(i,u)}},[T,w,M,C]),L=o.useCallback(()=>{k(!1)},[]),y=o.useCallback((e,q,u)=>{const i=t.parseCellId(e);if(i)if(u&&w){const r=M(w,i,q);C(r,i)}else q?I(r=>{const l=new Set(r);return l.has(e)?l.delete(e):l.add(e),l}):(C(new Set([e]),i),S(i))},[w,M,C]),A=o.useCallback(e=>{d(e)},[]),B=o.useCallback(()=>{I(new Set),S(null),d(null)},[]),h=o.useCallback(e=>n.has(e),[n]),D=o.useCallback(e=>e===f,[f]),U=o.useCallback(e=>t.parseCellId(e),[]),j=o.useCallback(e=>{if(!h(e))return[];const q=t.parseCellId(e);if(!q)return[];const u=s.rowIdToIndex.get(q.rowId),i=s.colIdToIndex.get(q.colId);if(u===void 0||i===void 0)return[];const r=s.indexToRowId.get(u-1),l=s.indexToColId.get(i+1),c=s.indexToRowId.get(u+1),a=s.indexToColId.get(i-1);let x=t.BorderPosition.None;return(!r||!n.has(t.getCellId(r,q.colId)))&&(x|=t.BorderPosition.Top),(!l||!n.has(t.getCellId(q.rowId,l)))&&(x|=t.BorderPosition.Right),(!c||!n.has(t.getCellId(c,q.colId)))&&(x|=t.BorderPosition.Bottom),(!a||!n.has(t.getCellId(q.rowId,a)))&&(x|=t.BorderPosition.Left),t.getBorderClasses(x)},[n,s,h]),V=o.useMemo(()=>({selectedCells:n,selectedRows:P,focusedCellId:f,selectionInProgress:T,anchorCell:w,gridMap:s,setSelectedCells:I,setFocusedCellId:d,setAnchorCell:S,registerGrid:_,selectCell:y,startSelection:E,extendSelection:N,endSelection:L,focusCell:A,clearSelection:B,isCellSelected:h,isCellFocused:D,getCellPositionFromId:U,getCellBorderClasses:j}),[n,P,f,T,w,s,I,d,S,_,y,E,N,L,A,B,h,D,U,j]);return K.jsxRuntimeExports.jsx(p.SelectionCellsContext.Provider,{value:V,children:F})};exports.SelectionCellsProvider=Y;
|
|
2
2
|
//# sourceMappingURL=SelectionCellsProvider.cjs.js.map
|
package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionCellsProvider.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsProvider.tsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, ReactNode, useRef } from 'react'\nimport {\n CellId,\n RowId,\n ColId,\n CellPosition,\n getCellId,\n parseCellId,\n BorderPosition,\n getBorderClasses,\n} from '../utils/cellUtils'\nimport { DRAG_HANDLE_COLUMN_ID } from '../ProjectTreeTable'\nimport { SelectionCellsContext, GridMap, ROW_SELECTION_COLUMN_ID } from './SelectionCellsContext'\nimport { useCheckSelectedCellsVisible } from '../hooks'\n\nexport const SelectionCellsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [selectedCells, setSelectedCells] = useState<Set<CellId>>(new Set())\n const [focusedCellId, setFocusedCellId] = useState<CellId | null>(null)\n const [selectionInProgress, setSelectionInProgress] = useState<boolean>(false)\n const [anchorCell, setAnchorCell] = useState<CellPosition | null>(null)\n const [gridMap, setGridMap] = useState<GridMap>({\n rowIdToIndex: new Map(),\n colIdToIndex: new Map(),\n indexToRowId: new Map(),\n indexToColId: new Map(),\n })\n const mapToString = (map: Map<any, any>) => {\n return JSON.stringify(Array.from(map.entries()))\n }\n\n const stableGridMap = useMemo(\n () => gridMap,\n [\n mapToString(gridMap.rowIdToIndex),\n mapToString(gridMap.colIdToIndex),\n mapToString(gridMap.indexToRowId),\n mapToString(gridMap.indexToColId),\n ],\n )\n // Track whether we're selecting or unselecting during drag\n const initialCellSelected = useRef<boolean>(false)\n\n const selectedRows = useMemo(\n () =>\n Array.from(selectedCells)\n .filter(\n (cellId) =>\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID && parseCellId(cellId)?.rowId,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[],\n [selectedCells],\n )\n\n useCheckSelectedCellsVisible({\n selectedCells,\n setSelectedCells,\n focusedCellId,\n setFocusedCellId,\n })\n\n // Register grid structure for range selections\n const registerGrid = useCallback((rows: RowId[], columns: ColId[]) => {\n const rowIdToIndex = new Map<RowId, number>()\n const colIdToIndex = new Map<ColId, number>()\n const indexToRowId = new Map<number, RowId>()\n const indexToColId = new Map<number, ColId>()\n\n rows.forEach((rowId, index) => {\n rowIdToIndex.set(rowId, index)\n indexToRowId.set(index, rowId)\n })\n\n columns.forEach((colId, index) => {\n colIdToIndex.set(colId, index)\n indexToColId.set(index, colId)\n })\n\n setGridMap({ rowIdToIndex, colIdToIndex, indexToRowId, indexToColId })\n }, [])\n\n // update the selection whilst properly handling the row-selection column\n const updateSelection = useCallback((selection: Set<CellId>, position: CellPosition) => {\n setSelectedCells((prevSelectedCells) => {\n let newSelection = new Set(selection)\n if (position.colId !== ROW_SELECTION_COLUMN_ID && position.colId !== DRAG_HANDLE_COLUMN_ID) {\n const rowSelection = Array.from(prevSelectedCells).filter(\n (id) => parseCellId(id)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n if (rowSelection.length) {\n newSelection = new Set([...newSelection, ...rowSelection])\n }\n }\n return newSelection\n })\n }, [])\n\n // Select cells between two points in the grid\n const selectCellRange = useCallback(\n (start: CellPosition, end: CellPosition, additive: boolean): Set<CellId> => {\n if (!additive) {\n // Clear existing selection if not additive\n updateSelection(new Set(), start)\n }\n\n const startRowIdx = stableGridMap.rowIdToIndex.get(start.rowId) ?? 0\n const startColIdx = stableGridMap.colIdToIndex.get(start.colId) ?? 0\n const endRowIdx = stableGridMap.rowIdToIndex.get(end.rowId) ?? 0\n const endColIdx = stableGridMap.colIdToIndex.get(end.colId) ?? 0\n\n const minRowIdx = Math.min(startRowIdx, endRowIdx)\n const maxRowIdx = Math.max(startRowIdx, endRowIdx)\n const minColIdx = Math.min(startColIdx, endColIdx)\n const maxColIdx = Math.max(startColIdx, endColIdx)\n\n const newSelection = new Set(additive ? selectedCells : [])\n\n for (let r = minRowIdx; r <= maxRowIdx; r++) {\n const rowId = stableGridMap.indexToRowId.get(r)\n if (!rowId) continue\n\n for (let c = minColIdx; c <= maxColIdx; c++) {\n const colId = stableGridMap.indexToColId.get(c)\n if (!colId) continue\n\n newSelection.add(getCellId(rowId, colId))\n }\n }\n\n return newSelection\n },\n [stableGridMap, selectedCells, updateSelection],\n )\n\n // Start a selection operation\n const startSelection = useCallback(\n (cellId: CellId, additive: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n setSelectionInProgress(true)\n // Store whether the initial cell was selected to determine drag behavior\n initialCellSelected.current = selectedCells.has(cellId)\n\n if (additive) {\n // Toggle this cell in multi-select mode\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n // If this was the focused cell, set focus to another cell in the selection or null\n if (focusedCellId === cellId) {\n if (newSelection.size > 0) {\n setFocusedCellId(Array.from(newSelection)[Array.from(newSelection).length - 1])\n } else {\n setFocusedCellId(null)\n }\n }\n } else {\n newSelection.add(cellId)\n setFocusedCellId(cellId)\n setAnchorCell(position)\n }\n return newSelection\n })\n } else {\n // Single cell selection\n // If this cell is already the only selected cell, deselect it\n // and it is from name column\n if (\n selectedCells.size === 1 &&\n selectedCells.has(cellId) &&\n [ROW_SELECTION_COLUMN_ID, 'name'].includes(position.colId)\n ) {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n } else {\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n setFocusedCellId(cellId)\n }\n }\n },\n [selectedCells, focusedCellId, updateSelection],\n )\n\n // Extend the current selection during drag\n const extendSelection = useCallback(\n (cellId: CellId, isRowSelectionColumn?: boolean) => {\n if (!selectionInProgress || !anchorCell) return\n\n const currentPosition = parseCellId(cellId)\n if (!currentPosition) return\n\n if (isRowSelectionColumn) {\n // Handle row selection column differently during drag\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n const position = parseCellId(cellId)\n\n if (!position) return newSelection\n\n // We're either selecting or unselecting based on the initial cell's state\n if (initialCellSelected.current) {\n // If we started on a selected cell, we're removing cells during drag\n newSelection.delete(cellId)\n } else {\n // If we started on an unselected cell, we're adding cells during drag\n newSelection.add(cellId)\n }\n\n return newSelection\n })\n } else {\n // For normal cells, use the range selection behavior\n const newSelection = selectCellRange(anchorCell, currentPosition, false)\n updateSelection(newSelection, currentPosition)\n }\n },\n [selectionInProgress, anchorCell, selectCellRange, updateSelection],\n )\n\n // End a selection operation\n const endSelection = useCallback(() => {\n setSelectionInProgress(false)\n }, [])\n\n // Select a cell (click or programmatically)\n const selectCell = useCallback(\n (cellId: CellId, additive: boolean, range: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n if (range && anchorCell) {\n // Shift+click for range selection - select cells between anchor and current\n const newSelection = selectCellRange(anchorCell, position, additive)\n updateSelection(newSelection, position)\n } else if (additive) {\n // Ctrl/Cmd+click for toggling selection\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n } else {\n newSelection.add(cellId)\n }\n return newSelection\n })\n } else {\n // Normal click - select just this cell and set as new anchor\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n }\n },\n [anchorCell, selectCellRange, updateSelection],\n )\n\n // Focus a cell without changing selection\n const focusCell = useCallback((cellId: CellId | null) => {\n setFocusedCellId(cellId)\n }, [])\n\n // Clear all selections\n const clearSelection = useCallback(() => {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n }, [])\n\n // Check if a cell is selected\n const isCellSelected = useCallback((cellId: CellId) => selectedCells.has(cellId), [selectedCells])\n\n // Check if a cell is focused\n const isCellFocused = useCallback((cellId: CellId) => cellId === focusedCellId, [focusedCellId])\n\n // Get position from cell ID - using shared utility\n const getCellPositionFromId = useCallback((cellId: CellId) => parseCellId(cellId), [])\n\n // Get border classes for a cell based on its selection state and neighbors\n const getCellBorderClasses = useCallback(\n (cellId: CellId): string[] => {\n if (!isCellSelected(cellId)) return []\n\n const position = parseCellId(cellId)\n if (!position) return []\n\n const rowIndex = stableGridMap.rowIdToIndex.get(position.rowId)\n const colIndex = stableGridMap.colIdToIndex.get(position.colId)\n\n if (rowIndex === undefined || colIndex === undefined) return []\n\n // Check if the cell's neighbors in all four directions are selected\n const top = stableGridMap.indexToRowId.get(rowIndex - 1)\n const right = stableGridMap.indexToColId.get(colIndex + 1)\n const bottom = stableGridMap.indexToRowId.get(rowIndex + 1)\n const left = stableGridMap.indexToColId.get(colIndex - 1)\n\n // Default to no borders\n let borderPos = BorderPosition.None\n\n // Top edge check: show border if we're at the top of the grid or the cell above is not selected\n if (!top || !selectedCells.has(getCellId(top, position.colId))) {\n borderPos |= BorderPosition.Top\n }\n\n // Right edge check: show border if we're at the right edge of the grid or the cell to the right is not selected\n if (!right || !selectedCells.has(getCellId(position.rowId, right))) {\n borderPos |= BorderPosition.Right\n }\n\n // Bottom edge check: show border if we're at the bottom of the grid or the cell below is not selected\n if (!bottom || !selectedCells.has(getCellId(bottom, position.colId))) {\n borderPos |= BorderPosition.Bottom\n }\n\n // Left edge check: show border if we're at the left edge of the grid or the cell to the left is not selected\n if (!left || !selectedCells.has(getCellId(position.rowId, left))) {\n borderPos |= BorderPosition.Left\n }\n\n return getBorderClasses(borderPos)\n },\n [selectedCells, stableGridMap, isCellSelected],\n )\n\n // Memoize context value to prevent unnecessary re-renders\n const value = useMemo(\n () => ({\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n gridMap: stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n }),\n [\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n ],\n )\n\n return <SelectionCellsContext.Provider value={value}>{children}</SelectionCellsContext.Provider>\n}\n"],"names":["SelectionCellsProvider","children","selectedCells","setSelectedCells","useState","focusedCellId","setFocusedCellId","selectionInProgress","setSelectionInProgress","anchorCell","setAnchorCell","gridMap","setGridMap","mapToString","map","stableGridMap","useMemo","initialCellSelected","useRef","selectedRows","cellId","parseCellId","ROW_SELECTION_COLUMN_ID","useCheckSelectedCellsVisible","registerGrid","useCallback","rows","columns","rowIdToIndex","colIdToIndex","indexToRowId","indexToColId","rowId","index","colId","updateSelection","selection","position","prevSelectedCells","newSelection","DRAG_HANDLE_COLUMN_ID","rowSelection","id","selectCellRange","start","end","additive","startRowIdx","startColIdx","endRowIdx","endColIdx","minRowIdx","maxRowIdx","minColIdx","maxColIdx","r","c","getCellId","startSelection","prev","extendSelection","isRowSelectionColumn","currentPosition","endSelection","selectCell","range","focusCell","clearSelection","isCellSelected","isCellFocused","getCellPositionFromId","getCellBorderClasses","rowIndex","colIndex","top","right","bottom","left","borderPos","BorderPosition","getBorderClasses","value","jsx","SelectionCellsContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectionCellsProvider.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsProvider.tsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, ReactNode, useRef } from 'react'\nimport {\n CellId,\n RowId,\n ColId,\n CellPosition,\n getCellId,\n parseCellId,\n BorderPosition,\n getBorderClasses,\n} from '../utils/cellUtils'\nimport { DRAG_HANDLE_COLUMN_ID } from '../ProjectTreeTable'\nimport { SelectionCellsContext, GridMap, ROW_SELECTION_COLUMN_ID } from './SelectionCellsContext'\nimport { useCheckSelectedCellsVisible } from '../hooks'\n\nexport const SelectionCellsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [selectedCells, setSelectedCells] = useState<Set<CellId>>(new Set())\n const [focusedCellId, setFocusedCellId] = useState<CellId | null>(null)\n const [selectionInProgress, setSelectionInProgress] = useState<boolean>(false)\n const [anchorCell, setAnchorCell] = useState<CellPosition | null>(null)\n const [gridMap, setGridMap] = useState<GridMap>({\n rowIdToIndex: new Map(),\n colIdToIndex: new Map(),\n indexToRowId: new Map(),\n indexToColId: new Map(),\n })\n const mapToString = (map: Map<any, any>) => {\n return JSON.stringify(Array.from(map.entries()))\n }\n\n const stableGridMap = useMemo(\n () => gridMap,\n [\n mapToString(gridMap.rowIdToIndex),\n mapToString(gridMap.colIdToIndex),\n mapToString(gridMap.indexToRowId),\n mapToString(gridMap.indexToColId),\n ],\n )\n // Track whether we're selecting or unselecting during drag\n const initialCellSelected = useRef<boolean>(false)\n\n const selectedRows = useMemo(\n () =>\n Array.from(selectedCells)\n .filter(\n (cellId) =>\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID && parseCellId(cellId)?.rowId,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[],\n [selectedCells],\n )\n\n useCheckSelectedCellsVisible({\n selectedCells,\n setSelectedCells,\n focusedCellId,\n setFocusedCellId,\n })\n\n // Register grid structure for range selections\n const registerGrid = useCallback((rows: RowId[], columns: ColId[]) => {\n const rowIdToIndex = new Map<RowId, number>()\n const colIdToIndex = new Map<ColId, number>()\n const indexToRowId = new Map<number, RowId>()\n const indexToColId = new Map<number, ColId>()\n\n rows.forEach((rowId, index) => {\n rowIdToIndex.set(rowId, index)\n indexToRowId.set(index, rowId)\n })\n\n columns.forEach((colId, index) => {\n colIdToIndex.set(colId, index)\n indexToColId.set(index, colId)\n })\n\n setGridMap({ rowIdToIndex, colIdToIndex, indexToRowId, indexToColId })\n }, [])\n\n // update the selection whilst properly handling the row-selection column\n const updateSelection = useCallback((selection: Set<CellId>, position: CellPosition) => {\n setSelectedCells((prevSelectedCells) => {\n let newSelection = new Set(selection)\n if (position.colId !== ROW_SELECTION_COLUMN_ID && position.colId !== DRAG_HANDLE_COLUMN_ID) {\n const rowSelection = Array.from(prevSelectedCells).filter(\n (id) => parseCellId(id)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n if (rowSelection.length) {\n newSelection = new Set([...newSelection, ...rowSelection])\n }\n }\n return newSelection\n })\n }, [])\n\n // Select cells between two points in the grid\n const selectCellRange = useCallback(\n (start: CellPosition, end: CellPosition, additive: boolean): Set<CellId> => {\n if (!additive) {\n // Clear existing selection if not additive\n updateSelection(new Set(), start)\n }\n\n const startRowIdx = stableGridMap.rowIdToIndex.get(start.rowId) ?? 0\n const startColIdx = stableGridMap.colIdToIndex.get(start.colId) ?? 0\n const endRowIdx = stableGridMap.rowIdToIndex.get(end.rowId) ?? 0\n const endColIdx = stableGridMap.colIdToIndex.get(end.colId) ?? 0\n\n const minRowIdx = Math.min(startRowIdx, endRowIdx)\n const maxRowIdx = Math.max(startRowIdx, endRowIdx)\n const minColIdx = Math.min(startColIdx, endColIdx)\n const maxColIdx = Math.max(startColIdx, endColIdx)\n\n const newSelection = new Set(additive ? selectedCells : [])\n\n for (let r = minRowIdx; r <= maxRowIdx; r++) {\n const rowId = stableGridMap.indexToRowId.get(r)\n if (!rowId) continue\n\n for (let c = minColIdx; c <= maxColIdx; c++) {\n const colId = stableGridMap.indexToColId.get(c)\n if (!colId) continue\n\n newSelection.add(getCellId(rowId, colId))\n }\n }\n\n return newSelection\n },\n [stableGridMap, selectedCells, updateSelection],\n )\n\n // Start a selection operation\n const startSelection = useCallback(\n (cellId: CellId, additive: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n setSelectionInProgress(true)\n // Store whether the initial cell was selected to determine drag behavior\n initialCellSelected.current = selectedCells.has(cellId)\n\n if (additive) {\n // Toggle this cell in multi-select mode\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n // If this was the focused cell, set focus to another cell in the selection or null\n if (focusedCellId === cellId) {\n if (newSelection.size > 0) {\n setFocusedCellId(Array.from(newSelection)[Array.from(newSelection).length - 1])\n } else {\n setFocusedCellId(null)\n }\n }\n } else {\n newSelection.add(cellId)\n setFocusedCellId(cellId)\n setAnchorCell(position)\n }\n return newSelection\n })\n } else {\n // Single cell selection\n // If this cell is already the only selected cell, deselect it\n // and it is from name column\n if (\n selectedCells.size === 1 &&\n selectedCells.has(cellId) &&\n [ROW_SELECTION_COLUMN_ID, 'name'].includes(position.colId)\n ) {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n } else {\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n setFocusedCellId(cellId)\n }\n }\n },\n [selectedCells, focusedCellId, updateSelection],\n )\n\n // Extend the current selection during drag\n const extendSelection = useCallback(\n (cellId: CellId, isRowSelectionColumn?: boolean) => {\n if (!selectionInProgress || !anchorCell) return\n\n const currentPosition = parseCellId(cellId)\n if (!currentPosition) return\n\n if (isRowSelectionColumn) {\n // Handle row selection column differently during drag\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n const position = parseCellId(cellId)\n\n if (!position) return newSelection\n\n // We're either selecting or unselecting based on the initial cell's state\n if (initialCellSelected.current) {\n // If we started on a selected cell, we're removing cells during drag\n newSelection.delete(cellId)\n } else {\n // If we started on an unselected cell, we're adding cells during drag\n newSelection.add(cellId)\n }\n\n return newSelection\n })\n } else {\n // For normal cells, use the range selection behavior\n const newSelection = selectCellRange(anchorCell, currentPosition, false)\n updateSelection(newSelection, currentPosition)\n }\n },\n [selectionInProgress, anchorCell, selectCellRange, updateSelection],\n )\n\n // End a selection operation\n const endSelection = useCallback(() => {\n setSelectionInProgress(false)\n }, [])\n\n // Select a cell (click or programmatically)\n const selectCell = useCallback(\n (cellId: CellId, additive: boolean, range: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n if (range && anchorCell) {\n // Shift+click for range selection - select cells between anchor and current\n const newSelection = selectCellRange(anchorCell, position, additive)\n updateSelection(newSelection, position)\n } else if (additive) {\n // Ctrl/Cmd+click for toggling selection\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n } else {\n newSelection.add(cellId)\n }\n return newSelection\n })\n } else {\n // Normal click - select just this cell and set as new anchor\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n }\n },\n [anchorCell, selectCellRange, updateSelection],\n )\n\n // Focus a cell without changing selection\n const focusCell = useCallback((cellId: CellId | null) => {\n setFocusedCellId(cellId)\n }, [])\n\n // Clear all selections\n const clearSelection = useCallback(() => {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n }, [])\n\n // Check if a cell is selected\n const isCellSelected = useCallback((cellId: CellId) => selectedCells.has(cellId), [selectedCells])\n\n // Check if a cell is focused\n const isCellFocused = useCallback((cellId: CellId) => cellId === focusedCellId, [focusedCellId])\n\n // Get position from cell ID - using shared utility\n const getCellPositionFromId = useCallback((cellId: CellId) => parseCellId(cellId), [])\n\n // Get border classes for a cell based on its selection state and neighbors\n const getCellBorderClasses = useCallback(\n (cellId: CellId): string[] => {\n if (!isCellSelected(cellId)) return []\n\n const position = parseCellId(cellId)\n if (!position) return []\n\n const rowIndex = stableGridMap.rowIdToIndex.get(position.rowId)\n const colIndex = stableGridMap.colIdToIndex.get(position.colId)\n\n if (rowIndex === undefined || colIndex === undefined) return []\n\n // Check if the cell's neighbors in all four directions are selected\n const top = stableGridMap.indexToRowId.get(rowIndex - 1)\n const right = stableGridMap.indexToColId.get(colIndex + 1)\n const bottom = stableGridMap.indexToRowId.get(rowIndex + 1)\n const left = stableGridMap.indexToColId.get(colIndex - 1)\n\n // Default to no borders\n let borderPos = BorderPosition.None\n\n // Top edge check: show border if we're at the top of the grid or the cell above is not selected\n if (!top || !selectedCells.has(getCellId(top, position.colId))) {\n borderPos |= BorderPosition.Top\n }\n\n // Right edge check: show border if we're at the right edge of the grid or the cell to the right is not selected\n if (!right || !selectedCells.has(getCellId(position.rowId, right))) {\n borderPos |= BorderPosition.Right\n }\n\n // Bottom edge check: show border if we're at the bottom of the grid or the cell below is not selected\n if (!bottom || !selectedCells.has(getCellId(bottom, position.colId))) {\n borderPos |= BorderPosition.Bottom\n }\n\n // Left edge check: show border if we're at the left edge of the grid or the cell to the left is not selected\n if (!left || !selectedCells.has(getCellId(position.rowId, left))) {\n borderPos |= BorderPosition.Left\n }\n\n return getBorderClasses(borderPos)\n },\n [selectedCells, stableGridMap, isCellSelected],\n )\n\n // Memoize context value to prevent unnecessary re-renders\n const value = useMemo(\n () => ({\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n gridMap: stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n }),\n [\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n ],\n )\n\n return <SelectionCellsContext.Provider value={value}>{children}</SelectionCellsContext.Provider>\n}\n"],"names":["SelectionCellsProvider","children","selectedCells","setSelectedCells","useState","focusedCellId","setFocusedCellId","selectionInProgress","setSelectionInProgress","anchorCell","setAnchorCell","gridMap","setGridMap","mapToString","map","stableGridMap","useMemo","initialCellSelected","useRef","selectedRows","cellId","parseCellId","ROW_SELECTION_COLUMN_ID","useCheckSelectedCellsVisible","registerGrid","useCallback","rows","columns","rowIdToIndex","colIdToIndex","indexToRowId","indexToColId","rowId","index","colId","updateSelection","selection","position","prevSelectedCells","newSelection","DRAG_HANDLE_COLUMN_ID","rowSelection","id","selectCellRange","start","end","additive","startRowIdx","startColIdx","endRowIdx","endColIdx","minRowIdx","maxRowIdx","minColIdx","maxColIdx","r","c","getCellId","startSelection","prev","extendSelection","isRowSelectionColumn","currentPosition","endSelection","selectCell","range","focusCell","clearSelection","isCellSelected","isCellFocused","getCellPositionFromId","getCellBorderClasses","rowIndex","colIndex","top","right","bottom","left","borderPos","BorderPosition","getBorderClasses","value","jsx","SelectionCellsContext"],"mappings":"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"}
|