@ynput/ayon-frontend-shared 0.3.27 → 0.3.28
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 -23
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +404 -190
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +19 -18
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs14.js +1 -1
- package/dist/_virtual/index.cjs15.js +1 -1
- package/dist/_virtual/index.cjs19.js +1 -1
- package/dist/_virtual/index.cjs22.js +1 -1
- package/dist/_virtual/index.cjs23.js +1 -1
- package/dist/_virtual/index.cjs24.js +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es10.js +2 -2
- package/dist/_virtual/index.es11.js +2 -2
- package/dist/_virtual/index.es13.js +2 -2
- package/dist/_virtual/index.es14.js +5 -2
- package/dist/_virtual/index.es14.js.map +1 -1
- package/dist/_virtual/index.es15.js +2 -2
- package/dist/_virtual/index.es16.js +2 -2
- package/dist/_virtual/index.es17.js +2 -2
- package/dist/_virtual/index.es18.js +2 -2
- package/dist/_virtual/index.es19.js +2 -2
- package/dist/_virtual/index.es22.js +3 -3
- package/dist/_virtual/index.es23.js +5 -5
- package/dist/_virtual/index.es24.js +5 -5
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es9.js +2 -5
- package/dist/_virtual/index.es9.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +406 -402
- package/dist/api.es.js.map +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +15 -13
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +12 -10
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +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/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/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/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.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/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.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/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +1 -0
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +58 -36
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +125 -99
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js +69 -9
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js +95 -35
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/projectFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/projectFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +20 -19
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js +2 -0
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js +64 -0
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js.map +1 -0
- package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.es.js +27 -26
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +104 -103
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +118 -111
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/project/updateProject.cjs.js +1 -1
- package/dist/shared/src/api/queries/project/updateProject.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/project/updateProject.es.js +43 -19
- package/dist/shared/src/api/queries/project/updateProject.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +22 -21
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.es.js +24 -20
- package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.cjs.js +1 -1
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.cjs.js.map +1 -1
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.es.js +89 -88
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +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 +6 -2
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.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 +9 -7
- 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 -3
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +3 -2
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
- package/dist/shared/src/components/LinksManager/LinkManagerItem.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 +9 -7
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +3 -2
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -3
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +46 -43
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +5 -3
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.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 -3
- 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 +9 -7
- 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 +9 -7
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.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 -3
- 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 -4
- 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 -3
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.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 -2
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +67 -77
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.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 +192 -141
- 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 -5
- 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 -3
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +3 -2
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +41 -44
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +4 -4
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -3
- 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 +7 -5
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
- package/dist/shared/src/components/Watchers/Watchers.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 -3
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +5 -2
- package/dist/shared/src/containers/Actions/Actions.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 -3
- 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 -3
- 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 -3
- 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 -3
- 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 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.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 +20 -18
- 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 -3
- 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 -3
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +5 -2
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +5 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +67 -64
- 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 -3
- 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 -3
- 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 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +5 -4
- package/dist/shared/src/containers/Feed/Feed.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 -3
- 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 -3
- 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 -3
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +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 -3
- 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 -7
- 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 -3
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.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 +565 -563
- 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 +61 -50
- 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 +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +104 -102
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js +10 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.es.js +25 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.es.js.map +1 -0
- 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 -3
- 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 +114 -112
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.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 +8 -8
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.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 +21 -19
- 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 +113 -111
- 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 +109 -107
- 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 +106 -105
- 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 +107 -105
- 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 +101 -99
- 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 +337 -40
- 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 +123 -119
- 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 +100 -98
- 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 +125 -120
- 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 +103 -101
- 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 +9 -7
- 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 +9 -7
- 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 +112 -110
- 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 +100 -98
- 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 +110 -108
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/expandRelativeDates.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/expandRelativeDates.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 +89 -356
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +41 -39
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +29 -28
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +31 -32
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -5
- 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 +98 -96
- 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 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.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 -3
- 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 -3
- 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 -3
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +53 -49
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +3 -2
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.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 +9 -7
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +21 -149
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +54 -53
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +3 -2
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +5 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.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 +10 -8
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +23 -20
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +8 -5
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +7 -4
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.es.js +5 -4
- package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +9 -6
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.es.js +5 -4
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +7 -4
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +7 -4
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/UriContext.cjs.js +1 -1
- package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
- package/dist/shared/src/context/UriContext.es.js +6 -5
- package/dist/shared/src/context/UriContext.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 -5
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +5 -2
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +2 -0
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +31 -0
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -0
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedTypes.es.js +3 -2
- package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js +43 -44
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
- package/dist/shared/src/util/formatUTCDate.cjs.js +2 -0
- package/dist/shared/src/util/formatUTCDate.cjs.js.map +1 -0
- package/dist/shared/src/util/formatUTCDate.es.js +9 -0
- package/dist/shared/src/util/formatUTCDate.es.js.map +1 -0
- package/dist/shared/src/util/getProjectDisplayName.cjs.js +2 -0
- package/dist/shared/src/util/getProjectDisplayName.cjs.js.map +1 -0
- package/dist/shared/src/util/getProjectDisplayName.es.js +5 -0
- package/dist/shared/src/util/getProjectDisplayName.es.js.map +1 -0
- package/dist/types/api/generated/graphql.d.ts +38 -0
- package/dist/types/api/generated/graphqlLinks.d.ts +10 -4
- package/dist/types/api/generated/projectFolders.d.ts +1 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +7 -0
- package/dist/types/api/queries/activities/updateActivities.d.ts +14 -0
- package/dist/types/api/queries/entities/getEntity.d.ts +7 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +7 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +7 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +7 -0
- package/dist/types/api/queries/folders/getFolderDeleteInfo.d.ts +566 -0
- package/dist/types/api/queries/folders/index.d.ts +1 -0
- package/dist/types/api/queries/links/getLinks.d.ts +1 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +7 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +7 -0
- package/dist/types/api/queries/users/getUsers.d.ts +7 -0
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +14 -0
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +1 -0
- package/dist/types/components/ReviewablesSelector/ReviewablesSelector.d.ts +7 -2
- package/dist/types/components/ReviewablesSelector/index.d.ts +1 -0
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +2 -1
- package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/components/DeleteConfirmContent.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/utils/expandRelativeDates.d.ts +1 -1
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +1 -0
- package/dist/types/containers/Slicer/hooks/useSlicerViewSync.d.ts +3 -7
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useReviewablesKeyboardNavigation.d.ts +13 -0
- package/dist/types/util/buildHierarchicalTableRows.d.ts +2 -0
- package/dist/types/util/confirmDelete.d.ts +1 -1
- package/dist/types/util/formatUTCDate.d.ts +1 -0
- package/dist/types/util/getProjectDisplayName.d.ts +6 -0
- package/dist/types/util/index.d.ts +1 -0
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +23 -21
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ import "./widgets/EnumCellValue.es.js";
|
|
|
7
7
|
import "./widgets/TextWidget.es.js";
|
|
8
8
|
import "./widgets/BooleanWidget.es.js";
|
|
9
9
|
import { CellWidget as b } from "./widgets/CellWidget.es.js";
|
|
10
|
-
import { EntityNameWidget as
|
|
10
|
+
import { EntityNameWidget as B } from "./widgets/EntityNameWidget.es.js";
|
|
11
11
|
import { GroupHeaderWidget as w } from "./widgets/GroupHeaderWidget.es.js";
|
|
12
12
|
import { ThumbnailWidget as ii } from "./widgets/ThumbnailWidget.es.js";
|
|
13
13
|
import "../../components/AddonLoadingScreen/AddonLoadingScreen.es.js";
|
|
@@ -93,6 +93,7 @@ import "../../api/queries/entityLists/getListsAttributes.es.js";
|
|
|
93
93
|
import "../../api/queries/entityLists/updateListsAttributes.es.js";
|
|
94
94
|
import "../../api/queries/entityLists/listFolders.es.js";
|
|
95
95
|
import "../../api/queries/folders/getFolders.es.js";
|
|
96
|
+
import "../../api/queries/folders/getFolderDeleteInfo.es.js";
|
|
96
97
|
import "../../api/queries/grouping/getGrouping.es.js";
|
|
97
98
|
import "../../api/queries/links/updateLinks.es.js";
|
|
98
99
|
import "../../api/queries/links/getLinks.es.js";
|
|
@@ -191,15 +192,15 @@ import "../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.style
|
|
|
191
192
|
import "../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
|
|
192
193
|
import "../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
|
|
193
194
|
import "@tanstack/react-virtual";
|
|
194
|
-
import { getCellId as
|
|
195
|
-
import { TableCellContent as
|
|
195
|
+
import { getCellId as _, getCellValue as H } from "./utils/cellUtils.es.js";
|
|
196
|
+
import { TableCellContent as F, LinkColumnHeader as ti } from "./ProjectTreeTable.styled.es.js";
|
|
196
197
|
import { SelectionCell as ni } from "./components/SelectionCell.es.js";
|
|
197
198
|
import ri from "./components/RowSelectionHeader.es.js";
|
|
198
199
|
import { ROW_SELECTION_COLUMN_ID as U } from "./context/SelectionCellsContext.es.js";
|
|
199
200
|
import { useCellEditing as ai } from "./context/CellEditingContext.es.js";
|
|
200
201
|
import "../../components/SearchFilter/filterDates.es.js";
|
|
201
202
|
import "short-uuid";
|
|
202
|
-
import { isEntityRestricted as
|
|
203
|
+
import { isEntityRestricted as K, READ_ONLY as oi } from "./utils/restrictedEntity.es.js";
|
|
203
204
|
import "./context/ProjectTableQueriesContext.es.js";
|
|
204
205
|
import "./context/ProjectTableContext.es.js";
|
|
205
206
|
import "./context/ClipboardContext.es.js";
|
|
@@ -207,6 +208,7 @@ import { useColumnSettingsContext as li } from "./context/ColumnSettingsContext.
|
|
|
207
208
|
import { NEXT_PAGE_ID as h, parseGroupId as si } from "./hooks/useBuildGroupByTableData.es.js";
|
|
208
209
|
import "./context/SelectedRowsContext.es.js";
|
|
209
210
|
import "./context/DetailsPanelEntityContext.es.js";
|
|
211
|
+
import "./components/DeleteConfirmContent.es.js";
|
|
210
212
|
import "./context/ProjectDataContext.es.js";
|
|
211
213
|
import "../../../../_virtual/runtime.es.js";
|
|
212
214
|
import "../../../../_virtual/semver.es.js";
|
|
@@ -270,28 +272,28 @@ import "../../components/VersionUploader/context/VersionUploadContext.es.js";
|
|
|
270
272
|
import "../../components/Watchers/Watchers.es.js";
|
|
271
273
|
import "../../components/Menu/Menu.styled.es.js";
|
|
272
274
|
import "../../components/Menu/MenuItem.es.js";
|
|
273
|
-
import "../../components/ReviewablesSelector/ReviewablesSelector.
|
|
275
|
+
import "../../components/ReviewablesSelector/ReviewablesSelector.es.js";
|
|
274
276
|
import "./widgets/EmptyWidget.es.js";
|
|
275
277
|
import "./widgets/ErrorWidget.es.js";
|
|
276
278
|
import { MetaWidget as mi } from "./widgets/MetaWidget.es.js";
|
|
277
|
-
const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, ...u) => p.original.isLoading !== m.original.isLoading ? p.original.isLoading ? 1 : -1 : a(p, m, ...u),
|
|
279
|
+
const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, ...u) => p.original.isLoading !== m.original.isLoading ? p.original.isLoading ? 1 : -1 : a(p, m, ...u), Y = new Intl.Collator(void 0, { numeric: !0, sensitivity: "base" }), O = (a) => (p, m, ...u) => {
|
|
278
280
|
const I = a(p, m, ...u);
|
|
279
281
|
if (I !== 0) return I;
|
|
280
282
|
const L = p.original.label || p.original.name || "", R = m.original.label || m.original.name || "";
|
|
281
|
-
return
|
|
283
|
+
return Y.compare(L, R);
|
|
282
284
|
}, N = (a, p) => {
|
|
283
285
|
const m = a.original.label || a.original.path || a.original.name || "", u = p.original.label || p.original.path || p.original.name || "";
|
|
284
|
-
return
|
|
285
|
-
},
|
|
286
|
-
const u =
|
|
286
|
+
return Y.compare(m, u);
|
|
287
|
+
}, X = (a, p, m) => {
|
|
288
|
+
const u = H(a.original, m), I = H(p.original, m), L = Array.isArray(u) ? u.length : u ? String(u).length : 0, R = Array.isArray(I) ? I.length : I ? String(I).length : 0;
|
|
287
289
|
return L - R;
|
|
288
|
-
},
|
|
289
|
-
const I =
|
|
290
|
+
}, M = (a, p, m, u) => {
|
|
291
|
+
const I = H(a.original, m), L = H(p.original, m);
|
|
290
292
|
if (u && u.enum) {
|
|
291
293
|
const R = u.enum.findIndex((E) => E.value === I), A = u.enum.findIndex((E) => E.value === L);
|
|
292
294
|
return R - A;
|
|
293
295
|
} else return u?.type === "datetime" ? j.datetime(a, p, m) : u?.type === "boolean" ? (I === !0 ? 1 : 0) - (L === !0 ? 1 : 0) : j.alphanumeric(a, p, m);
|
|
294
|
-
}, gi = (a, p) => `${a.linkType.charAt(0).toUpperCase() + a.linkType.slice(1)} (${p})`,
|
|
296
|
+
}, gi = (a, p) => `${a.linkType.charAt(0).toUpperCase() + a.linkType.slice(1)} (${p})`, Z = (a, p) => `${a.name.replaceAll("_", "").replaceAll("-", "").replaceAll("|", "_")}_${p}`, ci = (a, p) => `link_${Z(a, p)}`, Ca = ({
|
|
295
297
|
scopes: a,
|
|
296
298
|
attribs: p,
|
|
297
299
|
links: m = [],
|
|
@@ -301,9 +303,9 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
301
303
|
options: R,
|
|
302
304
|
excluded: A,
|
|
303
305
|
excludedSorting: E,
|
|
304
|
-
extraColumns:
|
|
305
|
-
groupBy:
|
|
306
|
-
nameLabel:
|
|
306
|
+
extraColumns: V,
|
|
307
|
+
groupBy: k,
|
|
308
|
+
nameLabel: q = "Entity"
|
|
307
309
|
}) => {
|
|
308
310
|
const y = [], g = (i) => !A?.includes(i), v = (i) => !E?.includes(i);
|
|
309
311
|
g(U) && y.push({
|
|
@@ -326,7 +328,7 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
326
328
|
if (i.original.entityType === "group" || i.original.metaType) return null;
|
|
327
329
|
const n = t.options.meta;
|
|
328
330
|
if (!n) return null;
|
|
329
|
-
const l =
|
|
331
|
+
const l = _(i.id, e.id);
|
|
330
332
|
let r = {
|
|
331
333
|
entityId: i.original.entityId || i.id,
|
|
332
334
|
entityType: i.original.entityType,
|
|
@@ -351,18 +353,18 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
351
353
|
}), g("name") && y.push({
|
|
352
354
|
id: "name",
|
|
353
355
|
accessorKey: "name",
|
|
354
|
-
header:
|
|
356
|
+
header: q,
|
|
355
357
|
minSize: T,
|
|
356
358
|
sortingFn: x(N),
|
|
357
|
-
enableSorting:
|
|
359
|
+
enableSorting: k && k.id !== "folder" ? !1 : v("name"),
|
|
358
360
|
enableResizing: !0,
|
|
359
361
|
enablePinning: !0,
|
|
360
|
-
enableHiding: !
|
|
362
|
+
enableHiding: !(k && k.id !== "folder"),
|
|
361
363
|
cell: ({ row: i, column: e, table: t }) => {
|
|
362
|
-
const { value: n, id: l, type: r } = f(i, e.id), o = t.options.meta, { isEditing: d } = ai(), { rowHeight: S = 40 } = li(), C =
|
|
364
|
+
const { value: n, id: l, type: r } = f(i, e.id), o = t.options.meta, { isEditing: d } = ai(), { rowHeight: S = 40 } = li(), C = _(i.id, e.id);
|
|
363
365
|
if (i.original.metaType)
|
|
364
366
|
return /* @__PURE__ */ s.jsx(
|
|
365
|
-
|
|
367
|
+
F,
|
|
366
368
|
{
|
|
367
369
|
id: C,
|
|
368
370
|
className: c("large", "readonly", i.original.entityType),
|
|
@@ -384,7 +386,7 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
384
386
|
);
|
|
385
387
|
const z = i.getCanExpand() && !!i.originalSubRows && (ui(i.original.entityType) || !!i.original.group);
|
|
386
388
|
return /* @__PURE__ */ s.jsxs(
|
|
387
|
-
|
|
389
|
+
F,
|
|
388
390
|
{
|
|
389
391
|
id: C,
|
|
390
392
|
className: c("large", i.original.entityType, {
|
|
@@ -411,7 +413,7 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
411
413
|
toggleExpanded: i.getToggleExpandedHandler()
|
|
412
414
|
}
|
|
413
415
|
) : /* @__PURE__ */ s.jsx(
|
|
414
|
-
|
|
416
|
+
B,
|
|
415
417
|
{
|
|
416
418
|
id: i.id,
|
|
417
419
|
label: i.original.label,
|
|
@@ -457,9 +459,11 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
457
459
|
accessorKey: "status",
|
|
458
460
|
minSize: T,
|
|
459
461
|
header: "Status",
|
|
460
|
-
sortingFn: x(
|
|
461
|
-
(
|
|
462
|
-
|
|
462
|
+
sortingFn: x(
|
|
463
|
+
O(
|
|
464
|
+
(i, e, t) => M(i, e, t, { enum: R.status, type: "string" })
|
|
465
|
+
)
|
|
466
|
+
),
|
|
463
467
|
sortDescFirst: !0,
|
|
464
468
|
enableSorting: v("status"),
|
|
465
469
|
enableResizing: !0,
|
|
@@ -481,7 +485,7 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
481
485
|
{ field: e.id, value: d, type: r, rowId: l },
|
|
482
486
|
{ selection: o?.selection }
|
|
483
487
|
),
|
|
484
|
-
isReadOnly: o?.readOnly?.includes(e.id) ||
|
|
488
|
+
isReadOnly: o?.readOnly?.includes(e.id) || K(r),
|
|
485
489
|
pt: {
|
|
486
490
|
enum: {
|
|
487
491
|
pt: {
|
|
@@ -513,9 +517,9 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
513
517
|
cell: ({ row: i, column: e, table: t }) => {
|
|
514
518
|
const { value: n, id: l, type: r } = f(i, e.id);
|
|
515
519
|
if (["group", h].includes(r) || i.original.metaType) return null;
|
|
516
|
-
const o =
|
|
520
|
+
const o = _(i.id, e.id);
|
|
517
521
|
return /* @__PURE__ */ s.jsxs(
|
|
518
|
-
|
|
522
|
+
F,
|
|
519
523
|
{
|
|
520
524
|
id: o,
|
|
521
525
|
className: c("entityType", oi, r, { loading: i.original.isLoading }),
|
|
@@ -537,9 +541,14 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
537
541
|
enableResizing: !0,
|
|
538
542
|
enablePinning: !0,
|
|
539
543
|
enableHiding: !0,
|
|
540
|
-
sortingFn: x(
|
|
541
|
-
(
|
|
542
|
-
|
|
544
|
+
sortingFn: x(
|
|
545
|
+
O(
|
|
546
|
+
(i, e, t) => M(i, e, t, {
|
|
547
|
+
enum: [...R.folderType, ...R.taskType],
|
|
548
|
+
type: "string"
|
|
549
|
+
})
|
|
550
|
+
)
|
|
551
|
+
),
|
|
543
552
|
cell: ({ row: i, column: e, table: t }) => {
|
|
544
553
|
const { value: n, id: l, type: r } = f(i, e.id);
|
|
545
554
|
if (["group", h].includes(r) || i.original.metaType) return null;
|
|
@@ -581,7 +590,7 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
581
590
|
enableResizing: !0,
|
|
582
591
|
enablePinning: !0,
|
|
583
592
|
enableHiding: !0,
|
|
584
|
-
sortingFn: x(O(
|
|
593
|
+
sortingFn: x(O(X)),
|
|
585
594
|
cell: ({ row: i, column: e, table: t }) => {
|
|
586
595
|
const n = t.options.meta, { value: l, id: r, type: o } = f(i, e.id);
|
|
587
596
|
return ["group", h].includes(o) || i.original.metaType ? null : o === "folder" ? /* @__PURE__ */ s.jsx(
|
|
@@ -607,7 +616,7 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
607
616
|
{ field: e.id, value: d, type: o, rowId: i.id },
|
|
608
617
|
{ selection: n?.selection }
|
|
609
618
|
),
|
|
610
|
-
isReadOnly: n?.readOnly?.includes(e.id) ||
|
|
619
|
+
isReadOnly: n?.readOnly?.includes(e.id) || K(o),
|
|
611
620
|
pt: {
|
|
612
621
|
enum: {
|
|
613
622
|
multiSelectClose: l?.length === 0,
|
|
@@ -729,7 +738,7 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
729
738
|
enableResizing: !0,
|
|
730
739
|
enablePinning: !0,
|
|
731
740
|
enableHiding: !0,
|
|
732
|
-
sortingFn: x(O(
|
|
741
|
+
sortingFn: x(O(X)),
|
|
733
742
|
cell: ({ row: i, column: e, table: t }) => {
|
|
734
743
|
const n = t.options.meta, { value: l, id: r, type: o } = f(i, e.id);
|
|
735
744
|
return ["group", h].includes(o) || i.original.metaType ? null : /* @__PURE__ */ s.jsx(
|
|
@@ -746,7 +755,7 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
746
755
|
{ field: e.id, value: d, type: o, rowId: i.id },
|
|
747
756
|
{ selection: n?.selection }
|
|
748
757
|
),
|
|
749
|
-
isReadOnly: n?.readOnly?.includes(e.id) ||
|
|
758
|
+
isReadOnly: n?.readOnly?.includes(e.id) || K(o),
|
|
750
759
|
enableCustomValues: !0
|
|
751
760
|
}
|
|
752
761
|
);
|
|
@@ -834,7 +843,7 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
834
843
|
);
|
|
835
844
|
}
|
|
836
845
|
});
|
|
837
|
-
const
|
|
846
|
+
const J = p.filter((i) => {
|
|
838
847
|
if (i.scope && !i.scope.some((t) => a.includes(t))) return !1;
|
|
839
848
|
const e = "attrib_" + i.name;
|
|
840
849
|
return !(!g(e) || i.builtin && !g("attrib"));
|
|
@@ -844,7 +853,9 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
844
853
|
header: i.data.title || i.name,
|
|
845
854
|
minSize: T,
|
|
846
855
|
filterFn: "fuzzy",
|
|
847
|
-
sortingFn: x(
|
|
856
|
+
sortingFn: x(
|
|
857
|
+
O((t, n, l) => M(t, n, l, i.data))
|
|
858
|
+
),
|
|
848
859
|
enableSorting: v(i.name) && v("attrib"),
|
|
849
860
|
enableResizing: !0,
|
|
850
861
|
enablePinning: !0,
|
|
@@ -866,20 +877,20 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
866
877
|
// check attrib is not read only
|
|
867
878
|
i.readOnly || // check if there is any other reason the cell should be read only
|
|
868
879
|
r?.readOnly?.some(
|
|
869
|
-
(
|
|
880
|
+
(P) => P === o || P === "attrib" && i.builtin
|
|
870
881
|
)
|
|
871
882
|
),
|
|
872
|
-
onChange: (
|
|
873
|
-
{ field: o, value:
|
|
883
|
+
onChange: (P) => r?.updateEntities?.(
|
|
884
|
+
{ field: o, value: P, type: C, isAttrib: !0, rowId: t.id },
|
|
874
885
|
{ selection: i.data.enum?.length ? r?.selection : void 0 }
|
|
875
886
|
)
|
|
876
887
|
}
|
|
877
888
|
);
|
|
878
889
|
}
|
|
879
|
-
})),
|
|
890
|
+
})), Q = u ? m.filter((i) => !(!g(i.linkType) || !g("link") || !a.includes(i.inputType) && !a.includes(i.outputType))).flatMap((i) => {
|
|
880
891
|
const e = (t) => ({
|
|
881
892
|
id: ci(i, t),
|
|
882
|
-
accessorKey: `links.${
|
|
893
|
+
accessorKey: `links.${Z(i, t)}`,
|
|
883
894
|
header: () => /* @__PURE__ */ s.jsxs(ti, { children: [
|
|
884
895
|
gi(i, t),
|
|
885
896
|
" ",
|
|
@@ -922,10 +933,10 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
922
933
|
}
|
|
923
934
|
});
|
|
924
935
|
return [e("in"), e("out")];
|
|
925
|
-
}) : [],
|
|
926
|
-
return
|
|
927
|
-
e >= 0 && e <
|
|
928
|
-
}),
|
|
936
|
+
}) : [], D = [...y, ...J, ...Q];
|
|
937
|
+
return V && V.forEach(({ column: i, position: e = -1 }) => {
|
|
938
|
+
e >= 0 && e < D.length ? D.splice(e, 0, i) : D.push(i);
|
|
939
|
+
}), D;
|
|
929
940
|
}, f = (a, p, m) => ({
|
|
930
941
|
value: m ? a.original[m]?.[p] : a.original[p],
|
|
931
942
|
id: a.id,
|
|
@@ -933,9 +944,9 @@ const ui = (a) => ["folder", "product"].includes(a), T = 50, x = (a) => (p, m, .
|
|
|
933
944
|
});
|
|
934
945
|
export {
|
|
935
946
|
T as COLUMN_MIN_SIZE,
|
|
936
|
-
|
|
947
|
+
Ca as default,
|
|
937
948
|
ci as getLinkColumnId,
|
|
938
|
-
|
|
949
|
+
Z as getLinkKey,
|
|
939
950
|
gi as getLinkLabel,
|
|
940
951
|
f as getValueIdType,
|
|
941
952
|
ui as isEntityExpandable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTreeTableColumns.es.js","sources":["../../../../../src/containers/ProjectTreeTable/buildTreeTableColumns.tsx"],"sourcesContent":["import { ColumnDef, FilterFnOption, Row, SortingFn, sortingFns } from '@tanstack/react-table'\nimport { TableRow } from './types/table'\nimport { AttributeData, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport {\n CellWidget,\n MetaWidget,\n EntityNameWidget,\n GroupHeaderWidget,\n ThumbnailWidget,\n} from './widgets'\nimport { getCellId, getCellValue, parseCellId } from './utils/cellUtils'\nimport { LinkColumnHeader, TableCellContent } from './ProjectTreeTable.styled'\nimport clsx from 'clsx'\nimport { SelectionCell } from './components/SelectionCell'\nimport RowSelectionHeader from './components/RowSelectionHeader'\nimport { ROW_SELECTION_COLUMN_ID } from './context/SelectionCellsContext'\nimport { TableGroupBy, useCellEditing, useColumnSettingsContext } from './context'\nimport { NEXT_PAGE_ID, parseGroupId } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\nimport { LinkTypeModel } from '@shared/api'\nimport { LinkWidgetData } from './widgets/LinksWidget'\nimport { SubtasksWidgetData } from './widgets/SubtasksWidget'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { getEntityTypeIcon } from '@shared/util'\nimport { NameWidgetData } from '@shared/components/RenameForm'\nimport { isEntityRestricted, READ_ONLY } from './utils/restrictedEntity'\nimport { getColumnDisplayConfig } from './types/columnConfig'\nimport { upperFirst } from 'lodash'\n\nexport const isEntityExpandable = (entityType: string) => ['folder', 'product'].includes(entityType)\n\nexport const COLUMN_MIN_SIZE = 50\n\n// Wrapper function for sorting that pushes isLoading rows to the bottom\nconst withLoadingStateSort = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n // If row loading states differ, prioritize non-loading rows\n if (rowA.original.isLoading !== rowB.original.isLoading) {\n return rowA.original.isLoading ? 1 : -1\n }\n // Otherwise, use the original sort function\n return sortFn(rowA, rowB, ...args)\n }\n}\n\nconst naturalSortCollator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' })\n\nconst withNameTieBreaker = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n const result = sortFn(rowA, rowB, ...args)\n if (result !== 0) return result\n const labelA = rowA.original.label || rowA.original.name || ''\n const labelB = rowB.original.label || rowB.original.name || ''\n return naturalSortCollator.compare(labelA, labelB)\n }\n}\n\nconst pathSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.label || rowA.original.path || rowA.original.name || ''\n const labelB = rowB.original.label || rowB.original.path || rowB.original.name || ''\n return naturalSortCollator.compare(labelA, labelB)\n}\n\nconst valueLengthSort: SortingFn<any> = (rowA, rowB, columnId) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n const lengthA = Array.isArray(valueA) ? valueA.length : valueA ? String(valueA).length : 0\n const lengthB = Array.isArray(valueB) ? valueB.length : valueB ? String(valueB).length : 0\n return lengthA - lengthB\n}\n\ntype AttribSortingFn = (rowA: any, rowB: any, columnId: string, attribute?: AttributeData) => number\n// sort by the order of the enum options\nconst attribSort: AttribSortingFn = (rowA, rowB, columnId, attrib) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n // if attrib is defined and has enum options, use them\n if (attrib && attrib.enum) {\n const indexA = attrib.enum.findIndex((o) => o.value === valueA)\n const indexB = attrib.enum.findIndex((o) => o.value === valueB)\n return indexA - indexB\n } else if (attrib?.type === 'datetime') {\n return sortingFns.datetime(rowA, rowB, columnId)\n } else if (attrib?.type === 'boolean') {\n const boolA = valueA === true ? 1 : 0\n const boolB = valueB === true ? 1 : 0\n return boolA - boolB\n } else {\n return sortingFns.alphanumeric(rowA, rowB, columnId)\n }\n}\n\nexport const getLinkLabel = (\n link: Pick<LinkTypeModel, 'linkType'>,\n direction: 'in' | 'out' | string,\n) => `${link.linkType.charAt(0).toUpperCase() + link.linkType.slice(1)} (${direction})`\n\nexport const getLinkKey = (link: Pick<LinkTypeModel, 'name'>, direction: 'in' | 'out' | string) =>\n `${link.name.replaceAll('_', '').replaceAll('-', '').replaceAll('|', '_')}_${direction}`\n\nexport const getLinkColumnId = (\n link: Pick<LinkTypeModel, 'name'>,\n direction: 'in' | 'out' | string,\n) => `link_${getLinkKey(link, direction)}`\n\nexport type DefaultColumns =\n | typeof ROW_SELECTION_COLUMN_ID\n | 'thumbnail'\n | 'name'\n | 'entityType'\n | 'folder'\n | 'status'\n | 'subType'\n | 'assignees'\n | 'tags'\n | 'createdAt'\n | 'updatedAt'\n\nexport type TreeTableExtraColumn = { column: ColumnDef<TableRow>; position?: number }\n\nexport type BuildTreeTableColumnsProps = {\n scopes: string[]\n attribs: ProjectTableAttribute[]\n links: LinkTypeModel[]\n includeLinks?: boolean\n showHierarchy: boolean\n isFlatFolderView?: boolean\n options: BuiltInFieldOptions\n excluded?: (DefaultColumns | string)[]\n excludedSorting?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n groupBy?: TableGroupBy\n nameLabel?: string\n}\n\nconst buildTreeTableColumns = ({\n scopes,\n attribs,\n links = [],\n includeLinks = true,\n showHierarchy,\n isFlatFolderView,\n options,\n excluded,\n excludedSorting,\n extraColumns,\n groupBy,\n nameLabel = 'Entity',\n}: BuildTreeTableColumnsProps) => {\n const staticColumns: ColumnDef<TableRow>[] = []\n\n // Helper to check if a column should be included\n const isIncluded = (id: DefaultColumns | string) => !excluded?.includes(id)\n const canSort = (id: DefaultColumns | string) => !excludedSorting?.includes(id)\n\n // Conditionally add static columns\n if (isIncluded(ROW_SELECTION_COLUMN_ID)) {\n staticColumns.push({\n id: ROW_SELECTION_COLUMN_ID,\n enableResizing: false,\n enableSorting: false,\n enablePinning: false,\n enableHiding: false,\n\n header: () => <RowSelectionHeader />,\n cell: ({ row }) => {\n if (row.original.entityType === 'group' || row.original.metaType) return null\n return <SelectionCell />\n },\n size: 20,\n })\n }\n\n if (isIncluded('thumbnail')) {\n staticColumns.push({\n id: 'thumbnail',\n header: 'Thumbnail',\n size: 63,\n minSize: 24,\n enableResizing: true,\n enableSorting: false,\n cell: ({ row, column, table }) => {\n if (row.original.entityType === 'group' || row.original.metaType) return null\n const meta = table.options.meta\n if (!meta) return null\n const cellId = getCellId(row.id, column.id)\n let thumbnail = {\n entityId: row.original.entityId || row.id,\n entityType: row.original.entityType,\n updatedAt: row.original.updatedAt,\n }\n // check for thumbnail override\n if (row.original.thumbnail) {\n thumbnail = row.original.thumbnail\n }\n return (\n <ThumbnailWidget\n id={cellId}\n entityId={thumbnail.entityId}\n entityType={thumbnail.entityType}\n updatedAt={thumbnail.updatedAt}\n icon={row.original.icon}\n projectName={meta?.projectName as string}\n className={clsx('thumbnail', {\n loading: row.original.isLoading,\n })}\n isPlayable={row.original.hasReviewables}\n />\n )\n },\n })\n }\n\n if (isIncluded('name')) {\n staticColumns.push({\n id: 'name',\n accessorKey: 'name',\n header: nameLabel,\n minSize: COLUMN_MIN_SIZE,\n sortingFn: withLoadingStateSort(pathSort),\n enableSorting: groupBy ? false : canSort('name'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: groupBy ? false : true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n const { isEditing } = useCellEditing()\n const { rowHeight = 40 } = useColumnSettingsContext()\n const cellId = getCellId(row.id, column.id)\n\n if (row.original.metaType) {\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', 'readonly', row.original.entityType)}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + 8px)`,\n pointerEvents: 'none',\n }}\n tabIndex={0}\n >\n <MetaWidget metaType={row.original.metaType} label={row.original.label} />\n </TableCellContent>\n )\n }\n\n if (row.original.entityType === NEXT_PAGE_ID && row.original.group) {\n return (\n <LoadMoreWidget\n id={row.original.group.value}\n onLoadMore={(id) => meta?.loadMoreRows?.(id)}\n />\n )\n }\n\n const isExpandable =\n row.getCanExpand() &&\n !!row.originalSubRows &&\n (isEntityExpandable(row.original.entityType) || !!row.original.group)\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', row.original.entityType, {\n loading: row.original.isLoading,\n hierarchy: showHierarchy,\n })}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + ${\n isExpandable || !row.getCanExpand() ? 0 : 32\n }px + 8px)`,\n }}\n tabIndex={0}\n >\n {row.original.group ? (\n <GroupHeaderWidget\n id={row.id}\n label={row.original.group.label}\n name={row.original.name}\n icon={row.original.group.icon}\n img={row.original.group.img}\n color={row.original.group.color}\n count={row.original.group.count}\n isExpanded={row.getIsExpanded()}\n isEmpty={row.original.group.count === 0}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n ) : (\n <EntityNameWidget\n id={row.id}\n label={row.original.label}\n name={row.original.name}\n path={!showHierarchy && !isFlatFolderView ? '/' + row.original.parents?.join('/') : undefined}\n entityType={row.original.entityType}\n subType={row.original.subType}\n isExpandable={isExpandable}\n isExpanded={row.getIsExpanded()}\n toggleExpandAll={() => meta?.toggleExpandAll?.([row.id])}\n toggleExpanded={row.getToggleExpandedHandler()}\n rowHeight={rowHeight}\n columnDisplayConfig={getColumnDisplayConfig(meta?.columnsConfig, 'name')}\n />\n )}\n {isEditing(cellId) && (\n <CellWidget\n rowId={id}\n className={clsx('name', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n valueData={\n {\n name: row.original.name,\n label: row.original.label,\n meta,\n entityRowId: id,\n columnId: column.id,\n hasVersions: !!row.original.hasVersions,\n } as NameWidgetData\n }\n entityType={type}\n attributeData={{ type: 'name' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('status')) {\n staticColumns.push({\n id: 'status',\n accessorKey: 'status',\n minSize: COLUMN_MIN_SIZE,\n header: 'Status',\n sortingFn: withLoadingStateSort(withNameTieBreaker((a, b, c) =>\n attribSort(a, b, c, { enum: options.status, type: 'string' }),\n )),\n sortDescFirst: true,\n enableSorting: canSort('status'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('status', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={meta?.options?.status.filter((s) => s.scope?.includes(type))}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n pt={{\n enum: {\n pt: {\n template: {\n pt: {\n icon: {\n style: {\n fontVariationSettings: \"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20\",\n },\n },\n },\n },\n },\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('entityType')) {\n staticColumns.push({\n id: 'entityType',\n accessorKey: 'entityType',\n header: 'Entity Type',\n minSize: 20,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.alphanumeric)),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const cellId = getCellId(row.id, column.id)\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('entityType', READ_ONLY, type, { loading: row.original.isLoading })}\n tabIndex={0}\n >\n <Icon icon={getEntityTypeIcon(type)} /> {upperFirst(value)}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('subType')) {\n staticColumns.push({\n id: 'subType',\n accessorKey: 'subType',\n header: scopes.includes('product') || scopes.includes('version') ? 'Product type' : 'Type',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('subType'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker((a, b, c) =>\n attribSort(a, b, c, { enum: [...options.folderType, ...options.taskType], type: 'string' }),\n )),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const fieldId = type === 'folder' ? 'folderType' : 'taskType'\n const meta = table.options.meta\n const folderHasVersions = type === 'folder' && row.original.hasVersions\n return (\n <CellWidget\n rowId={id}\n className={clsx('subType', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={\n type === 'folder'\n ? meta?.options?.folderType\n : type === 'task'\n ? meta?.options?.taskType\n : type === 'product' || type === 'version'\n ? meta?.options?.productType\n : []\n }\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: fieldId, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={\n meta?.readOnly?.includes(column.id) ||\n meta?.readOnly?.includes(fieldId) ||\n folderHasVersions\n }\n tooltip={\n folderHasVersions\n ? 'Folder type cannot be edited when versions exist within the folder'\n : undefined\n }\n pt={{\n enum: {\n pt: {\n template: {\n iconOnlyColor: true,\n },\n },\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('assignees')) {\n staticColumns.push({\n id: 'assignees',\n accessorKey: 'assignees',\n header: 'Assignees',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('assignees'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(valueLengthSort)),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n if (type === 'folder')\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value=\"\"\n isPlaceholder\n />\n )\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n pt={{\n enum: {\n multiSelectClose: value?.length === 0, // close the dropdown on first assignment\n search: true, // enable search at all times\n multipleOverride: false,\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('folder')) {\n staticColumns.push({\n id: 'folder',\n accessorKey: 'folder',\n header: 'Folder name',\n minSize: COLUMN_MIN_SIZE,\n sortingFn: withLoadingStateSort(pathSort),\n enableSorting: canSort('folderName'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('folder', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n // only show authors column for products\n if (isIncluded('author') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'author',\n accessorKey: 'author',\n header: 'Author',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('author'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('author', { loading: row.original.isLoading })}\n columnId={column.id}\n value={[value]}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isReadOnly={true}\n isInherited={type === 'product'} // products do not have authors, we just show the featured version's author\n />\n )\n },\n })\n }\n\n // version column for versions\n if (isIncluded('version') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'version',\n accessorKey: 'version',\n header: 'Version',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('version'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n let versionValue = row.original.versionName || value\n if (row.original.entityType === 'product') {\n // show summary of versions for products\n versionValue = `${row.original.versionName} (${row.original.versionsCount || 0} versions)`\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('version', { loading: row.original.isLoading })}\n columnId={column.id}\n value={versionValue}\n attributeData={{ type: 'string' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n // product name column for versions and products\n if (isIncluded('product') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'product',\n accessorKey: 'product',\n header: 'Product name',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('product'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('product', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n if (isIncluded('tags')) {\n staticColumns.push({\n id: 'tags',\n accessorKey: 'tags',\n header: 'Tags',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('tags'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(valueLengthSort)),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('tags', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.tag}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n enableCustomValues\n />\n )\n },\n })\n }\n\n if (isIncluded('createdAt')) {\n staticColumns.push({\n id: 'createdAt',\n accessorKey: 'createdAt',\n header: 'Created at',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('createdAt'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.datetime)),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('createdAt', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'datetime' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={true}\n pt={{ date: { showTime: true } }}\n />\n )\n },\n })\n }\n\n if (isIncluded('updatedAt')) {\n staticColumns.push({\n id: 'updatedAt',\n accessorKey: 'updatedAt',\n header: 'Updated at',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('updatedAt'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.datetime)),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('updatedAt', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'datetime' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={true}\n pt={{ date: { showTime: true } }}\n />\n )\n },\n })\n }\n\n if (isIncluded('subtasks') && scopes.includes('task')) {\n staticColumns.push({\n id: 'subtasks',\n accessorKey: 'subtasks',\n header: 'Subtasks',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n // only show for tasks\n if (type !== 'task') return <div className=\"readonly\"></div>\n\n const subtasksData: SubtasksWidgetData = {\n taskId: parseGroupId(row.id) || row.original.entityId || row.original.id,\n subtasks: value || [],\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('subtasks', { loading: row.original.isLoading })}\n columnId={column.id}\n value={subtasksData.subtasks?.map((s: any) => s.label || s.name) || []}\n valueData={subtasksData}\n attributeData={{ type: 'subtasks' }}\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n const attributeColumns: ColumnDef<TableRow>[] = attribs\n .filter((attrib) => {\n // filter out attributes that are out of scope\n if (attrib.scope && !attrib.scope.some((s) => scopes.includes(s))) return false\n\n const columnId = 'attrib_' + attrib.name\n // Check if the specific attribute column is excluded\n // or if all built-in attributes are excluded and this is a built-in attribute\n if (!isIncluded(columnId)) return false\n if (attrib.builtin && !isIncluded('attrib')) return false\n return true\n })\n .map((attrib) => {\n const attribColumn: ColumnDef<TableRow> = {\n id: 'attrib_' + attrib.name,\n accessorKey: 'attrib.' + attrib.name,\n header: attrib.data.title || attrib.name,\n minSize: COLUMN_MIN_SIZE,\n filterFn: 'fuzzy' as FilterFnOption<TableRow>,\n sortingFn: withLoadingStateSort(withNameTieBreaker((a, b, c) => attribSort(a, b, c, attrib.data))),\n enableSorting: canSort(attrib.name) && canSort('attrib'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const columnIdParsed = column.id.replace('attrib_', '')\n const { value, id, type } = getValueIdType(row, columnIdParsed, 'attrib')\n const isInherited = !row.original.ownAttrib?.includes(columnIdParsed)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const outOfScopeAndNoValue =\n !attrib.scope?.includes(type as (typeof attrib.scope)[number]) &&\n (value === null || value === undefined)\n\n // if the attribute is not in scope, we should nothing\n if (outOfScopeAndNoValue) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('attrib', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: attrib.data.type || 'string' }}\n options={attrib.data.enum || []}\n isCollapsed={!!row.original.childOnlyMatch}\n isInherited={isInherited}\n isReadOnly={\n // check attrib is not read only\n attrib.readOnly ||\n // check if there is any other reason the cell should be read only\n meta?.readOnly?.some(\n (id) => id === columnIdParsed || (id === 'attrib' && attrib.builtin),\n )\n }\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: columnIdParsed, value, type, isAttrib: true, rowId: row.id },\n { selection: !!attrib.data.enum?.length ? meta?.selection : undefined },\n )\n }\n />\n )\n },\n }\n return attribColumn\n })\n\n const linkColumns: ColumnDef<TableRow>[] = !includeLinks\n ? []\n : links\n .filter((link) => {\n // Check if the link type is excluded\n if (!isIncluded(link.linkType) || !isIncluded('link')) return false\n // Check if inputType and outputType are in scopes\n if (!scopes.includes(link.inputType) && !scopes.includes(link.outputType)) return false\n return true\n })\n .flatMap((link) => {\n const createLinkColumn = (direction: 'in' | 'out'): ColumnDef<TableRow> => {\n return {\n id: getLinkColumnId(link, direction),\n accessorKey: `links.${getLinkKey(link, direction)}`,\n header: () => (\n <LinkColumnHeader>\n {getLinkLabel(link, direction)}{' '}\n <Icon\n icon={getEntityTypeIcon(direction === 'in' ? link.inputType : link.outputType)}\n />\n </LinkColumnHeader>\n ),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column }) => {\n const columnIdParsed = column.id.replace('link_', '')\n\n const { id, value } = getValueIdType(row, columnIdParsed, 'links')\n const cellValue = value?.map((v: any) => v.label)\n const valueData: LinkWidgetData = {\n links: value,\n direction: direction,\n entityId: row.original.entityId || row.original.id,\n entityType: row.original.entityType,\n link: {\n label: link.linkType,\n linkType: link.name,\n targetEntityType: direction === 'in' ? link.inputType : link.outputType,\n },\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('links', { loading: row.original.isLoading })}\n columnId={column.id}\n value={cellValue}\n valueData={valueData}\n folderId={row.original.folderId}\n attributeData={{ type: 'links' }}\n />\n )\n },\n }\n }\n\n return [createLinkColumn('in'), createLinkColumn('out')]\n })\n\n const allColumns = [...staticColumns, ...attributeColumns, ...linkColumns]\n\n // Add extra columns if provided\n if (extraColumns) {\n extraColumns.forEach(({ column, position = -1 }) => {\n if (position >= 0 && position < allColumns.length) {\n allColumns.splice(position, 0, column)\n } else {\n allColumns.push(column)\n }\n })\n }\n\n return allColumns\n}\n\nexport default buildTreeTableColumns\n\nexport const getValueIdType = (\n row: Row<TableRow>,\n field: string,\n nestedField?: keyof TableRow,\n): {\n value: any\n id: string\n type: string\n} => ({\n value: nestedField\n ? (row.original[nestedField as keyof TableRow] as any)?.[field]\n : (row.original[field as keyof TableRow] as any),\n id: row.id,\n type: row.original.entityType,\n})\n"],"names":["isEntityExpandable","entityType","COLUMN_MIN_SIZE","withLoadingStateSort","sortFn","rowA","rowB","args","naturalSortCollator","withNameTieBreaker","result","labelA","labelB","pathSort","valueLengthSort","columnId","valueA","getCellValue","valueB","lengthA","lengthB","attribSort","attrib","indexA","o","indexB","sortingFns","getLinkLabel","link","direction","getLinkKey","getLinkColumnId","buildTreeTableColumns","scopes","attribs","links","includeLinks","showHierarchy","isFlatFolderView","options","excluded","excludedSorting","extraColumns","groupBy","nameLabel","staticColumns","isIncluded","id","canSort","ROW_SELECTION_COLUMN_ID","jsx","RowSelectionHeader","row","SelectionCell","column","table","meta","cellId","getCellId","thumbnail","ThumbnailWidget","clsx","value","type","getValueIdType","isEditing","useCellEditing","rowHeight","useColumnSettingsContext","TableCellContent","MetaWidget","NEXT_PAGE_ID","LoadMoreWidget","isExpandable","jsxs","GroupHeaderWidget","EntityNameWidget","getColumnDisplayConfig","CellWidget","a","b","c","s","isEntityRestricted","READ_ONLY","Icon","getEntityTypeIcon","upperFirst","fieldId","folderHasVersions","versionValue","subtasksData","parseGroupId","attributeColumns","columnIdParsed","isInherited","linkColumns","createLinkColumn","LinkColumnHeader","cellValue","v","valueData","allColumns","position","field","nestedField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildTreeTableColumns.es.js","sources":["../../../../../src/containers/ProjectTreeTable/buildTreeTableColumns.tsx"],"sourcesContent":["import { ColumnDef, FilterFnOption, Row, SortingFn, sortingFns } from '@tanstack/react-table'\nimport { TableRow } from './types/table'\nimport { AttributeData, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport {\n CellWidget,\n MetaWidget,\n EntityNameWidget,\n GroupHeaderWidget,\n ThumbnailWidget,\n} from './widgets'\nimport { getCellId, getCellValue, parseCellId } from './utils/cellUtils'\nimport { LinkColumnHeader, TableCellContent } from './ProjectTreeTable.styled'\nimport clsx from 'clsx'\nimport { SelectionCell } from './components/SelectionCell'\nimport RowSelectionHeader from './components/RowSelectionHeader'\nimport { ROW_SELECTION_COLUMN_ID } from './context/SelectionCellsContext'\nimport { TableGroupBy, useCellEditing, useColumnSettingsContext } from './context'\nimport { NEXT_PAGE_ID, parseGroupId } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\nimport { LinkTypeModel } from '@shared/api'\nimport { LinkWidgetData } from './widgets/LinksWidget'\nimport { SubtasksWidgetData } from './widgets/SubtasksWidget'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { getEntityTypeIcon } from '@shared/util'\nimport { NameWidgetData } from '@shared/components/RenameForm'\nimport { isEntityRestricted, READ_ONLY } from './utils/restrictedEntity'\nimport { getColumnDisplayConfig } from './types/columnConfig'\nimport { upperFirst } from 'lodash'\n\nexport const isEntityExpandable = (entityType: string) => ['folder', 'product'].includes(entityType)\n\nexport const COLUMN_MIN_SIZE = 50\n\n// Wrapper function for sorting that pushes isLoading rows to the bottom\nconst withLoadingStateSort = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n // If row loading states differ, prioritize non-loading rows\n if (rowA.original.isLoading !== rowB.original.isLoading) {\n return rowA.original.isLoading ? 1 : -1\n }\n // Otherwise, use the original sort function\n return sortFn(rowA, rowB, ...args)\n }\n}\n\nconst naturalSortCollator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' })\n\nconst withNameTieBreaker = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n const result = sortFn(rowA, rowB, ...args)\n if (result !== 0) return result\n const labelA = rowA.original.label || rowA.original.name || ''\n const labelB = rowB.original.label || rowB.original.name || ''\n return naturalSortCollator.compare(labelA, labelB)\n }\n}\n\nconst pathSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.label || rowA.original.path || rowA.original.name || ''\n const labelB = rowB.original.label || rowB.original.path || rowB.original.name || ''\n return naturalSortCollator.compare(labelA, labelB)\n}\n\nconst valueLengthSort: SortingFn<any> = (rowA, rowB, columnId) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n const lengthA = Array.isArray(valueA) ? valueA.length : valueA ? String(valueA).length : 0\n const lengthB = Array.isArray(valueB) ? valueB.length : valueB ? String(valueB).length : 0\n return lengthA - lengthB\n}\n\ntype AttribSortingFn = (rowA: any, rowB: any, columnId: string, attribute?: AttributeData) => number\n// sort by the order of the enum options\nconst attribSort: AttribSortingFn = (rowA, rowB, columnId, attrib) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n // if attrib is defined and has enum options, use them\n if (attrib && attrib.enum) {\n const indexA = attrib.enum.findIndex((o) => o.value === valueA)\n const indexB = attrib.enum.findIndex((o) => o.value === valueB)\n return indexA - indexB\n } else if (attrib?.type === 'datetime') {\n return sortingFns.datetime(rowA, rowB, columnId)\n } else if (attrib?.type === 'boolean') {\n const boolA = valueA === true ? 1 : 0\n const boolB = valueB === true ? 1 : 0\n return boolA - boolB\n } else {\n return sortingFns.alphanumeric(rowA, rowB, columnId)\n }\n}\n\nexport const getLinkLabel = (\n link: Pick<LinkTypeModel, 'linkType'>,\n direction: 'in' | 'out' | string,\n) => `${link.linkType.charAt(0).toUpperCase() + link.linkType.slice(1)} (${direction})`\n\nexport const getLinkKey = (link: Pick<LinkTypeModel, 'name'>, direction: 'in' | 'out' | string) =>\n `${link.name.replaceAll('_', '').replaceAll('-', '').replaceAll('|', '_')}_${direction}`\n\nexport const getLinkColumnId = (\n link: Pick<LinkTypeModel, 'name'>,\n direction: 'in' | 'out' | string,\n) => `link_${getLinkKey(link, direction)}`\n\nexport type DefaultColumns =\n | typeof ROW_SELECTION_COLUMN_ID\n | 'thumbnail'\n | 'name'\n | 'entityType'\n | 'folder'\n | 'status'\n | 'subType'\n | 'assignees'\n | 'tags'\n | 'createdAt'\n | 'updatedAt'\n\nexport type TreeTableExtraColumn = { column: ColumnDef<TableRow>; position?: number }\n\nexport type BuildTreeTableColumnsProps = {\n scopes: string[]\n attribs: ProjectTableAttribute[]\n links: LinkTypeModel[]\n includeLinks?: boolean\n showHierarchy: boolean\n isFlatFolderView?: boolean\n options: BuiltInFieldOptions\n excluded?: (DefaultColumns | string)[]\n excludedSorting?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n groupBy?: TableGroupBy\n nameLabel?: string\n}\n\nconst buildTreeTableColumns = ({\n scopes,\n attribs,\n links = [],\n includeLinks = true,\n showHierarchy,\n isFlatFolderView,\n options,\n excluded,\n excludedSorting,\n extraColumns,\n groupBy,\n nameLabel = 'Entity',\n}: BuildTreeTableColumnsProps) => {\n const staticColumns: ColumnDef<TableRow>[] = []\n\n // Helper to check if a column should be included\n const isIncluded = (id: DefaultColumns | string) => !excluded?.includes(id)\n const canSort = (id: DefaultColumns | string) => !excludedSorting?.includes(id)\n\n // Conditionally add static columns\n if (isIncluded(ROW_SELECTION_COLUMN_ID)) {\n staticColumns.push({\n id: ROW_SELECTION_COLUMN_ID,\n enableResizing: false,\n enableSorting: false,\n enablePinning: false,\n enableHiding: false,\n\n header: () => <RowSelectionHeader />,\n cell: ({ row }) => {\n if (row.original.entityType === 'group' || row.original.metaType) return null\n return <SelectionCell />\n },\n size: 20,\n })\n }\n\n if (isIncluded('thumbnail')) {\n staticColumns.push({\n id: 'thumbnail',\n header: 'Thumbnail',\n size: 63,\n minSize: 24,\n enableResizing: true,\n enableSorting: false,\n cell: ({ row, column, table }) => {\n if (row.original.entityType === 'group' || row.original.metaType) return null\n const meta = table.options.meta\n if (!meta) return null\n const cellId = getCellId(row.id, column.id)\n let thumbnail = {\n entityId: row.original.entityId || row.id,\n entityType: row.original.entityType,\n updatedAt: row.original.updatedAt,\n }\n // check for thumbnail override\n if (row.original.thumbnail) {\n thumbnail = row.original.thumbnail\n }\n return (\n <ThumbnailWidget\n id={cellId}\n entityId={thumbnail.entityId}\n entityType={thumbnail.entityType}\n updatedAt={thumbnail.updatedAt}\n icon={row.original.icon}\n projectName={meta?.projectName as string}\n className={clsx('thumbnail', {\n loading: row.original.isLoading,\n })}\n isPlayable={row.original.hasReviewables}\n />\n )\n },\n })\n }\n\n if (isIncluded('name')) {\n staticColumns.push({\n id: 'name',\n accessorKey: 'name',\n header: nameLabel,\n minSize: COLUMN_MIN_SIZE,\n sortingFn: withLoadingStateSort(pathSort),\n enableSorting: groupBy && groupBy.id !== 'folder' ? false : canSort('name'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: !(groupBy && groupBy.id !== 'folder'),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n const { isEditing } = useCellEditing()\n const { rowHeight = 40 } = useColumnSettingsContext()\n const cellId = getCellId(row.id, column.id)\n\n if (row.original.metaType) {\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', 'readonly', row.original.entityType)}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + 8px)`,\n pointerEvents: 'none',\n }}\n tabIndex={0}\n >\n <MetaWidget metaType={row.original.metaType} label={row.original.label} />\n </TableCellContent>\n )\n }\n\n if (row.original.entityType === NEXT_PAGE_ID && row.original.group) {\n return (\n <LoadMoreWidget\n id={row.original.group.value}\n onLoadMore={(id) => meta?.loadMoreRows?.(id)}\n />\n )\n }\n\n const isExpandable =\n row.getCanExpand() &&\n !!row.originalSubRows &&\n (isEntityExpandable(row.original.entityType) || !!row.original.group)\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', row.original.entityType, {\n loading: row.original.isLoading,\n hierarchy: showHierarchy,\n })}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + ${\n isExpandable || !row.getCanExpand() ? 0 : 32\n }px + 8px)`,\n }}\n tabIndex={0}\n >\n {row.original.group ? (\n <GroupHeaderWidget\n id={row.id}\n label={row.original.group.label}\n name={row.original.name}\n icon={row.original.group.icon}\n img={row.original.group.img}\n color={row.original.group.color}\n count={row.original.group.count}\n isExpanded={row.getIsExpanded()}\n isEmpty={row.original.group.count === 0}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n ) : (\n <EntityNameWidget\n id={row.id}\n label={row.original.label}\n name={row.original.name}\n path={\n !showHierarchy && !isFlatFolderView\n ? '/' + row.original.parents?.join('/')\n : undefined\n }\n entityType={row.original.entityType}\n subType={row.original.subType}\n isExpandable={isExpandable}\n isExpanded={row.getIsExpanded()}\n toggleExpandAll={() => meta?.toggleExpandAll?.([row.id])}\n toggleExpanded={row.getToggleExpandedHandler()}\n rowHeight={rowHeight}\n columnDisplayConfig={getColumnDisplayConfig(meta?.columnsConfig, 'name')}\n />\n )}\n {isEditing(cellId) && (\n <CellWidget\n rowId={id}\n className={clsx('name', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n valueData={\n {\n name: row.original.name,\n label: row.original.label,\n meta,\n entityRowId: id,\n columnId: column.id,\n hasVersions: !!row.original.hasVersions,\n } as NameWidgetData\n }\n entityType={type}\n attributeData={{ type: 'name' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('status')) {\n staticColumns.push({\n id: 'status',\n accessorKey: 'status',\n minSize: COLUMN_MIN_SIZE,\n header: 'Status',\n sortingFn: withLoadingStateSort(\n withNameTieBreaker((a, b, c) =>\n attribSort(a, b, c, { enum: options.status, type: 'string' }),\n ),\n ),\n sortDescFirst: true,\n enableSorting: canSort('status'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('status', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={meta?.options?.status.filter((s) => s.scope?.includes(type))}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n pt={{\n enum: {\n pt: {\n template: {\n pt: {\n icon: {\n style: {\n fontVariationSettings: \"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20\",\n },\n },\n },\n },\n },\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('entityType')) {\n staticColumns.push({\n id: 'entityType',\n accessorKey: 'entityType',\n header: 'Entity Type',\n minSize: 20,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.alphanumeric)),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const cellId = getCellId(row.id, column.id)\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('entityType', READ_ONLY, type, { loading: row.original.isLoading })}\n tabIndex={0}\n >\n <Icon icon={getEntityTypeIcon(type)} /> {upperFirst(value)}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('subType')) {\n staticColumns.push({\n id: 'subType',\n accessorKey: 'subType',\n header: scopes.includes('product') || scopes.includes('version') ? 'Product type' : 'Type',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('subType'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(\n withNameTieBreaker((a, b, c) =>\n attribSort(a, b, c, {\n enum: [...options.folderType, ...options.taskType],\n type: 'string',\n }),\n ),\n ),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const fieldId = type === 'folder' ? 'folderType' : 'taskType'\n const meta = table.options.meta\n const folderHasVersions = type === 'folder' && row.original.hasVersions\n return (\n <CellWidget\n rowId={id}\n className={clsx('subType', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={\n type === 'folder'\n ? meta?.options?.folderType\n : type === 'task'\n ? meta?.options?.taskType\n : type === 'product' || type === 'version'\n ? meta?.options?.productType\n : []\n }\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: fieldId, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={\n meta?.readOnly?.includes(column.id) ||\n meta?.readOnly?.includes(fieldId) ||\n folderHasVersions\n }\n tooltip={\n folderHasVersions\n ? 'Folder type cannot be edited when versions exist within the folder'\n : undefined\n }\n pt={{\n enum: {\n pt: {\n template: {\n iconOnlyColor: true,\n },\n },\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('assignees')) {\n staticColumns.push({\n id: 'assignees',\n accessorKey: 'assignees',\n header: 'Assignees',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('assignees'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(valueLengthSort)),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n if (type === 'folder')\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value=\"\"\n isPlaceholder\n />\n )\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n pt={{\n enum: {\n multiSelectClose: value?.length === 0, // close the dropdown on first assignment\n search: true, // enable search at all times\n multipleOverride: false,\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('folder')) {\n staticColumns.push({\n id: 'folder',\n accessorKey: 'folder',\n header: 'Folder name',\n minSize: COLUMN_MIN_SIZE,\n sortingFn: withLoadingStateSort(pathSort),\n enableSorting: canSort('folderName'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('folder', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n // only show authors column for products\n if (isIncluded('author') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'author',\n accessorKey: 'author',\n header: 'Author',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('author'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('author', { loading: row.original.isLoading })}\n columnId={column.id}\n value={[value]}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isReadOnly={true}\n isInherited={type === 'product'} // products do not have authors, we just show the featured version's author\n />\n )\n },\n })\n }\n\n // version column for versions\n if (isIncluded('version') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'version',\n accessorKey: 'version',\n header: 'Version',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('version'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n let versionValue = row.original.versionName || value\n if (row.original.entityType === 'product') {\n // show summary of versions for products\n versionValue = `${row.original.versionName} (${row.original.versionsCount || 0} versions)`\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('version', { loading: row.original.isLoading })}\n columnId={column.id}\n value={versionValue}\n attributeData={{ type: 'string' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n // product name column for versions and products\n if (isIncluded('product') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'product',\n accessorKey: 'product',\n header: 'Product name',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('product'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('product', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n if (isIncluded('tags')) {\n staticColumns.push({\n id: 'tags',\n accessorKey: 'tags',\n header: 'Tags',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('tags'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(valueLengthSort)),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('tags', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.tag}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n enableCustomValues\n />\n )\n },\n })\n }\n\n if (isIncluded('createdAt')) {\n staticColumns.push({\n id: 'createdAt',\n accessorKey: 'createdAt',\n header: 'Created at',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('createdAt'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.datetime)),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('createdAt', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'datetime' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={true}\n pt={{ date: { showTime: true } }}\n />\n )\n },\n })\n }\n\n if (isIncluded('updatedAt')) {\n staticColumns.push({\n id: 'updatedAt',\n accessorKey: 'updatedAt',\n header: 'Updated at',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('updatedAt'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.datetime)),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('updatedAt', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'datetime' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={true}\n pt={{ date: { showTime: true } }}\n />\n )\n },\n })\n }\n\n if (isIncluded('subtasks') && scopes.includes('task')) {\n staticColumns.push({\n id: 'subtasks',\n accessorKey: 'subtasks',\n header: 'Subtasks',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n // only show for tasks\n if (type !== 'task') return <div className=\"readonly\"></div>\n\n const subtasksData: SubtasksWidgetData = {\n taskId: parseGroupId(row.id) || row.original.entityId || row.original.id,\n subtasks: value || [],\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('subtasks', { loading: row.original.isLoading })}\n columnId={column.id}\n value={subtasksData.subtasks?.map((s: any) => s.label || s.name) || []}\n valueData={subtasksData}\n attributeData={{ type: 'subtasks' }}\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n const attributeColumns: ColumnDef<TableRow>[] = attribs\n .filter((attrib) => {\n // filter out attributes that are out of scope\n if (attrib.scope && !attrib.scope.some((s) => scopes.includes(s))) return false\n\n const columnId = 'attrib_' + attrib.name\n // Check if the specific attribute column is excluded\n // or if all built-in attributes are excluded and this is a built-in attribute\n if (!isIncluded(columnId)) return false\n if (attrib.builtin && !isIncluded('attrib')) return false\n return true\n })\n .map((attrib) => {\n const attribColumn: ColumnDef<TableRow> = {\n id: 'attrib_' + attrib.name,\n accessorKey: 'attrib.' + attrib.name,\n header: attrib.data.title || attrib.name,\n minSize: COLUMN_MIN_SIZE,\n filterFn: 'fuzzy' as FilterFnOption<TableRow>,\n sortingFn: withLoadingStateSort(\n withNameTieBreaker((a, b, c) => attribSort(a, b, c, attrib.data)),\n ),\n enableSorting: canSort(attrib.name) && canSort('attrib'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const columnIdParsed = column.id.replace('attrib_', '')\n const { value, id, type } = getValueIdType(row, columnIdParsed, 'attrib')\n const isInherited = !row.original.ownAttrib?.includes(columnIdParsed)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const outOfScopeAndNoValue =\n !attrib.scope?.includes(type as (typeof attrib.scope)[number]) &&\n (value === null || value === undefined)\n\n // if the attribute is not in scope, we should nothing\n if (outOfScopeAndNoValue) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('attrib', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: attrib.data.type || 'string' }}\n options={attrib.data.enum || []}\n isCollapsed={!!row.original.childOnlyMatch}\n isInherited={isInherited}\n isReadOnly={\n // check attrib is not read only\n attrib.readOnly ||\n // check if there is any other reason the cell should be read only\n meta?.readOnly?.some(\n (id) => id === columnIdParsed || (id === 'attrib' && attrib.builtin),\n )\n }\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: columnIdParsed, value, type, isAttrib: true, rowId: row.id },\n { selection: !!attrib.data.enum?.length ? meta?.selection : undefined },\n )\n }\n />\n )\n },\n }\n return attribColumn\n })\n\n const linkColumns: ColumnDef<TableRow>[] = !includeLinks\n ? []\n : links\n .filter((link) => {\n // Check if the link type is excluded\n if (!isIncluded(link.linkType) || !isIncluded('link')) return false\n // Check if inputType and outputType are in scopes\n if (!scopes.includes(link.inputType) && !scopes.includes(link.outputType)) return false\n return true\n })\n .flatMap((link) => {\n const createLinkColumn = (direction: 'in' | 'out'): ColumnDef<TableRow> => {\n return {\n id: getLinkColumnId(link, direction),\n accessorKey: `links.${getLinkKey(link, direction)}`,\n header: () => (\n <LinkColumnHeader>\n {getLinkLabel(link, direction)}{' '}\n <Icon\n icon={getEntityTypeIcon(direction === 'in' ? link.inputType : link.outputType)}\n />\n </LinkColumnHeader>\n ),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column }) => {\n const columnIdParsed = column.id.replace('link_', '')\n\n const { id, value } = getValueIdType(row, columnIdParsed, 'links')\n const cellValue = value?.map((v: any) => v.label)\n const valueData: LinkWidgetData = {\n links: value,\n direction: direction,\n entityId: row.original.entityId || row.original.id,\n entityType: row.original.entityType,\n link: {\n label: link.linkType,\n linkType: link.name,\n targetEntityType: direction === 'in' ? link.inputType : link.outputType,\n },\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('links', { loading: row.original.isLoading })}\n columnId={column.id}\n value={cellValue}\n valueData={valueData}\n folderId={row.original.folderId}\n attributeData={{ type: 'links' }}\n />\n )\n },\n }\n }\n\n return [createLinkColumn('in'), createLinkColumn('out')]\n })\n\n const allColumns = [...staticColumns, ...attributeColumns, ...linkColumns]\n\n // Add extra columns if provided\n if (extraColumns) {\n extraColumns.forEach(({ column, position = -1 }) => {\n if (position >= 0 && position < allColumns.length) {\n allColumns.splice(position, 0, column)\n } else {\n allColumns.push(column)\n }\n })\n }\n\n return allColumns\n}\n\nexport default buildTreeTableColumns\n\nexport const getValueIdType = (\n row: Row<TableRow>,\n field: string,\n nestedField?: keyof TableRow,\n): {\n value: any\n id: string\n type: string\n} => ({\n value: nestedField\n ? (row.original[nestedField as keyof TableRow] as any)?.[field]\n : (row.original[field as keyof TableRow] as any),\n id: row.id,\n type: row.original.entityType,\n})\n"],"names":["isEntityExpandable","entityType","COLUMN_MIN_SIZE","withLoadingStateSort","sortFn","rowA","rowB","args","naturalSortCollator","withNameTieBreaker","result","labelA","labelB","pathSort","valueLengthSort","columnId","valueA","getCellValue","valueB","lengthA","lengthB","attribSort","attrib","indexA","o","indexB","sortingFns","getLinkLabel","link","direction","getLinkKey","getLinkColumnId","buildTreeTableColumns","scopes","attribs","links","includeLinks","showHierarchy","isFlatFolderView","options","excluded","excludedSorting","extraColumns","groupBy","nameLabel","staticColumns","isIncluded","id","canSort","ROW_SELECTION_COLUMN_ID","jsx","RowSelectionHeader","row","SelectionCell","column","table","meta","cellId","getCellId","thumbnail","ThumbnailWidget","clsx","value","type","getValueIdType","isEditing","useCellEditing","rowHeight","useColumnSettingsContext","TableCellContent","MetaWidget","NEXT_PAGE_ID","LoadMoreWidget","isExpandable","jsxs","GroupHeaderWidget","EntityNameWidget","getColumnDisplayConfig","CellWidget","a","b","c","s","isEntityRestricted","READ_ONLY","Icon","getEntityTypeIcon","upperFirst","fieldId","folderHasVersions","versionValue","subtasksData","parseGroupId","attributeColumns","columnIdParsed","isInherited","linkColumns","createLinkColumn","LinkColumnHeader","cellValue","v","valueData","allColumns","position","field","nestedField"],"mappings":"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"}
|