@ynput/ayon-frontend-shared 0.3.39 → 0.3.41
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 +23 -22
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +219 -218
- package/dist/ProjectTreeTable.es.js.map +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.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- 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.es6.js +2 -2
- package/dist/_virtual/index.es8.js +2 -2
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +219 -220
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +10 -9
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +20 -58
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +37 -75
- package/dist/shared/src/api/generated/graphql.es.js.map +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.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +14 -16
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.es.js +6 -21
- package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
- package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.es.js +7 -46
- package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/getProduct.cjs.js +2 -0
- package/dist/shared/src/api/queries/products/getProduct.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/products/getProduct.es.js +52 -0
- package/dist/shared/src/api/queries/products/getProduct.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +3 -2
- 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 +3 -2
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +3 -2
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +3 -2
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +5 -4
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +3 -2
- 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 +3 -2
- 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 +3 -2
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +3 -2
- 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 +4 -3
- 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 +3 -2
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +3 -2
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +339 -353
- 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 +5 -4
- 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 +3 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +3 -2
- 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 -6
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +3 -2
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +3 -2
- 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 +113 -119
- 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 +3 -2
- 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 +3 -2
- 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 +132 -122
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +6 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +148 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js +29 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js +34 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +17 -16
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js +9 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js +12 -12
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +3 -2
- 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 +3 -2
- 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 +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.styled.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.styled.es.js +5 -5
- package/dist/shared/src/containers/Feed/Feed.styled.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 +3 -2
- 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 +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +5 -4
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +3 -2
- 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 +7 -6
- 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 +3 -2
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +3 -2
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +3 -2
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +3 -2
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +365 -363
- 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 +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.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 +3 -2
- 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 +6 -5
- 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 +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.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 +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +3 -2
- 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 +3 -2
- 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 +3 -2
- 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 +3 -2
- 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 +14 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.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 +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.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 +5 -4
- 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 +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +3 -2
- 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 +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +3 -2
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +3 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +61 -82
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.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 +83 -66
- package/dist/shared/src/context/ProjectContext.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 +5 -4
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +1 -34
- package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +3 -1
- package/dist/types/api/queries/entityLists/getLists.d.ts +2 -315
- package/dist/types/api/queries/products/createProduct.d.ts +2 -2
- package/dist/types/api/queries/products/getProduct.d.ts +259 -0
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +3 -2
- package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.d.ts +7 -0
- package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.d.ts +2 -0
- package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +4 -0
- package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
- package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -0
- package/dist/types/context/ProjectContext.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../../../../_virtual/jsx-runtime.cjs.js"),A=require("@tanstack/react-table");require("./widgets/CollapsedWidget.cjs.js");require("./widgets/DateWidget.cjs.js");require("./widgets/EnumWidget.cjs.js");require("./widgets/EnumCellValue.cjs.js");require("./widgets/TextWidget.cjs.js");require("./widgets/MarkdownWidget.cjs.js");require("./widgets/BooleanWidget.cjs.js");const b=require("./widgets/CellWidget.cjs.js"),ie=require("./widgets/EntityNameWidget.cjs.js"),re=require("./widgets/GroupHeaderWidget.cjs.js"),ne=require("./widgets/ThumbnailWidget.cjs.js");require("./widgets/LinksWidget.cjs.js");require("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("react");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");const K=require("@ynput/ayon-react-components");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");const p=require("clsx");require("../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/dataImport.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("../../../../_virtual/index.cjs.js");require("../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */const te=require("lodash"),V=require("../../util/getEntityTypeIcon.cjs.js");require("uuid");const X=require("./constants.cjs.js");require("../../util/pubsub.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../Feed/components/CommentInput/modules/index.cjs.js");require("../../context/RemoteModulesContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../context/PowerpackContextInstance.cjs.js");require("../../context/UriContext.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("./components/GroupSettingsFallback.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../Feed/Feed.styled.cjs.js");require("../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");const _=require("./utils/cellUtils.cjs.js"),H=require("./ProjectTreeTable.styled.cjs.js"),ae=require("./components/SelectionCell.cjs.js"),le=require("./components/RowSelectionHeader.cjs.js"),ue=require("./context/CellEditingContext.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");const W=require("./utils/restrictedEntity.cjs.js");require("./context/SelectionCellsContext.cjs.js");require("./context/ProjectTableQueriesContext.cjs.js");require("./context/ProjectTableContext.cjs.js");require("./context/ClipboardContext.cjs.js");const se=require("./context/ColumnSettingsContext.cjs.js"),h=require("./hooks/useBuildGroupByTableData.cjs.js");require("./context/SelectedRowsContext.cjs.js");require("./context/DetailsPanelEntityContext.cjs.js");require("./components/DeleteConfirmContent.cjs.js");require("./context/ProjectDataContext.cjs.js");const oe=require("./widgets/LoadMoreWidget.cjs.js"),de=require("./types/columnConfig.cjs.js");require("./components/HeaderActionButton.cjs.js");require("./components/TableFooterRow.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../Slicer/components/Slicer.cjs.js");require("../Slicer/context/SlicerContext.cjs.js");require("../Slicer/hooks/useTableDataBySlice.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../Views/context/ViewsContextInstance.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../ListTable/ListTableRow.cjs.js");require("../ListTable/ListTable.styled.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/FreeTrialLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");require("../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../components/ColumnHeaderMenuUI.cjs.js");require("./widgets/EmptyWidget.cjs.js");require("./widgets/ErrorWidget.cjs.js");const ge=require("./widgets/MetaWidget.cjs.js"),U=l=>["folder","product"].includes(l),x=50,T=l=>(o,g,...q)=>o.original.isLoading!==g.original.isLoading?o.original.isLoading?1:-1:l(o,g,...q),Z=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),j=l=>(o,g,...q)=>{const f=l(o,g,...q);if(f!==0)return f;const v=o.original.label||o.original.name||"",R=g.original.label||g.original.name||"";return Z.compare(v,R)},O=(l,o)=>{const g=l.original.label||l.original.path||l.original.name||"",q=o.original.label||o.original.path||o.original.name||"";return Z.compare(g,q)},$=(l,o,g)=>{const q=_.getCellValue(l.original,g),f=_.getCellValue(o.original,g),v=Array.isArray(q)?q.length:q?String(q).length:0,R=Array.isArray(f)?f.length:f?String(f).length:0;return v-R},F=(l,o,g,q)=>{const f=_.getCellValue(l.original,g),v=_.getCellValue(o.original,g);if(q&&q.enum){const R=q.enum.findIndex(L=>L.value===f),D=q.enum.findIndex(L=>L.value===v);return R-D}else return q?.type==="datetime"?A.sortingFns.datetime(l,o,g):q?.type==="boolean"?(f===!0?1:0)-(v===!0?1:0):A.sortingFns.alphanumeric(l,o,g)},B=(l,o)=>`${l.linkType.charAt(0).toUpperCase()+l.linkType.slice(1)} (${o})`,M=(l,o)=>`${l.name.replaceAll("_","").replaceAll("-","").replaceAll("|","_")}_${o}`,Y=(l,o)=>`link_${M(l,o)}`,ce=({scopes:l,attribs:o,links:g=[],includeLinks:q=!0,showHierarchy:f,isFlatFolderView:v,options:R,excluded:D,excludedSorting:L,extraColumns:G,groupBy:z,nameLabel:J="Entity"})=>{const y=[],c=e=>!D?.includes(e),E=e=>!L?.includes(e);c(X.ROW_SELECTION_COLUMN_ID)&&y.push({id:X.ROW_SELECTION_COLUMN_ID,enableResizing:!1,enableSorting:!1,enablePinning:!1,enableHiding:!1,header:()=>s.jsxRuntimeExports.jsx(le,{}),cell:({row:e})=>e.original.entityType==="group"||e.original.metaType?null:s.jsxRuntimeExports.jsx(ae.SelectionCell,{}),size:20}),c("thumbnail")&&y.push({id:"thumbnail",header:"Thumbnail",size:63,minSize:24,enableResizing:!0,enableSorting:!1,cell:({row:e,column:i,table:r})=>{if(e.original.entityType==="group"||e.original.metaType)return null;const n=r.options.meta;if(!n)return null;const a=_.getCellId(e.id,i.id);let t={entityId:e.original.entityId||e.id,entityType:e.original.entityType,thumbnailHash:e.original.thumbnailHash};return e.original.thumbnail&&(t=e.original.thumbnail),s.jsxRuntimeExports.jsx(ne.ThumbnailWidget,{id:a,entityId:t.entityId,entityType:t.entityType,thumbnailHash:t.thumbnailHash,icon:e.original.icon,projectName:n?.projectName,className:p("thumbnail",{loading:e.original.isLoading}),isPlayable:e.original.hasReviewables})}}),c("name")&&y.push({id:"name",accessorKey:"name",header:J,minSize:x,sortingFn:T(O),enableSorting:z&&z.id!=="folder"?!1:E("name"),enableResizing:!0,enablePinning:!0,enableHiding:!(z&&z.id!=="folder"),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id),u=r.options.meta,{isEditing:d}=ue.useCellEditing(),{rowHeight:I=40}=se.useColumnSettingsContext(),C=_.getCellId(e.id,i.id);if(e.original.metaType)return s.jsxRuntimeExports.jsx(H.TableCellContent,{id:C,className:p("large","readonly",e.original.entityType),style:{paddingLeft:`calc(${e.depth*1}rem + 8px)`,pointerEvents:"none"},tabIndex:0,children:s.jsxRuntimeExports.jsx(ge.MetaWidget,{metaType:e.original.metaType,label:e.original.label})});if(e.original.entityType===h.NEXT_PAGE_ID&&e.original.group)return s.jsxRuntimeExports.jsx(oe,{id:e.original.group.value,onLoadMore:k=>u?.loadMoreRows?.(k)});const S=e.getCanExpand()&&!!e.originalSubRows&&(U(e.original.entityType)||!!e.original.group);return s.jsxRuntimeExports.jsxs(H.TableCellContent,{id:C,className:p("large",e.original.entityType,{loading:e.original.isLoading,hierarchy:f}),style:{paddingLeft:`calc(${e.depth*1}rem + ${S||!e.getCanExpand()?0:32}px + 8px)`},tabIndex:0,children:[e.original.group?s.jsxRuntimeExports.jsx(re.GroupHeaderWidget,{id:e.id,label:e.original.group.label,name:e.original.name,icon:e.original.group.icon,img:e.original.group.img,color:e.original.group.color,count:e.original.group.count,isExpanded:e.getIsExpanded(),isEmpty:e.original.group.count===0,toggleExpanded:e.getToggleExpandedHandler()}):s.jsxRuntimeExports.jsx(ie.EntityNameWidget,{id:e.id,label:e.original.label,name:e.original.name,path:!f&&!v?"/"+e.original.parents?.join("/"):void 0,entityType:e.original.entityType,subType:e.original.subType,isExpandable:S,isExpanded:e.getIsExpanded(),toggleExpandAll:()=>u?.toggleExpandAll?.([e.id]),toggleExpanded:e.getToggleExpandedHandler(),rowHeight:I,columnDisplayConfig:de.getColumnDisplayConfig(u?.columnsConfig,"name")}),d(C)&&s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("name",{loading:e.original.isLoading}),columnId:i.id,value:n,valueData:{name:e.original.name,label:e.original.label,meta:u,entityRowId:a,columnId:i.id,hasVersions:!!e.original.hasVersions},entityType:t,attributeData:{type:"name"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:u?.readOnly?.includes(i.id)})]})}}),c("status")&&y.push({id:"status",accessorKey:"status",minSize:x,header:"Status",sortingFn:T(j((e,i,r)=>F(e,i,r,{enum:R.status,type:"string"}))),sortDescFirst:!0,enableSorting:E("status"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id),u=r.options.meta;return["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("status",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},options:u?.options?.status.filter(d=>d.scope?.includes(t)),isCollapsed:!!e.original.childOnlyMatch,onChange:d=>u?.updateEntities?.({field:i.id,value:d,type:t,rowId:a},{selection:u?.selection}),isReadOnly:u?.readOnly?.includes(i.id)||W.isEntityRestricted(t),pt:{enum:{pt:{template:{pt:{icon:{style:{fontVariationSettings:"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20"}}}}}}}})}}),c("entityType")&&y.push({id:"entityType",accessorKey:"entityType",header:"Entity Type",minSize:20,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j(A.sortingFns.alphanumeric)),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType)return null;const u=_.getCellId(e.id,i.id);return s.jsxRuntimeExports.jsxs(H.TableCellContent,{id:u,className:p("entityType",W.READ_ONLY,t,{loading:e.original.isLoading}),tabIndex:0,children:[s.jsxRuntimeExports.jsx(K.Icon,{icon:V.getEntityTypeIcon(t)})," ",te.upperFirst(n)]})}}),c("subType")&&y.push({id:"subType",accessorKey:"subType",header:l.includes("product")||l.includes("version")?"Product type":"Type",minSize:x,enableSorting:E("subType"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j((e,i,r)=>F(e,i,r,{enum:[...R.folderType,...R.taskType],type:"string"}))),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType)return null;const u=t==="folder"?"folderType":"taskType",d=r.options.meta,I=t==="folder"&&e.original.hasVersions;return s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("subType",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},options:t==="folder"?d?.options?.folderType:t==="task"?d?.options?.taskType:t==="product"||t==="version"?d?.options?.productType:[],isCollapsed:!!e.original.childOnlyMatch,onChange:C=>d?.updateEntities?.({field:u,value:C,type:t,rowId:e.id},{selection:d?.selection}),isReadOnly:d?.readOnly?.includes(i.id)||d?.readOnly?.includes(u)||I,tooltip:I?"Folder type cannot be edited when versions exist within the folder":void 0,pt:{enum:{pt:{template:{iconOnlyColor:!0}}}}})}}),c("assignees")&&y.push({id:"assignees",accessorKey:"assignees",header:"Assignees",minSize:x,enableSorting:E("assignees"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j($)),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:u}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(u)||e.original.metaType?null:u==="folder"?s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("assignees",{loading:e.original.isLoading}),columnId:i.id,value:"",isPlaceholder:!0}):s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("assignees",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:n?.options?.assignee,isCollapsed:!!e.original.childOnlyMatch,onChange:d=>n?.updateEntities?.({field:i.id,value:d,type:u,rowId:e.id},{selection:n?.selection}),isReadOnly:n?.readOnly?.includes(i.id)||W.isEntityRestricted(u),pt:{enum:{multiSelectClose:a?.length===0,search:!0,multipleOverride:!1}}})}}),c("folder")&&y.push({id:"folder",accessorKey:"folder",header:"Folder name",minSize:x,sortingFn:T(O),enableSorting:E("folderName"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("folder",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},isReadOnly:!0})}}),c("author")&&["version","product"].some(e=>l.includes(e))&&y.push({id:"author",accessorKey:"author",header:"Author",minSize:x,enableSorting:E("author"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(O),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:u}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(u)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("author",{loading:e.original.isLoading}),columnId:i.id,value:[a],attributeData:{type:"list_of_strings"},options:n?.options?.assignee,isReadOnly:!0,isInherited:u==="product"})}}),c("version")&&["version","product"].some(e=>l.includes(e))&&y.push({id:"version",accessorKey:"version",header:"Version",minSize:x,enableSorting:E("version"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(O),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType)return null;let t=e.original.versionName||r;return e.original.entityType==="product"&&(t=`${e.original.versionName} (${e.original.versionsCount||0} versions)`),s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("version",{loading:e.original.isLoading}),columnId:i.id,value:t,attributeData:{type:"string"},isReadOnly:!0})}}),c("product")&&["version","product"].some(e=>l.includes(e))&&y.push({id:"product",accessorKey:"product",header:"Product name",minSize:x,enableSorting:E("product"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(O),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("product",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"string"},isReadOnly:!0})}}),c("tags")&&y.push({id:"tags",accessorKey:"tags",header:"Tags",minSize:x,enableSorting:E("tags"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j($)),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:u}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(u)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("tags",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:n?.options?.tag,isCollapsed:!!e.original.childOnlyMatch,onChange:d=>n?.updateEntities?.({field:i.id,value:d,type:u,rowId:e.id},{selection:n?.selection}),isReadOnly:n?.readOnly?.includes(i.id)||W.isEntityRestricted(u),enableCustomValues:!0})}}),c("createdAt")&&y.push({id:"createdAt",accessorKey:"createdAt",header:"Created at",minSize:x,enableSorting:E("createdAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j(A.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("createdAt",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),c("updatedAt")&&y.push({id:"updatedAt",accessorKey:"updatedAt",header:"Updated at",minSize:x,enableSorting:E("updatedAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j(A.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("updatedAt",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),c("subtasks")&&l.includes("task")&&y.push({id:"subtasks",accessorKey:"subtasks",header:"Subtasks",minSize:x,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:u}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(u)||e.original.metaType)return null;if(u!=="task")return s.jsxRuntimeExports.jsx("div",{className:"readonly"});const d={taskId:h.parseGroupId(e.id)||e.original.entityId||e.original.id,subtasks:a||[]};return s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("subtasks",{loading:e.original.isLoading}),columnId:i.id,value:d.subtasks?.map(I=>I.label||I.name)||[],valueData:d,attributeData:{type:"subtasks"},isReadOnly:n?.readOnly?.includes(i.id)})}}),c("comments")&&l.some(e=>["task","version","product","folder"].includes(e))&&y.push({id:"comments",accessorKey:"latestComments",header:"Latest comments",minSize:x,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,"latestComments");return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:!e.original.isLoading&&!["task","version","product","folder"].includes(a)?s.jsxRuntimeExports.jsx("div",{className:"readonly"}):s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("comments",{loading:e.original.isLoading}),columnId:i.id,value:"",valueData:r||[],attributeData:{type:"comments"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0})}});const Q=o.filter(e=>{if(e.scope&&!e.scope.some(r=>l.includes(r)))return!1;const i="attrib_"+e.name;return!(!c(i)||e.builtin&&!c("attrib"))}).map(e=>({id:"attrib_"+e.name,accessorKey:"attrib."+e.name,header:e.data.title||e.name,minSize:x,filterFn:"fuzzy",sortingFn:T(j((r,n,a)=>F(r,n,a,e.data))),enableSorting:E(e.name)&&E("attrib"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:r,column:n,table:a})=>{const t=a.options.meta,u=n.id.replace("attrib_",""),{value:d,id:I,type:C}=m(r,u,"attrib"),S=!r.original.ownAttrib?.includes(u);return["group",h.NEXT_PAGE_ID].includes(C)||r.original.metaType||!e.scope?.includes(C)&&d==null?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:I,className:p("attrib",{loading:r.original.isLoading}),columnId:n.id,value:d,attributeData:{type:e.data.type||"string",widget:e.data.widget},options:e.data.enum||[],isCollapsed:!!r.original.childOnlyMatch,isInherited:S,isReadOnly:e.readOnly||t?.readOnly?.some(N=>N===u||N==="attrib"&&e.builtin),onChange:N=>t?.updateEntities?.({field:u,value:N,type:C,isAttrib:!0,rowId:r.id},{selection:e.data.enum?.length?t?.selection:void 0})})}})),w=q?g.filter(e=>!(!c(e.linkType)||!c("link")||!l.includes(e.inputType)&&!l.includes(e.outputType))).flatMap(e=>{const i=r=>({id:Y(e,r),accessorKey:`links.${M(e,r)}`,header:()=>s.jsxRuntimeExports.jsxs(H.LinkColumnHeader,{children:[B(e,r)," ",s.jsxRuntimeExports.jsx(K.Icon,{icon:V.getEntityTypeIcon(r==="in"?e.inputType:e.outputType)})]}),minSize:x,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:n,column:a,table:t})=>{const u=a.id.replace("link_",""),{id:d,value:I}=m(n,u,"links"),C=I?.map(ee=>ee.label),S=n.original.entityId||n.original.id,k=!!t.options.meta?.loadingLinksEntityIds?.has(S),N={links:I,direction:r,entityId:S,entityType:n.original.entityType,link:{label:e.linkType,linkType:e.name,targetEntityType:r==="in"?e.inputType:e.outputType}};return s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:d,className:p("links",{loading:n.original.isLoading}),columnId:a.id,value:C,valueData:N,folderId:n.original.folderId,attributeData:{type:"links"},isLinksLoading:k})}});return[i("in"),i("out")]}):[],P=[...y,...Q,...w];return G&&G.forEach(({column:e,position:i=-1})=>{i>=0&&i<P.length?P.splice(i,0,e):P.push(e)}),P},m=(l,o,g)=>({value:g?l.original[g]?.[o]:l.original[o],id:l.id,type:l.original.entityType});exports.COLUMN_MIN_SIZE=x;exports.default=ce;exports.getLinkColumnId=Y;exports.getLinkKey=M;exports.getLinkLabel=B;exports.getValueIdType=m;exports.isEntityExpandable=U;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../../../../_virtual/jsx-runtime.cjs.js"),A=require("@tanstack/react-table");require("./widgets/CollapsedWidget.cjs.js");require("./widgets/DateWidget.cjs.js");require("./widgets/EnumWidget.cjs.js");require("./widgets/EnumCellValue.cjs.js");require("./widgets/TextWidget.cjs.js");require("./widgets/MarkdownWidget.cjs.js");require("./widgets/BooleanWidget.cjs.js");const b=require("./widgets/CellWidget.cjs.js"),ie=require("./widgets/EntityNameWidget.cjs.js"),re=require("./widgets/GroupHeaderWidget.cjs.js"),ne=require("./widgets/ThumbnailWidget.cjs.js");require("./widgets/LinksWidget.cjs.js");require("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("react");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");const K=require("@ynput/ayon-react-components");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");const p=require("clsx");require("../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/dataImport.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("../../../../_virtual/index.cjs.js");require("../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */const te=require("lodash"),V=require("../../util/getEntityTypeIcon.cjs.js");require("uuid");const X=require("./constants.cjs.js");require("../../util/pubsub.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../Feed/components/CommentInput/modules/index.cjs.js");require("../../context/RemoteModulesContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../context/PowerpackContextInstance.cjs.js");require("../../context/UriContext.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("./components/GroupSettingsFallback.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../Feed/Feed.styled.cjs.js");require("../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");const _=require("./utils/cellUtils.cjs.js"),H=require("./ProjectTreeTable.styled.cjs.js"),ae=require("./components/SelectionCell.cjs.js"),le=require("./components/RowSelectionHeader.cjs.js"),ue=require("./context/CellEditingContext.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");const W=require("./utils/restrictedEntity.cjs.js");require("./context/SelectionCellsContext.cjs.js");require("./context/ProjectTableQueriesContext.cjs.js");require("./context/ProjectTableContext.cjs.js");require("./context/ClipboardContext.cjs.js");const se=require("./context/ColumnSettingsContext.cjs.js"),h=require("./hooks/useBuildGroupByTableData.cjs.js");require("./context/SelectedRowsContext.cjs.js");require("./context/DetailsPanelEntityContext.cjs.js");require("./components/DeleteConfirmContent.cjs.js");require("./context/ProjectDataContext.cjs.js");const oe=require("./widgets/LoadMoreWidget.cjs.js"),de=require("./types/columnConfig.cjs.js");require("./components/HeaderActionButton.cjs.js");require("./components/TableFooterRow.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../Slicer/components/Slicer.cjs.js");require("../Slicer/context/SlicerContext.cjs.js");require("../Slicer/hooks/useTableDataBySlice.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../Views/context/ViewsContextInstance.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../ListTable/ListTableRow.cjs.js");require("../ListTable/ListTable.styled.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/FreeTrialLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");require("../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../components/ColumnHeaderMenuUI.cjs.js");require("./widgets/EmptyWidget.cjs.js");require("./widgets/ErrorWidget.cjs.js");const ge=require("./widgets/MetaWidget.cjs.js"),U=l=>["folder","product"].includes(l),x=50,T=l=>(o,g,...q)=>o.original.isLoading!==g.original.isLoading?o.original.isLoading?1:-1:l(o,g,...q),Z=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),j=l=>(o,g,...q)=>{const f=l(o,g,...q);if(f!==0)return f;const v=o.original.label||o.original.name||"",R=g.original.label||g.original.name||"";return Z.compare(v,R)},O=(l,o)=>{const g=l.original.label||l.original.path||l.original.name||"",q=o.original.label||o.original.path||o.original.name||"";return Z.compare(g,q)},$=(l,o,g)=>{const q=_.getCellValue(l.original,g),f=_.getCellValue(o.original,g),v=Array.isArray(q)?q.length:q?String(q).length:0,R=Array.isArray(f)?f.length:f?String(f).length:0;return v-R},F=(l,o,g,q)=>{const f=_.getCellValue(l.original,g),v=_.getCellValue(o.original,g);if(q&&q.enum){const R=q.enum.findIndex(L=>L.value===f),D=q.enum.findIndex(L=>L.value===v);return R-D}else return q?.type==="datetime"?A.sortingFns.datetime(l,o,g):q?.type==="boolean"?(f===!0?1:0)-(v===!0?1:0):A.sortingFns.alphanumeric(l,o,g)},B=(l,o)=>`${l.linkType.charAt(0).toUpperCase()+l.linkType.slice(1)} (${o})`,M=(l,o)=>`${l.name.replaceAll("_","").replaceAll("-","").replaceAll("|","_")}_${o}`,Y=(l,o)=>`link_${M(l,o)}`,ce=({scopes:l,attribs:o,links:g=[],includeLinks:q=!0,showHierarchy:f,isFlatFolderView:v,options:R,excluded:D,excludedSorting:L,extraColumns:G,groupBy:z,nameLabel:J="Entity"})=>{const y=[],c=e=>!D?.includes(e),E=e=>!L?.includes(e);c(X.ROW_SELECTION_COLUMN_ID)&&y.push({id:X.ROW_SELECTION_COLUMN_ID,enableResizing:!1,enableSorting:!1,enablePinning:!1,enableHiding:!1,header:()=>s.jsxRuntimeExports.jsx(le,{}),cell:({row:e})=>e.original.entityType==="group"||e.original.metaType?null:s.jsxRuntimeExports.jsx(ae.SelectionCell,{}),size:20}),c("thumbnail")&&y.push({id:"thumbnail",header:"Thumbnail",size:63,minSize:24,enableResizing:!0,enableSorting:!1,cell:({row:e,column:i,table:r})=>{if(e.original.entityType==="group"||e.original.metaType)return null;const n=r.options.meta;if(!n)return null;const a=_.getCellId(e.id,i.id);let t={entityId:e.original.entityId||e.id,entityType:e.original.entityType,thumbnailHash:e.original.thumbnailHash};return e.original.thumbnail&&(t=e.original.thumbnail),s.jsxRuntimeExports.jsx(ne.ThumbnailWidget,{id:a,entityId:t.entityId,entityType:t.entityType,thumbnailHash:t.thumbnailHash,icon:e.original.icon,projectName:n?.projectName,className:p("thumbnail",{loading:e.original.isLoading}),isPlayable:e.original.hasReviewables})}}),c("name")&&y.push({id:"name",accessorKey:"name",header:J,minSize:x,sortingFn:T(O),enableSorting:z&&z.id!=="folder"?!1:E("name"),enableResizing:!0,enablePinning:!0,enableHiding:!(z&&z.id!=="folder"),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id),u=r.options.meta,{isEditing:d}=ue.useCellEditing(),{rowHeight:I=40}=se.useColumnSettingsContext(),C=_.getCellId(e.id,i.id);if(e.original.metaType)return s.jsxRuntimeExports.jsx(H.TableCellContent,{id:C,className:p("large","readonly",e.original.entityType),style:{paddingLeft:`calc(${e.depth*1}rem + 8px)`,pointerEvents:"none"},tabIndex:0,children:s.jsxRuntimeExports.jsx(ge.MetaWidget,{metaType:e.original.metaType,label:e.original.label})});if(e.original.entityType===h.NEXT_PAGE_ID&&e.original.group)return s.jsxRuntimeExports.jsx(oe,{id:e.original.group.value,onLoadMore:k=>u?.loadMoreRows?.(k)});const S=e.getCanExpand()&&!!e.originalSubRows&&(U(e.original.entityType)||!!e.original.group);return s.jsxRuntimeExports.jsxs(H.TableCellContent,{id:C,className:p("large",e.original.entityType,{loading:e.original.isLoading,hierarchy:f}),style:{paddingLeft:`calc(${e.depth*1}rem + ${S||!e.getCanExpand()?0:32}px + 8px)`},tabIndex:0,children:[e.original.group?s.jsxRuntimeExports.jsx(re.GroupHeaderWidget,{id:e.id,label:e.original.group.label,name:e.original.name,icon:e.original.group.icon,img:e.original.group.img,color:e.original.group.color,count:e.original.group.count,isExpanded:e.getIsExpanded(),isEmpty:e.original.group.count===0,toggleExpanded:e.getToggleExpandedHandler()}):s.jsxRuntimeExports.jsx(ie.EntityNameWidget,{id:e.id,label:e.original.label,name:e.original.name,path:!f&&!v?"/"+e.original.parents?.join("/"):void 0,entityType:e.original.entityType,subType:e.original.subType,isExpandable:S,isExpanded:e.getIsExpanded(),toggleExpandAll:()=>u?.toggleExpandAll?.([e.id]),toggleExpanded:e.getToggleExpandedHandler(),rowHeight:I,columnDisplayConfig:de.getColumnDisplayConfig(u?.columnsConfig,"name")}),d(C)&&s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("name",{loading:e.original.isLoading}),columnId:i.id,value:n,valueData:{name:e.original.name,label:e.original.label,meta:u,entityRowId:a,columnId:i.id,hasVersions:!!e.original.hasVersions},entityType:t,attributeData:{type:"name"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:u?.readOnly?.includes(i.id)})]})}}),c("status")&&y.push({id:"status",accessorKey:"status",minSize:x,header:"Status",sortingFn:T(j((e,i,r)=>F(e,i,r,{enum:R.status,type:"string"}))),sortDescFirst:!0,enableSorting:E("status"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id),u=r.options.meta;return["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("status",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},options:u?.options?.status.filter(d=>d.scope?.includes(t)),isCollapsed:!!e.original.childOnlyMatch,onChange:d=>u?.updateEntities?.({field:i.id,value:d,type:t,rowId:a},{selection:u?.selection}),isReadOnly:u?.readOnly?.includes(i.id)||W.isEntityRestricted(t),pt:{enum:{pt:{template:{pt:{icon:{style:{fontVariationSettings:"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20"}}}}}}}})}}),c("entityType")&&y.push({id:"entityType",accessorKey:"entityType",header:"Entity Type",minSize:20,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j(A.sortingFns.alphanumeric)),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType)return null;const u=_.getCellId(e.id,i.id);return s.jsxRuntimeExports.jsxs(H.TableCellContent,{id:u,className:p("entityType",W.READ_ONLY,t,{loading:e.original.isLoading}),tabIndex:0,children:[s.jsxRuntimeExports.jsx(K.Icon,{icon:V.getEntityTypeIcon(t)})," ",te.upperFirst(n)]})}}),c("subType")&&y.push({id:"subType",accessorKey:"subType",header:l.includes("product")||l.includes("version")?"Product type":"Type",minSize:x,enableSorting:E("subType"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j((e,i,r)=>F(e,i,r,{enum:[...R.folderType,...R.taskType],type:"string"}))),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType)return null;const u=t==="folder"?"folderType":"taskType",d=r.options.meta,I=t==="folder"&&e.original.hasVersions;return s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("subType",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},options:t==="folder"?d?.options?.folderType:t==="task"?d?.options?.taskType:t==="product"||t==="version"?d?.options?.productType:[],isCollapsed:!!e.original.childOnlyMatch,onChange:C=>d?.updateEntities?.({field:u,value:C,type:t,rowId:e.id},{selection:d?.selection}),isReadOnly:d?.readOnly?.includes(i.id)||d?.readOnly?.includes(u)||I,tooltip:I?"Folder type cannot be edited when versions exist within the folder":void 0,pt:{enum:{pt:{template:{iconOnlyColor:!0}}}}})}}),c("assignees")&&y.push({id:"assignees",accessorKey:"assignees",header:"Assignees",minSize:x,enableSorting:E("assignees"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j($)),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:u}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(u)||e.original.metaType?null:u==="folder"?s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("assignees",{loading:e.original.isLoading}),columnId:i.id,value:"",isPlaceholder:!0}):s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("assignees",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:n?.options?.assignee,isCollapsed:!!e.original.childOnlyMatch,onChange:d=>n?.updateEntities?.({field:i.id,value:d,type:u,rowId:e.id},{selection:n?.selection}),isReadOnly:n?.readOnly?.includes(i.id)||W.isEntityRestricted(u),pt:{enum:{multiSelectClose:a?.length===0,search:!0,multipleOverride:!1}}})}}),c("folder")&&y.push({id:"folder",accessorKey:"folder",header:"Folder name",minSize:x,sortingFn:T(O),enableSorting:E("folderName"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("folder",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},isReadOnly:!0})}}),c("author")&&["version","product"].some(e=>l.includes(e))&&y.push({id:"author",accessorKey:"author",header:"Author",minSize:x,enableSorting:E("author"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(O),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:u}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(u)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("author",{loading:e.original.isLoading}),columnId:i.id,value:[a],attributeData:{type:"list_of_strings"},options:n?.options?.assignee,isReadOnly:!0,isInherited:u==="product"})}}),c("version")&&["version","product"].some(e=>l.includes(e))&&y.push({id:"version",accessorKey:"version",header:"Version",minSize:x,enableSorting:E("version"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(O),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType)return null;let t=e.original.versionName||r;return e.original.entityType==="product"&&(t=`${e.original.versionName} (${e.original.versionsCount||0} versions)`),s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("version",{loading:e.original.isLoading}),columnId:i.id,value:t,attributeData:{type:"string"},isReadOnly:!0})}}),c("product")&&["version","product"].some(e=>l.includes(e))&&y.push({id:"product",accessorKey:"product",header:"Product name",minSize:x,enableSorting:E("product"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(O),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("product",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"string"},isReadOnly:!0})}}),c("tags")&&y.push({id:"tags",accessorKey:"tags",header:"Tags",minSize:x,enableSorting:E("tags"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j($)),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:u}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(u)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("tags",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:n?.options?.tag,isCollapsed:!!e.original.childOnlyMatch,onChange:d=>n?.updateEntities?.({field:i.id,value:d,type:u,rowId:e.id},{selection:n?.selection}),isReadOnly:n?.readOnly?.includes(i.id)||W.isEntityRestricted(u),enableCustomValues:!0})}}),c("createdAt")&&y.push({id:"createdAt",accessorKey:"createdAt",header:"Created at",minSize:x,enableSorting:E("createdAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j(A.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("createdAt",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),c("updatedAt")&&y.push({id:"updatedAt",accessorKey:"updatedAt",header:"Updated at",minSize:x,enableSorting:E("updatedAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j(A.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("updatedAt",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),c("subtasks")&&l.includes("task")&&y.push({id:"subtasks",accessorKey:"subtasks",header:"Subtasks",minSize:x,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:u}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(u)||e.original.metaType)return null;if(u!=="task")return s.jsxRuntimeExports.jsx("div",{className:"readonly"});const d={taskId:h.parseGroupId(e.id)||e.original.entityId||e.original.id,subtasks:a||[]};return s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("subtasks",{loading:e.original.isLoading}),columnId:i.id,value:d.subtasks?.map(I=>I.label||I.name)||[],valueData:d,attributeData:{type:"subtasks"},isReadOnly:n?.readOnly?.includes(i.id)})}}),c("comments")&&l.some(e=>["task","version","product","folder"].includes(e))&&y.push({id:"comments",accessorKey:"latestComments",header:"Latest comments",minSize:x,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,"latestComments");return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:!e.original.isLoading&&!["task","version","product","folder"].includes(a)?s.jsxRuntimeExports.jsx("div",{className:"readonly"}):s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("comments",{loading:e.original.isLoading}),columnId:i.id,value:"",valueData:r||[],attributeData:{type:"comments"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0})}});const Q=o.filter(e=>{if(e.scope&&!e.scope.some(r=>l.includes(r)))return!1;const i="attrib_"+e.name;return!(!c(i)||e.builtin&&!c("attrib"))}).map(e=>({id:"attrib_"+e.name,accessorKey:"attrib."+e.name,header:e.data.title||e.name,minSize:x,filterFn:"fuzzy",sortingFn:T(j((r,n,a)=>F(r,n,a,e.data))),enableSorting:E(e.name)&&E("attrib"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:r,column:n,table:a})=>{const t=a.options.meta,u=n.id.replace("attrib_",""),{value:d,id:I,type:C}=m(r,u,"attrib"),S=!r.original.ownAttrib?.includes(u);return["group",h.NEXT_PAGE_ID].includes(C)||r.original.metaType||!e.scope?.includes(C)&&d==null?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:I,className:p("attrib",{loading:r.original.isLoading}),columnId:n.id,value:d,attributeData:{type:e.data.type||"string",widget:e.data.widget},options:e.data.enum||[],isCollapsed:!!r.original.childOnlyMatch,isInherited:S,isReadOnly:e.readOnly||t?.readOnly?.some(N=>N===u||N==="attrib"&&e.builtin),onChange:N=>t?.updateEntities?.({field:u,value:N,type:C,isAttrib:!0,rowId:r.id},{selection:e.data.enum?.length?t?.selection:void 0})})}})),w=q?g.filter(e=>!(!c(e.linkType)||!c("link")||!l.includes(e.inputType)&&!l.includes(e.outputType))).flatMap(e=>{const i=r=>({id:Y(e,r),accessorKey:`links.${M(e,r)}`,header:()=>s.jsxRuntimeExports.jsxs(H.LinkColumnHeader,{children:[B(e,r)," ",s.jsxRuntimeExports.jsx(K.Icon,{icon:V.getEntityTypeIcon(r==="in"?e.inputType:e.outputType)})]}),minSize:x,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:n,column:a,table:t})=>{const u=a.id.replace("link_",""),{id:d,value:I}=m(n,u,"links"),C=I?.map(ee=>ee.label),S=n.original.entityId||n.original.id,k=!!t.options.meta?.loadingLinksEntityIds?.has(S),N={links:I,direction:r,entityId:S,entityType:n.original.entityType,link:{label:e.linkType,linkType:e.name,targetEntityType:r==="in"?e.inputType:e.outputType}};return s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:d,className:p("links",{loading:n.original.isLoading}),columnId:a.id,value:C,valueData:N,folderId:n.original.folderId,attributeData:{type:"links"},isLinksLoading:k})}});return[i("in"),i("out")]}):[],P=[...y,...Q,...w];return G&&G.forEach(({column:e,position:i=-1})=>{i>=0&&i<P.length?P.splice(i,0,e):P.push(e)}),P},m=(l,o,g)=>({value:g?l.original[g]?.[o]:l.original[o],id:l.id,type:l.original.entityType});exports.COLUMN_MIN_SIZE=x;exports.default=ce;exports.getLinkColumnId=Y;exports.getLinkKey=M;exports.getLinkLabel=B;exports.getValueIdType=m;exports.isEntityExpandable=U;
|
|
2
2
|
//# sourceMappingURL=buildTreeTableColumns.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTreeTableColumns.cjs.js","sources":["../../../../../src/containers/ProjectTreeTable/buildTreeTableColumns.tsx"],"sourcesContent":["import { ColumnDef, FilterFnOption, Row, SortingFn, sortingFns } from '@tanstack/react-table'\nimport { TableRow } from './types/table'\nimport { 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 { TableGroupBy, useCellEditing, useColumnSettingsContext } from './context'\nimport { ROW_SELECTION_COLUMN_ID } from './constants'\nimport { NEXT_PAGE_ID, parseGroupId } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\nimport { AttributeData, 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 | 'comments'\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 thumbnailHash: row.original.thumbnailHash,\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 thumbnailHash={thumbnail.thumbnailHash}\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 if (\n isIncluded('comments') &&\n scopes.some((s) => ['task', 'version', 'product', 'folder'].includes(s))\n ) {\n staticColumns.push({\n id: 'comments',\n accessorKey: 'latestComments',\n header: 'Latest comments',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, 'latestComments')\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n // loading placeholder rows have no entityType yet — let them through so the skeleton shows\n // products borrow their featured version's comments; folders only have data on GQL-fed pages (Lists)\n if (!row.original.isLoading && !['task', 'version', 'product', 'folder'].includes(type))\n return <div className=\"readonly\"></div>\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('comments', { loading: row.original.isLoading })}\n columnId={column.id}\n value={''}\n valueData={value || []}\n attributeData={{ type: 'comments' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly\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', widget: attrib.data.widget }}\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, table }) => {\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 entityId = row.original.entityId || row.original.id\n const isLinksLoading = !!table.options.meta?.loadingLinksEntityIds?.has(entityId)\n const valueData: LinkWidgetData = {\n links: value,\n direction: direction,\n entityId: entityId,\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 isLinksLoading={isLinksLoading}\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","entityId","isLinksLoading","valueData","allColumns","position","field","nestedField"],"mappings":"0wgBA6BaA,EAAsBC,GAAuB,CAAC,SAAU,SAAS,EAAE,SAASA,CAAU,EAEtFC,EAAkB,GAGzBC,EAAwBC,GACrB,CAACC,EAAMC,KAASC,IAEjBF,EAAK,SAAS,YAAcC,EAAK,SAAS,UACrCD,EAAK,SAAS,UAAY,EAAI,GAGhCD,EAAOC,EAAMC,EAAM,GAAGC,CAAI,EAI/BC,EAAsB,IAAI,KAAK,SAAS,OAAW,CAAE,QAAS,GAAM,YAAa,OAAQ,EAEzFC,EAAsBL,GACnB,CAACC,EAAMC,KAASC,IAAS,CAC9B,MAAMG,EAASN,EAAOC,EAAMC,EAAM,GAAGC,CAAI,EACzC,GAAIG,IAAW,EAAG,OAAOA,EACzB,MAAMC,EAASN,EAAK,SAAS,OAASA,EAAK,SAAS,MAAQ,GACtDO,EAASN,EAAK,SAAS,OAASA,EAAK,SAAS,MAAQ,GAC5D,OAAOE,EAAoB,QAAQG,EAAQC,CAAM,CACnD,EAGIC,EAA2B,CAACR,EAAMC,IAAS,CAC/C,MAAMK,EAASN,EAAK,SAAS,OAASA,EAAK,SAAS,MAAQA,EAAK,SAAS,MAAQ,GAC5EO,EAASN,EAAK,SAAS,OAASA,EAAK,SAAS,MAAQA,EAAK,SAAS,MAAQ,GAClF,OAAOE,EAAoB,QAAQG,EAAQC,CAAM,CACnD,EAEME,EAAkC,CAACT,EAAMC,EAAMS,IAAa,CAChE,MAAMC,EAASC,EAAAA,aAAaZ,EAAK,SAAUU,CAAQ,EAC7CG,EAASD,EAAAA,aAAaX,EAAK,SAAUS,CAAQ,EAC7CI,EAAU,MAAM,QAAQH,CAAM,EAAIA,EAAO,OAASA,EAAS,OAAOA,CAAM,EAAE,OAAS,EACnFI,EAAU,MAAM,QAAQF,CAAM,EAAIA,EAAO,OAASA,EAAS,OAAOA,CAAM,EAAE,OAAS,EACzF,OAAOC,EAAUC,CACnB,EAIMC,EAA8B,CAAChB,EAAMC,EAAMS,EAAUO,IAAW,CACpE,MAAMN,EAASC,EAAAA,aAAaZ,EAAK,SAAUU,CAAQ,EAC7CG,EAASD,EAAAA,aAAaX,EAAK,SAAUS,CAAQ,EAEnD,GAAIO,GAAUA,EAAO,KAAM,CACzB,MAAMC,EAASD,EAAO,KAAK,UAAWE,GAAMA,EAAE,QAAUR,CAAM,EACxDS,EAASH,EAAO,KAAK,UAAWE,GAAMA,EAAE,QAAUN,CAAM,EAC9D,OAAOK,EAASE,CAClB,KAAA,QAAWH,GAAQ,OAAS,WACnBI,EAAAA,WAAW,SAASrB,EAAMC,EAAMS,CAAQ,EACtCO,GAAQ,OAAS,WACZN,IAAW,GAAO,EAAI,IACtBE,IAAW,GAAO,EAAI,GAG7BQ,EAAAA,WAAW,aAAarB,EAAMC,EAAMS,CAAQ,CAEvD,EAEaY,EAAe,CAC1BC,EACAC,IACG,GAAGD,EAAK,SAAS,OAAO,CAAC,EAAE,YAAA,EAAgBA,EAAK,SAAS,MAAM,CAAC,CAAC,KAAKC,CAAS,IAEvEC,EAAa,CAACF,EAAmCC,IAC5D,GAAGD,EAAK,KAAK,WAAW,IAAK,EAAE,EAAE,WAAW,IAAK,EAAE,EAAE,WAAW,IAAK,GAAG,CAAC,IAAIC,CAAS,GAE3EE,EAAkB,CAC7BH,EACAC,IACG,QAAQC,EAAWF,EAAMC,CAAS,CAAC,GAiClCG,GAAwB,CAAC,CAC7B,OAAAC,EACA,QAAAC,EACA,MAAAC,EAAQ,CAAA,EACR,aAAAC,EAAe,GACf,cAAAC,EACA,iBAAAC,EACA,QAAAC,EACA,SAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,QAAAC,EACA,UAAAC,EAAY,QACd,IAAkC,CAChC,MAAMC,EAAuC,CAAA,EAGvCC,EAAcC,GAAgC,CAACP,GAAU,SAASO,CAAE,EACpEC,EAAWD,GAAgC,CAACN,GAAiB,SAASM,CAAE,EAG1ED,EAAWG,EAAAA,uBAAuB,GACpCJ,EAAc,KAAK,CACjB,GAAII,EAAAA,wBACJ,eAAgB,GAChB,cAAe,GACf,cAAe,GACf,aAAc,GAEd,OAAQ,IAAMC,EAAAA,kBAAAA,IAACC,GAAA,EAAmB,EAClC,KAAM,CAAC,CAAE,IAAAC,KACHA,EAAI,SAAS,aAAe,SAAWA,EAAI,SAAS,SAAiB,6BACjEC,GAAAA,cAAA,EAAc,EAExB,KAAM,EAAA,CACP,EAGCP,EAAW,WAAW,GACxBD,EAAc,KAAK,CACjB,GAAI,YACJ,OAAQ,YACR,KAAM,GACN,QAAS,GACT,eAAgB,GAChB,cAAe,GACf,KAAM,CAAC,CAAE,IAAAO,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,GAAIH,EAAI,SAAS,aAAe,SAAWA,EAAI,SAAS,SAAU,OAAO,KACzE,MAAMI,EAAOD,EAAM,QAAQ,KAC3B,GAAI,CAACC,EAAM,OAAO,KAClB,MAAMC,EAASC,EAAAA,UAAUN,EAAI,GAAIE,EAAO,EAAE,EAC1C,IAAIK,EAAY,CACd,SAAUP,EAAI,SAAS,UAAYA,EAAI,GACvC,WAAYA,EAAI,SAAS,WACzB,cAAeA,EAAI,SAAS,aAAA,EAG9B,OAAIA,EAAI,SAAS,YACfO,EAAYP,EAAI,SAAS,WAGzBF,EAAAA,kBAAAA,IAACU,GAAAA,gBAAA,CACC,GAAIH,EACJ,SAAUE,EAAU,SACpB,WAAYA,EAAU,WACtB,cAAeA,EAAU,cACzB,KAAMP,EAAI,SAAS,KACnB,YAAaI,GAAM,YACnB,UAAWK,EAAK,YAAa,CAC3B,QAAST,EAAI,SAAS,SAAA,CACvB,EACD,WAAYA,EAAI,SAAS,cAAA,CAAA,CAG/B,CAAA,CACD,EAGCN,EAAW,MAAM,GACnBD,EAAc,KAAK,CACjB,GAAI,OACJ,YAAa,OACb,OAAQD,EACR,QAAS1C,EACT,UAAWC,EAAqBU,CAAQ,EACxC,cAAe8B,GAAWA,EAAQ,KAAO,SAAW,GAAQK,EAAQ,MAAM,EAC1E,eAAgB,GAChB,cAAe,GACf,aAAc,EAAEL,GAAWA,EAAQ,KAAO,UAC1C,KAAM,CAAC,CAAE,IAAAS,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,KAAM,CAAE,MAAAO,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACnDE,EAAOD,EAAM,QAAQ,KACrB,CAAE,UAAAU,CAAA,EAAcC,kBAAA,EAChB,CAAE,UAAAC,EAAY,EAAA,EAAOC,4BAAA,EACrBX,EAASC,EAAAA,UAAUN,EAAI,GAAIE,EAAO,EAAE,EAE1C,GAAIF,EAAI,SAAS,SACf,OACEF,EAAAA,kBAAAA,IAACmB,EAAAA,iBAAA,CACC,GAAIZ,EACJ,UAAWI,EAAK,QAAS,WAAYT,EAAI,SAAS,UAAU,EAC5D,MAAO,CACL,YAAa,QAAQA,EAAI,MAAQ,CAAC,aAClC,cAAe,MAAA,EAEjB,SAAU,EAEV,SAAAF,EAAAA,kBAAAA,IAACoB,eAAW,SAAUlB,EAAI,SAAS,SAAU,MAAOA,EAAI,SAAS,KAAA,CAAO,CAAA,CAAA,EAK9E,GAAIA,EAAI,SAAS,aAAemB,EAAAA,cAAgBnB,EAAI,SAAS,MAC3D,OACEF,EAAAA,kBAAAA,IAACsB,GAAA,CACC,GAAIpB,EAAI,SAAS,MAAM,MACvB,WAAaL,GAAOS,GAAM,eAAeT,CAAE,CAAA,CAAA,EAKjD,MAAM0B,EACJrB,EAAI,aAAA,GACJ,CAAC,CAACA,EAAI,kBACLpD,EAAmBoD,EAAI,SAAS,UAAU,GAAK,CAAC,CAACA,EAAI,SAAS,OAEjE,OACEsB,EAAAA,kBAAAA,KAACL,EAAAA,iBAAA,CACC,GAAIZ,EACJ,UAAWI,EAAK,QAAST,EAAI,SAAS,WAAY,CAChD,QAASA,EAAI,SAAS,UACtB,UAAWf,CAAA,CACZ,EACD,MAAO,CACL,YAAa,QAAQe,EAAI,MAAQ,CAAC,SAChCqB,GAAgB,CAACrB,EAAI,aAAA,EAAiB,EAAI,EAC5C,WAAA,EAEF,SAAU,EAET,SAAA,CAAAA,EAAI,SAAS,MACZF,EAAAA,kBAAAA,IAACyB,GAAAA,kBAAA,CACC,GAAIvB,EAAI,GACR,MAAOA,EAAI,SAAS,MAAM,MAC1B,KAAMA,EAAI,SAAS,KACnB,KAAMA,EAAI,SAAS,MAAM,KACzB,IAAKA,EAAI,SAAS,MAAM,IACxB,MAAOA,EAAI,SAAS,MAAM,MAC1B,MAAOA,EAAI,SAAS,MAAM,MAC1B,WAAYA,EAAI,cAAA,EAChB,QAASA,EAAI,SAAS,MAAM,QAAU,EACtC,eAAgBA,EAAI,yBAAA,CAAyB,CAAA,EAG/CF,EAAAA,kBAAAA,IAAC0B,GAAAA,iBAAA,CACC,GAAIxB,EAAI,GACR,MAAOA,EAAI,SAAS,MACpB,KAAMA,EAAI,SAAS,KACnB,KACE,CAACf,GAAiB,CAACC,EACf,IAAMc,EAAI,SAAS,SAAS,KAAK,GAAG,EACpC,OAEN,WAAYA,EAAI,SAAS,WACzB,QAASA,EAAI,SAAS,QACtB,aAAAqB,EACA,WAAYrB,EAAI,cAAA,EAChB,gBAAiB,IAAMI,GAAM,kBAAkB,CAACJ,EAAI,EAAE,CAAC,EACvD,eAAgBA,EAAI,yBAAA,EACpB,UAAAe,EACA,oBAAqBU,GAAAA,uBAAuBrB,GAAM,cAAe,MAAM,CAAA,CAAA,EAG1ES,EAAUR,CAAM,GACfP,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,OAAQ,CAAE,QAAST,EAAI,SAAS,UAAW,EAC3D,SAAUE,EAAO,GACjB,MAAAQ,EACA,UACE,CACE,KAAMV,EAAI,SAAS,KACnB,MAAOA,EAAI,SAAS,MACpB,KAAAI,EACA,YAAaT,EACb,SAAUO,EAAO,GACjB,YAAa,CAAC,CAACF,EAAI,SAAS,WAAA,EAGhC,WAAYW,EACZ,cAAe,CAAE,KAAM,MAAA,EACvB,YAAa,CAAC,CAACX,EAAI,SAAS,eAC5B,WAAYI,GAAM,UAAU,SAASF,EAAO,EAAE,CAAA,CAAA,CAChD,CAAA,CAAA,CAIR,CAAA,CACD,EAGCR,EAAW,QAAQ,GACrBD,EAAc,KAAK,CACjB,GAAI,SACJ,YAAa,SACb,QAAS3C,EACT,OAAQ,SACR,UAAWC,EACTM,EAAmB,CAACsE,EAAGC,EAAGC,IACxB5D,EAAW0D,EAAGC,EAAGC,EAAG,CAAE,KAAM1C,EAAQ,OAAQ,KAAM,SAAU,CAAA,CAC9D,EAEF,cAAe,GACf,cAAeS,EAAQ,QAAQ,EAC/B,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAAI,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,KAAM,CAAE,MAAAO,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACnDE,EAAOD,EAAM,QAAQ,KAC3B,MAAI,CAAC,QAASgB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAiB,KAG1EF,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,SAAU,CAAE,QAAST,EAAI,SAAS,UAAW,EAC7D,SAAUE,EAAO,GACjB,MAAAQ,EACA,cAAe,CAAE,KAAM,QAAA,EACvB,QAASN,GAAM,SAAS,OAAO,OAAQ0B,GAAMA,EAAE,OAAO,SAASnB,CAAI,CAAC,EACpE,YAAa,CAAC,CAACX,EAAI,SAAS,eAC5B,SAAWU,GACTN,GAAM,iBACJ,CAAE,MAAOF,EAAO,GAAI,MAAAQ,EAAO,KAAAC,EAAM,MAAOhB,CAAA,EACxC,CAAE,UAAWS,GAAM,SAAA,CAAU,EAGjC,WAAYA,GAAM,UAAU,SAASF,EAAO,EAAE,GAAK6B,EAAAA,mBAAmBpB,CAAI,EAC1E,GAAI,CACF,KAAM,CACJ,GAAI,CACF,SAAU,CACR,GAAI,CACF,KAAM,CACJ,MAAO,CACL,sBAAuB,6CAAA,CACzB,CACF,CACF,CACF,CACF,CACF,CACF,CAAA,CAGN,CAAA,CACD,EAGCjB,EAAW,YAAY,GACzBD,EAAc,KAAK,CACjB,GAAI,aACJ,YAAa,aACb,OAAQ,cACR,QAAS,GACT,cAAe,GACf,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW1C,EAAqBM,EAAmBiB,EAAAA,WAAW,YAAY,CAAC,EAC3E,KAAM,CAAC,CAAE,IAAA0B,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,KAAM,CAAE,MAAAO,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,GAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAU,OAAO,KAC5E,MAAMK,EAASC,EAAAA,UAAUN,EAAI,GAAIE,EAAO,EAAE,EAE1C,OACEoB,EAAAA,kBAAAA,KAACL,EAAAA,iBAAA,CACC,GAAIZ,EACJ,UAAWI,EAAK,aAAcuB,YAAWrB,EAAM,CAAE,QAASX,EAAI,SAAS,UAAW,EAClF,SAAU,EAEV,SAAA,CAAAF,EAAAA,kBAAAA,IAACmC,EAAAA,KAAA,CAAK,KAAMC,EAAAA,kBAAkBvB,CAAI,CAAA,CAAG,EAAE,IAAEwB,GAAAA,WAAWzB,CAAK,CAAA,CAAA,CAAA,CAG/D,CAAA,CACD,EAGChB,EAAW,SAAS,GACtBD,EAAc,KAAK,CACjB,GAAI,UACJ,YAAa,UACb,OAAQZ,EAAO,SAAS,SAAS,GAAKA,EAAO,SAAS,SAAS,EAAI,eAAiB,OACpF,QAAS/B,EACT,cAAe8C,EAAQ,SAAS,EAChC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW7C,EACTM,EAAmB,CAACsE,EAAGC,EAAGC,IACxB5D,EAAW0D,EAAGC,EAAGC,EAAG,CAClB,KAAM,CAAC,GAAG1C,EAAQ,WAAY,GAAGA,EAAQ,QAAQ,EACjD,KAAM,QAAA,CACP,CAAA,CACH,EAEF,KAAM,CAAC,CAAE,IAAAa,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,KAAM,CAAE,MAAAO,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,GAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAU,OAAO,KAC5E,MAAMoC,EAAUzB,IAAS,SAAW,aAAe,WAC7CP,EAAOD,EAAM,QAAQ,KACrBkC,EAAoB1B,IAAS,UAAYX,EAAI,SAAS,YAC5D,OACEF,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,UAAW,CAAE,QAAST,EAAI,SAAS,UAAW,EAC9D,SAAUE,EAAO,GACjB,MAAAQ,EACA,cAAe,CAAE,KAAM,QAAA,EACvB,QACEC,IAAS,SACLP,GAAM,SAAS,WACfO,IAAS,OACTP,GAAM,SAAS,SACfO,IAAS,WAAaA,IAAS,UAC/BP,GAAM,SAAS,YACf,CAAA,EAEN,YAAa,CAAC,CAACJ,EAAI,SAAS,eAC5B,SAAWU,GACTN,GAAM,iBACJ,CAAE,MAAOgC,EAAS,MAAA1B,EAAO,KAAAC,EAAM,MAAOX,EAAI,EAAA,EAC1C,CAAE,UAAWI,GAAM,SAAA,CAAU,EAGjC,WACEA,GAAM,UAAU,SAASF,EAAO,EAAE,GAClCE,GAAM,UAAU,SAASgC,CAAO,GAChCC,EAEF,QACEA,EACI,qEACA,OAEN,GAAI,CACF,KAAM,CACJ,GAAI,CACF,SAAU,CACR,cAAe,EAAA,CACjB,CACF,CACF,CACF,CAAA,CAGN,CAAA,CACD,EAGC3C,EAAW,WAAW,GACxBD,EAAc,KAAK,CACjB,GAAI,YACJ,YAAa,YACb,OAAQ,YACR,QAAS3C,EACT,cAAe8C,EAAQ,WAAW,EAClC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW7C,EAAqBM,EAAmBK,CAAe,CAAC,EACnE,KAAM,CAAC,CAAE,IAAAsC,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,MAAMC,EAAOD,EAAM,QAAQ,KACrB,CAAE,MAAAO,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,MAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAiB,KAExEW,IAAS,SAETb,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,YAAa,CAAE,QAAST,EAAI,SAAS,UAAW,EAChE,SAAUE,EAAO,GACjB,MAAM,GACN,cAAa,EAAA,CAAA,EAIjBJ,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,YAAa,CAAE,QAAST,EAAI,SAAS,UAAW,EAChE,SAAUE,EAAO,GACjB,MAAAQ,EACA,cAAe,CAAE,KAAM,iBAAA,EACvB,QAASN,GAAM,SAAS,SACxB,YAAa,CAAC,CAACJ,EAAI,SAAS,eAC5B,SAAWU,GACTN,GAAM,iBACJ,CAAE,MAAOF,EAAO,GAAI,MAAAQ,EAAO,KAAAC,EAAM,MAAOX,EAAI,EAAA,EAC5C,CAAE,UAAWI,GAAM,SAAA,CAAU,EAGjC,WAAYA,GAAM,UAAU,SAASF,EAAO,EAAE,GAAK6B,EAAAA,mBAAmBpB,CAAI,EAC1E,GAAI,CACF,KAAM,CACJ,iBAAkBD,GAAO,SAAW,EACpC,OAAQ,GACR,iBAAkB,EAAA,CACpB,CACF,CAAA,CAGN,CAAA,CACD,EAGChB,EAAW,QAAQ,GACrBD,EAAc,KAAK,CACjB,GAAI,SACJ,YAAa,SACb,OAAQ,cACR,QAAS3C,EACT,UAAWC,EAAqBU,CAAQ,EACxC,cAAemC,EAAQ,YAAY,EACnC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAAI,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,KAAM,CAAE,MAAAO,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,MAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAiB,KAG1EF,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,SAAU,CAAE,QAAST,EAAI,SAAS,UAAW,EAC7D,SAAUE,EAAO,GACjB,MAAAQ,EACA,cAAe,CAAE,KAAM,QAAA,EACvB,WAAY,EAAA,CAAA,CAGlB,CAAA,CACD,EAIChB,EAAW,QAAQ,GAAK,CAAC,UAAW,SAAS,EAAE,KAAMoC,GAAMjD,EAAO,SAASiD,CAAC,CAAC,GAC/ErC,EAAc,KAAK,CACjB,GAAI,SACJ,YAAa,SACb,OAAQ,SACR,QAAS3C,EACT,cAAe8C,EAAQ,QAAQ,EAC/B,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW7C,EAAqBU,CAAQ,EACxC,KAAM,CAAC,CAAE,IAAAuC,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,MAAMC,EAAOD,EAAM,QAAQ,KACrB,CAAE,MAAAO,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,MAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAiB,KAG1EF,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,SAAU,CAAE,QAAST,EAAI,SAAS,UAAW,EAC7D,SAAUE,EAAO,GACjB,MAAO,CAACQ,CAAK,EACb,cAAe,CAAE,KAAM,iBAAA,EACvB,QAASN,GAAM,SAAS,SACxB,WAAY,GACZ,YAAaO,IAAS,SAAA,CAAA,CAG5B,CAAA,CACD,EAICjB,EAAW,SAAS,GAAK,CAAC,UAAW,SAAS,EAAE,KAAMoC,GAAMjD,EAAO,SAASiD,CAAC,CAAC,GAChFrC,EAAc,KAAK,CACjB,GAAI,UACJ,YAAa,UACb,OAAQ,UACR,QAAS3C,EACT,cAAe8C,EAAQ,SAAS,EAChC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW7C,EAAqBU,CAAQ,EACxC,KAAM,CAAC,CAAE,IAAAuC,EAAK,OAAAE,KAAa,CACzB,KAAM,CAAE,MAAAQ,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,GAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAU,OAAO,KAE5E,IAAIsC,EAAetC,EAAI,SAAS,aAAeU,EAC/C,OAAIV,EAAI,SAAS,aAAe,YAE9BsC,EAAe,GAAGtC,EAAI,SAAS,WAAW,KAAKA,EAAI,SAAS,eAAiB,CAAC,cAI9EF,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,UAAW,CAAE,QAAST,EAAI,SAAS,UAAW,EAC9D,SAAUE,EAAO,GACjB,MAAOoC,EACP,cAAe,CAAE,KAAM,QAAA,EACvB,WAAY,EAAA,CAAA,CAGlB,CAAA,CACD,EAIC5C,EAAW,SAAS,GAAK,CAAC,UAAW,SAAS,EAAE,KAAMoC,GAAMjD,EAAO,SAASiD,CAAC,CAAC,GAChFrC,EAAc,KAAK,CACjB,GAAI,UACJ,YAAa,UACb,OAAQ,eACR,QAAS3C,EACT,cAAe8C,EAAQ,SAAS,EAChC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW7C,EAAqBU,CAAQ,EACxC,KAAM,CAAC,CAAE,IAAAuC,EAAK,OAAAE,KAAa,CACzB,KAAM,CAAE,MAAAQ,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,MAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAiB,KAG1EF,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,UAAW,CAAE,QAAST,EAAI,SAAS,UAAW,EAC9D,SAAUE,EAAO,GACjB,MAAAQ,EACA,cAAe,CAAE,KAAM,QAAA,EACvB,WAAY,EAAA,CAAA,CAGlB,CAAA,CACD,EAGChB,EAAW,MAAM,GACnBD,EAAc,KAAK,CACjB,GAAI,OACJ,YAAa,OACb,OAAQ,OACR,QAAS3C,EACT,cAAe8C,EAAQ,MAAM,EAC7B,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW7C,EAAqBM,EAAmBK,CAAe,CAAC,EACnE,KAAM,CAAC,CAAE,IAAAsC,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,MAAMC,EAAOD,EAAM,QAAQ,KACrB,CAAE,MAAAO,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,MAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAiB,KAE1EF,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,OAAQ,CAAE,QAAST,EAAI,SAAS,UAAW,EAC3D,SAAUE,EAAO,GACjB,MAAAQ,EACA,cAAe,CAAE,KAAM,iBAAA,EACvB,QAASN,GAAM,SAAS,IACxB,YAAa,CAAC,CAACJ,EAAI,SAAS,eAC5B,SAAWU,GACTN,GAAM,iBACJ,CAAE,MAAOF,EAAO,GAAI,MAAAQ,EAAO,KAAAC,EAAM,MAAOX,EAAI,EAAA,EAC5C,CAAE,UAAWI,GAAM,SAAA,CAAU,EAGjC,WAAYA,GAAM,UAAU,SAASF,EAAO,EAAE,GAAK6B,EAAAA,mBAAmBpB,CAAI,EAC1E,mBAAkB,EAAA,CAAA,CAGxB,CAAA,CACD,EAGCjB,EAAW,WAAW,GACxBD,EAAc,KAAK,CACjB,GAAI,YACJ,YAAa,YACb,OAAQ,aACR,QAAS3C,EACT,cAAe8C,EAAQ,WAAW,EAClC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW7C,EAAqBM,EAAmBiB,EAAAA,WAAW,QAAQ,CAAC,EACvE,KAAM,CAAC,CAAE,IAAA0B,EAAK,OAAAE,KAAa,CACzB,KAAM,CAAE,MAAAQ,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,MAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAiB,KAE1EF,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,YAAa,CAAE,QAAST,EAAI,SAAS,UAAW,EAChE,SAAUE,EAAO,GACjB,MAAAQ,EACA,cAAe,CAAE,KAAM,UAAA,EACvB,YAAa,CAAC,CAACV,EAAI,SAAS,eAC5B,WAAY,GACZ,GAAI,CAAE,KAAM,CAAE,SAAU,GAAK,CAAE,CAAA,CAGrC,CAAA,CACD,EAGCN,EAAW,WAAW,GACxBD,EAAc,KAAK,CACjB,GAAI,YACJ,YAAa,YACb,OAAQ,aACR,QAAS3C,EACT,cAAe8C,EAAQ,WAAW,EAClC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW7C,EAAqBM,EAAmBiB,EAAAA,WAAW,QAAQ,CAAC,EACvE,KAAM,CAAC,CAAE,IAAA0B,EAAK,OAAAE,KAAa,CACzB,KAAM,CAAE,MAAAQ,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,MAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAiB,KAE1EF,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,YAAa,CAAE,QAAST,EAAI,SAAS,UAAW,EAChE,SAAUE,EAAO,GACjB,MAAAQ,EACA,cAAe,CAAE,KAAM,UAAA,EACvB,YAAa,CAAC,CAACV,EAAI,SAAS,eAC5B,WAAY,GACZ,GAAI,CAAE,KAAM,CAAE,SAAU,GAAK,CAAE,CAAA,CAGrC,CAAA,CACD,EAGCN,EAAW,UAAU,GAAKb,EAAO,SAAS,MAAM,GAClDY,EAAc,KAAK,CACjB,GAAI,WACJ,YAAa,WACb,OAAQ,WACR,QAAS3C,EACT,cAAe,GACf,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAAkD,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,MAAMC,EAAOD,EAAM,QAAQ,KACrB,CAAE,MAAAO,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAKE,EAAO,EAAE,EACzD,GAAI,CAAC,QAASiB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAU,OAAO,KAG5E,GAAIW,IAAS,OAAQ,OAAOb,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,WAAW,EAEtD,MAAMyC,EAAmC,CACvC,OAAQC,EAAAA,aAAaxC,EAAI,EAAE,GAAKA,EAAI,SAAS,UAAYA,EAAI,SAAS,GACtE,SAAUU,GAAS,CAAA,CAAC,EAGtB,OACEZ,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,WAAY,CAAE,QAAST,EAAI,SAAS,UAAW,EAC/D,SAAUE,EAAO,GACjB,MAAOqC,EAAa,UAAU,IAAKT,GAAWA,EAAE,OAASA,EAAE,IAAI,GAAK,CAAA,EACpE,UAAWS,EACX,cAAe,CAAE,KAAM,UAAA,EACvB,WAAYnC,GAAM,UAAU,SAASF,EAAO,EAAE,CAAA,CAAA,CAGpD,CAAA,CACD,EAIDR,EAAW,UAAU,GACrBb,EAAO,KAAMiD,GAAM,CAAC,OAAQ,UAAW,UAAW,QAAQ,EAAE,SAASA,CAAC,CAAC,GAEvErC,EAAc,KAAK,CACjB,GAAI,WACJ,YAAa,iBACb,OAAQ,kBACR,QAAS3C,EACT,cAAe,GACf,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAAkD,EAAK,OAAAE,KAAa,CACzB,KAAM,CAAE,MAAAQ,EAAO,GAAAf,EAAI,KAAAgB,GAASC,EAAeZ,EAAK,gBAAgB,EAChE,MAAI,CAAC,QAASmB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,SAAiB,KAIxE,CAACA,EAAI,SAAS,WAAa,CAAC,CAAC,OAAQ,UAAW,UAAW,QAAQ,EAAE,SAASW,CAAI,EAC7Eb,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,UAAA,CAAW,EAGjCA,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,WAAY,CAAE,QAAST,EAAI,SAAS,UAAW,EAC/D,SAAUE,EAAO,GACjB,MAAO,GACP,UAAWQ,GAAS,CAAA,EACpB,cAAe,CAAE,KAAM,UAAA,EACvB,YAAa,CAAC,CAACV,EAAI,SAAS,eAC5B,WAAU,EAAA,CAAA,CAGhB,CAAA,CACD,EAGH,MAAMyC,EAA0C3D,EAC7C,OAAQZ,GAAW,CAElB,GAAIA,EAAO,OAAS,CAACA,EAAO,MAAM,KAAM4D,GAAMjD,EAAO,SAASiD,CAAC,CAAC,EAAG,MAAO,GAE1E,MAAMnE,EAAW,UAAYO,EAAO,KAIpC,MADI,GAACwB,EAAW/B,CAAQ,GACpBO,EAAO,SAAW,CAACwB,EAAW,QAAQ,EAE5C,CAAC,EACA,IAAKxB,IACsC,CACxC,GAAI,UAAYA,EAAO,KACvB,YAAa,UAAYA,EAAO,KAChC,OAAQA,EAAO,KAAK,OAASA,EAAO,KACpC,QAASpB,EACT,SAAU,QACV,UAAWC,EACTM,EAAmB,CAACsE,EAAGC,EAAGC,IAAM5D,EAAW0D,EAAGC,EAAGC,EAAG3D,EAAO,IAAI,CAAC,CAAA,EAElE,cAAe0B,EAAQ1B,EAAO,IAAI,GAAK0B,EAAQ,QAAQ,EACvD,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAAI,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,MAAMC,EAAOD,EAAM,QAAQ,KACrBuC,EAAiBxC,EAAO,GAAG,QAAQ,UAAW,EAAE,EAChD,CAAE,MAAAQ,EAAO,GAAAf,EAAI,KAAAgB,CAAA,EAASC,EAAeZ,EAAK0C,EAAgB,QAAQ,EAClEC,EAAc,CAAC3C,EAAI,SAAS,WAAW,SAAS0C,CAAc,EAOpE,MANI,CAAC,QAASvB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKX,EAAI,SAAS,UAEzD,CAAC9B,EAAO,OAAO,SAASyC,CAAqC,GAC5DD,GAAU,KAGoB,KAG/BZ,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,SAAU,CAAE,QAAST,EAAI,SAAS,UAAW,EAC7D,SAAUE,EAAO,GACjB,MAAAQ,EACA,cAAe,CAAE,KAAMxC,EAAO,KAAK,MAAQ,SAAU,OAAQA,EAAO,KAAK,MAAA,EACzE,QAASA,EAAO,KAAK,MAAQ,CAAA,EAC7B,YAAa,CAAC,CAAC8B,EAAI,SAAS,eAC5B,YAAA2C,EACA,WAEEzE,EAAO,UAEPkC,GAAM,UAAU,KACbT,GAAOA,IAAO+C,GAAmB/C,IAAO,UAAYzB,EAAO,OAAA,EAGhE,SAAWwC,GACTN,GAAM,iBACJ,CAAE,MAAOsC,EAAgB,MAAAhC,EAAO,KAAAC,EAAM,SAAU,GAAM,MAAOX,EAAI,EAAA,EACjE,CAAE,UAAa9B,EAAO,KAAK,MAAM,OAASkC,GAAM,UAAY,MAAA,CAAU,CACxE,CAAA,CAIR,CAAA,EAGH,EAEGwC,EAAsC5D,EAExCD,EACG,OAAQP,GAEH,GAACkB,EAAWlB,EAAK,QAAQ,GAAK,CAACkB,EAAW,MAAM,GAEhD,CAACb,EAAO,SAASL,EAAK,SAAS,GAAK,CAACK,EAAO,SAASL,EAAK,UAAU,EAEzE,EACA,QAASA,GAAS,CACjB,MAAMqE,EAAoBpE,IACjB,CACL,GAAIE,EAAgBH,EAAMC,CAAS,EACnC,YAAa,SAASC,EAAWF,EAAMC,CAAS,CAAC,GACjD,OAAQ,IACN6C,EAAAA,kBAAAA,KAACwB,EAAAA,iBAAA,CACE,SAAA,CAAAvE,EAAaC,EAAMC,CAAS,EAAG,IAChCqB,EAAAA,kBAAAA,IAACmC,EAAAA,KAAA,CACC,KAAMC,EAAAA,kBAAkBzD,IAAc,KAAOD,EAAK,UAAYA,EAAK,UAAU,CAAA,CAAA,CAC/E,EACF,EAEF,QAAS1B,EACT,cAAe,GACf,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAAkD,EAAK,OAAAE,EAAQ,MAAAC,KAAY,CAChC,MAAMuC,EAAiBxC,EAAO,GAAG,QAAQ,QAAS,EAAE,EAE9C,CAAE,GAAAP,EAAI,MAAAe,CAAA,EAAUE,EAAeZ,EAAK0C,EAAgB,OAAO,EAC3DK,EAAYrC,GAAO,IAAKsC,IAAWA,GAAE,KAAK,EAC1CC,EAAWjD,EAAI,SAAS,UAAYA,EAAI,SAAS,GACjDkD,EAAiB,CAAC,CAAC/C,EAAM,QAAQ,MAAM,uBAAuB,IAAI8C,CAAQ,EAC1EE,EAA4B,CAChC,MAAOzC,EACP,UAAAjC,EACA,SAAAwE,EACA,WAAYjD,EAAI,SAAS,WACzB,KAAM,CACJ,MAAOxB,EAAK,SACZ,SAAUA,EAAK,KACf,iBAAkBC,IAAc,KAAOD,EAAK,UAAYA,EAAK,UAAA,CAC/D,EAGF,OACEsB,EAAAA,kBAAAA,IAAC4B,EAAAA,WAAA,CACC,MAAO/B,EACP,UAAWc,EAAK,QAAS,CAAE,QAAST,EAAI,SAAS,UAAW,EAC5D,SAAUE,EAAO,GACjB,MAAO6C,EACP,UAAAI,EACA,SAAUnD,EAAI,SAAS,SACvB,cAAe,CAAE,KAAM,OAAA,EACvB,eAAAkD,CAAA,CAAA,CAGN,CAAA,GAIJ,MAAO,CAACL,EAAiB,IAAI,EAAGA,EAAiB,KAAK,CAAC,CACzD,CAAC,EA/DH,CAAA,EAiEEO,EAAa,CAAC,GAAG3D,EAAe,GAAGgD,EAAkB,GAAGG,CAAW,EAGzE,OAAItD,GACFA,EAAa,QAAQ,CAAC,CAAE,OAAAY,EAAQ,SAAAmD,EAAW,MAAS,CAC9CA,GAAY,GAAKA,EAAWD,EAAW,OACzCA,EAAW,OAAOC,EAAU,EAAGnD,CAAM,EAErCkD,EAAW,KAAKlD,CAAM,CAE1B,CAAC,EAGIkD,CACT,EAIaxC,EAAiB,CAC5BZ,EACAsD,EACAC,KAKI,CACJ,MAAOA,EACFvD,EAAI,SAASuD,CAA6B,IAAYD,CAAK,EAC3DtD,EAAI,SAASsD,CAAuB,EACzC,GAAItD,EAAI,GACR,KAAMA,EAAI,SAAS,UACrB"}
|
|
1
|
+
{"version":3,"file":"buildTreeTableColumns.cjs.js","sources":["../../../../../src/containers/ProjectTreeTable/buildTreeTableColumns.tsx"],"sourcesContent":["import { ColumnDef, FilterFnOption, Row, SortingFn, sortingFns } from '@tanstack/react-table'\nimport { TableRow } from './types/table'\nimport { 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 { TableGroupBy, useCellEditing, useColumnSettingsContext } from './context'\nimport { ROW_SELECTION_COLUMN_ID } from './constants'\nimport { NEXT_PAGE_ID, parseGroupId } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\nimport { AttributeData, 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 | 'comments'\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 thumbnailHash: row.original.thumbnailHash,\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 thumbnailHash={thumbnail.thumbnailHash}\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 if (\n isIncluded('comments') &&\n scopes.some((s) => ['task', 'version', 'product', 'folder'].includes(s))\n ) {\n staticColumns.push({\n id: 'comments',\n accessorKey: 'latestComments',\n header: 'Latest comments',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, 'latestComments')\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n // loading placeholder rows have no entityType yet — let them through so the skeleton shows\n // products borrow their featured version's comments; folders only have data on GQL-fed pages (Lists)\n if (!row.original.isLoading && !['task', 'version', 'product', 'folder'].includes(type))\n return <div className=\"readonly\"></div>\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('comments', { loading: row.original.isLoading })}\n columnId={column.id}\n value={''}\n valueData={value || []}\n attributeData={{ type: 'comments' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly\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', widget: attrib.data.widget }}\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, table }) => {\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 entityId = row.original.entityId || row.original.id\n const isLinksLoading = !!table.options.meta?.loadingLinksEntityIds?.has(entityId)\n const valueData: LinkWidgetData = {\n links: value,\n direction: direction,\n entityId: entityId,\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 isLinksLoading={isLinksLoading}\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","entityId","isLinksLoading","valueData","allColumns","position","field","nestedField"],"mappings":"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"}
|
|
@@ -237,6 +237,7 @@ import "../Slicer/context/SlicerContext.es.js";
|
|
|
237
237
|
import "../Slicer/hooks/useTableDataBySlice.es.js";
|
|
238
238
|
import "../DetailsPanel/DetailsPanel.styled.es.js";
|
|
239
239
|
import "../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js";
|
|
240
|
+
import "../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js";
|
|
240
241
|
import "../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
241
242
|
import "../../components/PlayableIcon/PlayableIcon.es.js";
|
|
242
243
|
import "../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js";
|
|
@@ -312,7 +313,7 @@ const gi = (o) => ["folder", "product"].includes(o), T = 50, x = (o) => (p, d, .
|
|
|
312
313
|
const L = c.enum.findIndex((N) => N.value === I), A = c.enum.findIndex((N) => N.value === R);
|
|
313
314
|
return L - A;
|
|
314
315
|
} else return c?.type === "datetime" ? k.datetime(o, p, d) : c?.type === "boolean" ? (I === !0 ? 1 : 0) - (R === !0 ? 1 : 0) : k.alphanumeric(o, p, d);
|
|
315
|
-
}, ci = (o, p) => `${o.linkType.charAt(0).toUpperCase() + o.linkType.slice(1)} (${p})`, Z = (o, p) => `${o.name.replaceAll("_", "").replaceAll("-", "").replaceAll("|", "_")}_${p}`, yi = (o, p) => `link_${Z(o, p)}`,
|
|
316
|
+
}, ci = (o, p) => `${o.linkType.charAt(0).toUpperCase() + o.linkType.slice(1)} (${p})`, Z = (o, p) => `${o.name.replaceAll("_", "").replaceAll("-", "").replaceAll("|", "_")}_${p}`, yi = (o, p) => `link_${Z(o, p)}`, Ua = ({
|
|
316
317
|
scopes: o,
|
|
317
318
|
attribs: p,
|
|
318
319
|
links: d = [],
|
|
@@ -989,7 +990,7 @@ const gi = (o) => ["folder", "product"].includes(o), T = 50, x = (o) => (p, d, .
|
|
|
989
990
|
});
|
|
990
991
|
export {
|
|
991
992
|
T as COLUMN_MIN_SIZE,
|
|
992
|
-
|
|
993
|
+
Ua as default,
|
|
993
994
|
yi as getLinkColumnId,
|
|
994
995
|
Z as getLinkKey,
|
|
995
996
|
ci as getLinkLabel,
|