@ynput/ayon-frontend-shared 0.2.30 → 0.2.32
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/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +2 -5
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.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/src/api/generated/access.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/access.es.js.map +1 -1
- package/dist/shared/src/api/generated/authentication.cjs.js +1 -1
- package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/authentication.es.js +9 -6
- package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
- package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/folders.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/links.cjs.js +1 -1
- package/dist/shared/src/api/generated/links.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/links.es.js +13 -5
- package/dist/shared/src/api/generated/links.es.js.map +1 -1
- package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
- package/dist/shared/src/api/generated/operations.cjs.js +1 -1
- package/dist/shared/src/api/generated/operations.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/operations.es.js +16 -0
- package/dist/shared/src/api/generated/operations.es.js.map +1 -1
- package/dist/shared/src/api/generated/products.cjs.js +1 -1
- package/dist/shared/src/api/generated/products.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/products.es.js +6 -3
- package/dist/shared/src/api/generated/products.es.js.map +1 -1
- package/dist/shared/src/api/generated/projects.cjs.js +1 -1
- package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/projects.es.js +19 -0
- package/dist/shared/src/api/generated/projects.es.js.map +1 -1
- package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/system.es.js.map +1 -1
- package/dist/shared/src/api/generated/tasks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/tasks.es.js.map +1 -1
- package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/users.es.js.map +1 -1
- package/dist/shared/src/api/generated/versions.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/versions.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js +96 -59
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +15 -10
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +60 -0
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +332 -0
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +4 -4
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +37 -33
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.styled.cjs.js +3 -5
- package/dist/shared/src/components/Thumbnail/Thumbnail.styled.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.styled.es.js +4 -6
- package/dist/shared/src/components/Thumbnail/Thumbnail.styled.es.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +1 -2
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +0 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.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 +555 -537
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +4 -5
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.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 +92 -91
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.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 +126 -108
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDynamicRowHeight.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDynamicRowHeight.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDynamicRowHeight.es.js +9 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDynamicRowHeight.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +49 -48
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +38 -9
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +74 -39
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +24 -15
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +71 -59
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +6 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -12
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js +35 -33
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/types/api/generated/access.d.ts +6 -0
- package/dist/types/api/generated/authentication.d.ts +6 -0
- package/dist/types/api/generated/entityLists.d.ts +7 -7
- package/dist/types/api/generated/folders.d.ts +2 -2
- package/dist/types/api/generated/graphql.d.ts +3 -1
- package/dist/types/api/generated/graphqlLinks.d.ts +21 -15
- package/dist/types/api/generated/links.d.ts +4 -0
- package/dist/types/api/generated/onboarding.d.ts +3 -0
- package/dist/types/api/generated/operations.d.ts +22 -1
- package/dist/types/api/generated/products.d.ts +23 -0
- package/dist/types/api/generated/projects.d.ts +63 -0
- package/dist/types/api/generated/representations.d.ts +1 -0
- package/dist/types/api/generated/system.d.ts +9 -2
- package/dist/types/api/generated/tasks.d.ts +1 -0
- package/dist/types/api/generated/users.d.ts +1 -1
- package/dist/types/api/generated/versions.d.ts +1 -0
- package/dist/types/api/generated/views.d.ts +50 -9
- package/dist/types/api/queries/authentication/getAuthentication.d.ts +1 -0
- package/dist/types/api/queries/overview/updateOverview.d.ts +2 -0
- package/dist/types/api/queries/project/getProject.d.ts +4 -0
- package/dist/types/components/ProjectTableSettings/RowHeightSettings.d.ts +3 -0
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +4 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useDynamicRowHeight.d.ts +11 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EntityNameWidget.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +2 -1
- package/package.json +3 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("../../../../_virtual/jsx-runtime.cjs.js"),N=require("@tanstack/react-table");require("./widgets/CollapsedWidget.cjs.js");require("./widgets/DateWidget.cjs.js");require("./widgets/EnumWidget.cjs.js");require("./widgets/TextWidget.cjs.js");require("./widgets/BooleanWidget.cjs.js");const I=require("./widgets/CellWidget.cjs.js"),$=require("./widgets/EntityNameWidget.cjs.js"),B=require("./widgets/GroupHeaderWidget.cjs.js"),U=require("./widgets/ThumbnailWidget.cjs.js"),Z=require("@ynput/ayon-react-components"),x=require("clsx");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.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/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/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/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/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("react");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");const J=require("../../util/getEntityTypeIcon.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("date-fns");require("./ProjectTreeTable.cjs.js");const Q=require("./context/CellEditingContext.cjs.js"),L=require("./utils/cellUtils.cjs.js"),M=require("./ProjectTreeTable.styled.cjs.js"),Y=require("./components/SelectionCell.cjs.js"),w=require("./components/RowSelectionHeader.cjs.js"),F=require("./context/SelectionCellsContext.cjs.js"),m=require("./hooks/useBuildGroupByTableData.cjs.js"),ee=require("./widgets/LoadMoreWidget.cjs.js");require("./context/ProjectTableQueriesContext.cjs.js");require("./context/ProjectTableContext.cjs.js");require("./context/ClipboardContext.cjs.js");require("./context/ColumnSettingsContext.cjs.js");require("./context/SelectedRowsContext.cjs.js");require("./context/DetailsPanelEntityContext.cjs.js");require("./context/ProjectDataContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("./components/GroupSettingsFallback.cjs.js");require("./components/HeaderActionButton.cjs.js");require("./components/ColumnHeaderMenu.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");const T=50,R=d=>(o,c,...a)=>o.original.isLoading!==c.original.isLoading?o.original.isLoading?1:-1:d(o,c,...a),ie=(d,o)=>{const c=d.original.path||d.original.name,a=o.original.path||o.original.name;return c.localeCompare(a)},H=(d,o,c)=>{const a=L.getCellValue(d.original,c),f=L.getCellValue(o.original,c),j=Array.isArray(a)?a.length:a?String(a).length:0,S=Array.isArray(f)?f.length:f?String(f).length:0;return j-S},z=(d,o,c,a)=>{const f=L.getCellValue(d.original,c),j=L.getCellValue(o.original,c);if(a&&a.enum){const S=a.enum.findIndex(b=>b.value===f);return a.enum.findIndex(b=>b.value===j)-S<0?1:-1}else return(a==null?void 0:a.type)==="datetime"?N.sortingFns.datetime(d,o,c):(a==null?void 0:a.type)==="boolean"?(f===!0?1:0)-(j===!0?1:0):N.sortingFns.alphanumeric(d,o,c)},G=(d,o)=>`${d.linkType.charAt(0).toUpperCase()+d.linkType.slice(1)} (${o})`,D=(d,o)=>`${d.name.replaceAll("_","").replaceAll("-","").replaceAll("|","_")}_${o}`,K=(d,o)=>`link_${D(d,o)}`,re=({attribs:d,links:o=[],showHierarchy:c,options:a,excluded:f,extraColumns:j,groupBy:S})=>{const h=[],b=e=>!(f!=null&&f.includes(e));b(F.ROW_SELECTION_COLUMN_ID)&&h.push({id:F.ROW_SELECTION_COLUMN_ID,enableResizing:!1,enableSorting:!1,enablePinning:!1,enableHiding:!1,header:()=>p.jsxRuntimeExports.jsx(w,{}),cell:({row:e})=>e.original.entityType==="group"?null:p.jsxRuntimeExports.jsx(Y.SelectionCell,{}),size:20}),b("thumbnail")&&h.push({id:"thumbnail",header:"Thumbnail",size:63,minSize:64,enableResizing:!0,enableSorting:!1,cell:({row:e,column:r,table:l})=>{const i=l.options.meta;if(!i)return null;const s=L.getCellId(e.id,r.id);return p.jsxRuntimeExports.jsx(U.ThumbnailWidget,{id:s,entityId:e.original.entityId||e.id,entityType:e.original.entityType,updatedAt:e.original.updatedAt,icon:e.original.icon,projectName:i==null?void 0:i.projectName,className:x("thumbnail",{loading:e.original.isLoading}),isPlayable:e.original.hasReviewables})}}),b("name")&&h.push({id:"name",accessorKey:"name",header:"Folder / Task",minSize:T,sortingFn:R(ie),enableSorting:!S,enableResizing:!0,enablePinning:!0,enableHiding:!S,cell:({row:e,column:r,table:l})=>{var q,g;const{value:i,id:s,type:u}=E(e,r.id),n=l.options.meta,{isEditing:t}=Q.useCellEditing(),y=L.getCellId(e.id,r.id);return e.original.entityType===m.NEXT_PAGE_ID&&e.original.group?p.jsxRuntimeExports.jsx(ee,{label:"Load more tasks",id:e.original.group.value,onLoadMore:C=>{var _;return(_=n==null?void 0:n.loadMoreTasks)==null?void 0:_.call(n,C)}}):p.jsxRuntimeExports.jsxs(M.TableCellContent,{id:y,className:x("large",e.original.entityType,{loading:e.original.isLoading,hierarchy:c}),style:{paddingLeft:`calc(${e.depth*1}rem + 8px)`},tabIndex:0,children:[e.original.group?p.jsxRuntimeExports.jsx(B.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.subRows.length===0,toggleExpanded:e.getToggleExpandedHandler()}):p.jsxRuntimeExports.jsx($.EntityNameWidget,{id:e.id,label:e.original.label,name:e.original.name,path:c?void 0:"/"+((q=e.original.parents)==null?void 0:q.join("/")),showHierarchy:c,icon:e.original.icon,type:e.original.entityType,isExpanded:e.getIsExpanded(),toggleExpandAll:()=>{var C;return(C=n==null?void 0:n.toggleExpandAll)==null?void 0:C.call(n,[e.id])},toggleExpanded:e.getToggleExpandedHandler()}),t(y)&&p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:s,className:x("name",{loading:e.original.isLoading}),columnId:r.id,value:i,valueData:{name:e.original.name,label:e.original.label,meta:n,entityRowId:s,columnId:r.id,hasVersions:!!e.original.hasVersions},entityType:u,attributeData:{type:"name"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:(g=n==null?void 0:n.readOnly)==null?void 0:g.includes(r.id)})]})}}),b("status")&&h.push({id:"status",accessorKey:"status",minSize:T,header:"Status",sortingFn:R((e,r,l)=>z(e,r,l,{enum:a.status,type:"string"})),sortDescFirst:!0,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:r,table:l})=>{var t,y;const{value:i,id:s,type:u}=E(e,r.id),n=l.options.meta;return["group",m.NEXT_PAGE_ID].includes(u)?null:p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:s,className:x("status",{loading:e.original.isLoading}),columnId:r.id,value:i,attributeData:{type:"string"},options:(t=n==null?void 0:n.options)==null?void 0:t.status.filter(q=>{var g;return(g=q.scope)==null?void 0:g.includes(u)}),isCollapsed:!!e.original.childOnlyMatch,onChange:q=>{var g;return(g=n==null?void 0:n.updateEntities)==null?void 0:g.call(n,{field:r.id,value:q,type:u,rowId:s},{selection:n==null?void 0:n.selection})},isReadOnly:(y=n==null?void 0:n.readOnly)==null?void 0:y.includes(r.id),pt:{enum:{pt:{template:{pt:{icon:{style:{fontVariationSettings:"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20"}}}}}}}})}}),b("subType")&&h.push({id:"subType",accessorKey:"subType",header:"Type",minSize:T,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:R((e,r,l)=>z(e,r,l,{enum:[...a.folderType,...a.taskType],type:"string"})),cell:({row:e,column:r,table:l})=>{var y,q,g,C;const{value:i,id:s,type:u}=E(e,r.id);if(["group",m.NEXT_PAGE_ID].includes(u))return null;const n=u==="folder"?"folderType":"taskType",t=l.options.meta;return p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:s,className:x("subType",{loading:e.original.isLoading}),columnId:r.id,value:i,attributeData:{type:"string"},options:u==="folder"?(y=t==null?void 0:t.options)==null?void 0:y.folderType:u==="task"?(q=t==null?void 0:t.options)==null?void 0:q.taskType:[],isCollapsed:!!e.original.childOnlyMatch,onChange:_=>{var A;return(A=t==null?void 0:t.updateEntities)==null?void 0:A.call(t,{field:n,value:_,type:u,rowId:e.id},{selection:t==null?void 0:t.selection})},isReadOnly:((g=t==null?void 0:t.readOnly)==null?void 0:g.includes(r.id))||((C=t==null?void 0:t.readOnly)==null?void 0:C.includes(n))})}}),b("assignees")&&h.push({id:"assignees",accessorKey:"assignees",header:"Assignees",minSize:T,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:R(H),cell:({row:e,column:r,table:l})=>{var t,y;const i=l.options.meta,{value:s,id:u,type:n}=E(e,r.id);return["group",m.NEXT_PAGE_ID].includes(n)?null:n==="folder"?p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:u,className:x("assignees",{loading:e.original.isLoading}),columnId:r.id,value:"",isPlaceholder:!0}):p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:u,className:x("assignees",{loading:e.original.isLoading}),columnId:r.id,value:s,attributeData:{type:"list_of_strings"},options:(t=i==null?void 0:i.options)==null?void 0:t.assignee,isCollapsed:!!e.original.childOnlyMatch,onChange:q=>{var g;return(g=i==null?void 0:i.updateEntities)==null?void 0:g.call(i,{field:r.id,value:q,type:n,rowId:e.id},{selection:i==null?void 0:i.selection})},isReadOnly:(y=i==null?void 0:i.readOnly)==null?void 0:y.includes(r.id),pt:{enum:{multiSelectClose:(s==null?void 0:s.length)===0,search:!0,multipleOverride:!1}}})}}),b("tags")&&h.push({id:"tags",accessorKey:"tags",header:"Tags",minSize:T,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:R(H),cell:({row:e,column:r,table:l})=>{var t,y;const i=l.options.meta,{value:s,id:u,type:n}=E(e,r.id);return["group",m.NEXT_PAGE_ID].includes(n)?null:p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:u,className:x("tags",{loading:e.original.isLoading}),columnId:r.id,value:s,attributeData:{type:"list_of_strings"},options:(t=i==null?void 0:i.options)==null?void 0:t.tag,isCollapsed:!!e.original.childOnlyMatch,onChange:q=>{var g;return(g=i==null?void 0:i.updateEntities)==null?void 0:g.call(i,{field:r.id,value:q,type:n,rowId:e.id},{selection:i==null?void 0:i.selection})},isReadOnly:(y=i==null?void 0:i.readOnly)==null?void 0:y.includes(r.id),enableCustomValues:!0})}}),b("createdAt")&&h.push({id:"createdAt",accessorKey:"createdAt",header:"Created at",minSize:T,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:R(N.sortingFns.datetime),cell:({row:e,column:r})=>{const{value:l,id:i,type:s}=E(e,r.id);return["group",m.NEXT_PAGE_ID].includes(s)?null:p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:i,className:x("createdAt",{loading:e.original.isLoading}),columnId:r.id,value:l,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0})}}),b("updatedAt")&&h.push({id:"updatedAt",accessorKey:"updatedAt",header:"Updated at",minSize:T,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:R(N.sortingFns.datetime),cell:({row:e,column:r})=>{const{value:l,id:i,type:s}=E(e,r.id);return["group",m.NEXT_PAGE_ID].includes(s)?null:p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:i,className:x("updatedAt",{loading:e.original.isLoading}),columnId:r.id,value:l,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0})}});const V=d.filter(e=>{const r="attrib_"+e.name;return!(!b(r)||e.builtin&&!b("attrib"))}).map(e=>({id:"attrib_"+e.name,accessorKey:"attrib."+e.name,header:e.data.title||e.name,minSize:T,filterFn:"fuzzy",sortingFn:R((l,i,s)=>z(l,i,s,e.data)),enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:l,column:i,table:s})=>{var _,A,P;const u=s.options.meta,n=i.id.replace("attrib_",""),{value:t,id:y,type:q}=E(l,n,"attrib"),g=!((_=l.original.ownAttrib)!=null&&_.includes(n));return["group",m.NEXT_PAGE_ID].includes(q)||!((A=e.scope)==null?void 0:A.includes(q))?null:p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:y,className:x("attrib",{loading:l.original.isLoading}),columnId:i.id,value:t,attributeData:{type:e.data.type||"string"},options:e.data.enum||[],isCollapsed:!!l.original.childOnlyMatch,isInherited:g&&["folder","task"].includes(q),isReadOnly:e.readOnly||((P=u==null?void 0:u.readOnly)==null?void 0:P.some(v=>v===n||v==="attrib"&&e.builtin)),onChange:v=>{var k,W;return(W=u==null?void 0:u.updateEntities)==null?void 0:W.call(u,{field:n,value:v,type:q,isAttrib:!0,rowId:l.id},{selection:(k=e.data.enum)!=null&&k.length?u==null?void 0:u.selection:void 0})}})}})),X=o.filter(e=>!(!b(e.linkType)||!b("link"))).flatMap(e=>{const r=l=>({id:K(e,l),accessorKey:`links.${D(e,l)}`,header:()=>p.jsxRuntimeExports.jsxs(M.LinkColumnHeader,{children:[G(e,l)," ",p.jsxRuntimeExports.jsx(Z.Icon,{icon:J.getEntityTypeIcon(l==="in"?e.inputType:e.outputType)})]}),minSize:T,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:i,column:s})=>{const u=s.id.replace("link_",""),{id:n,value:t}=E(i,u,"links"),y=t==null?void 0:t.map(g=>g.label),q={links:t,direction:l,entityId:i.original.entityId||i.original.id,entityType:i.original.entityType,link:{label:e.linkType,linkType:e.name,targetEntityType:l==="in"?e.inputType:e.outputType}};return p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:n,className:x("links",{loading:i.original.isLoading}),columnId:s.id,value:y,valueData:q,folderId:i.original.folderId,attributeData:{type:"links"}})}});return[r("in"),r("out")]}),O=[...h,...V,...X];return j&&j.forEach(({column:e,position:r=-1})=>{r>=0&&r<O.length?O.splice(r,0,e):O.push(e)}),O},E=(d,o,c)=>{var a;return{value:c?(a=d.original[c])==null?void 0:a[o]:d.original[o],id:d.id,type:d.original.entityType}};exports.default=re;exports.getLinkColumnId=K;exports.getLinkKey=D;exports.getLinkLabel=G;exports.getValueIdType=E;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("../../../../_virtual/jsx-runtime.cjs.js"),N=require("@tanstack/react-table");require("./widgets/CollapsedWidget.cjs.js");require("./widgets/DateWidget.cjs.js");require("./widgets/EnumWidget.cjs.js");require("./widgets/TextWidget.cjs.js");require("./widgets/BooleanWidget.cjs.js");const I=require("./widgets/CellWidget.cjs.js"),$=require("./widgets/EntityNameWidget.cjs.js"),B=require("./widgets/GroupHeaderWidget.cjs.js"),U=require("./widgets/ThumbnailWidget.cjs.js"),Z=require("@ynput/ayon-react-components"),x=require("clsx");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.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/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/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/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/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("react");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");const J=require("../../util/getEntityTypeIcon.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("date-fns");require("./ProjectTreeTable.cjs.js");const Q=require("./context/CellEditingContext.cjs.js"),A=require("./utils/cellUtils.cjs.js"),M=require("./ProjectTreeTable.styled.cjs.js"),Y=require("./components/SelectionCell.cjs.js"),w=require("./components/RowSelectionHeader.cjs.js"),F=require("./context/SelectionCellsContext.cjs.js"),R=require("./hooks/useBuildGroupByTableData.cjs.js"),ee=require("./widgets/LoadMoreWidget.cjs.js");require("./context/ProjectTableQueriesContext.cjs.js");require("./context/ProjectTableContext.cjs.js");require("./context/ClipboardContext.cjs.js");const ie=require("./context/ColumnSettingsContext.cjs.js");require("./context/SelectedRowsContext.cjs.js");require("./context/DetailsPanelEntityContext.cjs.js");require("./context/ProjectDataContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("./components/GroupSettingsFallback.cjs.js");require("./components/HeaderActionButton.cjs.js");require("./components/ColumnHeaderMenu.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");const T=50,j=o=>(d,c,...a)=>d.original.isLoading!==c.original.isLoading?d.original.isLoading?1:-1:o(d,c,...a),re=(o,d)=>{const c=o.original.path||o.original.name,a=d.original.path||d.original.name;return c.localeCompare(a)},H=(o,d,c)=>{const a=A.getCellValue(o.original,c),f=A.getCellValue(d.original,c),S=Array.isArray(a)?a.length:a?String(a).length:0,_=Array.isArray(f)?f.length:f?String(f).length:0;return S-_},z=(o,d,c,a)=>{const f=A.getCellValue(o.original,c),S=A.getCellValue(d.original,c);if(a&&a.enum){const _=a.enum.findIndex(y=>y.value===f);return a.enum.findIndex(y=>y.value===S)-_<0?1:-1}else return(a==null?void 0:a.type)==="datetime"?N.sortingFns.datetime(o,d,c):(a==null?void 0:a.type)==="boolean"?(f===!0?1:0)-(S===!0?1:0):N.sortingFns.alphanumeric(o,d,c)},G=(o,d)=>`${o.linkType.charAt(0).toUpperCase()+o.linkType.slice(1)} (${d})`,D=(o,d)=>`${o.name.replaceAll("_","").replaceAll("-","").replaceAll("|","_")}_${d}`,K=(o,d)=>`link_${D(o,d)}`,ne=({attribs:o,links:d=[],showHierarchy:c,options:a,excluded:f,extraColumns:S,groupBy:_})=>{const h=[],y=e=>!(f!=null&&f.includes(e));y(F.ROW_SELECTION_COLUMN_ID)&&h.push({id:F.ROW_SELECTION_COLUMN_ID,enableResizing:!1,enableSorting:!1,enablePinning:!1,enableHiding:!1,header:()=>p.jsxRuntimeExports.jsx(w,{}),cell:({row:e})=>e.original.entityType==="group"?null:p.jsxRuntimeExports.jsx(Y.SelectionCell,{}),size:20}),y("thumbnail")&&h.push({id:"thumbnail",header:"Thumbnail",size:63,minSize:24,enableResizing:!0,enableSorting:!1,cell:({row:e,column:r,table:l})=>{const i=l.options.meta;if(!i)return null;const s=A.getCellId(e.id,r.id);return p.jsxRuntimeExports.jsx(U.ThumbnailWidget,{id:s,entityId:e.original.entityId||e.id,entityType:e.original.entityType,updatedAt:e.original.updatedAt,icon:e.original.icon,projectName:i==null?void 0:i.projectName,className:x("thumbnail",{loading:e.original.isLoading}),isPlayable:e.original.hasReviewables})}}),y("name")&&h.push({id:"name",accessorKey:"name",header:"Folder / Task",minSize:T,sortingFn:j(re),enableSorting:!_,enableResizing:!0,enablePinning:!0,enableHiding:!_,cell:({row:e,column:r,table:l})=>{var g,L;const{value:i,id:s,type:u}=E(e,r.id),n=l.options.meta,{isEditing:t}=Q.useCellEditing(),{rowHeight:b=40}=ie.useColumnSettingsContext(),q=A.getCellId(e.id,r.id);return e.original.entityType===R.NEXT_PAGE_ID&&e.original.group?p.jsxRuntimeExports.jsx(ee,{label:"Load more tasks",id:e.original.group.value,onLoadMore:C=>{var m;return(m=n==null?void 0:n.loadMoreTasks)==null?void 0:m.call(n,C)}}):p.jsxRuntimeExports.jsxs(M.TableCellContent,{id:q,className:x("large",e.original.entityType,{loading:e.original.isLoading,hierarchy:c}),style:{paddingLeft:`calc(${e.depth*1}rem + 8px)`},tabIndex:0,children:[e.original.group?p.jsxRuntimeExports.jsx(B.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.subRows.length===0,toggleExpanded:e.getToggleExpandedHandler()}):p.jsxRuntimeExports.jsx($.EntityNameWidget,{id:e.id,label:e.original.label,name:e.original.name,path:c?void 0:"/"+((g=e.original.parents)==null?void 0:g.join("/")),showHierarchy:c,icon:e.original.icon,type:e.original.entityType,isExpanded:e.getIsExpanded(),toggleExpandAll:()=>{var C;return(C=n==null?void 0:n.toggleExpandAll)==null?void 0:C.call(n,[e.id])},toggleExpanded:e.getToggleExpandedHandler(),rowHeight:b}),t(q)&&p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:s,className:x("name",{loading:e.original.isLoading}),columnId:r.id,value:i,valueData:{name:e.original.name,label:e.original.label,meta:n,entityRowId:s,columnId:r.id,hasVersions:!!e.original.hasVersions},entityType:u,attributeData:{type:"name"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:(L=n==null?void 0:n.readOnly)==null?void 0:L.includes(r.id)})]})}}),y("status")&&h.push({id:"status",accessorKey:"status",minSize:T,header:"Status",sortingFn:j((e,r,l)=>z(e,r,l,{enum:a.status,type:"string"})),sortDescFirst:!0,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:r,table:l})=>{var t,b;const{value:i,id:s,type:u}=E(e,r.id),n=l.options.meta;return["group",R.NEXT_PAGE_ID].includes(u)?null:p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:s,className:x("status",{loading:e.original.isLoading}),columnId:r.id,value:i,attributeData:{type:"string"},options:(t=n==null?void 0:n.options)==null?void 0:t.status.filter(q=>{var g;return(g=q.scope)==null?void 0:g.includes(u)}),isCollapsed:!!e.original.childOnlyMatch,onChange:q=>{var g;return(g=n==null?void 0:n.updateEntities)==null?void 0:g.call(n,{field:r.id,value:q,type:u,rowId:s},{selection:n==null?void 0:n.selection})},isReadOnly:(b=n==null?void 0:n.readOnly)==null?void 0:b.includes(r.id),pt:{enum:{pt:{template:{pt:{icon:{style:{fontVariationSettings:"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20"}}}}}}}})}}),y("subType")&&h.push({id:"subType",accessorKey:"subType",header:"Type",minSize:T,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:j((e,r,l)=>z(e,r,l,{enum:[...a.folderType,...a.taskType],type:"string"})),cell:({row:e,column:r,table:l})=>{var b,q,g,L;const{value:i,id:s,type:u}=E(e,r.id);if(["group",R.NEXT_PAGE_ID].includes(u))return null;const n=u==="folder"?"folderType":"taskType",t=l.options.meta;return p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:s,className:x("subType",{loading:e.original.isLoading}),columnId:r.id,value:i,attributeData:{type:"string"},options:u==="folder"?(b=t==null?void 0:t.options)==null?void 0:b.folderType:u==="task"?(q=t==null?void 0:t.options)==null?void 0:q.taskType:[],isCollapsed:!!e.original.childOnlyMatch,onChange:C=>{var m;return(m=t==null?void 0:t.updateEntities)==null?void 0:m.call(t,{field:n,value:C,type:u,rowId:e.id},{selection:t==null?void 0:t.selection})},isReadOnly:((g=t==null?void 0:t.readOnly)==null?void 0:g.includes(r.id))||((L=t==null?void 0:t.readOnly)==null?void 0:L.includes(n))})}}),y("assignees")&&h.push({id:"assignees",accessorKey:"assignees",header:"Assignees",minSize:T,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:j(H),cell:({row:e,column:r,table:l})=>{var t,b;const i=l.options.meta,{value:s,id:u,type:n}=E(e,r.id);return["group",R.NEXT_PAGE_ID].includes(n)?null:n==="folder"?p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:u,className:x("assignees",{loading:e.original.isLoading}),columnId:r.id,value:"",isPlaceholder:!0}):p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:u,className:x("assignees",{loading:e.original.isLoading}),columnId:r.id,value:s,attributeData:{type:"list_of_strings"},options:(t=i==null?void 0:i.options)==null?void 0:t.assignee,isCollapsed:!!e.original.childOnlyMatch,onChange:q=>{var g;return(g=i==null?void 0:i.updateEntities)==null?void 0:g.call(i,{field:r.id,value:q,type:n,rowId:e.id},{selection:i==null?void 0:i.selection})},isReadOnly:(b=i==null?void 0:i.readOnly)==null?void 0:b.includes(r.id),pt:{enum:{multiSelectClose:(s==null?void 0:s.length)===0,search:!0,multipleOverride:!1}}})}}),y("tags")&&h.push({id:"tags",accessorKey:"tags",header:"Tags",minSize:T,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:j(H),cell:({row:e,column:r,table:l})=>{var t,b;const i=l.options.meta,{value:s,id:u,type:n}=E(e,r.id);return["group",R.NEXT_PAGE_ID].includes(n)?null:p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:u,className:x("tags",{loading:e.original.isLoading}),columnId:r.id,value:s,attributeData:{type:"list_of_strings"},options:(t=i==null?void 0:i.options)==null?void 0:t.tag,isCollapsed:!!e.original.childOnlyMatch,onChange:q=>{var g;return(g=i==null?void 0:i.updateEntities)==null?void 0:g.call(i,{field:r.id,value:q,type:n,rowId:e.id},{selection:i==null?void 0:i.selection})},isReadOnly:(b=i==null?void 0:i.readOnly)==null?void 0:b.includes(r.id),enableCustomValues:!0})}}),y("createdAt")&&h.push({id:"createdAt",accessorKey:"createdAt",header:"Created at",minSize:T,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:j(N.sortingFns.datetime),cell:({row:e,column:r})=>{const{value:l,id:i,type:s}=E(e,r.id);return["group",R.NEXT_PAGE_ID].includes(s)?null:p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:i,className:x("createdAt",{loading:e.original.isLoading}),columnId:r.id,value:l,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0})}}),y("updatedAt")&&h.push({id:"updatedAt",accessorKey:"updatedAt",header:"Updated at",minSize:T,enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:j(N.sortingFns.datetime),cell:({row:e,column:r})=>{const{value:l,id:i,type:s}=E(e,r.id);return["group",R.NEXT_PAGE_ID].includes(s)?null:p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:i,className:x("updatedAt",{loading:e.original.isLoading}),columnId:r.id,value:l,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0})}});const V=o.filter(e=>{const r="attrib_"+e.name;return!(!y(r)||e.builtin&&!y("attrib"))}).map(e=>({id:"attrib_"+e.name,accessorKey:"attrib."+e.name,header:e.data.title||e.name,minSize:T,filterFn:"fuzzy",sortingFn:j((l,i,s)=>z(l,i,s,e.data)),enableSorting:!0,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:l,column:i,table:s})=>{var C,m,P;const u=s.options.meta,n=i.id.replace("attrib_",""),{value:t,id:b,type:q}=E(l,n,"attrib"),g=!((C=l.original.ownAttrib)!=null&&C.includes(n));return["group",R.NEXT_PAGE_ID].includes(q)||!((m=e.scope)==null?void 0:m.includes(q))?null:p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:b,className:x("attrib",{loading:l.original.isLoading}),columnId:i.id,value:t,attributeData:{type:e.data.type||"string"},options:e.data.enum||[],isCollapsed:!!l.original.childOnlyMatch,isInherited:g&&["folder","task"].includes(q),isReadOnly:e.readOnly||((P=u==null?void 0:u.readOnly)==null?void 0:P.some(v=>v===n||v==="attrib"&&e.builtin)),onChange:v=>{var k,W;return(W=u==null?void 0:u.updateEntities)==null?void 0:W.call(u,{field:n,value:v,type:q,isAttrib:!0,rowId:l.id},{selection:(k=e.data.enum)!=null&&k.length?u==null?void 0:u.selection:void 0})}})}})),X=d.filter(e=>!(!y(e.linkType)||!y("link"))).flatMap(e=>{const r=l=>({id:K(e,l),accessorKey:`links.${D(e,l)}`,header:()=>p.jsxRuntimeExports.jsxs(M.LinkColumnHeader,{children:[G(e,l)," ",p.jsxRuntimeExports.jsx(Z.Icon,{icon:J.getEntityTypeIcon(l==="in"?e.inputType:e.outputType)})]}),minSize:T,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:i,column:s})=>{const u=s.id.replace("link_",""),{id:n,value:t}=E(i,u,"links"),b=t==null?void 0:t.map(g=>g.label),q={links:t,direction:l,entityId:i.original.entityId||i.original.id,entityType:i.original.entityType,link:{label:e.linkType,linkType:e.name,targetEntityType:l==="in"?e.inputType:e.outputType}};return p.jsxRuntimeExports.jsx(I.CellWidget,{rowId:n,className:x("links",{loading:i.original.isLoading}),columnId:s.id,value:b,valueData:q,folderId:i.original.folderId,attributeData:{type:"links"}})}});return[r("in"),r("out")]}),O=[...h,...V,...X];return S&&S.forEach(({column:e,position:r=-1})=>{r>=0&&r<O.length?O.splice(r,0,e):O.push(e)}),O},E=(o,d,c)=>{var a;return{value:c?(a=o.original[c])==null?void 0:a[d]:o.original[d],id:o.id,type:o.original.entityType}};exports.default=ne;exports.getLinkColumnId=K;exports.getLinkKey=D;exports.getLinkLabel=G;exports.getValueIdType=E;
|
|
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 { AttributeData, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport { CellWidget, EntityNameWidget, GroupHeaderWidget, ThumbnailWidget } from './widgets'\nimport { getCellId, getCellValue } from './utils/cellUtils'\nimport { LinkColumnHeader, TableCellContent } from './ProjectTreeTable.styled'\nimport clsx from 'clsx'\nimport { SelectionCell } from './components/SelectionCell'\nimport RowSelectionHeader from './components/RowSelectionHeader'\nimport { ROW_SELECTION_COLUMN_ID } from './context/SelectionCellsContext'\nimport { TableGroupBy, useCellEditing } from './context'\nimport { NEXT_PAGE_ID } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\nimport { LinkTypeModel } from '@shared/api'\nimport { LinkWidgetData } from './widgets/LinksWidget'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { getEntityTypeIcon } from '@shared/util'\nimport { NameWidgetData } from '@shared/components/RenameForm'\n\nconst 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 pathSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.path || rowA.original.name\n const labelB = rowB.original.path || rowB.original.name\n // sort alphabetically by label\n return labelA.localeCompare(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 indexB - indexA < 0 ? 1 : -1\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 | 'status'\n | 'subType'\n | 'assignees'\n | 'tags'\n | 'createdAt'\n | 'updatedAt'\n\nexport type TreeTableExtraColumn = { column: ColumnDef<TableRow>; position?: number }\n\nexport type BuildTreeTableColumnsProps = {\n attribs: ProjectTableAttribute[]\n links: LinkTypeModel[]\n showHierarchy: boolean\n options: BuiltInFieldOptions\n excluded?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n groupBy?: TableGroupBy\n}\n\nconst buildTreeTableColumns = ({\n attribs,\n links = [],\n showHierarchy,\n options,\n excluded,\n extraColumns,\n groupBy,\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\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') 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: 64,\n enableResizing: true,\n enableSorting: false,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n if (!meta) return null\n const cellId = getCellId(row.id, column.id)\n return (\n <ThumbnailWidget\n id={cellId}\n entityId={row.original.entityId || row.id}\n entityType={row.original.entityType}\n updatedAt={row.original.updatedAt}\n icon={row.original.icon}\n projectName={meta?.projectName as string}\n className={clsx('thumbnail', {\n loading: row.original.isLoading,\n })}\n isPlayable={row.original.hasReviewables}\n />\n )\n },\n })\n }\n\n if (isIncluded('name')) {\n staticColumns.push({\n id: 'name',\n accessorKey: 'name',\n header: 'Folder / Task',\n minSize: MIN_SIZE,\n sortingFn: withLoadingStateSort(pathSort),\n enableSorting: groupBy ? false : true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: groupBy ? false : true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n const { isEditing } = useCellEditing()\n const cellId = getCellId(row.id, column.id)\n\n if (row.original.entityType === NEXT_PAGE_ID && row.original.group) {\n return (\n <LoadMoreWidget\n label={'Load more tasks'}\n id={row.original.group.value}\n onLoadMore={(id) => meta?.loadMoreTasks?.(id)}\n />\n )\n }\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 + 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.subRows.length === 0}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n ) : (\n <EntityNameWidget\n id={row.id}\n label={row.original.label}\n name={row.original.name}\n path={!showHierarchy ? '/' + row.original.parents?.join('/') : undefined}\n showHierarchy={showHierarchy}\n icon={row.original.icon}\n type={row.original.entityType}\n isExpanded={row.getIsExpanded()}\n toggleExpandAll={() => meta?.toggleExpandAll?.([row.id])}\n toggleExpanded={row.getToggleExpandedHandler()}\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: MIN_SIZE,\n header: 'Status',\n sortingFn: withLoadingStateSort((a, b, c) =>\n attribSort(a, b, c, { enum: options.status, type: 'string' }),\n ),\n sortDescFirst: true,\n enableSorting: true,\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)) 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)}\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('subType')) {\n staticColumns.push({\n id: 'subType',\n accessorKey: 'subType',\n header: 'Type',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort((a, b, c) =>\n attribSort(a, b, c, { enum: [...options.folderType, ...options.taskType], type: 'string' }),\n ),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n const fieldId = type === 'folder' ? 'folderType' : 'taskType'\n const meta = table.options.meta\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 : []\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={meta?.readOnly?.includes(column.id) || meta?.readOnly?.includes(fieldId)}\n />\n )\n },\n })\n }\n\n if (isIncluded('assignees')) {\n staticColumns.push({\n id: 'assignees',\n accessorKey: 'assignees',\n header: 'Assignees',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(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)) 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)}\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('tags')) {\n staticColumns.push({\n id: 'tags',\n accessorKey: 'tags',\n header: 'Tags',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(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)) 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)}\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: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(sortingFns.datetime),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) 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 />\n )\n },\n })\n }\n\n if (isIncluded('updatedAt')) {\n staticColumns.push({\n id: 'updatedAt',\n accessorKey: 'updatedAt',\n header: 'Updated at',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(sortingFns.datetime),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) 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 />\n )\n },\n })\n }\n\n const attributeColumns: ColumnDef<TableRow>[] = attribs\n .filter((attrib) => {\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: MIN_SIZE,\n filterFn: 'fuzzy' as FilterFnOption<TableRow>,\n sortingFn: withLoadingStateSort((a, b, c) => attribSort(a, b, c, attrib.data)),\n enableSorting: true,\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)) return null\n const isTypeInScope = attrib.scope?.includes(type as (typeof attrib.scope)[number])\n\n // if the attribute is not in scope, we should nothing\n if (!isTypeInScope) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('attrib', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: attrib.data.type || 'string' }}\n options={attrib.data.enum || []}\n isCollapsed={!!row.original.childOnlyMatch}\n isInherited={isInherited && ['folder', 'task'].includes(type)}\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>[] = links\n .filter((link) => {\n // Check if the link type is excluded\n if (!isIncluded(link.linkType) || !isIncluded('link')) 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: MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column }) => {\n const columnIdParsed = column.id.replace('link_', '')\n\n const { id, value } = getValueIdType(row, columnIdParsed, 'links')\n const cellValue = value?.map((v: any) => v.label)\n const valueData: LinkWidgetData = {\n links: value,\n direction: direction,\n entityId: row.original.entityId || row.original.id,\n entityType: row.original.entityType,\n link: {\n label: link.linkType,\n linkType: link.name,\n targetEntityType: direction === 'in' ? link.inputType : link.outputType,\n },\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('links', { loading: row.original.isLoading })}\n columnId={column.id}\n value={cellValue}\n valueData={valueData}\n folderId={row.original.folderId}\n attributeData={{ type: 'links' }}\n />\n )\n },\n }\n }\n\n return [createLinkColumn('in'), createLinkColumn('out')]\n })\n\n const allColumns = [...staticColumns, ...attributeColumns, ...linkColumns]\n\n // Add extra columns if provided\n if (extraColumns) {\n extraColumns.forEach(({ column, position = -1 }) => {\n if (position >= 0 && position < allColumns.length) {\n allColumns.splice(position, 0, column)\n } else {\n allColumns.push(column)\n }\n })\n }\n\n return allColumns\n}\n\nexport default buildTreeTableColumns\n\nexport const getValueIdType = (\n row: Row<TableRow>,\n field: string,\n nestedField?: keyof TableRow,\n): {\n value: any\n id: string\n type: string\n} => ({\n value: nestedField\n ? (row.original[nestedField as keyof TableRow] as any)?.[field]\n : (row.original[field as keyof TableRow] as any),\n id: row.id,\n type: row.original.entityType,\n})\n"],"names":["MIN_SIZE","withLoadingStateSort","sortFn","rowA","rowB","args","pathSort","labelA","labelB","valueLengthSort","columnId","valueA","getCellValue","valueB","lengthA","lengthB","attribSort","attrib","indexA","o","sortingFns","getLinkLabel","link","direction","getLinkKey","getLinkColumnId","buildTreeTableColumns","attribs","links","showHierarchy","options","excluded","extraColumns","groupBy","staticColumns","isIncluded","id","ROW_SELECTION_COLUMN_ID","jsx","RowSelectionHeader","row","SelectionCell","column","table","meta","cellId","getCellId","ThumbnailWidget","clsx","value","type","getValueIdType","isEditing","useCellEditing","NEXT_PAGE_ID","LoadMoreWidget","_a","jsxs","TableCellContent","GroupHeaderWidget","EntityNameWidget","CellWidget","_b","a","b","c","s","fieldId","_c","_d","attributeColumns","columnIdParsed","isInherited","linkColumns","createLinkColumn","LinkColumnHeader","Icon","getEntityTypeIcon","cellValue","v","valueData","allColumns","position","field","nestedField"],"mappings":"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"}
|
|
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 { AttributeData, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport { CellWidget, EntityNameWidget, GroupHeaderWidget, ThumbnailWidget } from './widgets'\nimport { getCellId, getCellValue } from './utils/cellUtils'\nimport { LinkColumnHeader, TableCellContent } from './ProjectTreeTable.styled'\nimport clsx from 'clsx'\nimport { SelectionCell } from './components/SelectionCell'\nimport RowSelectionHeader from './components/RowSelectionHeader'\nimport { ROW_SELECTION_COLUMN_ID } from './context/SelectionCellsContext'\nimport { TableGroupBy, useCellEditing, useColumnSettingsContext } from './context'\nimport { NEXT_PAGE_ID } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\nimport { LinkTypeModel } from '@shared/api'\nimport { LinkWidgetData } from './widgets/LinksWidget'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { getEntityTypeIcon } from '@shared/util'\nimport { NameWidgetData } from '@shared/components/RenameForm'\n\nconst 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 pathSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.path || rowA.original.name\n const labelB = rowB.original.path || rowB.original.name\n // sort alphabetically by label\n return labelA.localeCompare(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 indexB - indexA < 0 ? 1 : -1\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 | 'status'\n | 'subType'\n | 'assignees'\n | 'tags'\n | 'createdAt'\n | 'updatedAt'\n\nexport type TreeTableExtraColumn = { column: ColumnDef<TableRow>; position?: number }\n\nexport type BuildTreeTableColumnsProps = {\n attribs: ProjectTableAttribute[]\n links: LinkTypeModel[]\n showHierarchy: boolean\n options: BuiltInFieldOptions\n excluded?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n groupBy?: TableGroupBy\n}\n\nconst buildTreeTableColumns = ({\n attribs,\n links = [],\n showHierarchy,\n options,\n excluded,\n extraColumns,\n groupBy,\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\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') 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 const meta = table.options.meta\n if (!meta) return null\n const cellId = getCellId(row.id, column.id)\n return (\n <ThumbnailWidget\n id={cellId}\n entityId={row.original.entityId || row.id}\n entityType={row.original.entityType}\n updatedAt={row.original.updatedAt}\n icon={row.original.icon}\n projectName={meta?.projectName as string}\n className={clsx('thumbnail', {\n loading: row.original.isLoading,\n })}\n isPlayable={row.original.hasReviewables}\n />\n )\n },\n })\n }\n\n if (isIncluded('name')) {\n staticColumns.push({\n id: 'name',\n accessorKey: 'name',\n header: 'Folder / Task',\n minSize: MIN_SIZE,\n sortingFn: withLoadingStateSort(pathSort),\n enableSorting: groupBy ? false : true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: groupBy ? false : true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n const { isEditing } = useCellEditing()\n const { rowHeight = 40 } = useColumnSettingsContext()\n const cellId = getCellId(row.id, column.id)\n\n if (row.original.entityType === NEXT_PAGE_ID && row.original.group) {\n return (\n <LoadMoreWidget\n label={'Load more tasks'}\n id={row.original.group.value}\n onLoadMore={(id) => meta?.loadMoreTasks?.(id)}\n />\n )\n }\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 + 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.subRows.length === 0}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n ) : (\n <EntityNameWidget\n id={row.id}\n label={row.original.label}\n name={row.original.name}\n path={!showHierarchy ? '/' + row.original.parents?.join('/') : undefined}\n showHierarchy={showHierarchy}\n icon={row.original.icon}\n type={row.original.entityType}\n isExpanded={row.getIsExpanded()}\n toggleExpandAll={() => meta?.toggleExpandAll?.([row.id])}\n toggleExpanded={row.getToggleExpandedHandler()}\n rowHeight={rowHeight}\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: MIN_SIZE,\n header: 'Status',\n sortingFn: withLoadingStateSort((a, b, c) =>\n attribSort(a, b, c, { enum: options.status, type: 'string' }),\n ),\n sortDescFirst: true,\n enableSorting: true,\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)) 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)}\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('subType')) {\n staticColumns.push({\n id: 'subType',\n accessorKey: 'subType',\n header: 'Type',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort((a, b, c) =>\n attribSort(a, b, c, { enum: [...options.folderType, ...options.taskType], type: 'string' }),\n ),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n const fieldId = type === 'folder' ? 'folderType' : 'taskType'\n const meta = table.options.meta\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 : []\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={meta?.readOnly?.includes(column.id) || meta?.readOnly?.includes(fieldId)}\n />\n )\n },\n })\n }\n\n if (isIncluded('assignees')) {\n staticColumns.push({\n id: 'assignees',\n accessorKey: 'assignees',\n header: 'Assignees',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(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)) 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)}\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('tags')) {\n staticColumns.push({\n id: 'tags',\n accessorKey: 'tags',\n header: 'Tags',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(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)) 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)}\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: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(sortingFns.datetime),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) 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 />\n )\n },\n })\n }\n\n if (isIncluded('updatedAt')) {\n staticColumns.push({\n id: 'updatedAt',\n accessorKey: 'updatedAt',\n header: 'Updated at',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(sortingFns.datetime),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) 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 />\n )\n },\n })\n }\n\n const attributeColumns: ColumnDef<TableRow>[] = attribs\n .filter((attrib) => {\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: MIN_SIZE,\n filterFn: 'fuzzy' as FilterFnOption<TableRow>,\n sortingFn: withLoadingStateSort((a, b, c) => attribSort(a, b, c, attrib.data)),\n enableSorting: true,\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)) return null\n const isTypeInScope = attrib.scope?.includes(type as (typeof attrib.scope)[number])\n\n // if the attribute is not in scope, we should nothing\n if (!isTypeInScope) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('attrib', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: attrib.data.type || 'string' }}\n options={attrib.data.enum || []}\n isCollapsed={!!row.original.childOnlyMatch}\n isInherited={isInherited && ['folder', 'task'].includes(type)}\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>[] = links\n .filter((link) => {\n // Check if the link type is excluded\n if (!isIncluded(link.linkType) || !isIncluded('link')) 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: MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column }) => {\n const columnIdParsed = column.id.replace('link_', '')\n\n const { id, value } = getValueIdType(row, columnIdParsed, 'links')\n const cellValue = value?.map((v: any) => v.label)\n const valueData: LinkWidgetData = {\n links: value,\n direction: direction,\n entityId: row.original.entityId || row.original.id,\n entityType: row.original.entityType,\n link: {\n label: link.linkType,\n linkType: link.name,\n targetEntityType: direction === 'in' ? link.inputType : link.outputType,\n },\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('links', { loading: row.original.isLoading })}\n columnId={column.id}\n value={cellValue}\n valueData={valueData}\n folderId={row.original.folderId}\n attributeData={{ type: 'links' }}\n />\n )\n },\n }\n }\n\n return [createLinkColumn('in'), createLinkColumn('out')]\n })\n\n const allColumns = [...staticColumns, ...attributeColumns, ...linkColumns]\n\n // Add extra columns if provided\n if (extraColumns) {\n extraColumns.forEach(({ column, position = -1 }) => {\n if (position >= 0 && position < allColumns.length) {\n allColumns.splice(position, 0, column)\n } else {\n allColumns.push(column)\n }\n })\n }\n\n return allColumns\n}\n\nexport default buildTreeTableColumns\n\nexport const getValueIdType = (\n row: Row<TableRow>,\n field: string,\n nestedField?: keyof TableRow,\n): {\n value: any\n id: string\n type: string\n} => ({\n value: nestedField\n ? (row.original[nestedField as keyof TableRow] as any)?.[field]\n : (row.original[field as keyof TableRow] as any),\n id: row.id,\n type: row.original.entityType,\n})\n"],"names":["MIN_SIZE","withLoadingStateSort","sortFn","rowA","rowB","args","pathSort","labelA","labelB","valueLengthSort","columnId","valueA","getCellValue","valueB","lengthA","lengthB","attribSort","attrib","indexA","o","sortingFns","getLinkLabel","link","direction","getLinkKey","getLinkColumnId","buildTreeTableColumns","attribs","links","showHierarchy","options","excluded","extraColumns","groupBy","staticColumns","isIncluded","id","ROW_SELECTION_COLUMN_ID","jsx","RowSelectionHeader","row","SelectionCell","column","table","meta","cellId","getCellId","ThumbnailWidget","clsx","value","type","getValueIdType","isEditing","useCellEditing","rowHeight","useColumnSettingsContext","NEXT_PAGE_ID","LoadMoreWidget","_a","jsxs","TableCellContent","GroupHeaderWidget","EntityNameWidget","CellWidget","_b","a","b","c","s","fieldId","_c","_d","attributeColumns","columnIdParsed","isInherited","linkColumns","createLinkColumn","LinkColumnHeader","Icon","getEntityTypeIcon","cellValue","v","valueData","allColumns","position","field","nestedField"],"mappings":"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"}
|