@ynput/ayon-frontend-shared 0.3.37 → 0.3.39
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 +25 -24
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es8.js +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +12 -11
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.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 +5 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +5 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.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 +5 -4
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -4
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.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 +5 -4
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +5 -4
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +5 -4
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- 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 +5 -4
- 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 +5 -4
- 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 +6 -5
- 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 +5 -4
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +5 -4
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +254 -240
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +7 -6
- package/dist/shared/src/components/SimpleFormDialog/FormFile.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 +5 -4
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -4
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +9 -8
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.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 +5 -4
- 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 +5 -4
- 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 +5 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +17 -16
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/containers/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 +5 -4
- 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 +5 -4
- 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 +5 -4
- 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 +5 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +5 -4
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.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 +5 -4
- 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 +5 -4
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- 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 +5 -4
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +9 -8
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.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 +5 -4
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +5 -4
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +3 -2
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +5 -4
- package/dist/shared/src/containers/ListTable/ListTableHeader.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 +171 -168
- 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 +87 -85
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.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 +5 -4
- 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 +5 -4
- 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 +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.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 -58
- 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 +5 -4
- 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 +8 -7
- 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 +5 -4
- 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 +3 -2
- 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 +3 -2
- 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 +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +248 -207
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.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 +5 -4
- 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 +5 -4
- 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 +3 -2
- 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 +5 -4
- 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 +5 -4
- 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 +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.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 +16 -15
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +66 -55
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +5 -4
- 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 +47 -45
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +11 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +76 -51
- 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 +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.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 +5 -4
- 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 +5 -4
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +5 -4
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +5 -4
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
- 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 +5 -4
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.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 +7 -6
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const w=require("react"),v=require("../utils/loadingUtils.cjs.js"),N=require("./useGetEntityTypeData.cjs.js");require("@ynput/ayon-react-components");require("../../../components/SearchFilter/filterDates.cjs.js");require("date-fns");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.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/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.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/dataImport.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/projectFolders.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/columnStats/metricTargets.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/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const _=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.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("remark-emoji");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/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.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("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../context/CellEditingContext.cjs.js");require("../components/TableFooterRow.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.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/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.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("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.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/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/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const D=require("../utils/linksToTableData.cjs.js"),U=100;function V({foldersMap:s,tasksMap:p,rows:g,tasksByFolderMap:b,expanded:m,showHierarchy:C,isFlatFolderView:P=!1,showEmptyFolders:j=!1,loadingTasks:c={},isLoadingMore:O=!1,selectedFolders:E=[]}){const I=_.useProjectContext(),y=N.useGetEntityTypeData({projectInfo:I}),H=w.useMemo(()=>JSON.stringify(m),[m]),f=w.useMemo(()=>new Set(Object.entries(m).filter(([u,q])=>q).map(([u])=>u)),[H]),{childToParentMap:S,parentToChildrenMap:x}=w.useMemo(()=>{const u=new Map,q=new Map;for(const i of s.values()){if(!i?.id)continue;const a=i.parentId;if(a){u.set(i.id,a);let r=q.get(a);r||(r=new Set,q.set(a,r)),r.add(i.id)}}return{childToParentMap:u,parentToChildrenMap:q}},[s]),R=w.useMemo(()=>{const u=new Set,q=[];for(const i of s.values())i?.id&&(!i.parentId||!s.has(i.parentId))&&(u.add(i.id),q.push(i.id));for(;q.length>0;){const i=q.shift();if(!f.has(i))continue;const r=x.get(i);if(r)for(const e of r)u.has(e)||(u.add(e),q.push(e))}return u},[s,x,f]);return w.useMemo(()=>{const u=(r,e)=>{const t=y("task",r.taskType),n=D.linksToTableData(r.links,"task",I.anatomy);return{id:r.id,entityType:"task",parentId:e||r.folderId,folderId:r.folderId,name:r.name||"",label:r.label||r.name||"",icon:t?.icon||null,color:t?.color||null,status:r.status,assignees:r.assignees,tags:r.tags,img:null,subRows:[],subType:r.taskType||null,attrib:r.attrib,ownAttrib:r.ownAttrib,parents:r.parents||[],path:r.parents.join("/")||null,folder:r.parents[r.parents.length-1]||void 0,updatedAt:r.updatedAt,createdAt:r.createdAt,thumbnailHash:r.thumbnailHash,hasReviewables:r.hasReviewables||!1,links:n,subtasks:r.subtasks||[],latestComments:r.latestComments||[]}},q=()=>{const r=[];for(const e of E){if(s.has(e))continue;const t=b.get(e)||[];for(const n of t){const l=p.get(n);l&&r.push(u(l))}}return r};if(P){const r=[];for(const e of s.values()){if(!e?.id)continue;const t=e.hasTasks??b.has(e.id);if(!j&&!t)continue;const n=y("folder",e.folderType),l=D.linksToTableData(e.links,"folder",I.anatomy),A={id:e.id,entityType:"folder",parentId:void 0,folderId:e.id,name:e.name||"",label:e.label||e.name||"",icon:n?.icon||null,color:n?.color||null,img:null,subRows:[],status:e.status,tags:e.tags||[],subType:e.folderType||null,ownAttrib:e.ownAttrib||[],path:e.path,folder:e.parents[e.parents.length-1]||void 0,attrib:e.attrib||{},childOnlyMatch:e.childOnlyMatch||!1,updatedAt:e.updatedAt,createdAt:e.createdAt,thumbnailHash:e.thumbnailHash,hasReviewables:e.hasReviewables||!1,hasVersions:e.hasVersions||!1,links:l};if(f.has(e.id)){const d=(b.get(e.id)||[]).flatMap(o=>p.get(o)||[]);if(d.length||c[e.id]){const o=d.map(h=>u(h,e.id));if(c[e.id]){const h=c[e.id];h>0&&o.push(...v.generateLoadingRows(h,{parentId:e.id}))}A.subRows=o}}r.push(A)}return r.push(...q()),r}if(!C){const r=[];for(const e of p.values())e.id&&r.push(u(e));for(const e of g||[])r.push(e);if(O){const e=U;{const t=v.generateLoadingRows(e,{type:"task"});r.push(...t)}}return r}const i=new Map,a=[];for(const r of R){const e=s.get(r);if(!e)continue;const t=D.linksToTableData(e.links,"folder",I.anatomy),n=y("folder",e.folderType),l={id:r,entityType:"folder",parentId:e.parentId||void 0,folderId:r||null,name:e.name||"",label:e.label||e.name||"",icon:n?.icon||null,color:n?.color||null,img:null,subRows:[],status:e.status,tags:e.tags||[],subType:e.folderType||null,ownAttrib:e.ownAttrib||[],path:e.path,folder:e.parents[e.parents.length-1]||void 0,attrib:e.attrib||{},childOnlyMatch:e.childOnlyMatch||!1,updatedAt:e.updatedAt,createdAt:e.createdAt,thumbnailHash:e.thumbnailHash,hasReviewables:e.hasReviewables||!1,hasVersions:e.hasVersions||!1,links:t};if(i.set(r,l),(!e.parentId||!s.has(e.parentId))&&a.push(l),f.has(r)){const T=(b.get(r)||[]).flatMap(d=>p.get(d)||[]);if(T.length||c[r]){const d=new Array(T.length);for(let o=0;o<T.length;o++)d[o]=u(T[o],r);if(c[r]){const o=c[r];if(o>0){const h=v.generateLoadingRows(o,{parentId:r});d.push(...h)}}l.subRows=d}}}for(const r of R){const e=S.get(r);if(!e||!f.has(e))continue;const t=i.get(r),n=i.get(e);!t||!n||n.subRows?.push(t)}a.push(...q());for(const r of g||[])a.push(r);return a},[s,p,b,g,R,S,f,C,P,j,c,O,E])}module.exports=V;
|
|
1
|
+
"use strict";const w=require("react"),v=require("../utils/loadingUtils.cjs.js"),N=require("./useGetEntityTypeData.cjs.js");require("@ynput/ayon-react-components");require("../../../components/SearchFilter/filterDates.cjs.js");require("date-fns");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.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/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.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/dataImport.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/projectFolders.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/columnStats/metricTargets.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/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const _=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.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("remark-emoji");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/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.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("../widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../context/CellEditingContext.cjs.js");require("../components/TableFooterRow.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.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/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.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("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.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/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/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const D=require("../utils/linksToTableData.cjs.js"),U=100;function V({foldersMap:s,tasksMap:p,rows:g,tasksByFolderMap:b,expanded:m,showHierarchy:C,isFlatFolderView:P=!1,showEmptyFolders:j=!1,loadingTasks:c={},isLoadingMore:O=!1,selectedFolders:E=[]}){const I=_.useProjectContext(),y=N.useGetEntityTypeData({projectInfo:I}),H=w.useMemo(()=>JSON.stringify(m),[m]),f=w.useMemo(()=>new Set(Object.entries(m).filter(([u,q])=>q).map(([u])=>u)),[H]),{childToParentMap:S,parentToChildrenMap:x}=w.useMemo(()=>{const u=new Map,q=new Map;for(const i of s.values()){if(!i?.id)continue;const a=i.parentId;if(a){u.set(i.id,a);let r=q.get(a);r||(r=new Set,q.set(a,r)),r.add(i.id)}}return{childToParentMap:u,parentToChildrenMap:q}},[s]),R=w.useMemo(()=>{const u=new Set,q=[];for(const i of s.values())i?.id&&(!i.parentId||!s.has(i.parentId))&&(u.add(i.id),q.push(i.id));for(;q.length>0;){const i=q.shift();if(!f.has(i))continue;const r=x.get(i);if(r)for(const e of r)u.has(e)||(u.add(e),q.push(e))}return u},[s,x,f]);return w.useMemo(()=>{const u=(r,e)=>{const t=y("task",r.taskType),n=D.linksToTableData(r.links,"task",I.anatomy);return{id:r.id,entityType:"task",parentId:e||r.folderId,folderId:r.folderId,name:r.name||"",label:r.label||r.name||"",icon:t?.icon||null,color:t?.color||null,status:r.status,assignees:r.assignees,tags:r.tags,img:null,subRows:[],subType:r.taskType||null,attrib:r.attrib,ownAttrib:r.ownAttrib,parents:r.parents||[],path:r.parents.join("/")||null,folder:r.parents[r.parents.length-1]||void 0,updatedAt:r.updatedAt,createdAt:r.createdAt,thumbnailHash:r.thumbnailHash,hasReviewables:r.hasReviewables||!1,links:n,subtasks:r.subtasks||[],latestComments:r.latestComments||[]}},q=()=>{const r=[];for(const e of E){if(s.has(e))continue;const t=b.get(e)||[];for(const n of t){const l=p.get(n);l&&r.push(u(l))}}return r};if(P){const r=[];for(const e of s.values()){if(!e?.id)continue;const t=e.hasTasks??b.has(e.id);if(!j&&!t)continue;const n=y("folder",e.folderType),l=D.linksToTableData(e.links,"folder",I.anatomy),A={id:e.id,entityType:"folder",parentId:void 0,folderId:e.id,name:e.name||"",label:e.label||e.name||"",icon:n?.icon||null,color:n?.color||null,img:null,subRows:[],status:e.status,tags:e.tags||[],subType:e.folderType||null,ownAttrib:e.ownAttrib||[],path:e.path,folder:e.parents[e.parents.length-1]||void 0,attrib:e.attrib||{},childOnlyMatch:e.childOnlyMatch||!1,updatedAt:e.updatedAt,createdAt:e.createdAt,thumbnailHash:e.thumbnailHash,hasReviewables:e.hasReviewables||!1,hasVersions:e.hasVersions||!1,links:l};if(f.has(e.id)){const d=(b.get(e.id)||[]).flatMap(o=>p.get(o)||[]);if(d.length||c[e.id]){const o=d.map(h=>u(h,e.id));if(c[e.id]){const h=c[e.id];h>0&&o.push(...v.generateLoadingRows(h,{parentId:e.id}))}A.subRows=o}}r.push(A)}return r.push(...q()),r}if(!C){const r=[];for(const e of p.values())e.id&&r.push(u(e));for(const e of g||[])r.push(e);if(O){const e=U;{const t=v.generateLoadingRows(e,{type:"task"});r.push(...t)}}return r}const i=new Map,a=[];for(const r of R){const e=s.get(r);if(!e)continue;const t=D.linksToTableData(e.links,"folder",I.anatomy),n=y("folder",e.folderType),l={id:r,entityType:"folder",parentId:e.parentId||void 0,folderId:r||null,name:e.name||"",label:e.label||e.name||"",icon:n?.icon||null,color:n?.color||null,img:null,subRows:[],status:e.status,tags:e.tags||[],subType:e.folderType||null,ownAttrib:e.ownAttrib||[],path:e.path,folder:e.parents[e.parents.length-1]||void 0,attrib:e.attrib||{},childOnlyMatch:e.childOnlyMatch||!1,updatedAt:e.updatedAt,createdAt:e.createdAt,thumbnailHash:e.thumbnailHash,hasReviewables:e.hasReviewables||!1,hasVersions:e.hasVersions||!1,links:t};if(i.set(r,l),(!e.parentId||!s.has(e.parentId))&&a.push(l),f.has(r)){const T=(b.get(r)||[]).flatMap(d=>p.get(d)||[]);if(T.length||c[r]){const d=new Array(T.length);for(let o=0;o<T.length;o++)d[o]=u(T[o],r);if(c[r]){const o=c[r];if(o>0){const h=v.generateLoadingRows(o,{parentId:r});d.push(...h)}}l.subRows=d}}}for(const r of R){const e=S.get(r);if(!e||!f.has(e))continue;const t=i.get(r),n=i.get(e);!t||!n||n.subRows?.push(t)}a.push(...q());for(const r of g||[])a.push(r);return a},[s,p,b,g,R,S,f,C,P,j,c,O,E])}module.exports=V;
|
|
2
2
|
//# sourceMappingURL=useBuildProjectDataTable.cjs.js.map
|
package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildProjectDataTable.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n showEmptyFolders?: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n selectedFolders?: string[]\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n showEmptyFolders = false,\n loadingTasks = {},\n isLoadingMore = false,\n selectedFolders = [],\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', project.anatomy)\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n thumbnailHash: task.thumbnailHash,\n hasReviewables: task.hasReviewables || false,\n links: links,\n subtasks: task.subtasks || [],\n latestComments: task.latestComments || [],\n }\n }\n\n const createRootTaskRows = (): TableRow[] => {\n const rootTaskRows: TableRow[] = []\n for (const folderId of selectedFolders) {\n if (foldersMap.has(folderId)) continue\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n for (const taskId of folderTaskIds) {\n const task = tasksMap.get(taskId)\n if (task) rootTaskRows.push(createTaskRow(task))\n }\n }\n return rootTaskRows\n }\n\n // Flat folder view: all folders at root level, each expandable to show tasks\n if (isFlatFolderView) {\n const flatFolderRows: TableRow[] = []\n\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Use the folder's hasTasks flag (from REST data) to filter before tasks are loaded\n const hasTasks = folder.hasTasks ?? tasksByFolderMap.has(folder.id)\n // Skip folders without tasks when showEmptyFolders is off\n if (!showEmptyFolders && !hasTasks) continue\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const row: TableRow = {\n id: folder.id,\n entityType: 'folder',\n parentId: undefined, // flat — no parent nesting\n folderId: folder.id,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n // If folder is expanded, attach task subRows\n if (expandedFolderIds.has(folder.id)) {\n const folderTaskIds = tasksByFolderMap.get(folder.id) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folder.id]) {\n const taskRows = folderTasks.map((task) => createTaskRow(task, folder.id))\n\n if (loadingTasks[folder.id]) {\n const count = loadingTasks[folder.id]\n if (count > 0) {\n taskRows.push(...generateLoadingRows(count, { parentId: folder.id }))\n }\n }\n\n row.subRows = taskRows\n }\n }\n\n flatFolderRows.push(row)\n }\n\n flatFolderRows.push(...createRootTaskRows())\n\n return flatFolderRows\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n rootRows.push(...createRootTaskRows())\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n tasksByFolderMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders,\n loadingTasks,\n isLoadingMore,\n selectedFolders,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","isFlatFolderView","showEmptyFolders","loadingTasks","isLoadingMore","selectedFolders","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","createRootTaskRows","rootTaskRows","folderTaskIds","taskId","flatFolderRows","hasTasks","folderTypeData","row","folderTasks","taskRows","count","generateLoadingRows","flatRows","loadingTaskRows","rowsById","rootRows","i","childRow","parentRow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBuildProjectDataTable.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n showEmptyFolders?: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n selectedFolders?: string[]\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n showEmptyFolders = false,\n loadingTasks = {},\n isLoadingMore = false,\n selectedFolders = [],\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', project.anatomy)\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n thumbnailHash: task.thumbnailHash,\n hasReviewables: task.hasReviewables || false,\n links: links,\n subtasks: task.subtasks || [],\n latestComments: task.latestComments || [],\n }\n }\n\n const createRootTaskRows = (): TableRow[] => {\n const rootTaskRows: TableRow[] = []\n for (const folderId of selectedFolders) {\n if (foldersMap.has(folderId)) continue\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n for (const taskId of folderTaskIds) {\n const task = tasksMap.get(taskId)\n if (task) rootTaskRows.push(createTaskRow(task))\n }\n }\n return rootTaskRows\n }\n\n // Flat folder view: all folders at root level, each expandable to show tasks\n if (isFlatFolderView) {\n const flatFolderRows: TableRow[] = []\n\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Use the folder's hasTasks flag (from REST data) to filter before tasks are loaded\n const hasTasks = folder.hasTasks ?? tasksByFolderMap.has(folder.id)\n // Skip folders without tasks when showEmptyFolders is off\n if (!showEmptyFolders && !hasTasks) continue\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const row: TableRow = {\n id: folder.id,\n entityType: 'folder',\n parentId: undefined, // flat — no parent nesting\n folderId: folder.id,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n // If folder is expanded, attach task subRows\n if (expandedFolderIds.has(folder.id)) {\n const folderTaskIds = tasksByFolderMap.get(folder.id) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folder.id]) {\n const taskRows = folderTasks.map((task) => createTaskRow(task, folder.id))\n\n if (loadingTasks[folder.id]) {\n const count = loadingTasks[folder.id]\n if (count > 0) {\n taskRows.push(...generateLoadingRows(count, { parentId: folder.id }))\n }\n }\n\n row.subRows = taskRows\n }\n }\n\n flatFolderRows.push(row)\n }\n\n flatFolderRows.push(...createRootTaskRows())\n\n return flatFolderRows\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n rootRows.push(...createRootTaskRows())\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n tasksByFolderMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders,\n loadingTasks,\n isLoadingMore,\n selectedFolders,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","isFlatFolderView","showEmptyFolders","loadingTasks","isLoadingMore","selectedFolders","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","createRootTaskRows","rootTaskRows","folderTaskIds","taskId","flatFolderRows","hasTasks","folderTypeData","row","folderTasks","taskRows","count","generateLoadingRows","flatRows","loadingTaskRows","rowsById","rootRows","i","childRow","parentRow"],"mappings":"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"}
|
|
@@ -208,8 +208,7 @@ import "../widgets/CellWidget.es.js";
|
|
|
208
208
|
import "../widgets/EntityNameWidget.es.js";
|
|
209
209
|
import "../widgets/GroupHeaderWidget.es.js";
|
|
210
210
|
import "../widgets/ThumbnailWidget.es.js";
|
|
211
|
-
import "../
|
|
212
|
-
import "../context/SelectedRowsContext.es.js";
|
|
211
|
+
import "../widgets/LinksWidget.es.js";
|
|
213
212
|
import "../../../components/LinksManager/LinksManager.styled.es.js";
|
|
214
213
|
import "../context/ProjectTableContext.es.js";
|
|
215
214
|
import "../widgets/EmptyWidget.es.js";
|
|
@@ -226,7 +225,9 @@ import "../context/SelectionCellsContext.es.js";
|
|
|
226
225
|
import "../context/ProjectDataContext.es.js";
|
|
227
226
|
import "../context/CellEditingContext.es.js";
|
|
228
227
|
import "../components/TableFooterRow.es.js";
|
|
228
|
+
import "../context/SelectedRowsContext.es.js";
|
|
229
229
|
import "../context/ColumnSettingsContext.es.js";
|
|
230
|
+
import "../context/DetailsPanelEntityContext.es.js";
|
|
230
231
|
import "../../EntityPickerDialog/EntityPickerDialog.es.js";
|
|
231
232
|
import "../../Slicer/components/Slicer.es.js";
|
|
232
233
|
import "../../Slicer/context/SlicerContext.es.js";
|
|
@@ -290,7 +291,7 @@ import "../../../components/ReviewablesSelector/ReviewablesSelector.es.js";
|
|
|
290
291
|
import "../../../components/ColumnHeaderMenuUI.es.js";
|
|
291
292
|
import { linksToTableData as D } from "../utils/linksToTableData.es.js";
|
|
292
293
|
const K = 100;
|
|
293
|
-
function
|
|
294
|
+
function nm({
|
|
294
295
|
foldersMap: s,
|
|
295
296
|
tasksMap: h,
|
|
296
297
|
rows: g,
|
|
@@ -515,6 +516,6 @@ function em({
|
|
|
515
516
|
]);
|
|
516
517
|
}
|
|
517
518
|
export {
|
|
518
|
-
|
|
519
|
+
nm as default
|
|
519
520
|
};
|
|
520
521
|
//# sourceMappingURL=useBuildProjectDataTable.es.js.map
|
package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildProjectDataTable.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n showEmptyFolders?: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n selectedFolders?: string[]\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n showEmptyFolders = false,\n loadingTasks = {},\n isLoadingMore = false,\n selectedFolders = [],\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', project.anatomy)\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n thumbnailHash: task.thumbnailHash,\n hasReviewables: task.hasReviewables || false,\n links: links,\n subtasks: task.subtasks || [],\n latestComments: task.latestComments || [],\n }\n }\n\n const createRootTaskRows = (): TableRow[] => {\n const rootTaskRows: TableRow[] = []\n for (const folderId of selectedFolders) {\n if (foldersMap.has(folderId)) continue\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n for (const taskId of folderTaskIds) {\n const task = tasksMap.get(taskId)\n if (task) rootTaskRows.push(createTaskRow(task))\n }\n }\n return rootTaskRows\n }\n\n // Flat folder view: all folders at root level, each expandable to show tasks\n if (isFlatFolderView) {\n const flatFolderRows: TableRow[] = []\n\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Use the folder's hasTasks flag (from REST data) to filter before tasks are loaded\n const hasTasks = folder.hasTasks ?? tasksByFolderMap.has(folder.id)\n // Skip folders without tasks when showEmptyFolders is off\n if (!showEmptyFolders && !hasTasks) continue\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const row: TableRow = {\n id: folder.id,\n entityType: 'folder',\n parentId: undefined, // flat — no parent nesting\n folderId: folder.id,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n // If folder is expanded, attach task subRows\n if (expandedFolderIds.has(folder.id)) {\n const folderTaskIds = tasksByFolderMap.get(folder.id) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folder.id]) {\n const taskRows = folderTasks.map((task) => createTaskRow(task, folder.id))\n\n if (loadingTasks[folder.id]) {\n const count = loadingTasks[folder.id]\n if (count > 0) {\n taskRows.push(...generateLoadingRows(count, { parentId: folder.id }))\n }\n }\n\n row.subRows = taskRows\n }\n }\n\n flatFolderRows.push(row)\n }\n\n flatFolderRows.push(...createRootTaskRows())\n\n return flatFolderRows\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n rootRows.push(...createRootTaskRows())\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n tasksByFolderMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders,\n loadingTasks,\n isLoadingMore,\n selectedFolders,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","isFlatFolderView","showEmptyFolders","loadingTasks","isLoadingMore","selectedFolders","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","createRootTaskRows","rootTaskRows","folderTaskIds","taskId","flatFolderRows","hasTasks","folderTypeData","row","folderTasks","taskRows","count","generateLoadingRows","flatRows","loadingTaskRows","rowsById","rootRows","i","childRow","parentRow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBuildProjectDataTable.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n showEmptyFolders?: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n selectedFolders?: string[]\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n showEmptyFolders = false,\n loadingTasks = {},\n isLoadingMore = false,\n selectedFolders = [],\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', project.anatomy)\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n thumbnailHash: task.thumbnailHash,\n hasReviewables: task.hasReviewables || false,\n links: links,\n subtasks: task.subtasks || [],\n latestComments: task.latestComments || [],\n }\n }\n\n const createRootTaskRows = (): TableRow[] => {\n const rootTaskRows: TableRow[] = []\n for (const folderId of selectedFolders) {\n if (foldersMap.has(folderId)) continue\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n for (const taskId of folderTaskIds) {\n const task = tasksMap.get(taskId)\n if (task) rootTaskRows.push(createTaskRow(task))\n }\n }\n return rootTaskRows\n }\n\n // Flat folder view: all folders at root level, each expandable to show tasks\n if (isFlatFolderView) {\n const flatFolderRows: TableRow[] = []\n\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Use the folder's hasTasks flag (from REST data) to filter before tasks are loaded\n const hasTasks = folder.hasTasks ?? tasksByFolderMap.has(folder.id)\n // Skip folders without tasks when showEmptyFolders is off\n if (!showEmptyFolders && !hasTasks) continue\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const row: TableRow = {\n id: folder.id,\n entityType: 'folder',\n parentId: undefined, // flat — no parent nesting\n folderId: folder.id,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n // If folder is expanded, attach task subRows\n if (expandedFolderIds.has(folder.id)) {\n const folderTaskIds = tasksByFolderMap.get(folder.id) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folder.id]) {\n const taskRows = folderTasks.map((task) => createTaskRow(task, folder.id))\n\n if (loadingTasks[folder.id]) {\n const count = loadingTasks[folder.id]\n if (count > 0) {\n taskRows.push(...generateLoadingRows(count, { parentId: folder.id }))\n }\n }\n\n row.subRows = taskRows\n }\n }\n\n flatFolderRows.push(row)\n }\n\n flatFolderRows.push(...createRootTaskRows())\n\n return flatFolderRows\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n rootRows.push(...createRootTaskRows())\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n tasksByFolderMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders,\n loadingTasks,\n isLoadingMore,\n selectedFolders,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","isFlatFolderView","showEmptyFolders","loadingTasks","isLoadingMore","selectedFolders","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","createRootTaskRows","rootTaskRows","folderTaskIds","taskId","flatFolderRows","hasTasks","folderTypeData","row","folderTasks","taskRows","count","generateLoadingRows","flatRows","loadingTaskRows","rowsById","rootRows","i","childRow","parentRow"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const Q=require("../../ContextMenu/useCreateContextMenu.cjs.js"),X=require("./useDeleteEntities.cjs.js"),d=require("../../../util/platform.cjs.js"),c=require("../utils/cellUtils.cjs.js"),Z=require("../context/ClipboardContext.cjs.js"),ee=require("../context/SelectionCellsContext.cjs.js"),re=require("../context/ProjectTableContext.cjs.js"),b=require("../constants.cjs.js"),ie=require("../context/ProjectDataContext.cjs.js"),te=require("../context/CellEditingContext.cjs.js"),k=require("./useBuildGroupByTableData.cjs.js");require("@ynput/ayon-react-components");require("../../../components/SearchFilter/filterDates.cjs.js");require("date-fns");require("short-uuid");const ue=require("../utils/getEntityViewerIds.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.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");const ne=require("react");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("clsx");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("react-toastify");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/dataImport.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/projectFolders.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/columnStats/metricTargets.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/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const oe=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.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("remark-emoji");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/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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("../ProjectTreeTable.styled.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");const qe=require("../utils/restrictedEntity.cjs.js");require("../components/TableFooterRow.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.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/FeedbackContextInstance.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("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.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/CustomDateRangeDialog.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/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/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const se=({attribs:w,headerLabels:F=[],onOpenNew:a,contextMenuItems:x})=>{const{projectName:A}=oe.useProjectContext(),{showHierarchy:p,getEntityById:y,toggleExpandAll:_,toggleExpands:g,expanded:E,contextMenuItems:R=[],powerpack:O,onOpenPlayer:M}=re.useProjectTableContext(),K=ne.useMemo(()=>[...R,...x||[]],[R,x]),{canWriteLabelPermission:W,canWriteNamePermission:j}=ie.useProjectDataContext(),{copyToClipboard:T,exportCSV:v,pasteFromClipboard:B}=Z.useClipboard(),{selectedCells:P,clearSelection:L,selectCell:D,focusCell:U}=ee.useSelectionCellsContext(),{inheritFromParent:V,history:S,setEditingCellId:N}=te.useCellEditing(),Y=X({}),[H]=Q.useCreateContextMenu([],O),$=t=>t.reduce((e,o)=>{const{rowId:r,colId:u}=c.parseCellId(o)||{};if(!r||!u||!u.startsWith("attrib_"))return e;const i=y(r);if(!i)return e;const l=i.entityId||i.id,q=u.replace("attrib_",""),m=w.find(s=>s.name===q)?.data.inherit;if(i.ownAttrib?.includes(q)&&m){const s=e.findIndex(I=>I.entityId===l);s>=0?e[s].attribs.includes(q)||e[s].attribs.push(q):e.push({rowId:l,entityId:l,entityType:"folderId"in i?"task":"folder",attribs:[q],ownAttrib:i.ownAttrib||[],folderId:i.parentId??i.folderId})}return e},[]),z={"copy-paste":(t,e,o,r)=>[{label:"Copy",icon:"content_copy",shortcut:d.getPlatformShortcutKey("c",[d.KeyMode.Ctrl]),command:()=>T(r.selectedCells),hidden:e.isGroup||e.columnId==="thumbnail"},{label:`Copy row${r.selectedFullRows.length>1?"s":""}`,icon:"content_copy",command:()=>T(r.selectedFullRows,!0),hidden:e.columnId!=="name"||!r.selectedFullRows.some(u=>c.parseCellId(u)?.rowId===c.parseCellId(e.cellId)?.rowId)},{label:"Paste",icon:"content_paste",shortcut:d.getPlatformShortcutKey("v",[d.KeyMode.Ctrl]),command:()=>B(r.selectedCells),hidden:e.columnId==="name"||e.columnId==="thumbnail"||e.isGroup,disabled:e.attribField?.readOnly}],"show-details":(t,e,o,r)=>({label:"Show details",icon:"dock_to_left",shortcut:"Double click",command:()=>{const u=c.getCellId(e.entityId,b.ROW_SELECTION_COLUMN_ID);D(u,!1,!1)},hidden:e.columnId!=="name"||r.selectedRows.length>1||e.isGroup||qe.isEntityRestricted(e.entityType)}),rename:(t,e)=>({label:"Rename",icon:"titlecase",shortcut:"R",command:()=>{const o=c.getCellId(e.entityId,"name");N(o)},hidden:e.columnId!=="name"||e.isGroup||e.entityType!=="folder"&&e.entityType!=="task",disabled:!(j||W)}),"expand-collapse":(t,e,o,r)=>[{label:"Expand children",icon:"expand_all",shortcut:d.getPlatformShortcutKey("click",[d.KeyMode.Alt]),command:()=>_(r.selectedRows,!0),hidden:e.columnId!=="name"||e.entityType!=="folder"},{label:"Collapse children",icon:"collapse_all",shortcut:d.getPlatformShortcutKey("click",[d.KeyMode.Alt]),command:()=>_(r.selectedRows,!1),hidden:e.columnId!=="name"||e.entityType!=="folder"},{label:"Expand",icon:"expand_all",command:()=>g(r.selectedRows,!0),hidden:e.columnId!=="name"||!e.isGroup||E[e.entityId]},{label:"Collapse",icon:"collapse_all",command:()=>g(r.selectedRows,!1),hidden:e.columnId!=="name"||!e.isGroup||!E[e.entityId]}],delete:(t,e,o,r)=>({label:"Delete",icon:"delete",danger:!0,command:()=>Y(r.selectedRows),hidden:e.columnId!=="name"||e.isGroup}),inherit:(t,e,o,r)=>{const u=$(r.selectedCells),i=u.length>0&&p&&!(r.selectedRows.length>1&&r.selectedColumns.length>1);return{label:"Inherit from parent",icon:"disabled_by_default",command:()=>V(u),hidden:!i}},export:(t,e)=>({label:"Export selection",icon:"download",command:()=>v(Array.from(P),A),hidden:e.isGroup}),"create-folder":(t,e)=>[{label:"Create folder",icon:"create_new_folder",command:()=>a?.("folder"),hidden:e.columnId!=="name"||!p||!a},{label:"Create root folder",icon:"create_new_folder",command:()=>{L(),a?.("folder")},hidden:e.columnId!=="name"||!p||!a}],"create-task":(t,e)=>({label:"Create task",icon:"add_task",command:()=>a?.("task"),hidden:e.columnId!=="name"||!p||!a}),"open-viewer":(t,e,o,r)=>({label:"Open in viewer",icon:"play_circle",shortcut:"Spacebar",command:()=>{if(M){const u=y(e.entityId);if(u){const i=ue.getEntityViewierIds(u);M(i,{quickView:!0})}}},hidden:e.columnId!=="thumbnail"&&e.columnId!=="name"||e.isGroup||e.entityType==="unknown"})},G=t=>{const{rowId:e,colId:o}=c.parseCellId(t)||{};if(!e||!o)return;const r=y(e),u=w.find(q=>q.name===o?.replace("attrib_","")),i=F.find(q=>q.id===o),l=r?"parentId"in r?r.parentId:"folderId"in r?r.folderId:void 0:void 0;return{cellId:t,columnId:o,entityId:r?.entityId||r?.id||e,entityType:r?.entityType,parentId:l,attribField:u,isGroup:e.startsWith(k.GROUP_BY_ID),column:{id:o,label:i?.label||""},data:r}};return{handleTableBodyContextMenu:t=>{const r=t.target.closest("td")?.firstElementChild?.id;if(!r)return;const u=G(r);if(!u)return;let i=Array.from(P);(!i.includes(r)||!i.length)&&(i=[r],D(r,!1,!1),U(r));const l=i.filter(n=>c.parseCellId(n)?.colId!==b.ROW_SELECTION_COLUMN_ID),q=i.flatMap(n=>G(n)||[]),C=[...new Map(q.map(n=>[n.entityId,n])).values()],m=[],s=[],I=[],f=[];for(const{entityId:n,columnId:h}of C)n&&!m.includes(n)&&m.push(n),h&&!s.includes(h)&&s.push(h),h===b.ROW_SELECTION_COLUMN_ID&&!I.includes(n)&&I.push(n),n.startsWith(k.GROUP_BY_ID)&&f.push(n);const J=K.flatMap(n=>typeof n=="function"?n(t,u,C,{selectedCells:l,selectedRows:m,selectedColumns:s,selectedFullRows:I,selectedGroups:f},{history:S}):z[n]?.(t,u,C,{selectedCells:l,selectedRows:m,selectedColumns:s,selectedFullRows:I,selectedGroups:f},{history:S}));H(t,J)}}};module.exports=se;
|
|
1
|
+
"use strict";const Q=require("../../ContextMenu/useCreateContextMenu.cjs.js"),X=require("./useDeleteEntities.cjs.js"),d=require("../../../util/platform.cjs.js"),c=require("../utils/cellUtils.cjs.js"),Z=require("../context/ClipboardContext.cjs.js"),ee=require("../context/SelectionCellsContext.cjs.js"),re=require("../context/ProjectTableContext.cjs.js"),b=require("../constants.cjs.js"),ie=require("../context/ProjectDataContext.cjs.js"),te=require("../context/CellEditingContext.cjs.js"),k=require("./useBuildGroupByTableData.cjs.js");require("@ynput/ayon-react-components");require("../../../components/SearchFilter/filterDates.cjs.js");require("date-fns");require("short-uuid");const ue=require("../utils/getEntityViewerIds.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.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("../widgets/LinksWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");const ne=require("react");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("clsx");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("react-toastify");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/dataImport.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/projectFolders.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/columnStats/metricTargets.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/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const oe=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.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("remark-emoji");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/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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("../ProjectTreeTable.styled.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");const qe=require("../utils/restrictedEntity.cjs.js");require("../components/TableFooterRow.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.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/FeedbackContextInstance.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("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.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/CustomDateRangeDialog.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/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/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const se=({attribs:w,headerLabels:F=[],onOpenNew:a,contextMenuItems:x})=>{const{projectName:A}=oe.useProjectContext(),{showHierarchy:p,getEntityById:y,toggleExpandAll:_,toggleExpands:g,expanded:E,contextMenuItems:R=[],powerpack:O,onOpenPlayer:M}=re.useProjectTableContext(),K=ne.useMemo(()=>[...R,...x||[]],[R,x]),{canWriteLabelPermission:W,canWriteNamePermission:j}=ie.useProjectDataContext(),{copyToClipboard:T,exportCSV:v,pasteFromClipboard:B}=Z.useClipboard(),{selectedCells:P,clearSelection:L,selectCell:D,focusCell:U}=ee.useSelectionCellsContext(),{inheritFromParent:V,history:S,setEditingCellId:N}=te.useCellEditing(),Y=X({}),[H]=Q.useCreateContextMenu([],O),$=t=>t.reduce((e,o)=>{const{rowId:r,colId:u}=c.parseCellId(o)||{};if(!r||!u||!u.startsWith("attrib_"))return e;const i=y(r);if(!i)return e;const l=i.entityId||i.id,q=u.replace("attrib_",""),m=w.find(s=>s.name===q)?.data.inherit;if(i.ownAttrib?.includes(q)&&m){const s=e.findIndex(I=>I.entityId===l);s>=0?e[s].attribs.includes(q)||e[s].attribs.push(q):e.push({rowId:l,entityId:l,entityType:"folderId"in i?"task":"folder",attribs:[q],ownAttrib:i.ownAttrib||[],folderId:i.parentId??i.folderId})}return e},[]),z={"copy-paste":(t,e,o,r)=>[{label:"Copy",icon:"content_copy",shortcut:d.getPlatformShortcutKey("c",[d.KeyMode.Ctrl]),command:()=>T(r.selectedCells),hidden:e.isGroup||e.columnId==="thumbnail"},{label:`Copy row${r.selectedFullRows.length>1?"s":""}`,icon:"content_copy",command:()=>T(r.selectedFullRows,!0),hidden:e.columnId!=="name"||!r.selectedFullRows.some(u=>c.parseCellId(u)?.rowId===c.parseCellId(e.cellId)?.rowId)},{label:"Paste",icon:"content_paste",shortcut:d.getPlatformShortcutKey("v",[d.KeyMode.Ctrl]),command:()=>B(r.selectedCells),hidden:e.columnId==="name"||e.columnId==="thumbnail"||e.isGroup,disabled:e.attribField?.readOnly}],"show-details":(t,e,o,r)=>({label:"Show details",icon:"dock_to_left",shortcut:"Double click",command:()=>{const u=c.getCellId(e.entityId,b.ROW_SELECTION_COLUMN_ID);D(u,!1,!1)},hidden:e.columnId!=="name"||r.selectedRows.length>1||e.isGroup||qe.isEntityRestricted(e.entityType)}),rename:(t,e)=>({label:"Rename",icon:"titlecase",shortcut:"R",command:()=>{const o=c.getCellId(e.entityId,"name");N(o)},hidden:e.columnId!=="name"||e.isGroup||e.entityType!=="folder"&&e.entityType!=="task",disabled:!(j||W)}),"expand-collapse":(t,e,o,r)=>[{label:"Expand children",icon:"expand_all",shortcut:d.getPlatformShortcutKey("click",[d.KeyMode.Alt]),command:()=>_(r.selectedRows,!0),hidden:e.columnId!=="name"||e.entityType!=="folder"},{label:"Collapse children",icon:"collapse_all",shortcut:d.getPlatformShortcutKey("click",[d.KeyMode.Alt]),command:()=>_(r.selectedRows,!1),hidden:e.columnId!=="name"||e.entityType!=="folder"},{label:"Expand",icon:"expand_all",command:()=>g(r.selectedRows,!0),hidden:e.columnId!=="name"||!e.isGroup||E[e.entityId]},{label:"Collapse",icon:"collapse_all",command:()=>g(r.selectedRows,!1),hidden:e.columnId!=="name"||!e.isGroup||!E[e.entityId]}],delete:(t,e,o,r)=>({label:"Delete",icon:"delete",danger:!0,command:()=>Y(r.selectedRows),hidden:e.columnId!=="name"||e.isGroup}),inherit:(t,e,o,r)=>{const u=$(r.selectedCells),i=u.length>0&&p&&!(r.selectedRows.length>1&&r.selectedColumns.length>1);return{label:"Inherit from parent",icon:"disabled_by_default",command:()=>V(u),hidden:!i}},export:(t,e)=>({label:"Export selection",icon:"download",command:()=>v(Array.from(P),A),hidden:e.isGroup}),"create-folder":(t,e)=>[{label:"Create folder",icon:"create_new_folder",command:()=>a?.("folder"),hidden:e.columnId!=="name"||!p||!a},{label:"Create root folder",icon:"create_new_folder",command:()=>{L(),a?.("folder")},hidden:e.columnId!=="name"||!p||!a}],"create-task":(t,e)=>({label:"Create task",icon:"add_task",command:()=>a?.("task"),hidden:e.columnId!=="name"||!p||!a}),"open-viewer":(t,e,o,r)=>({label:"Open in viewer",icon:"play_circle",shortcut:"Spacebar",command:()=>{if(M){const u=y(e.entityId);if(u){const i=ue.getEntityViewierIds(u);M(i,{quickView:!0})}}},hidden:e.columnId!=="thumbnail"&&e.columnId!=="name"||e.isGroup||e.entityType==="unknown"})},G=t=>{const{rowId:e,colId:o}=c.parseCellId(t)||{};if(!e||!o)return;const r=y(e),u=w.find(q=>q.name===o?.replace("attrib_","")),i=F.find(q=>q.id===o),l=r?"parentId"in r?r.parentId:"folderId"in r?r.folderId:void 0:void 0;return{cellId:t,columnId:o,entityId:r?.entityId||r?.id||e,entityType:r?.entityType,parentId:l,attribField:u,isGroup:e.startsWith(k.GROUP_BY_ID),column:{id:o,label:i?.label||""},data:r}};return{handleTableBodyContextMenu:t=>{const r=t.target.closest("td")?.firstElementChild?.id;if(!r)return;const u=G(r);if(!u)return;let i=Array.from(P);(!i.includes(r)||!i.length)&&(i=[r],D(r,!1,!1),U(r));const l=i.filter(n=>c.parseCellId(n)?.colId!==b.ROW_SELECTION_COLUMN_ID),q=i.flatMap(n=>G(n)||[]),C=[...new Map(q.map(n=>[n.entityId,n])).values()],m=[],s=[],I=[],f=[];for(const{entityId:n,columnId:h}of C)n&&!m.includes(n)&&m.push(n),h&&!s.includes(h)&&s.push(h),h===b.ROW_SELECTION_COLUMN_ID&&!I.includes(n)&&I.push(n),n.startsWith(k.GROUP_BY_ID)&&f.push(n);const J=K.flatMap(n=>typeof n=="function"?n(t,u,C,{selectedCells:l,selectedRows:m,selectedColumns:s,selectedFullRows:I,selectedGroups:f},{history:S}):z[n]?.(t,u,C,{selectedCells:l,selectedRows:m,selectedColumns:s,selectedFullRows:I,selectedGroups:f},{history:S}));H(t,J)}}};module.exports=se;
|
|
2
2
|
//# sourceMappingURL=useCellContextMenu.cjs.js.map
|