@ynput/ayon-frontend-shared 0.3.0 → 0.3.2
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.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/node_modules/web-namespaces/index.cjs.js +1 -1
- package/dist/node_modules/web-namespaces/index.cjs.js.map +1 -1
- package/dist/node_modules/web-namespaces/index.es.js +3 -8
- package/dist/node_modules/web-namespaces/index.es.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +12 -8
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +11 -7
- 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/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +95 -95
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +66 -61
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +14 -11
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +42 -41
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +23 -23
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js +6 -6
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.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 +65 -64
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +16 -16
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +142 -146
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +24 -24
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +141 -132
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +35 -28
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +10 -10
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +62 -49
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js +86 -80
- package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +2 -1
- package/dist/types/api/generated/graphqlLinks.d.ts +1 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +1 -0
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +1 -0
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +4 -1
- package/dist/types/context/AddonContext.d.ts +1 -0
- package/dist/types/context/ProjectFoldersContext.d.ts +1 -0
- package/package.json +2 -1
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.cjs.js +0 -2
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.cjs.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.es.js +0 -63
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.es.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/index.cjs.js +0 -2
- package/dist/node_modules/@ungap/structured-clone/esm/index.cjs.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/index.es.js +0 -12
- package/dist/node_modules/@ungap/structured-clone/esm/index.es.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.cjs.js +0 -2
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.cjs.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.es.js +0 -107
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.es.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/types.cjs.js +0 -2
- package/dist/node_modules/@ungap/structured-clone/esm/types.cjs.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/types.es.js +0 -14
- package/dist/node_modules/@ungap/structured-clone/esm/types.es.js.map +0 -1
- package/dist/node_modules/devlop/lib/default.cjs.js +0 -2
- package/dist/node_modules/devlop/lib/default.cjs.js.map +0 -1
- package/dist/node_modules/devlop/lib/default.es.js +0 -6
- package/dist/node_modules/devlop/lib/default.es.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/decode-codepoint.cjs.js +0 -2
- package/dist/node_modules/entities/dist/esm/decode-codepoint.cjs.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/decode-codepoint.es.js +0 -39
- package/dist/node_modules/entities/dist/esm/decode-codepoint.es.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/decode.cjs.js +0 -2
- package/dist/node_modules/entities/dist/esm/decode.cjs.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/decode.es.js +0 -246
- package/dist/node_modules/entities/dist/esm/decode.es.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.cjs.js +0 -2
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.cjs.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.es.js +0 -8
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/lib/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/lib/index.es.js +0 -218
- package/dist/node_modules/hast-util-raw/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.es.js +0 -146
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.es.js +0 -21
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.es.js +0 -113
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.es.js +0 -9
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.es.js +0 -45
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.es.js +0 -26
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.es.js +0 -99
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.es.js +0 -8
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.es.js +0 -211
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.es.js +0 -251
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.es.js +0 -15
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.es.js +0 -74
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.es.js +0 -85
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.es.js +0 -2272
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.es.js +0 -241
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.es.js +0 -3
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.es.js +0 -1941
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.es.js +0 -89
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.es.js +0 -163
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.es.js +0 -13
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.es.js +0 -62
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.es.js +0 -34
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.es.js +0 -369
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.es.js +0 -7
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.es.js +0 -567
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.es.js +0 -8
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.es.js +0 -7
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.es.js +0 -20
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.es.js +0 -37
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.es.js +0 -29
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.es.js +0 -11
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.es.js +0 -22
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.es.js +0 -15
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.es.js +0 -20
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.es.js +0 -12
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.es.js +0 -12
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.cjs.js +0 -3
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.es.js +0 -43
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/lib/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/lib/index.es.js +0 -119
- package/dist/node_modules/hast-util-to-parse5/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.es.js +0 -13
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.es.js +0 -62
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.es.js +0 -34
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.es.js +0 -369
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.es.js +0 -7
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.es.js +0 -567
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.es.js +0 -8
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.es.js +0 -7
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.es.js +0 -20
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.es.js +0 -37
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.es.js +0 -29
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.es.js +0 -11
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.es.js +0 -22
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.es.js +0 -15
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.es.js +0 -20
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.es.js +0 -12
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.es.js +0 -12
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.es.js.map +0 -1
- package/dist/node_modules/rehype-raw/lib/index.cjs.js +0 -2
- package/dist/node_modules/rehype-raw/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/rehype-raw/lib/index.es.js +0 -13
- package/dist/node_modules/rehype-raw/lib/index.es.js.map +0 -1
- package/dist/node_modules/unist-util-is/lib/index.cjs.js +0 -2
- package/dist/node_modules/unist-util-is/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/unist-util-is/lib/index.es.js +0 -92
- package/dist/node_modules/unist-util-is/lib/index.es.js.map +0 -1
- package/dist/node_modules/unist-util-position/lib/index.cjs.js +0 -2
- package/dist/node_modules/unist-util-position/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/unist-util-position/lib/index.es.js +0 -18
- package/dist/node_modules/unist-util-position/lib/index.es.js.map +0 -1
- package/dist/node_modules/unist-util-visit/lib/index.cjs.js +0 -2
- package/dist/node_modules/unist-util-visit/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/unist-util-visit/lib/index.es.js +0 -17
- package/dist/node_modules/unist-util-visit/lib/index.es.js.map +0 -1
- package/dist/node_modules/unist-util-visit-parents/lib/color.cjs.js +0 -2
- package/dist/node_modules/unist-util-visit-parents/lib/color.cjs.js.map +0 -1
- package/dist/node_modules/unist-util-visit-parents/lib/color.es.js +0 -7
- package/dist/node_modules/unist-util-visit-parents/lib/color.es.js.map +0 -1
- package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js +0 -2
- package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/unist-util-visit-parents/lib/index.es.js +0 -57
- package/dist/node_modules/unist-util-visit-parents/lib/index.es.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as o } from "../../../../_virtual/jsx-runtime.es.js";
|
|
2
2
|
import { Button as M } from "@ynput/ayon-react-components";
|
|
3
|
-
import { useRef as Et, useEffect as
|
|
3
|
+
import { useRef as Et, useEffect as n, useMemo as X } from "react";
|
|
4
4
|
import Tt from "./hooks/useDetailsPanelURLSync.es.js";
|
|
5
5
|
import { Panel as xt, Toolbar as Nt, RightTools as Dt } from "./DetailsPanel.styled.es.js";
|
|
6
6
|
import "../../api/base/client.es.js";
|
|
@@ -264,7 +264,7 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
264
264
|
// entities is data we already have from kanban
|
|
265
265
|
entitiesData: x = [],
|
|
266
266
|
// entityIds are used to get the full details data for the entities
|
|
267
|
-
entities:
|
|
267
|
+
entities: s = [],
|
|
268
268
|
tagsOptions: J = [],
|
|
269
269
|
disabledStatuses: Y,
|
|
270
270
|
projectUsers: w,
|
|
@@ -299,14 +299,14 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
299
299
|
setEntities: D,
|
|
300
300
|
slideOut: A,
|
|
301
301
|
useSearchParams: pt
|
|
302
|
-
} = z(), { currentTab:
|
|
303
|
-
|
|
302
|
+
} = z(), { currentTab: p, setTab: y, isFeed: nt } = Ct(a), [Bt, st] = pt(), G = Et(!1), r = e?.entityType ?? T, O = e?.entities ?? s, at = e?.entitySubTypes ?? P, ct = e?.entities ? [] : x, c = e?.entities ? e.entities.map((t) => t.projectName) : $;
|
|
303
|
+
n(() => {
|
|
304
304
|
S && !G.current && (G.current = !0, S());
|
|
305
|
-
}, []),
|
|
306
|
-
_t.includes(r) &&
|
|
307
|
-
}, [r,
|
|
308
|
-
|
|
309
|
-
}, [
|
|
305
|
+
}, []), n(() => {
|
|
306
|
+
_t.includes(r) && p !== "details" && y("details");
|
|
307
|
+
}, [r, p, y]), n(() => {
|
|
308
|
+
s.length && e && D(null);
|
|
309
|
+
}, [s, e, D]);
|
|
310
310
|
const g = X(
|
|
311
311
|
() => Gt(j, c),
|
|
312
312
|
[j, c]
|
|
@@ -318,9 +318,9 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
318
318
|
}),
|
|
319
319
|
[g]
|
|
320
320
|
);
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
}, [r,
|
|
321
|
+
n(() => {
|
|
322
|
+
p === "files" && r !== "version" && y("activity");
|
|
323
|
+
}, [r, p, a]);
|
|
324
324
|
let l = O.length ? O.map((t) => ({ id: t.id, projectName: t.projectName })) : (
|
|
325
325
|
// @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it
|
|
326
326
|
ct.map((t) => ({ id: t.id, projectName: t.projectName }))
|
|
@@ -337,9 +337,9 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
337
337
|
skip: !l.length || !bt.includes(r)
|
|
338
338
|
}
|
|
339
339
|
);
|
|
340
|
-
|
|
340
|
+
n(() => {
|
|
341
341
|
d || W();
|
|
342
|
-
}, [ut, d]),
|
|
342
|
+
}, [ut, d]), n(() => {
|
|
343
343
|
if (!u && e?.source && ["uri", "url"].includes(e.source) && e?.entities?.length && k) {
|
|
344
344
|
const t = m.find(
|
|
345
345
|
(i) => i.id === e.entities[0].id
|
|
@@ -354,7 +354,7 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
354
354
|
projectName: f,
|
|
355
355
|
isLoading: u
|
|
356
356
|
}), { setEntityUri: yt, setUri: ht } = kt();
|
|
357
|
-
|
|
357
|
+
n(() => {
|
|
358
358
|
if (!E?.parents || !v) return;
|
|
359
359
|
const { folderPath: t, taskName: i, versionName: h, productName: K } = Lt(
|
|
360
360
|
E.parents,
|
|
@@ -387,7 +387,7 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
387
387
|
}, b = () => {
|
|
388
388
|
N?.(), D(null), Pt(), W();
|
|
389
389
|
};
|
|
390
|
-
|
|
390
|
+
n(() => {
|
|
391
391
|
const t = (i) => {
|
|
392
392
|
if (i.key === "Escape" && N) {
|
|
393
393
|
const h = i.target;
|
|
@@ -442,7 +442,7 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
442
442
|
onClick: gt
|
|
443
443
|
}
|
|
444
444
|
),
|
|
445
|
-
|
|
445
|
+
N && /* @__PURE__ */ o.jsx(
|
|
446
446
|
M,
|
|
447
447
|
{
|
|
448
448
|
icon: "close",
|
|
@@ -465,7 +465,7 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
465
465
|
tagsOptions: J,
|
|
466
466
|
isFetching: u,
|
|
467
467
|
isCompact: tt,
|
|
468
|
-
currentTab:
|
|
468
|
+
currentTab: p,
|
|
469
469
|
onTabChange: y,
|
|
470
470
|
entityTypeIcons: V,
|
|
471
471
|
onOpenViewer: (t) => it?.(t),
|
|
@@ -489,12 +489,12 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
489
489
|
annotations: L,
|
|
490
490
|
removeAnnotation: I,
|
|
491
491
|
exportAnnotationComposite: R,
|
|
492
|
-
currentTab:
|
|
492
|
+
currentTab: p,
|
|
493
493
|
setCurrentTab: y,
|
|
494
494
|
isSlideOut: d
|
|
495
495
|
}
|
|
496
496
|
),
|
|
497
|
-
|
|
497
|
+
p === "files" && /* @__PURE__ */ o.jsx(
|
|
498
498
|
Rt,
|
|
499
499
|
{
|
|
500
500
|
entities: m,
|
|
@@ -502,7 +502,7 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
502
502
|
isLoadingVersion: u
|
|
503
503
|
}
|
|
504
504
|
),
|
|
505
|
-
|
|
505
|
+
p === "details" && /* @__PURE__ */ o.jsx(
|
|
506
506
|
At,
|
|
507
507
|
{
|
|
508
508
|
entityType: r,
|
|
@@ -533,8 +533,8 @@ const _t = ["product", "representation"], Qt = ({
|
|
|
533
533
|
entityType: P,
|
|
534
534
|
...x
|
|
535
535
|
}) => {
|
|
536
|
-
const { entities:
|
|
537
|
-
return !T && !
|
|
536
|
+
const { entities: s } = z();
|
|
537
|
+
return !T && !s || !P && !s ? null : /* @__PURE__ */ o.jsx(Qt, { ...x, entityType: P || s?.entityType });
|
|
538
538
|
};
|
|
539
539
|
export {
|
|
540
540
|
Hm as DetailsPanel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanel.es.js","sources":["../../../../../src/containers/DetailsPanel/DetailsPanel.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport React, { useEffect, useMemo, useRef } from 'react'\nimport useDetailsPanelURLSync from './hooks/useDetailsPanelURLSync'\nimport * as Styled from './DetailsPanel.styled'\n\n// shared\nimport { useGetEntitiesDetailsPanelQuery, detailsPanelEntityTypes } from '@shared/api'\nimport type { Tag, DetailsPanelEntityType, DetailsPanelEntityData } from '@shared/api'\nimport { DetailsPanelDetails, EntityPath, Watchers } from '@shared/components'\nimport { usePiPWindow } from '@shared/context/pip/PiPProvider'\nimport { extractEntityHierarchyFromParents } from '@shared/util'\nimport {\n ProjectContextProvider,\n ProjectModelWithProducts,\n useDetailsPanelContext,\n useScopedDetailsPanel,\n useURIContext,\n} from '@shared/context'\n\nimport DetailsPanelHeader from './DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './DetailsPanelFiles'\nimport useGetEntityPath from './hooks/useGetEntityPath'\nimport getAllProjectStatuses from './helpers/getAllProjectsStatuses'\nimport FeedWrapper from './FeedWrapper'\nimport FeedContextWrapper from './FeedContextWrapper'\nimport mergeProjectInfo from './helpers/mergeProjectInfo'\n\nexport const entitiesWithoutFeed = ['product', 'representation']\n\ntype User = { avatarUrl: string; name: string; fullName?: string }\n\nexport type DetailsPanelProps = {\n entityType: DetailsPanelEntityType\n entitySubTypes?: string[] // used to get actions before the entity has loaded\n entitiesData?: { id: string; label: string; type: DetailsPanelEntityType }[]\n entities?: { id: string; projectName: string }[]\n tagsOptions?: Tag[]\n disabledStatuses?: string[]\n projectUsers?: User[]\n disabledProjectUsers?: string[]\n activeProjectUsers?: string[]\n projectsInfo?: Record<string, ProjectModelWithProducts>\n projectNames?: string[]\n isSlideOut?: boolean\n style?: React.CSSProperties\n scope: string\n isCompact?: boolean\n onClose?: () => void\n onWatchersUpdate?: (added: any[], removed: any[]) => void\n onOpenViewer?: (entity: any) => void\n onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void\n onOpen?: () => void\n onUriOpen?: (entity: DetailsPanelEntityData) => void\n // annotations\n annotations?: any\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n entityListId?: string\n guestCategories?: Record<string, string> // only used for guests to find if they have access to any categories\n // optional tab state for independent tab management\n}\n\nconst DetailsPanelInner = ({\n entityType,\n entitySubTypes = [],\n // entities is data we already have from kanban\n entitiesData = [],\n // entityIds are used to get the full details data for the entities\n entities = [],\n tagsOptions = [],\n disabledStatuses,\n projectUsers,\n disabledProjectUsers,\n activeProjectUsers,\n projectsInfo = {},\n projectNames = [],\n isSlideOut = false,\n style = {},\n scope,\n isCompact = false,\n onClose,\n onWatchersUpdate,\n onOpenViewer,\n onEntityFocus,\n onOpen,\n onUriOpen, // when the details panel is opened from uri\n // annotations\n annotations,\n removeAnnotation,\n exportAnnotationComposite,\n entityListId,\n guestCategories = {},\n}: // optional tab state for independent tab management\nDetailsPanelProps) => {\n const {\n closeSlideOut,\n openPip,\n user,\n isGuest,\n entities: contextEntities,\n setEntities,\n slideOut,\n useSearchParams,\n } = useDetailsPanelContext()\n const { currentTab, setTab, isFeed } = useScopedDetailsPanel(scope)\n const [_searchParams, setSearchParams] = useSearchParams()\n const hasCalledOnOpen = useRef(false)\n\n // Use context entities if available, otherwise use props\n const activeEntityType = contextEntities?.entityType ?? entityType\n const activeEntities = contextEntities?.entities ?? entities\n const activeEntitySubTypes = contextEntities?.entitySubTypes ?? entitySubTypes\n const activeEntitiesData = contextEntities?.entities ? [] : entitiesData\n const activeProjectNames = contextEntities?.entities\n ? contextEntities.entities.map((e) => e.projectName)\n : projectNames\n\n // Fire onOpen callback once when component mounts and renders\n useEffect(() => {\n if (onOpen && !hasCalledOnOpen.current) {\n hasCalledOnOpen.current = true\n onOpen()\n }\n }, [])\n\n // Force details tab for specific entity types\n useEffect(() => {\n if (entitiesWithoutFeed.includes(activeEntityType) && currentTab !== 'details') {\n setTab('details')\n }\n }, [activeEntityType, currentTab, setTab])\n\n // once component is provided with specific entities, remove context entities to avoid conflicts\n useEffect(() => {\n if (entities.length && contextEntities) {\n setEntities(null)\n }\n }, [entities, contextEntities, setEntities])\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, activeProjectNames),\n [projectsInfo, activeProjectNames],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: projectInfo.productTypes\n .filter((product) => !!product.icon)\n .reduce((acc, product) => ({ ...acc, [product.name]: product.icon }), {}),\n }),\n [projectInfo],\n )\n\n // check if tab needs to be updated when entity type changes\n // for example when switching from version to task, task doesn't have reps tab\n // if reps tab was selected, set default to feed\n useEffect(() => {\n if (currentTab === 'files') {\n // check entity type is still version\n if (activeEntityType !== 'version') {\n setTab('activity')\n }\n }\n }, [activeEntityType, currentTab, scope])\n\n // now we get the full details data for selected entities\n let entitiesToQuery = activeEntities.length\n ? activeEntities.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n : // @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it\n activeEntitiesData.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n\n entitiesToQuery = entitiesToQuery.filter((entity) => entity.id)\n\n const {\n data: entityDetailsData = [],\n isFetching: isFetchingEntitiesDetails,\n isError,\n originalArgs,\n } = useGetEntitiesDetailsPanelQuery(\n { entityType: activeEntityType, entities: entitiesToQuery },\n {\n skip: !entitiesToQuery.length || !detailsPanelEntityTypes.includes(activeEntityType),\n },\n )\n\n // the entity changes then we close the slide out\n useEffect(() => {\n if (!isSlideOut) {\n closeSlideOut()\n }\n }, [originalArgs, isSlideOut])\n\n // if the details panel is opened vair the uri, run callback\n useEffect(() => {\n if (isFetchingEntitiesDetails) return\n\n if (\n contextEntities?.source &&\n ['uri', 'url'].includes(contextEntities.source) &&\n contextEntities?.entities?.length &&\n !!onUriOpen\n ) {\n const uriEntity = entityDetailsData.find(\n (entity) => entity.id === contextEntities.entities[0].id,\n )\n if (!uriEntity) return\n\n onUriOpen(uriEntity)\n }\n }, [entityDetailsData, isFetchingEntitiesDetails])\n\n // TODO: merge current entities data with fresh details data\n\n const allStatuses = getAllProjectStatuses(projectsInfo)\n\n // get the first project name and info to be used in the feed.\n const firstProject = activeProjectNames[0]\n const firstProjectInfo = projectsInfo[firstProject] || {}\n const firstEntityData = entityDetailsData[0] || {}\n // Use the last entity for URI sync\n const lastEntityData = entityDetailsData[entityDetailsData.length - 1]\n const lastProject = activeProjectNames[activeProjectNames.length - 1]\n\n // build the full entity path for the first entity\n const [entityPathSegments, entityPathVersions] = useGetEntityPath({\n entity: firstEntityData,\n entityType: activeEntityType,\n projectName: firstProject,\n isLoading: isFetchingEntitiesDetails,\n })\n\n const { setEntityUri, setUri } = useURIContext()\n // sync the uri when entity changes\n useEffect(() => {\n if (!lastEntityData?.parents) return\n if (!lastProject) return\n const { folderPath, taskName, versionName, productName } = extractEntityHierarchyFromParents(\n lastEntityData.parents,\n activeEntityType,\n lastEntityData.name,\n )\n\n setEntityUri({\n projectName: lastProject,\n folderPath: folderPath,\n taskName: taskName,\n productName: productName,\n versionName: versionName,\n })\n\n // unmount cleanup: clear uri\n return () => {\n setUri('')\n }\n }, [entityDetailsData, activeProjectNames, activeEntityType])\n\n // sync the details panel url (panel) with entity\n useDetailsPanelURLSync({\n entityData: lastEntityData,\n project: lastProject,\n activeEntityType,\n entitiesToQuery,\n })\n\n const clearSearchUrl = () => {\n // remove URL params when closing\n setSearchParams(\n (prev) => {\n const newParams = new URLSearchParams(prev)\n newParams.delete('project')\n newParams.delete('type')\n newParams.delete('id')\n return newParams\n },\n { replace: true },\n )\n }\n\n const handleClose = () => {\n onClose?.()\n // also remove any entities in context\n setEntities(null)\n clearSearchUrl()\n closeSlideOut()\n }\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && onClose) {\n // Don't trigger if we're in an input element\n const target = e.target as HTMLElement\n const isInputElement =\n ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName) || target.isContentEditable\n\n if (isInputElement) return\n\n // don't trigger if the viewer is open and panel not in slideout mode\n if (isSlideOut === false && (target.closest('#viewer-dialog') || !!slideOut)) return\n\n handleClose()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [handleClose, isSlideOut, slideOut])\n\n const { requestPipWindow } = usePiPWindow()\n\n const handleOpenPip = () => {\n openPip({\n entityType: activeEntityType,\n entities: entitiesToQuery,\n scope: scope,\n })\n requestPipWindow(500, 500)\n }\n\n const isCommentingEnabled = () => {\n // cannot comment on multiple projects\n if (activeProjectNames.length > 1) return false\n if (isGuest) {\n // Guest can only comment in review sessions (for now)\n if (!entityListId) return false\n // Guest must have at least one category set for list\n const guestHasCategory = Object.prototype.hasOwnProperty.call(\n guestCategories,\n user.attrib?.email || '',\n )\n if (!guestHasCategory) return false\n }\n return true\n }\n\n return (\n <>\n <Styled.Panel className=\"details-panel\">\n <Styled.Toolbar>\n {/* TODO FIX PATH */}\n <EntityPath\n segments={entityPathSegments}\n versions={entityPathVersions}\n projectName={firstProject}\n hideProjectName={isSlideOut}\n isLoading={isFetchingEntitiesDetails || !entityPathSegments.length}\n entityType={activeEntityType}\n scope={scope}\n // @ts-ignore\n entityTypeIcons={entityTypeIcons}\n />\n <Styled.RightTools className=\"right-tools\">\n <Watchers\n entities={entitiesToQuery}\n entityType={activeEntityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\n />\n\n {(onClose || entities) && (\n <Button\n icon=\"close\"\n variant={'text'}\n onClick={handleClose}\n data-shortcut={'Escape'}\n />\n )}\n </Styled.RightTools>\n </Styled.Toolbar>\n\n <DetailsPanelHeader\n entityType={activeEntityType}\n entitySubTypes={activeEntitySubTypes}\n entities={entityDetailsData}\n users={projectUsers}\n disabledAssignees={disabledProjectUsers}\n disabledStatuses={disabledStatuses}\n tagsOptions={tagsOptions}\n isFetching={isFetchingEntitiesDetails}\n isCompact={isCompact}\n currentTab={currentTab}\n onTabChange={setTab}\n entityTypeIcons={entityTypeIcons}\n onOpenViewer={(args) => onOpenViewer?.(args)}\n onEntityFocus={onEntityFocus}\n />\n <ProjectContextProvider projectName={firstProject}>\n {isFeed && !isError && (\n <FeedWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n entityListId={entityListId}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n currentTab={currentTab}\n setCurrentTab={setTab}\n isSlideOut={isSlideOut}\n />\n )}\n {currentTab === 'files' && (\n <DetailsPanelFiles\n entities={entityDetailsData}\n scope={scope}\n isLoadingVersion={isFetchingEntitiesDetails}\n />\n )}\n {currentTab === 'details' && (\n <FeedContextWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n >\n <DetailsPanelDetails\n entities={entityDetailsData}\n isLoading={isFetchingEntitiesDetails}\n />\n </FeedContextWrapper>\n )}\n </ProjectContextProvider>\n </Styled.Panel>\n </>\n )\n}\n\n// create a wrapper that checks if the details panel should be open or not based on isOpen prop and entities state\nexport const DetailsPanel = ({\n isOpen,\n entityType,\n ...props\n}: Omit<DetailsPanelProps, 'entityType'> & {\n entityType?: DetailsPanelEntityType\n isOpen: boolean\n}) => {\n const { entities } = useDetailsPanelContext()\n\n if (!isOpen && !entities) return null\n if (!entityType && !entities) return null\n\n // @ts-expect-error - entityType could be undefined but we check for entities above\n return <DetailsPanelInner {...props} entityType={entityType || entities?.entityType} />\n}\n"],"names":["entitiesWithoutFeed","DetailsPanelInner","entityType","entitySubTypes","entitiesData","entities","tagsOptions","disabledStatuses","projectUsers","disabledProjectUsers","activeProjectUsers","projectsInfo","projectNames","isSlideOut","style","scope","isCompact","onClose","onWatchersUpdate","onOpenViewer","onEntityFocus","onOpen","onUriOpen","annotations","removeAnnotation","exportAnnotationComposite","entityListId","guestCategories","closeSlideOut","openPip","user","isGuest","contextEntities","setEntities","slideOut","useSearchParams","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","_searchParams","setSearchParams","hasCalledOnOpen","useRef","activeEntityType","activeEntities","activeEntitySubTypes","activeEntitiesData","activeProjectNames","e","useEffect","projectInfo","useMemo","mergeProjectInfo","entityTypeIcons","task","acc","folder","product","entitiesToQuery","entity","entityDetailsData","isFetchingEntitiesDetails","isError","originalArgs","useGetEntitiesDetailsPanelQuery","detailsPanelEntityTypes","uriEntity","allStatuses","getAllProjectStatuses","firstProject","firstProjectInfo","firstEntityData","lastEntityData","lastProject","entityPathSegments","entityPathVersions","useGetEntityPath","setEntityUri","setUri","useURIContext","folderPath","taskName","versionName","productName","extractEntityHierarchyFromParents","useDetailsPanelURLSync","clearSearchUrl","prev","newParams","handleClose","handleKeyDown","target","requestPipWindow","usePiPWindow","handleOpenPip","isCommentingEnabled","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","ProjectContextProvider","FeedWrapper","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails","DetailsPanel","isOpen","props"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BO,MAAMA,KAAsB,CAAC,WAAW,gBAAgB,GAmCzDC,KAAoB,CAAC;AAAA,EACzB,YAAAC;AAAA,EACA,gBAAAC,IAAiB,CAAA;AAAA;AAAA,EAEjB,cAAAC,IAAe,CAAA;AAAA;AAAA,EAEf,UAAAC,IAAW,CAAA;AAAA,EACX,aAAAC,IAAc,CAAA;AAAA,EACd,kBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC,IAAe,CAAA;AAAA,EACf,cAAAC,IAAe,CAAA;AAAA,EACf,YAAAC,IAAa;AAAA,EACb,OAAAC,KAAQ,CAAA;AAAA,EACR,OAAAC;AAAA,EACA,WAAAC,KAAY;AAAA,EACZ,SAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA;AAAA;AAAA,EAEA,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,cAAAC;AAAA,EACA,iBAAAC,KAAkB,CAAA;AACpB,MACsB;AACpB,QAAM;AAAA,IACJ,eAAAC;AAAA,IACA,SAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAUC;AAAA,IACV,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,iBAAAC;AAAA,EAAA,IACEC,EAAA,GACE,EAAE,YAAAC,GAAY,QAAAC,GAAQ,QAAAC,GAAA,IAAWC,GAAsBzB,CAAK,GAC5D,CAAC0B,IAAeC,EAAe,IAAIP,GAAA,GACnCQ,IAAkBC,GAAO,EAAK,GAG9BC,IAAmBb,GAAiB,cAAc9B,GAClD4C,IAAiBd,GAAiB,YAAY3B,GAC9C0C,KAAuBf,GAAiB,kBAAkB7B,GAC1D6C,KAAqBhB,GAAiB,WAAW,CAAA,IAAK5B,GACtD6C,IAAqBjB,GAAiB,WACxCA,EAAgB,SAAS,IAAI,CAACkB,MAAMA,EAAE,WAAW,IACjDtC;AAGJ,EAAAuC,EAAU,MAAM;AACd,IAAI9B,KAAU,CAACsB,EAAgB,YAC7BA,EAAgB,UAAU,IAC1BtB,EAAA;AAAA,EAEJ,GAAG,CAAA,CAAE,GAGL8B,EAAU,MAAM;AACd,IAAInD,GAAoB,SAAS6C,CAAgB,KAAKR,MAAe,aACnEC,EAAO,SAAS;AAAA,EAEpB,GAAG,CAACO,GAAkBR,GAAYC,CAAM,CAAC,GAGzCa,EAAU,MAAM;AACd,IAAI9C,EAAS,UAAU2B,KACrBC,EAAY,IAAI;AAAA,EAEpB,GAAG,CAAC5B,GAAU2B,GAAiBC,CAAW,CAAC;AAG3C,QAAMmB,IAAcC;AAAA,IAClB,MAAMC,GAAiB3C,GAAcsC,CAAkB;AAAA,IACvD,CAACtC,GAAcsC,CAAkB;AAAA,EAAA,GAI7BM,IAAkBF;AAAA,IACtB,OAAO;AAAA,MACL,MAAMD,EAAY,UACf,OAAO,CAACI,MAAS,CAAC,CAACA,EAAK,IAAI,EAC5B,OAAO,CAACC,GAAKD,OAAU,EAAE,GAAGC,GAAK,CAACD,EAAK,IAAI,GAAGA,EAAK,SAAS,EAAE;AAAA,MACjE,QAAQJ,EAAY,YACjB,OAAO,CAACM,MAAW,CAAC,CAACA,EAAO,IAAI,EAChC,OAAO,CAACD,GAAKC,OAAY,EAAE,GAAGD,GAAK,CAACC,EAAO,IAAI,GAAGA,EAAO,SAAS,EAAE;AAAA,MACvE,SAASN,EAAY,aAClB,OAAO,CAACO,MAAY,CAAC,CAACA,EAAQ,IAAI,EAClC,OAAO,CAACF,GAAKE,OAAa,EAAE,GAAGF,GAAK,CAACE,EAAQ,IAAI,GAAGA,EAAQ,KAAA,IAAS,CAAA,CAAE;AAAA,IAAA;AAAA,IAE5E,CAACP,CAAW;AAAA,EAAA;AAMd,EAAAD,EAAU,MAAM;AACd,IAAId,MAAe,WAEbQ,MAAqB,aACvBP,EAAO,UAAU;AAAA,EAGvB,GAAG,CAACO,GAAkBR,GAAYtB,CAAK,CAAC;AAGxC,MAAI6C,IAAkBd,EAAe,SACjCA,EAAe,IAAI,CAACe,OAAY,EAAE,IAAIA,EAAO,IAAI,aAAaA,EAAO,cAAc;AAAA;AAAA,IAEnFb,GAAmB,IAAI,CAACa,OAAY,EAAE,IAAIA,EAAO,IAAI,aAAaA,EAAO,cAAc;AAAA;AAE3F,EAAAD,IAAkBA,EAAgB,OAAO,CAACC,MAAWA,EAAO,EAAE;AAE9D,QAAM;AAAA,IACJ,MAAMC,IAAoB,CAAA;AAAA,IAC1B,YAAYC;AAAA,IACZ,SAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC;AAAA,IACF,EAAE,YAAYrB,GAAkB,UAAUe,EAAA;AAAA,IAC1C;AAAA,MACE,MAAM,CAACA,EAAgB,UAAU,CAACO,GAAwB,SAAStB,CAAgB;AAAA,IAAA;AAAA,EACrF;AAIF,EAAAM,EAAU,MAAM;AACd,IAAKtC,KACHe,EAAA;AAAA,EAEJ,GAAG,CAACqC,IAAcpD,CAAU,CAAC,GAG7BsC,EAAU,MAAM;AACd,QAAI,CAAAY,KAGF/B,GAAiB,UACjB,CAAC,OAAO,KAAK,EAAE,SAASA,EAAgB,MAAM,KAC9CA,GAAiB,UAAU,UACzBV,GACF;AACA,YAAM8C,IAAYN,EAAkB;AAAA,QAClC,CAACD,MAAWA,EAAO,OAAO7B,EAAgB,SAAS,CAAC,EAAE;AAAA,MAAA;AAExD,UAAI,CAACoC,EAAW;AAEhB,MAAA9C,EAAU8C,CAAS;AAAA,IACrB;AAAA,EACF,GAAG,CAACN,GAAmBC,CAAyB,CAAC;AAIjD,QAAMM,IAAcC,GAAsB3D,CAAY,GAGhD4D,IAAetB,EAAmB,CAAC,GACnCuB,IAAmB7D,EAAa4D,CAAY,KAAK,CAAA,GACjDE,KAAkBX,EAAkB,CAAC,KAAK,CAAA,GAE1CY,IAAiBZ,EAAkBA,EAAkB,SAAS,CAAC,GAC/Da,IAAc1B,EAAmBA,EAAmB,SAAS,CAAC,GAG9D,CAAC2B,GAAoBC,EAAkB,IAAIC,GAAiB;AAAA,IAChE,QAAQL;AAAA,IACR,YAAY5B;AAAA,IACZ,aAAa0B;AAAA,IACb,WAAWR;AAAA,EAAA,CACZ,GAEK,EAAE,cAAAgB,IAAc,QAAAC,GAAA,IAAWC,GAAA;AAEjC,EAAA9B,EAAU,MAAM;AAEd,QADI,CAACuB,GAAgB,WACjB,CAACC,EAAa;AAClB,UAAM,EAAE,YAAAO,GAAY,UAAAC,GAAU,aAAAC,GAAa,aAAAC,MAAgBC;AAAA,MACzDZ,EAAe;AAAA,MACf7B;AAAA,MACA6B,EAAe;AAAA,IAAA;AAGjB,WAAAK,GAAa;AAAA,MACX,aAAaJ;AAAA,MACb,YAAAO;AAAA,MACA,UAAAC;AAAA,MACA,aAAAE;AAAA,MACA,aAAAD;AAAA,IAAA,CACD,GAGM,MAAM;AACX,MAAAJ,GAAO,EAAE;AAAA,IACX;AAAA,EACF,GAAG,CAAClB,GAAmBb,GAAoBJ,CAAgB,CAAC,GAG5D0C,GAAuB;AAAA,IACrB,YAAYb;AAAA,IACZ,SAASC;AAAA,IACT,kBAAA9B;AAAA,IACA,iBAAAe;AAAA,EAAA,CACD;AAED,QAAM4B,KAAiB,MAAM;AAE3B,IAAA9C;AAAA,MACE,CAAC+C,MAAS;AACR,cAAMC,IAAY,IAAI,gBAAgBD,CAAI;AAC1C,eAAAC,EAAU,OAAO,SAAS,GAC1BA,EAAU,OAAO,MAAM,GACvBA,EAAU,OAAO,IAAI,GACdA;AAAA,MACT;AAAA,MACA,EAAE,SAAS,GAAA;AAAA,IAAK;AAAA,EAEpB,GAEMC,IAAc,MAAM;AACxB,IAAA1E,IAAA,GAEAgB,EAAY,IAAI,GAChBuD,GAAA,GACA5D,EAAA;AAAA,EACF;AAEA,EAAAuB,EAAU,MAAM;AACd,UAAMyC,IAAgB,CAAC1C,MAAqB;AAC1C,UAAIA,EAAE,QAAQ,YAAYjC,GAAS;AAEjC,cAAM4E,IAAS3C,EAAE;AAOjB,YALE,CAAC,SAAS,YAAY,QAAQ,EAAE,SAAS2C,EAAO,OAAO,KAAKA,EAAO,qBAKjEhF,MAAe,OAAUgF,EAAO,QAAQ,gBAAgB,KAAO3D,GAAW;AAE9E,QAAAyD,EAAA;AAAA,MACF;AAAA,IACF;AAEA,kBAAO,iBAAiB,WAAWC,CAAa,GACzC,MAAM,OAAO,oBAAoB,WAAWA,CAAa;AAAA,EAClE,GAAG,CAACD,GAAa9E,GAAYqB,CAAQ,CAAC;AAEtC,QAAM,EAAE,kBAAA4D,GAAA,IAAqBC,GAAA,GAEvBC,KAAgB,MAAM;AAC1B,IAAAnE,GAAQ;AAAA,MACN,YAAYgB;AAAA,MACZ,UAAUe;AAAA,MACV,OAAA7C;AAAA,IAAA,CACD,GACD+E,GAAiB,KAAK,GAAG;AAAA,EAC3B,GAEMG,IAAsB,MAEtB,EAAAhD,EAAmB,SAAS,KAC5BlB,OAEE,CAACL,KAMD,CAJqB,OAAO,UAAU,eAAe;AAAA,IACvDC;AAAA,IACAG,EAAK,QAAQ,SAAS;AAAA,EAAA;AAO5B,6CAEI,UAAAoE,gBAAAA,EAAAA,KAACC,IAAA,EAAa,WAAU,iBACtB,UAAA;AAAA,IAAAD,gBAAAA,OAACE,IAAA,EAEC,UAAA;AAAA,MAAAC,gBAAAA,EAAAA;AAAAA,QAACC;AAAA,QAAA;AAAA,UACC,UAAU1B;AAAA,UACV,UAAUC;AAAA,UACV,aAAaN;AAAA,UACb,iBAAiB1D;AAAA,UACjB,WAAWkD,KAA6B,CAACa,EAAmB;AAAA,UAC5D,YAAY/B;AAAA,UACZ,OAAA9B;AAAA,UAEA,iBAAAwC;AAAA,QAAA;AAAA,MAAA;AAAA,MAEF2C,gBAAAA,EAAAA,KAACK,IAAA,EAAkB,WAAU,eAC3B,UAAA;AAAA,QAAAF,gBAAAA,EAAAA;AAAAA,UAACG;AAAA,UAAA;AAAA,YACC,UAAU5C;AAAA,YACV,YAAYf;AAAA,YACZ,SAASrC,KAAgB,CAAA;AAAA,YACzB,kBAAkBU,KAAoBA;AAAA,YACtC,UAAUY,EAAK;AAAA,UAAA;AAAA,QAAA;AAAA,QAEjBuE,gBAAAA,EAAAA;AAAAA,UAACI;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,gBAAa;AAAA,YACb,SAAST;AAAA,UAAA;AAAA,QAAA;AAAA,SAGT/E,KAAWZ,MACXgG,gBAAAA,EAAAA;AAAAA,UAACI;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,SAASd;AAAA,YACT,iBAAe;AAAA,UAAA;AAAA,QAAA;AAAA,MACjB,EAAA,CAEJ;AAAA,IAAA,GACF;AAAA,IAEAU,gBAAAA,EAAAA;AAAAA,MAACK;AAAA,MAAA;AAAA,QACC,YAAY7D;AAAA,QACZ,gBAAgBE;AAAA,QAChB,UAAUe;AAAA,QACV,OAAOtD;AAAA,QACP,mBAAmBC;AAAA,QACnB,kBAAAF;AAAA,QACA,aAAAD;AAAA,QACA,YAAYyD;AAAA,QACZ,WAAA/C;AAAA,QACA,YAAAqB;AAAA,QACA,aAAaC;AAAA,QACb,iBAAAiB;AAAA,QACA,cAAc,CAACoD,MAASxF,KAAewF,CAAI;AAAA,QAC3C,eAAAvF;AAAA,MAAA;AAAA,IAAA;AAAA,IAEF8E,gBAAAA,EAAAA,KAACU,IAAA,EAAuB,aAAarC,GAClC,UAAA;AAAA,MAAAhC,MAAU,CAACyB,MACVqC,gBAAAA,EAAAA;AAAAA,QAACQ;AAAA,QAAA;AAAA,UACC,YAAYhE;AAAA,UACZ,UAAUiB;AAAA,UACV,aAAapD,KAAsB,CAAA;AAAA,UACnC,aAAa8D;AAAA,UACb,aAAaD;AAAA,UACb,UAAU,CAAC0B,EAAA;AAAA,UACX,OAAAlF;AAAA,UACA,UAAUsD;AAAA,UACV,UAAU;AAAA,UACV,cAAA3C;AAAA,UACA,aAAAH;AAAA,UACA,kBAAAC;AAAA,UACA,2BAAAC;AAAA,UACA,YAAAY;AAAA,UACA,eAAeC;AAAA,UACf,YAAAzB;AAAA,QAAA;AAAA,MAAA;AAAA,MAGHwB,MAAe,WACdgE,gBAAAA,EAAAA;AAAAA,QAACS;AAAA,QAAA;AAAA,UACC,UAAUhD;AAAA,UACV,OAAA/C;AAAA,UACA,kBAAkBgD;AAAA,QAAA;AAAA,MAAA;AAAA,MAGrB1B,MAAe,aACdgE,gBAAAA,EAAAA;AAAAA,QAACU;AAAA,QAAA;AAAA,UACC,YAAYlE;AAAA,UACZ,UAAUiB;AAAA,UACV,aAAapD,KAAsB,CAAA;AAAA,UACnC,aAAa8D;AAAA,UACb,aAAaD;AAAA,UACb,UAAU,CAAC0B,EAAA;AAAA,UACX,OAAAlF;AAAA,UACA,UAAUsD;AAAA,UACV,UAAU;AAAA,UACV,aAAA9C;AAAA,UACA,kBAAAC;AAAA,UACA,2BAAAC;AAAA,UAEA,UAAA4E,gBAAAA,EAAAA;AAAAA,YAACW;AAAA,YAAA;AAAA,cACC,UAAUlD;AAAA,cACV,WAAWC;AAAA,YAAA;AAAA,UAAA;AAAA,QACb;AAAA,MAAA;AAAA,IACF,EAAA,CAEJ;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ,GAGakD,KAAe,CAAC;AAAA,EAC3B,QAAAC;AAAA,EACA,YAAAhH;AAAA,EACA,GAAGiH;AACL,MAGM;AACJ,QAAM,EAAE,UAAA9G,EAAA,IAAa+B,EAAA;AAGrB,SADI,CAAC8E,KAAU,CAAC7G,KACZ,CAACH,KAAc,CAACG,IAAiB,6BAG7BJ,IAAA,EAAmB,GAAGkH,GAAO,YAAYjH,KAAcG,GAAU,YAAY;AACvF;"}
|
|
1
|
+
{"version":3,"file":"DetailsPanel.es.js","sources":["../../../../../src/containers/DetailsPanel/DetailsPanel.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport React, { useEffect, useMemo, useRef } from 'react'\nimport useDetailsPanelURLSync from './hooks/useDetailsPanelURLSync'\nimport * as Styled from './DetailsPanel.styled'\n\n// shared\nimport { useGetEntitiesDetailsPanelQuery, detailsPanelEntityTypes } from '@shared/api'\nimport type { Tag, DetailsPanelEntityType, DetailsPanelEntityData } from '@shared/api'\nimport { DetailsPanelDetails, EntityPath, Watchers } from '@shared/components'\nimport { usePiPWindow } from '@shared/context/pip/PiPProvider'\nimport { extractEntityHierarchyFromParents } from '@shared/util'\nimport {\n ProjectContextProvider,\n ProjectModelWithProducts,\n useDetailsPanelContext,\n useScopedDetailsPanel,\n useURIContext,\n} from '@shared/context'\n\nimport DetailsPanelHeader from './DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './DetailsPanelFiles'\nimport useGetEntityPath from './hooks/useGetEntityPath'\nimport getAllProjectStatuses from './helpers/getAllProjectsStatuses'\nimport FeedWrapper from './FeedWrapper'\nimport FeedContextWrapper from './FeedContextWrapper'\nimport mergeProjectInfo from './helpers/mergeProjectInfo'\n\nexport const entitiesWithoutFeed = ['product', 'representation']\n\ntype User = { avatarUrl: string; name: string; fullName?: string }\n\nexport type DetailsPanelProps = {\n entityType: DetailsPanelEntityType\n entitySubTypes?: string[] // used to get actions before the entity has loaded\n entitiesData?: { id: string; label: string; type: DetailsPanelEntityType }[]\n entities?: { id: string; projectName: string }[]\n tagsOptions?: Tag[]\n disabledStatuses?: string[]\n projectUsers?: User[]\n disabledProjectUsers?: string[]\n activeProjectUsers?: string[]\n projectsInfo?: Record<string, ProjectModelWithProducts>\n projectNames?: string[]\n isSlideOut?: boolean\n style?: React.CSSProperties\n scope: string\n isCompact?: boolean\n onClose?: () => void\n onWatchersUpdate?: (added: any[], removed: any[]) => void\n onOpenViewer?: (entity: any) => void\n onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void\n onOpen?: () => void\n onUriOpen?: (entity: DetailsPanelEntityData) => void\n // annotations\n annotations?: any\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n entityListId?: string\n guestCategories?: Record<string, string> // only used for guests to find if they have access to any categories\n // optional tab state for independent tab management\n}\n\nconst DetailsPanelInner = ({\n entityType,\n entitySubTypes = [],\n // entities is data we already have from kanban\n entitiesData = [],\n // entityIds are used to get the full details data for the entities\n entities = [],\n tagsOptions = [],\n disabledStatuses,\n projectUsers,\n disabledProjectUsers,\n activeProjectUsers,\n projectsInfo = {},\n projectNames = [],\n isSlideOut = false,\n style = {},\n scope,\n isCompact = false,\n onClose,\n onWatchersUpdate,\n onOpenViewer,\n onEntityFocus,\n onOpen,\n onUriOpen, // when the details panel is opened from uri\n // annotations\n annotations,\n removeAnnotation,\n exportAnnotationComposite,\n entityListId,\n guestCategories = {},\n}: // optional tab state for independent tab management\nDetailsPanelProps) => {\n const {\n closeSlideOut,\n openPip,\n user,\n isGuest,\n entities: contextEntities,\n setEntities,\n slideOut,\n useSearchParams,\n } = useDetailsPanelContext()\n const { currentTab, setTab, isFeed } = useScopedDetailsPanel(scope)\n const [_searchParams, setSearchParams] = useSearchParams()\n const hasCalledOnOpen = useRef(false)\n\n // Use context entities if available, otherwise use props\n const activeEntityType = contextEntities?.entityType ?? entityType\n const activeEntities = contextEntities?.entities ?? entities\n const activeEntitySubTypes = contextEntities?.entitySubTypes ?? entitySubTypes\n const activeEntitiesData = contextEntities?.entities ? [] : entitiesData\n const activeProjectNames = contextEntities?.entities\n ? contextEntities.entities.map((e) => e.projectName)\n : projectNames\n\n // Fire onOpen callback once when component mounts and renders\n useEffect(() => {\n if (onOpen && !hasCalledOnOpen.current) {\n hasCalledOnOpen.current = true\n onOpen()\n }\n }, [])\n\n // Force details tab for specific entity types\n useEffect(() => {\n if (entitiesWithoutFeed.includes(activeEntityType) && currentTab !== 'details') {\n setTab('details')\n }\n }, [activeEntityType, currentTab, setTab])\n\n // once component is provided with specific entities, remove context entities to avoid conflicts\n useEffect(() => {\n if (entities.length && contextEntities) {\n setEntities(null)\n }\n }, [entities, contextEntities, setEntities])\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, activeProjectNames),\n [projectsInfo, activeProjectNames],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: projectInfo.productTypes\n .filter((product) => !!product.icon)\n .reduce((acc, product) => ({ ...acc, [product.name]: product.icon }), {}),\n }),\n [projectInfo],\n )\n\n // check if tab needs to be updated when entity type changes\n // for example when switching from version to task, task doesn't have reps tab\n // if reps tab was selected, set default to feed\n useEffect(() => {\n if (currentTab === 'files') {\n // check entity type is still version\n if (activeEntityType !== 'version') {\n setTab('activity')\n }\n }\n }, [activeEntityType, currentTab, scope])\n\n // now we get the full details data for selected entities\n let entitiesToQuery = activeEntities.length\n ? activeEntities.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n : // @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it\n activeEntitiesData.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n\n entitiesToQuery = entitiesToQuery.filter((entity) => entity.id)\n\n const {\n data: entityDetailsData = [],\n isFetching: isFetchingEntitiesDetails,\n isError,\n originalArgs,\n } = useGetEntitiesDetailsPanelQuery(\n { entityType: activeEntityType, entities: entitiesToQuery },\n {\n skip: !entitiesToQuery.length || !detailsPanelEntityTypes.includes(activeEntityType),\n },\n )\n\n // the entity changes then we close the slide out\n useEffect(() => {\n if (!isSlideOut) {\n closeSlideOut()\n }\n }, [originalArgs, isSlideOut])\n\n // if the details panel is opened vair the uri, run callback\n useEffect(() => {\n if (isFetchingEntitiesDetails) return\n\n if (\n contextEntities?.source &&\n ['uri', 'url'].includes(contextEntities.source) &&\n contextEntities?.entities?.length &&\n !!onUriOpen\n ) {\n const uriEntity = entityDetailsData.find(\n (entity) => entity.id === contextEntities.entities[0].id,\n )\n if (!uriEntity) return\n\n onUriOpen(uriEntity)\n }\n }, [entityDetailsData, isFetchingEntitiesDetails])\n\n // TODO: merge current entities data with fresh details data\n\n const allStatuses = getAllProjectStatuses(projectsInfo)\n\n // get the first project name and info to be used in the feed.\n const firstProject = activeProjectNames[0]\n const firstProjectInfo = projectsInfo[firstProject] || {}\n const firstEntityData = entityDetailsData[0] || {}\n // Use the last entity for URI sync\n const lastEntityData = entityDetailsData[entityDetailsData.length - 1]\n const lastProject = activeProjectNames[activeProjectNames.length - 1]\n\n // build the full entity path for the first entity\n const [entityPathSegments, entityPathVersions] = useGetEntityPath({\n entity: firstEntityData,\n entityType: activeEntityType,\n projectName: firstProject,\n isLoading: isFetchingEntitiesDetails,\n })\n\n const { setEntityUri, setUri } = useURIContext()\n // sync the uri when entity changes\n useEffect(() => {\n if (!lastEntityData?.parents) return\n if (!lastProject) return\n const { folderPath, taskName, versionName, productName } = extractEntityHierarchyFromParents(\n lastEntityData.parents,\n activeEntityType,\n lastEntityData.name,\n )\n\n setEntityUri({\n projectName: lastProject,\n folderPath: folderPath,\n taskName: taskName,\n productName: productName,\n versionName: versionName,\n })\n\n // unmount cleanup: clear uri\n return () => {\n setUri('')\n }\n }, [entityDetailsData, activeProjectNames, activeEntityType])\n\n // sync the details panel url (panel) with entity\n useDetailsPanelURLSync({\n entityData: lastEntityData,\n project: lastProject,\n activeEntityType,\n entitiesToQuery,\n })\n\n const clearSearchUrl = () => {\n // remove URL params when closing\n setSearchParams(\n (prev) => {\n const newParams = new URLSearchParams(prev)\n newParams.delete('project')\n newParams.delete('type')\n newParams.delete('id')\n return newParams\n },\n { replace: true },\n )\n }\n\n const handleClose = () => {\n onClose?.()\n // also remove any entities in context\n setEntities(null)\n clearSearchUrl()\n closeSlideOut()\n }\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && onClose) {\n // Don't trigger if we're in an input element\n const target = e.target as HTMLElement\n const isInputElement =\n ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName) || target.isContentEditable\n\n if (isInputElement) return\n\n // don't trigger if the viewer is open and panel not in slideout mode\n if (isSlideOut === false && (target.closest('#viewer-dialog') || !!slideOut)) return\n\n handleClose()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [handleClose, isSlideOut, slideOut])\n\n const { requestPipWindow } = usePiPWindow()\n\n const handleOpenPip = () => {\n openPip({\n entityType: activeEntityType,\n entities: entitiesToQuery,\n scope: scope,\n })\n requestPipWindow(500, 500)\n }\n\n const isCommentingEnabled = () => {\n // cannot comment on multiple projects\n if (activeProjectNames.length > 1) return false\n if (isGuest) {\n // Guest can only comment in review sessions (for now)\n if (!entityListId) return false\n // Guest must have at least one category set for list\n const guestHasCategory = Object.prototype.hasOwnProperty.call(\n guestCategories,\n user.attrib?.email || '',\n )\n if (!guestHasCategory) return false\n }\n return true\n }\n\n return (\n <>\n <Styled.Panel className=\"details-panel\">\n <Styled.Toolbar>\n {/* TODO FIX PATH */}\n <EntityPath\n segments={entityPathSegments}\n versions={entityPathVersions}\n projectName={firstProject}\n hideProjectName={isSlideOut}\n isLoading={isFetchingEntitiesDetails || !entityPathSegments.length}\n entityType={activeEntityType}\n scope={scope}\n // @ts-ignore\n entityTypeIcons={entityTypeIcons}\n />\n <Styled.RightTools className=\"right-tools\">\n <Watchers\n entities={entitiesToQuery}\n entityType={activeEntityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\n />\n\n {(onClose) && (\n <Button\n icon=\"close\"\n variant={'text'}\n onClick={handleClose}\n data-shortcut={'Escape'}\n />\n )}\n </Styled.RightTools>\n </Styled.Toolbar>\n\n <DetailsPanelHeader\n entityType={activeEntityType}\n entitySubTypes={activeEntitySubTypes}\n entities={entityDetailsData}\n users={projectUsers}\n disabledAssignees={disabledProjectUsers}\n disabledStatuses={disabledStatuses}\n tagsOptions={tagsOptions}\n isFetching={isFetchingEntitiesDetails}\n isCompact={isCompact}\n currentTab={currentTab}\n onTabChange={setTab}\n entityTypeIcons={entityTypeIcons}\n onOpenViewer={(args) => onOpenViewer?.(args)}\n onEntityFocus={onEntityFocus}\n />\n <ProjectContextProvider projectName={firstProject}>\n {isFeed && !isError && (\n <FeedWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n entityListId={entityListId}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n currentTab={currentTab}\n setCurrentTab={setTab}\n isSlideOut={isSlideOut}\n />\n )}\n {currentTab === 'files' && (\n <DetailsPanelFiles\n entities={entityDetailsData}\n scope={scope}\n isLoadingVersion={isFetchingEntitiesDetails}\n />\n )}\n {currentTab === 'details' && (\n <FeedContextWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n >\n <DetailsPanelDetails\n entities={entityDetailsData}\n isLoading={isFetchingEntitiesDetails}\n />\n </FeedContextWrapper>\n )}\n </ProjectContextProvider>\n </Styled.Panel>\n </>\n )\n}\n\n// create a wrapper that checks if the details panel should be open or not based on isOpen prop and entities state\nexport const DetailsPanel = ({\n isOpen,\n entityType,\n ...props\n}: Omit<DetailsPanelProps, 'entityType'> & {\n entityType?: DetailsPanelEntityType\n isOpen: boolean\n}) => {\n const { entities } = useDetailsPanelContext()\n\n if (!isOpen && !entities) return null\n if (!entityType && !entities) return null\n\n // @ts-expect-error - entityType could be undefined but we check for entities above\n return <DetailsPanelInner {...props} entityType={entityType || entities?.entityType} />\n}\n"],"names":["entitiesWithoutFeed","DetailsPanelInner","entityType","entitySubTypes","entitiesData","entities","tagsOptions","disabledStatuses","projectUsers","disabledProjectUsers","activeProjectUsers","projectsInfo","projectNames","isSlideOut","style","scope","isCompact","onClose","onWatchersUpdate","onOpenViewer","onEntityFocus","onOpen","onUriOpen","annotations","removeAnnotation","exportAnnotationComposite","entityListId","guestCategories","closeSlideOut","openPip","user","isGuest","contextEntities","setEntities","slideOut","useSearchParams","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","_searchParams","setSearchParams","hasCalledOnOpen","useRef","activeEntityType","activeEntities","activeEntitySubTypes","activeEntitiesData","activeProjectNames","e","useEffect","projectInfo","useMemo","mergeProjectInfo","entityTypeIcons","task","acc","folder","product","entitiesToQuery","entity","entityDetailsData","isFetchingEntitiesDetails","isError","originalArgs","useGetEntitiesDetailsPanelQuery","detailsPanelEntityTypes","uriEntity","allStatuses","getAllProjectStatuses","firstProject","firstProjectInfo","firstEntityData","lastEntityData","lastProject","entityPathSegments","entityPathVersions","useGetEntityPath","setEntityUri","setUri","useURIContext","folderPath","taskName","versionName","productName","extractEntityHierarchyFromParents","useDetailsPanelURLSync","clearSearchUrl","prev","newParams","handleClose","handleKeyDown","target","requestPipWindow","usePiPWindow","handleOpenPip","isCommentingEnabled","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","ProjectContextProvider","FeedWrapper","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails","DetailsPanel","isOpen","props"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("date-fns"),s=require("react"),S=require("../helpers/groupActivityVersions.cjs.js"),D=require("../helpers/groupMinorActivities.cjs.js"),h=require("../helpers/mergeSimilarActivities.cjs.js"),q=["status.change","assignee.add","assignee.remove"],
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("date-fns"),s=require("react"),S=require("../helpers/groupActivityVersions.cjs.js"),D=require("../helpers/groupMinorActivities.cjs.js"),h=require("../helpers/mergeSimilarActivities.cjs.js"),q=["status.change","assignee.add","assignee.remove"],V=(n=[],e={})=>n.map(a=>{const t={...a,origin:{...a.origin}};if(t.activityType==="status.change"){if(!e)return t;const o=t.activityData?.oldValue,c=t.activityData?.newValue,u=e.statuses?.find(r=>r.name===o),d=e.statuses?.find(r=>r.name===c);t.oldStatus={...u,name:o},t.newStatus={...d,name:c}}return t}),T=(n=[],e=[],a)=>e.includes(a)?n.filter(t=>t.referenceType!=="relation"):n,O=(n=[],e=[],a={},t,o)=>{const c=s.useMemo(()=>V(n,a),[n,a]),u=s.useMemo(()=>c.map(v=>({...v,isOwner:o===v.authorName})),[c,o]),d=s.useMemo(()=>T(u,["version"],t),[u,t]),r=s.useMemo(()=>[...d].sort((i,w)=>{const M=new Date(i.createdAt),y=new Date(w.createdAt),p=l.isValid(M),f=l.isValid(y);if(!p&&!f)return 0;if(p){if(!f)return-1}else return 1;return l.compareAsc(y,M)}),[d]),m=s.useMemo(()=>h(r,"status.change","oldStatus"),[r]),A=s.useMemo(()=>D(m,e),[m,e]),g=s.useMemo(()=>S(A),[A]);return s.useMemo(()=>[...new Map(g.filter(i=>i&&i.activityId).map(i=>[i.activityId,i])).values()],[g])};exports.default=O;exports.minorActivityTypes=q;
|
|
2
2
|
//# sourceMappingURL=useTransformActivities.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTransformActivities.cjs.js","sources":["../../../../../../src/containers/Feed/hooks/useTransformActivities.ts"],"sourcesContent":["// @ts-nocheck\n\nimport { compareAsc, isValid } from 'date-fns'\nimport { useMemo } from 'react'\nimport groupActivityVersions from '../helpers/groupActivityVersions'\nimport groupMinorActivities, { ActivityUser } from '../helpers/groupMinorActivities'\nimport mergeSimilarActivities from '../helpers/mergeSimilarActivities'\n\n// Define the types of activities that are considered minor\nconst minorActivityTypes = ['status.change', 'assignee.add', 'assignee.remove']\n\nconst getStatusActivityIcon = (activities = [], projectInfo = {}) => {\n return activities.map((activity) => {\n const newActivity = { ...activity, origin: { ...activity.origin } }\n\n // find status icon and data for status change activities\n if (newActivity.activityType === 'status.change') {\n if (!projectInfo) return newActivity\n const oldStatusName = newActivity.activityData?.oldValue\n const newStatusName = newActivity.activityData?.newValue\n\n const oldStatus = projectInfo.statuses?.find((status) => status.name === oldStatusName)\n const newStatus = projectInfo.statuses?.find((status) => status.name === newStatusName)\n\n newActivity.oldStatus = { ...oldStatus, name: oldStatusName }\n newActivity.newStatus = { ...newStatus, name: newStatusName }\n }\n\n return newActivity\n })\n}\n\nconst filterOutRelations = (activities = [], entityTypes = [], entityType) => {\n return !entityTypes.includes(entityType)\n ? activities\n : activities.filter((activity) => activity.referenceType !== 'relation')\n}\n\nconst useTransformActivities = (\n activities = [],\n users: ActivityUser[] = [],\n projectInfo = {},\n entityType,\n userName,\n) => {\n // 1. add status icons and data for status change activities\n const activitiesWithIcons = useMemo(\n () => getStatusActivityIcon(activities, projectInfo),\n [activities],\n )\n\n // 1,5. add any extra meta data to the activities\n const activitiesWithMeta = useMemo(() => {\n return activitiesWithIcons.map((activity) => {\n const newActivity = { ...activity, isOwner: userName === activity.authorName }\n return newActivity\n })\n }, [activitiesWithIcons, userName])\n\n // 2. versions should not have relations shown (comments posted on parent task)\n const activitiesWithoutRelations = useMemo(\n () => filterOutRelations(activitiesWithMeta, ['version'], entityType),\n [activitiesWithMeta,
|
|
1
|
+
{"version":3,"file":"useTransformActivities.cjs.js","sources":["../../../../../../src/containers/Feed/hooks/useTransformActivities.ts"],"sourcesContent":["// @ts-nocheck\n\nimport { compareAsc, isValid } from 'date-fns'\nimport { useMemo } from 'react'\nimport groupActivityVersions from '../helpers/groupActivityVersions'\nimport groupMinorActivities, { ActivityUser } from '../helpers/groupMinorActivities'\nimport mergeSimilarActivities from '../helpers/mergeSimilarActivities'\n\n// Define the types of activities that are considered minor\nconst minorActivityTypes = ['status.change', 'assignee.add', 'assignee.remove']\n\nconst getStatusActivityIcon = (activities = [], projectInfo = {}) => {\n return activities.map((activity) => {\n const newActivity = { ...activity, origin: { ...activity.origin } }\n\n // find status icon and data for status change activities\n if (newActivity.activityType === 'status.change') {\n if (!projectInfo) return newActivity\n const oldStatusName = newActivity.activityData?.oldValue\n const newStatusName = newActivity.activityData?.newValue\n\n const oldStatus = projectInfo.statuses?.find((status) => status.name === oldStatusName)\n const newStatus = projectInfo.statuses?.find((status) => status.name === newStatusName)\n\n newActivity.oldStatus = { ...oldStatus, name: oldStatusName }\n newActivity.newStatus = { ...newStatus, name: newStatusName }\n }\n\n return newActivity\n })\n}\n\nconst filterOutRelations = (activities = [], entityTypes = [], entityType) => {\n return !entityTypes.includes(entityType)\n ? activities\n : activities.filter((activity) => activity.referenceType !== 'relation')\n}\n\nconst useTransformActivities = (\n activities = [],\n users: ActivityUser[] = [],\n projectInfo = {},\n entityType,\n userName,\n) => {\n // 1. add status icons and data for status change activities\n const activitiesWithIcons = useMemo(\n () => getStatusActivityIcon(activities, projectInfo),\n [activities, projectInfo],\n )\n\n // 1,5. add any extra meta data to the activities\n const activitiesWithMeta = useMemo(() => {\n return activitiesWithIcons.map((activity) => {\n const newActivity = { ...activity, isOwner: userName === activity.authorName }\n return newActivity\n })\n }, [activitiesWithIcons, userName])\n\n // 2. versions should not have relations shown (comments posted on parent task)\n const activitiesWithoutRelations = useMemo(\n () => filterOutRelations(activitiesWithMeta, ['version'], entityType),\n [activitiesWithMeta, entityType],\n )\n\n // 3. sort createdAt oldest first (because we are using flex: column-reverse)\n const reversedActivitiesData = useMemo(() => {\n const sortedActivities = [...activitiesWithoutRelations].sort((a, b) => {\n const dateA = new Date(a.createdAt)\n const dateB = new Date(b.createdAt)\n const validA = isValid(dateA)\n const validB = isValid(dateB)\n\n if (!validA && !validB) {\n return 0 // Both dates are invalid, keep original order\n } else if (!validA) {\n return 1 // Only dateA is invalid, it comes first\n } else if (!validB) {\n return -1 // Only dateB is invalid, dateA comes first\n }\n\n // If both dates are valid, compare them normally\n return compareAsc(dateB, dateA)\n })\n\n return sortedActivities\n }, [activitiesWithoutRelations])\n\n // 4. for status change activities that are together, merge them into one activity\n const mergedActivitiesData = useMemo(\n () => mergeSimilarActivities(reversedActivitiesData, 'status.change', 'oldStatus'),\n [reversedActivitiesData],\n )\n\n // 5. group minor activities together\n const groupedActivitiesData = useMemo(\n () => groupMinorActivities(mergedActivitiesData, users),\n [mergedActivitiesData, users],\n )\n\n // 6. group version activities together\n const groupedVersionsData = useMemo(\n () => groupActivityVersions(groupedActivitiesData),\n [groupedActivitiesData],\n )\n\n // 7. ensure there are no duplicate activities\n const uniqueActivitiesData = useMemo(() => {\n // Filter out invalid activities and create a Map to ensure uniqueness\n const activityMap = new Map(\n groupedVersionsData\n .filter((activity) => activity && activity.activityId)\n .map((activity) => [activity.activityId, activity]),\n )\n\n // Convert the Map values to an array\n return [...activityMap.values()]\n }, [groupedVersionsData])\n\n return uniqueActivitiesData\n}\n\nexport { minorActivityTypes }\nexport default useTransformActivities\n"],"names":["minorActivityTypes","getStatusActivityIcon","activities","projectInfo","activity","newActivity","oldStatusName","newStatusName","oldStatus","status","newStatus","filterOutRelations","entityTypes","entityType","useTransformActivities","users","userName","activitiesWithIcons","useMemo","activitiesWithMeta","activitiesWithoutRelations","reversedActivitiesData","a","b","dateA","dateB","validA","isValid","validB","compareAsc","mergedActivitiesData","mergeSimilarActivities","groupedActivitiesData","groupMinorActivities","groupedVersionsData","groupActivityVersions"],"mappings":"0TASMA,EAAqB,CAAC,gBAAiB,eAAgB,iBAAiB,EAExEC,EAAwB,CAACC,EAAa,GAAIC,EAAc,CAAA,IACrDD,EAAW,IAAKE,GAAa,CAClC,MAAMC,EAAc,CAAE,GAAGD,EAAU,OAAQ,CAAE,GAAGA,EAAS,OAAO,EAGhE,GAAIC,EAAY,eAAiB,gBAAiB,CAChD,GAAI,CAACF,EAAa,OAAOE,EACzB,MAAMC,EAAgBD,EAAY,cAAc,SAC1CE,EAAgBF,EAAY,cAAc,SAE1CG,EAAYL,EAAY,UAAU,KAAMM,GAAWA,EAAO,OAASH,CAAa,EAChFI,EAAYP,EAAY,UAAU,KAAMM,GAAWA,EAAO,OAASF,CAAa,EAEtFF,EAAY,UAAY,CAAE,GAAGG,EAAW,KAAMF,CAAA,EAC9CD,EAAY,UAAY,CAAE,GAAGK,EAAW,KAAMH,CAAA,CAChD,CAEA,OAAOF,CACT,CAAC,EAGGM,EAAqB,CAACT,EAAa,CAAA,EAAIU,EAAc,CAAA,EAAIC,IACrDD,EAAY,SAASC,CAAU,EAEnCX,EAAW,OAAQE,GAAaA,EAAS,gBAAkB,UAAU,EADrEF,EAIAY,EAAyB,CAC7BZ,EAAa,CAAA,EACba,EAAwB,CAAA,EACxBZ,EAAc,CAAA,EACdU,EACAG,IACG,CAEH,MAAMC,EAAsBC,EAAAA,QAC1B,IAAMjB,EAAsBC,EAAYC,CAAW,EACnD,CAACD,EAAYC,CAAW,CAAA,EAIpBgB,EAAqBD,EAAAA,QAAQ,IAC1BD,EAAoB,IAAKb,IACV,CAAE,GAAGA,EAAU,QAASY,IAAaZ,EAAS,UAAA,EAEnE,EACA,CAACa,EAAqBD,CAAQ,CAAC,EAG5BI,EAA6BF,EAAAA,QACjC,IAAMP,EAAmBQ,EAAoB,CAAC,SAAS,EAAGN,CAAU,EACpE,CAACM,EAAoBN,CAAU,CAAA,EAI3BQ,EAAyBH,EAAAA,QAAQ,IACZ,CAAC,GAAGE,CAA0B,EAAE,KAAK,CAACE,EAAGC,IAAM,CACtE,MAAMC,EAAQ,IAAI,KAAKF,EAAE,SAAS,EAC5BG,EAAQ,IAAI,KAAKF,EAAE,SAAS,EAC5BG,EAASC,EAAAA,QAAQH,CAAK,EACtBI,EAASD,EAAAA,QAAQF,CAAK,EAE5B,GAAI,CAACC,GAAU,CAACE,EACd,MAAO,GACT,GAAYF,GAEZ,GAAW,CAACE,EACV,MAAO,OAFP,OAAO,GAMT,OAAOC,EAAAA,WAAWJ,EAAOD,CAAK,CAChC,CAAC,EAGA,CAACJ,CAA0B,CAAC,EAGzBU,EAAuBZ,EAAAA,QAC3B,IAAMa,EAAuBV,EAAwB,gBAAiB,WAAW,EACjF,CAACA,CAAsB,CAAA,EAInBW,EAAwBd,EAAAA,QAC5B,IAAMe,EAAqBH,EAAsBf,CAAK,EACtD,CAACe,EAAsBf,CAAK,CAAA,EAIxBmB,EAAsBhB,EAAAA,QAC1B,IAAMiB,EAAsBH,CAAqB,EACjD,CAACA,CAAqB,CAAA,EAgBxB,OAZ6Bd,EAAAA,QAAQ,IAS5B,CAAC,GAPY,IAAI,IACtBgB,EACG,OAAQ9B,GAAaA,GAAYA,EAAS,UAAU,EACpD,IAAKA,GAAa,CAACA,EAAS,WAAYA,CAAQ,CAAC,CAAA,EAI/B,QAAQ,EAC9B,CAAC8B,CAAmB,CAAC,CAG1B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isValid as
|
|
1
|
+
import { isValid as y, compareAsc as S } from "date-fns";
|
|
2
2
|
import { useMemo as s } from "react";
|
|
3
3
|
import h from "../helpers/groupActivityVersions.es.js";
|
|
4
4
|
import M from "../helpers/groupMinorActivities.es.js";
|
|
@@ -14,16 +14,16 @@ const I = ["status.change", "assignee.add", "assignee.remove"], T = (a = [], e =
|
|
|
14
14
|
}), W = (a = [], e = [], n) => e.includes(n) ? a.filter((t) => t.referenceType !== "relation") : a, b = (a = [], e = [], n = {}, t, o) => {
|
|
15
15
|
const c = s(
|
|
16
16
|
() => T(a, n),
|
|
17
|
-
[a]
|
|
17
|
+
[a, n]
|
|
18
18
|
), u = s(() => c.map((d) => ({ ...d, isOwner: o === d.authorName })), [c, o]), m = s(
|
|
19
19
|
() => W(u, ["version"], t),
|
|
20
|
-
[u,
|
|
20
|
+
[u, t]
|
|
21
21
|
), r = s(() => [...m].sort((i, D) => {
|
|
22
|
-
const p = new Date(i.createdAt), f = new Date(D.createdAt), g =
|
|
23
|
-
if (!g && !
|
|
22
|
+
const p = new Date(i.createdAt), f = new Date(D.createdAt), g = y(p), w = y(f);
|
|
23
|
+
if (!g && !w)
|
|
24
24
|
return 0;
|
|
25
25
|
if (g) {
|
|
26
|
-
if (!
|
|
26
|
+
if (!w)
|
|
27
27
|
return -1;
|
|
28
28
|
} else return 1;
|
|
29
29
|
return S(f, p);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTransformActivities.es.js","sources":["../../../../../../src/containers/Feed/hooks/useTransformActivities.ts"],"sourcesContent":["// @ts-nocheck\n\nimport { compareAsc, isValid } from 'date-fns'\nimport { useMemo } from 'react'\nimport groupActivityVersions from '../helpers/groupActivityVersions'\nimport groupMinorActivities, { ActivityUser } from '../helpers/groupMinorActivities'\nimport mergeSimilarActivities from '../helpers/mergeSimilarActivities'\n\n// Define the types of activities that are considered minor\nconst minorActivityTypes = ['status.change', 'assignee.add', 'assignee.remove']\n\nconst getStatusActivityIcon = (activities = [], projectInfo = {}) => {\n return activities.map((activity) => {\n const newActivity = { ...activity, origin: { ...activity.origin } }\n\n // find status icon and data for status change activities\n if (newActivity.activityType === 'status.change') {\n if (!projectInfo) return newActivity\n const oldStatusName = newActivity.activityData?.oldValue\n const newStatusName = newActivity.activityData?.newValue\n\n const oldStatus = projectInfo.statuses?.find((status) => status.name === oldStatusName)\n const newStatus = projectInfo.statuses?.find((status) => status.name === newStatusName)\n\n newActivity.oldStatus = { ...oldStatus, name: oldStatusName }\n newActivity.newStatus = { ...newStatus, name: newStatusName }\n }\n\n return newActivity\n })\n}\n\nconst filterOutRelations = (activities = [], entityTypes = [], entityType) => {\n return !entityTypes.includes(entityType)\n ? activities\n : activities.filter((activity) => activity.referenceType !== 'relation')\n}\n\nconst useTransformActivities = (\n activities = [],\n users: ActivityUser[] = [],\n projectInfo = {},\n entityType,\n userName,\n) => {\n // 1. add status icons and data for status change activities\n const activitiesWithIcons = useMemo(\n () => getStatusActivityIcon(activities, projectInfo),\n [activities],\n )\n\n // 1,5. add any extra meta data to the activities\n const activitiesWithMeta = useMemo(() => {\n return activitiesWithIcons.map((activity) => {\n const newActivity = { ...activity, isOwner: userName === activity.authorName }\n return newActivity\n })\n }, [activitiesWithIcons, userName])\n\n // 2. versions should not have relations shown (comments posted on parent task)\n const activitiesWithoutRelations = useMemo(\n () => filterOutRelations(activitiesWithMeta, ['version'], entityType),\n [activitiesWithMeta,
|
|
1
|
+
{"version":3,"file":"useTransformActivities.es.js","sources":["../../../../../../src/containers/Feed/hooks/useTransformActivities.ts"],"sourcesContent":["// @ts-nocheck\n\nimport { compareAsc, isValid } from 'date-fns'\nimport { useMemo } from 'react'\nimport groupActivityVersions from '../helpers/groupActivityVersions'\nimport groupMinorActivities, { ActivityUser } from '../helpers/groupMinorActivities'\nimport mergeSimilarActivities from '../helpers/mergeSimilarActivities'\n\n// Define the types of activities that are considered minor\nconst minorActivityTypes = ['status.change', 'assignee.add', 'assignee.remove']\n\nconst getStatusActivityIcon = (activities = [], projectInfo = {}) => {\n return activities.map((activity) => {\n const newActivity = { ...activity, origin: { ...activity.origin } }\n\n // find status icon and data for status change activities\n if (newActivity.activityType === 'status.change') {\n if (!projectInfo) return newActivity\n const oldStatusName = newActivity.activityData?.oldValue\n const newStatusName = newActivity.activityData?.newValue\n\n const oldStatus = projectInfo.statuses?.find((status) => status.name === oldStatusName)\n const newStatus = projectInfo.statuses?.find((status) => status.name === newStatusName)\n\n newActivity.oldStatus = { ...oldStatus, name: oldStatusName }\n newActivity.newStatus = { ...newStatus, name: newStatusName }\n }\n\n return newActivity\n })\n}\n\nconst filterOutRelations = (activities = [], entityTypes = [], entityType) => {\n return !entityTypes.includes(entityType)\n ? activities\n : activities.filter((activity) => activity.referenceType !== 'relation')\n}\n\nconst useTransformActivities = (\n activities = [],\n users: ActivityUser[] = [],\n projectInfo = {},\n entityType,\n userName,\n) => {\n // 1. add status icons and data for status change activities\n const activitiesWithIcons = useMemo(\n () => getStatusActivityIcon(activities, projectInfo),\n [activities, projectInfo],\n )\n\n // 1,5. add any extra meta data to the activities\n const activitiesWithMeta = useMemo(() => {\n return activitiesWithIcons.map((activity) => {\n const newActivity = { ...activity, isOwner: userName === activity.authorName }\n return newActivity\n })\n }, [activitiesWithIcons, userName])\n\n // 2. versions should not have relations shown (comments posted on parent task)\n const activitiesWithoutRelations = useMemo(\n () => filterOutRelations(activitiesWithMeta, ['version'], entityType),\n [activitiesWithMeta, entityType],\n )\n\n // 3. sort createdAt oldest first (because we are using flex: column-reverse)\n const reversedActivitiesData = useMemo(() => {\n const sortedActivities = [...activitiesWithoutRelations].sort((a, b) => {\n const dateA = new Date(a.createdAt)\n const dateB = new Date(b.createdAt)\n const validA = isValid(dateA)\n const validB = isValid(dateB)\n\n if (!validA && !validB) {\n return 0 // Both dates are invalid, keep original order\n } else if (!validA) {\n return 1 // Only dateA is invalid, it comes first\n } else if (!validB) {\n return -1 // Only dateB is invalid, dateA comes first\n }\n\n // If both dates are valid, compare them normally\n return compareAsc(dateB, dateA)\n })\n\n return sortedActivities\n }, [activitiesWithoutRelations])\n\n // 4. for status change activities that are together, merge them into one activity\n const mergedActivitiesData = useMemo(\n () => mergeSimilarActivities(reversedActivitiesData, 'status.change', 'oldStatus'),\n [reversedActivitiesData],\n )\n\n // 5. group minor activities together\n const groupedActivitiesData = useMemo(\n () => groupMinorActivities(mergedActivitiesData, users),\n [mergedActivitiesData, users],\n )\n\n // 6. group version activities together\n const groupedVersionsData = useMemo(\n () => groupActivityVersions(groupedActivitiesData),\n [groupedActivitiesData],\n )\n\n // 7. ensure there are no duplicate activities\n const uniqueActivitiesData = useMemo(() => {\n // Filter out invalid activities and create a Map to ensure uniqueness\n const activityMap = new Map(\n groupedVersionsData\n .filter((activity) => activity && activity.activityId)\n .map((activity) => [activity.activityId, activity]),\n )\n\n // Convert the Map values to an array\n return [...activityMap.values()]\n }, [groupedVersionsData])\n\n return uniqueActivitiesData\n}\n\nexport { minorActivityTypes }\nexport default useTransformActivities\n"],"names":["minorActivityTypes","getStatusActivityIcon","activities","projectInfo","activity","newActivity","oldStatusName","newStatusName","oldStatus","status","newStatus","filterOutRelations","entityTypes","entityType","useTransformActivities","users","userName","activitiesWithIcons","useMemo","activitiesWithMeta","activitiesWithoutRelations","reversedActivitiesData","a","b","dateA","dateB","validA","isValid","validB","compareAsc","mergedActivitiesData","mergeSimilarActivities","groupedActivitiesData","groupMinorActivities","groupedVersionsData","groupActivityVersions"],"mappings":";;;;;AASA,MAAMA,IAAqB,CAAC,iBAAiB,gBAAgB,iBAAiB,GAExEC,IAAwB,CAACC,IAAa,IAAIC,IAAc,CAAA,MACrDD,EAAW,IAAI,CAACE,MAAa;AAClC,QAAMC,IAAc,EAAE,GAAGD,GAAU,QAAQ,EAAE,GAAGA,EAAS,SAAO;AAGhE,MAAIC,EAAY,iBAAiB,iBAAiB;AAChD,QAAI,CAACF,EAAa,QAAOE;AACzB,UAAMC,IAAgBD,EAAY,cAAc,UAC1CE,IAAgBF,EAAY,cAAc,UAE1CG,IAAYL,EAAY,UAAU,KAAK,CAACM,MAAWA,EAAO,SAASH,CAAa,GAChFI,IAAYP,EAAY,UAAU,KAAK,CAACM,MAAWA,EAAO,SAASF,CAAa;AAEtF,IAAAF,EAAY,YAAY,EAAE,GAAGG,GAAW,MAAMF,EAAA,GAC9CD,EAAY,YAAY,EAAE,GAAGK,GAAW,MAAMH,EAAA;AAAA,EAChD;AAEA,SAAOF;AACT,CAAC,GAGGM,IAAqB,CAACT,IAAa,CAAA,GAAIU,IAAc,CAAA,GAAIC,MACrDD,EAAY,SAASC,CAAU,IAEnCX,EAAW,OAAO,CAACE,MAAaA,EAAS,kBAAkB,UAAU,IADrEF,GAIAY,IAAyB,CAC7BZ,IAAa,CAAA,GACba,IAAwB,CAAA,GACxBZ,IAAc,CAAA,GACdU,GACAG,MACG;AAEH,QAAMC,IAAsBC;AAAA,IAC1B,MAAMjB,EAAsBC,GAAYC,CAAW;AAAA,IACnD,CAACD,GAAYC,CAAW;AAAA,EAAA,GAIpBgB,IAAqBD,EAAQ,MAC1BD,EAAoB,IAAI,CAACb,OACV,EAAE,GAAGA,GAAU,SAASY,MAAaZ,EAAS,WAAA,EAEnE,GACA,CAACa,GAAqBD,CAAQ,CAAC,GAG5BI,IAA6BF;AAAA,IACjC,MAAMP,EAAmBQ,GAAoB,CAAC,SAAS,GAAGN,CAAU;AAAA,IACpE,CAACM,GAAoBN,CAAU;AAAA,EAAA,GAI3BQ,IAAyBH,EAAQ,MACZ,CAAC,GAAGE,CAA0B,EAAE,KAAK,CAACE,GAAGC,MAAM;AACtE,UAAMC,IAAQ,IAAI,KAAKF,EAAE,SAAS,GAC5BG,IAAQ,IAAI,KAAKF,EAAE,SAAS,GAC5BG,IAASC,EAAQH,CAAK,GACtBI,IAASD,EAAQF,CAAK;AAE5B,QAAI,CAACC,KAAU,CAACE;AACd,aAAO;AACT,QAAYF;AAEZ,UAAW,CAACE;AACV,eAAO;AAAA,UAFP,QAAO;AAMT,WAAOC,EAAWJ,GAAOD,CAAK;AAAA,EAChC,CAAC,GAGA,CAACJ,CAA0B,CAAC,GAGzBU,IAAuBZ;AAAA,IAC3B,MAAMa,EAAuBV,GAAwB,iBAAiB,WAAW;AAAA,IACjF,CAACA,CAAsB;AAAA,EAAA,GAInBW,IAAwBd;AAAA,IAC5B,MAAMe,EAAqBH,GAAsBf,CAAK;AAAA,IACtD,CAACe,GAAsBf,CAAK;AAAA,EAAA,GAIxBmB,IAAsBhB;AAAA,IAC1B,MAAMiB,EAAsBH,CAAqB;AAAA,IACjD,CAACA,CAAqB;AAAA,EAAA;AAgBxB,SAZ6Bd,EAAQ,MAS5B,CAAC,GAPY,IAAI;AAAA,IACtBgB,EACG,OAAO,CAAC9B,MAAaA,KAAYA,EAAS,UAAU,EACpD,IAAI,CAACA,MAAa,CAACA,EAAS,YAAYA,CAAQ,CAAC;AAAA,EAAA,EAI/B,QAAQ,GAC9B,CAAC8B,CAAmB,CAAC;AAG1B;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../_virtual/jsx-runtime.cjs.js"),x=require("react"),Rr=require("@tanstack/react-virtual"),A=require("@tanstack/react-table"),N=require("clsx"),Ue=require("./buildTreeTableColumns.cjs.js"),R=require("./ProjectTreeTable.styled.cjs.js"),Er=require("./components/HeaderActionButton.cjs.js"),br=require("./components/RowDragHandleCellContent.cjs.js");require("./components/RowSelectionHeader.cjs.js");require("./components/SelectionCell.cjs.js");const jr=require("./components/ColumnHeaderMenu.cjs.js"),Fe=require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");const We=require("./context/CellEditingContext.cjs.js"),D=require("./context/SelectionCellsContext.cjs.js"),wr=require("./context/ClipboardContext.cjs.js"),Sr=require("./context/SelectedRowsContext.cjs.js"),Tr=require("./context/ColumnSettingsContext.cjs.js"),Mr=require("../../context/MenuContext.cjs.js"),Ir=require("./hooks/useCustomColumnWidthVars.cjs.js"),Or=require("./hooks/usePrefetchFolderTasks.cjs.js"),Pr=require("./hooks/useCellContextMenu.cjs.js"),Dr=require("./hooks/useColumnVirtualization.cjs.js"),Lr=require("./hooks/useKeyboardNavigation.cjs.js"),zr=require("./hooks/useDynamicRowHeight.cjs.js"),vr=require("../EntityPickerDialog/EntityPickerDialog.cjs.js"),Nr=require("./hooks/useMoveEntities.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");const oe=require("@ynput/ayon-react-components");;/* empty css */const ye=require("react-dom");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("../../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("../../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/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");const _r=require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("../../context/UriContext.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");const Hr=require("lodash");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");const kr=require("react-toastify");require("uuid");require("../../util/pubsub.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("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");const Ar=require("@dnd-kit/core"),Re=require("@dnd-kit/sortable"),Fr=require("../../../../node_modules/@dnd-kit/utilities/dist/utilities.esm.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("date-fns");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");const ue=require("./utils/cellUtils.cjs.js"),Ve=require("./utils/loadingUtils.cjs.js"),he=require("./utils/restrictedEntity.cjs.js"),$e=require("./context/ProjectTableContext.cjs.js"),Vr=require("./utils/getTableFieldOptions.cjs.js"),Br=require("./utils/getReadOnlyLists.cjs.js"),Ur=require("./utils/getEntityViewerIds.cjs.js"),Be=require("./widgets/CellWidget.cjs.js");require("./context/ProjectTableQueriesContext.cjs.js");require("./context/DetailsPanelEntityContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("./components/GroupSettingsFallback.cjs.js");const Wr=require("./context/ProjectDataContext.cjs.js");require("./widgets/CollapsedWidget.cjs.js");require("./widgets/DateWidget.cjs.js");require("./widgets/EnumWidget.cjs.js");require("./widgets/TextWidget.cjs.js");require("./widgets/BooleanWidget.cjs.js");require("./widgets/EntityNameWidget.cjs.js");require("./widgets/GroupHeaderWidget.cjs.js");require("./widgets/ThumbnailWidget.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("./widgets/EmptyWidget.cjs.js");require("./widgets/ErrorWidget.cjs.js");require("../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../SimpleTable/context/SimpleTableContext.cjs.js");require("../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../Slicer/hooks/useTableDataBySlice.cjs.js");require("../Slicer/components/SlicerSearch.cjs.js");require("../Slicer/context/SlicerContext.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../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");const le=e=>{const u=e.getIsPinned(),i=e.id!==D.ROW_SELECTION_COLUMN_ID&&e.id!==U?-30:0;return{left:u==="left"?`${e.getStart("left")+i}px`:void 0,right:u==="right"?`${e.getAfter("right")}px`:void 0,position:u?"sticky":"relative",width:e.getSize(),zIndex:u?100:0}},ae=(e,u)=>`calc(var(--col-${u}-size) * 1px)`,U="drag-handle",$r=({scope:e,sliceId:u,onScroll:i,onScrollBottom:f,onOpenNew:C,readOnly:h,excludedColumns:y,excludedSorting:E,extraColumns:b,includeLinks:n,isLoading:j,isExpandable:S,clientSorting:o=!1,sortableRows:q=!1,onRowReorder:W,dndActiveId:c,columnsConfig:_,onScrollBottomGroupBy:g,contextMenuItems:$,pt:p,...Y})=>{const{columnVisibility:H,columnPinning:w,columnOrder:z,columnSizing:F,setAllColumns:G,sorting:m,sortingOnChange:L,columnPinningOnChange:T,columnSizingOnChange:J,columnVisibilityOnChange:l,columnOrderOnChange:V,groupBy:v}=Tr.useColumnSettingsContext(),O=!!v,{productTypes:P,projectName:ee,...Ke}=_r.useProjectContext(),{tableData:K,attribFields:B,entitiesMap:Xe,users:Ee,isLoading:Ye,error:Je,isInitialized:ce,expanded:Qe,updateExpanded:be,toggleExpandAll:Ze,showHierarchy:k,fetchNextPage:er,scopes:X,getEntityById:je,onResetView:rr}=$e.useProjectTableContext(),{writableFields:we}=Wr.useProjectDataContext(),Q=j||Ye,{statuses:Se=[],folderTypes:Te=[],taskTypes:Me=[],tags:Ie=[],linkTypes:Oe=[]}=Ke||{},re=x.useMemo(()=>Vr.getTableFieldOptions({users:Ee,statuses:Se,folderTypes:Te,taskTypes:Me,productTypes:P,tags:Ie,scopes:X}),[Ee,Se,Te,Me,X,Ie]),te=x.useRef(null),Pe=x.useRef(0),{registerGrid:De}=D.useSelectionCellsContext(),{loadingAttrib:Le,loadingRows:tr}=x.useMemo(()=>{const t=te.current?.querySelectorAll("tbody tr").length||0,a=Ve.generateDummyAttributes(),d=Ve.generateLoadingRows(k&&K.length>0?Math.min(t,50):v?Math.max(Pe.current,50):50);return{loadingAttrib:a,loadingRows:d}},[]),ir=!ce||Q,{readOnlyColumns:ze,readOnlyAttribs:nr}=x.useMemo(()=>Br.getReadOnlyLists(B,we,h),[B,we,h]),{selectedCells:de}=D.useSelectionCellsContext(),{updateEntities:ve}=We.useCellEditing(),sr=x.useCallback(async(t,a)=>{const{selection:d=[]}=a||{},s=[];if(!d?.length)s.push({...t,id:t.rowId});else{const{field:I,value:xe,isAttrib:fe}=t;for(const yr of de){const{colId:pe,rowId:se}=ue.parseCellId(yr)||{};if(pe===D.ROW_SELECTION_COLUMN_ID)continue;const Ce=je(se||"");if(!Ce){console.warn(`Entity with ID ${se} not found for cell update.`);continue}(!pe?.includes("attrib_")||pe?.replace("attrib_","")===I)&&se&&s.push({field:I,rowId:se,id:Ce.entityId,value:xe,isAttrib:fe,type:Ce.entityType})}}if(!s.length){console.warn("No entities to update, skipping updateEntities call."),kr.toast.warn("No entities to update.");return}await ve(s,!0)},[ve,je,de]),Ne=x.useMemo(()=>ce?B:Le,[B,Le,ce]),or=()=>X.includes("version")?"Product / Version":X.map(t=>Hr.upperFirst(t)).join(" / "),qe=x.useMemo(()=>{const t=Ue.default({scopes:X,attribs:Ne,links:Oe,includeLinks:n,showHierarchy:k,options:re,extraColumns:b,excluded:y,excludedSorting:E,groupBy:v,nameLabel:or()});return q?[{id:U,header:()=>null,cell:()=>null,size:24,minSize:24,maxSize:24,enableResizing:!1,enableSorting:!1,enableHiding:!1,enablePinning:!1},...t]:t},[X,Ne,k,S,re,Oe,n,b,y,E,q]);x.useEffect(()=>{const t=qe.map(a=>a.id).filter(Boolean);G(t)},[qe,G]);const M=A.useReactTable({data:ir?tr:K,columns:qe,defaultColumn:{minSize:50,size:150},enableRowSelection:!0,getRowId:t=>t.id,enableSubRowSelection:!1,getSubRows:t=>t.subRows,getRowCanExpand:()=>!!S||k||O,getCoreRowModel:A.getCoreRowModel(),getFilteredRowModel:A.getFilteredRowModel(),getExpandedRowModel:A.getExpandedRowModel(),filterFromLeafRows:!0,onExpandedChange:be,enableSorting:!0,getSortedRowModel:A.getSortedRowModel(),sortDescFirst:!1,manualSorting:!o,onSortingChange:L,columnResizeMode:"onChange",onColumnPinningChange:T,onColumnSizingChange:J,onColumnVisibilityChange:l,onColumnOrderChange:V,filterFns:A.filterFns,state:{expanded:Qe,sorting:m,columnPinning:(()=>{const t=[];q&&t.push(U),t.push(D.ROW_SELECTION_COLUMN_ID);const a=(w.left||[]).filter(s=>s!==U&&s!==D.ROW_SELECTION_COLUMN_ID);return t.push(...a),{left:[...new Set(t)],right:w.right}})(),columnSizing:F,columnVisibility:H,columnOrder:z},meta:{projectName:ee,options:re,readOnly:ze,updateEntities:sr,toggleExpandAll:Ze,loadMoreRows:er,selection:Array.from(de),columnsConfig:_}}),{rows:Z}=M.getRowModel();x.useEffect(()=>{Pe.current=Z.length},[Z.length]),x.useEffect(()=>{if(!Z.length)return;const t=Z.map(s=>s.id),d=[...M.getAllLeafColumns().map(s=>s.id)].sort((s,I)=>{if(D.ROW_SELECTION_COLUMN_ID===I)return 1;const xe=w.left?.includes(s)?0:1,fe=w.left?.includes(I)?0:1;return xe-fe});De(t,d)},[Z,M.getAllLeafColumns(),w,D.ROW_SELECTION_COLUMN_ID,De]);const _e=M.getVisibleLeafColumns(),{columnVirtualizer:ge,virtualPaddingLeft:ie,virtualPaddingRight:ne}=Dr({visibleColumns:_e,tableContainerRef:te,columnPinning:w,columnSizing:F,columnOrder:z}),He=Ir(M,F),{getRowHeight:ur,defaultRowHeight:ke}=zr(),lr=x.useMemo(()=>B.reduce((t,a)=>(a.data?.enum?.length&&(t[a.name]=a.data?.enum),t),{}),[B]),ar=x.useMemo(()=>K.map(t=>t.id),[K]),cr=x.useMemo(()=>!c||!q?null:K.find(t=>t.id===c),[c,K,q]),dr=x.useCallback(t=>{if(i?.(t),f){const a=t.currentTarget;if(a&&!k&&!v){const{scrollHeight:d,scrollTop:s,clientHeight:I}=a;d-s-I<500&&!Q&&f(t)}}if(g&&v){const I=t.currentTarget?.querySelector(".load-more")?.getAttribute("id")?.split("-")[2];I&&g(I)}},[i,f,g,k,v,Q]),{isEntityPickerOpen:qr,handleMoveSubmit:gr,closeMoveDialog:mr,movingEntities:me,handleMoveToRoot:xr,getDisabledFolderIds:fr,getDisabledMessage:pr}=Nr.useMoveEntities({projectName:ee}),Cr=t=>{gr(t);const a=t[0];be(d=>typeof d=="boolean"?d||{[a]:!0}:d[a]?d:{...d,[a]:!0})},Ae=r.jsxRuntimeExports.jsxs(wr.ClipboardProvider,{entitiesMap:Xe,columnEnums:{...re,...lr},columnReadOnly:nr,visibleColumns:_e,children:[r.jsxRuntimeExports.jsx(R.TableWrapper,{...Y,children:r.jsxRuntimeExports.jsx(R.TableContainer,{ref:te,style:{height:"100%",padding:0},onScroll:dr,...p?.container,className:N("table-container",{resizing:M.getState().columnSizingInfo.isResizingColumn},p?.container?.className),children:r.jsxRuntimeExports.jsxs("table",{style:{display:"grid",borderCollapse:"collapse",userSelect:"none",...He,width:M.getTotalSize(),cursor:M.getState().columnSizingInfo.isResizingColumn?"col-resize":void 0},children:[r.jsxRuntimeExports.jsx(Gr,{columnVirtualizer:ge,table:M,virtualPaddingLeft:ie,virtualPaddingRight:ne,isLoading:Q,readOnlyColumns:ze,sortableRows:q,...p?.head}),r.jsxRuntimeExports.jsx(Yr,{columnVirtualizer:ge,table:M,tableContainerRef:te,virtualPaddingLeft:ie,virtualPaddingRight:ne,showHierarchy:k,attribs:B,onOpenNew:C,rowOrderIds:ar,sortableRows:q,error:Je,isLoading:Q,isGrouping:O,getRowHeight:ur,defaultRowHeight:ke,onResetView:rr,contextMenuItems:$})]})})}),qr&&ee&&me?.entities&&me.entities.length>0&&r.jsxRuntimeExports.jsx(vr.EntityPickerDialog,{projectName:ee,entityType:"folder",onSubmit:Cr,onClose:mr,showMoveToRoot:me.entities.every(t=>t.entityType==="folder"),onMoveToRoot:xr,disabledIds:fr(),getDisabledMessage:pr})]}),hr=q&&c&&ye.createPortal(r.jsxRuntimeExports.jsx(Ar.DragOverlay,{dropAnimation:null,children:cr?(()=>{const t=M.getRowModel().rows.find(d=>d.id===c);if(!t)return null;const a=M.getTotalSize();return r.jsxRuntimeExports.jsx("table",{style:{width:a,borderCollapse:"collapse",backgroundColor:"var(--md-sys-color-surface-container-high)",boxShadow:"0 0 10px rgba(0,0,0,0.2)",...He},children:r.jsxRuntimeExports.jsx("tbody",{children:r.jsxRuntimeExports.jsxs(R.TR,{style:{display:"flex",userSelect:"none"},children:[ie?r.jsxRuntimeExports.jsx("td",{style:{display:"flex",width:ie}}):null,ge.getVirtualItems().map(d=>{const s=t.getVisibleCells()[d.index];if(!s)return null;const I={...le(s.column),width:ae(t.id,s.column.id),display:"flex",alignItems:"center",height:ke};return s.column.id===U?r.jsxRuntimeExports.jsxs(R.TD,{style:{...I,justifyContent:"center"},className:N(s.column.id),children:[r.jsxRuntimeExports.jsx(oe.Icon,{icon:"drag_handle"})," "]},`overlay-drag-${s.id}`):r.jsxRuntimeExports.jsx(Ge,{cell:s,cellId:`overlay-${ue.getCellId(t.id,s.column.id)}`,rowId:t.id,showHierarchy:k},`overlay-cell-${s.id}`)}),ne?r.jsxRuntimeExports.jsx("td",{style:{display:"flex",width:ne}}):null]})})})})():null}),document.body);return q?r.jsxRuntimeExports.jsxs(r.jsxRuntimeExports.Fragment,{children:[Ae,hr]}):Ae},Gr=({columnVirtualizer:e,table:u,virtualPaddingLeft:i,virtualPaddingRight:f,isLoading:C,readOnlyColumns:h,sortableRows:y,...E})=>r.jsxRuntimeExports.jsx(R.TableHeader,{...E,children:u.getHeaderGroups().map(b=>r.jsxRuntimeExports.jsx(Kr,{columnVirtualizer:e,headerGroup:b,virtualPaddingLeft:i,virtualPaddingRight:f,isLoading:C,readOnlyColumns:h,sortableRows:y},b.id))}),Kr=({columnVirtualizer:e,headerGroup:u,virtualPaddingLeft:i,virtualPaddingRight:f,isLoading:C,readOnlyColumns:h,sortableRows:y})=>{const E=e.getVirtualItems();return r.jsxRuntimeExports.jsxs(R.ColumnHeader,{style:{display:"flex"},children:[i?r.jsxRuntimeExports.jsx("th",{style:{display:"flex",width:i}}):null,E.map(b=>{const n=u.headers[b.index];return r.jsxRuntimeExports.jsx(Xr,{header:n,isLoading:C,isReadOnly:h?.includes(n.id),canSort:n.column.getCanSort(),canFilter:n.column.getCanFilter(),canHide:n.column.getCanHide(),canPin:n.column.getCanPin(),canResize:n.column.getCanResize(),sortableRows:y},n.id)}),f?r.jsxRuntimeExports.jsx("th",{style:{display:"flex",width:f}}):null]},u.id)},Xr=({header:e,isLoading:u,canFilter:i,canHide:f,canSort:C,canPin:h,canResize:y,isReadOnly:E,sortableRows:b})=>{const{column:n}=e,j=n.getIsSorted(),S=`column-header-menu-${n.id}`,{menuOpen:o}=Mr.useMenuContext(),q=o===S;return r.jsxRuntimeExports.jsx(R.HeaderCell,{className:N(e.id,"shimmer-dark",{loading:u,"last-pinned-left":n.getIsPinned()==="left"&&n.getIsLastColumn("left"),resizing:n.getIsResizing()}),style:{...le(n),width:ae("",n.id)},children:e.isPlaceholder?null:r.jsxRuntimeExports.jsxs(R.TableCellContent,{className:N("bold","header"),children:[A.flexRender(n.columnDef.header,e.getContext()),E&&r.jsxRuntimeExports.jsx(oe.Icon,{icon:"lock","data-tooltip":"You only have permission to read this column."}),r.jsxRuntimeExports.jsxs(R.HeaderButtons,{className:"actions",$isOpen:q,children:[(f||h||C)&&r.jsxRuntimeExports.jsx(jr.ColumnHeaderMenu,{className:"header-menu",header:e,canHide:f,canPin:h,canSort:C,isResizing:n.getIsResizing(),menuId:S,isOpen:q}),C&&r.jsxRuntimeExports.jsx(Er,{icon:"sort",className:N("sort-button",{visible:j}),style:{transform:j==="asc"?"rotate(180deg) scaleX(-1)":"none"},onClick:n.getToggleSortingHandler(),selected:!!n.getIsSorted()})]}),y&&r.jsxRuntimeExports.jsx(R.ResizedHandler,{onDoubleClick:()=>n.resetSize(),onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),className:N("resize-handle",{resizing:n.getIsResizing()})})]})},e.id)},Yr=({columnVirtualizer:e,table:u,tableContainerRef:i,showHierarchy:f,virtualPaddingLeft:C,virtualPaddingRight:h,attribs:y,onOpenNew:E,rowOrderIds:b,sortableRows:n,error:j,isLoading:S,isGrouping:o,getRowHeight:q,defaultRowHeight:W,onResetView:c,contextMenuItems:_})=>{const g=x.useMemo(()=>u.getAllColumns().map(T=>{const J=T.id,l=T.columnDef.header;return typeof l=="string"||typeof l=="number"?{label:l,id:J}:null}).filter(Boolean),[u.getAllColumns()]),p=Pr({attribs:y,onOpenNew:E,headerLabels:g,contextMenuItems:_}).handleTableBodyContextMenu,{handlePreFetchTasks:Y}=Or.usePrefetchFolderTasks(),{rows:H}=u.getRowModel(),w=Rr.useVirtualizer({count:H.length,estimateSize:m=>{const L=H[m];return L?q(L.original):W},getScrollElement:()=>i.current,measureElement:typeof window<"u"&&navigator.userAgent.indexOf("Firefox")===-1?m=>m?.getBoundingClientRect().height:void 0,overscan:5}),z=w.getVirtualItems(),F=x.useCallback(m=>{m&&w.measureElement(m)},[w]);Lr();const G=r.jsxRuntimeExports.jsx("tbody",{style:{height:`${w.getTotalSize()}px`,position:"relative",display:"grid"},onContextMenu:p,onMouseOver:m=>{Y(m)},children:z.map((m,L)=>{const T=H[m.index];return T?r.jsxRuntimeExports.jsx(Jr,{row:T,showHierarchy:f,visibleCells:T.getVisibleCells(),virtualColumns:e.getVirtualItems(),paddingLeft:C,paddingRight:h,rowRef:F,dataIndex:m.index,offsetTop:m.start,sortableRows:n,isGrouping:o,rowHeight:q(T.original)},T.id+L.toString()):(console.warn("Virtualized row data not found for index:",m.index),null)})});return j?i.current&&ye.createPortal(r.jsxRuntimeExports.jsx(R.AnimatedEmptyPlaceholder,{children:r.jsxRuntimeExports.jsx(Fe.EmptyPlaceholder,{message:"No items found",error:j,children:c&&r.jsxRuntimeExports.jsx(oe.Button,{variant:"filled",label:"Reset working view",icon:"restart_alt",onClick:c})})}),i.current):!H.length&&!S?i.current&&ye.createPortal(r.jsxRuntimeExports.jsx(R.AnimatedEmptyPlaceholder,{children:r.jsxRuntimeExports.jsx(Fe.EmptyPlaceholder,{message:"No items found",children:c&&r.jsxRuntimeExports.jsx(oe.Button,{variant:"filled",label:"Reset working view",icon:"restart_alt",onClick:c})})}),i.current):n?r.jsxRuntimeExports.jsx(Re.SortableContext,{items:b,strategy:Re.verticalListSortingStrategy,children:G}):G},Jr=({row:e,showHierarchy:u,visibleCells:i,virtualColumns:f,paddingLeft:C,paddingRight:h,rowRef:y,dataIndex:E,offsetTop:b,sortableRows:n,isGrouping:j=!1,rowHeight:S})=>{const o=n?Re.useSortable({id:e.id}):null,q=x.useCallback(c=>{o&&o.setNodeRef(c),o&&o.isDragging||y(c)},[o,y]),W={position:"absolute",top:b,left:0,right:0,height:S,zIndex:o&&o.isDragging?0:1,display:"flex",transform:o&&o.transform?Fr.CSS.Transform.toString(o.transform):void 0,transition:o&&o.transition?o.transition:void 0,visibility:o&&o.isDragging?"hidden":"visible"};return r.jsxRuntimeExports.jsxs(R.TR,{ref:q,"data-index":E,style:W,className:N({"group-row":e.original.group}),children:[C?r.jsxRuntimeExports.jsx("td",{style:{display:"flex",width:C}}):null,f.map((c,_)=>{const g=i[c.index];if(!g)return null;const $=ue.getCellId(e.id,g.column.id);return g.column.id===U?r.jsxRuntimeExports.jsx(R.TD,{style:{...le(g.column),width:ae(e.id,g.column.id),display:"flex",alignItems:"center",justifyContent:"center",height:S,pointerEvents:"all",cursor:"grab"},className:N(g.column.id,{"last-pinned-left":g.column.getIsPinned()==="left"&&g.column.getIsLastColumn("left")}),onMouseDown:p=>p.stopPropagation(),onMouseOver:p=>p.stopPropagation(),onDoubleClick:p=>p.stopPropagation(),onContextMenu:p=>{p.preventDefault(),p.stopPropagation()},children:r.jsxRuntimeExports.jsx(br,{attributes:o?.attributes,listeners:o?.listeners})},g.id+_.toString()):r.jsxRuntimeExports.jsx(Ge,{cell:g,cellId:$,rowId:e.id,showHierarchy:u,sortableRows:n,rowHeight:S},g.id+_.toString())}),h?r.jsxRuntimeExports.jsx("td",{style:{display:"flex",width:h}}):null]})},Ge=({cell:e,rowId:u,cellId:i,className:f,showHierarchy:C,sortableRows:h,rowHeight:y,...E})=>{const{getEntityById:b,onOpenPlayer:n}=$e.useProjectTableContext(),{isCellSelected:j,isCellFocused:S,startSelection:o,extendSelection:q,endSelection:W,selectCell:c,focusCell:_,getCellBorderClasses:g,clearSelection:$,selectedCells:p}=D.useSelectionCellsContext(),{isRowSelected:Y}=Sr.useSelectedRowsContext(),{isEditing:H,setEditingCellId:w,editingCellId:z}=We.useCellEditing(),F=g(i),m=e.column.getIsPinned()==="left"&&e.column.getIsLastColumn("left"),L=e.column.id===D.ROW_SELECTION_COLUMN_ID,T=e.row.original.entityType==="group",J=p.size>1;return r.jsxRuntimeExports.jsx(R.TD,{...E,tabIndex:0,$isLastPinned:m,className:N(e.column.id,{selected:j(i),focused:S(i),editing:H(i),"last-pinned-left":m,"selected-row":Y(u),expandable:!!e.row.originalSubRows&&Ue.isEntityExpandable(e.row.original.entityType),"multiple-selected":J},f,...F),style:{...le(e.column),width:ae(e.row.id,e.column.id),height:y},onMouseDown:l=>{if(l.button!==0)return;const V=l.target;if(V.closest(".expander")||V.closest(".options"))return;if(T&&e.column.id!=="name")return $();const v=he.isEntityRestricted(e.row.original.entityType);if(V.closest("."+Be.EDIT_TRIGGER_CLASS)&&!v){j(i)||(c(i,!1,!1),_(i)),w(i);return}if(j(i))return;if(z&&z!==i){const P=document.querySelector(`#${z} input, #${z} [role="textbox"]`);if(P){P.blur(),setTimeout(()=>{O()},0);return}}O();function O(){const P=l.metaKey||l.ctrlKey||L;l.shiftKey?c(i,P,!0):o(i,P),l.preventDefault()}},onMouseOver:l=>{if(l.buttons===1){if(l.target.closest("."+Be.EDIT_TRIGGER_CLASS))return;q(i,L)}},onMouseUp:()=>{W(i)},onDoubleClick:l=>{if(!(he.isTargetReadOnly(l)||he.isEntityRestricted(e.row.original.entityType))&&!T)if(e.column.id==="name"&&!l.target.closest(".expander")){const O=ue.getCellId(e.row.id,D.ROW_SELECTION_COLUMN_ID),P=l.metaKey||l.ctrlKey;j(O)||c(O,P,!1),c(i,!0,!1)}else if(e.column.id==="thumbnail"){if(n){const O=b(e.row.original.entityId||e.row.id);if(O){const P=Ur.getEntityViewierIds(O);n(P,{quickView:!0})}}}else w(i)},onContextMenu:l=>{l.preventDefault(),j(i)||c(i,!1,!1)},onKeyDown:()=>{},children:A.flexRender(e.column.columnDef.cell,e.getContext())})};exports.DRAG_HANDLE_COLUMN_ID=U;exports.ProjectTreeTable=$r;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../_virtual/jsx-runtime.cjs.js"),x=require("react"),Rr=require("@tanstack/react-virtual"),A=require("@tanstack/react-table"),N=require("clsx"),Ue=require("./buildTreeTableColumns.cjs.js"),R=require("./ProjectTreeTable.styled.cjs.js"),Er=require("./components/HeaderActionButton.cjs.js"),br=require("./components/RowDragHandleCellContent.cjs.js");require("./components/RowSelectionHeader.cjs.js");require("./components/SelectionCell.cjs.js");const jr=require("./components/ColumnHeaderMenu.cjs.js"),Fe=require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");const We=require("./context/CellEditingContext.cjs.js"),L=require("./context/SelectionCellsContext.cjs.js"),wr=require("./context/ClipboardContext.cjs.js"),Sr=require("./context/SelectedRowsContext.cjs.js"),Tr=require("./context/ColumnSettingsContext.cjs.js"),Mr=require("../../context/MenuContext.cjs.js"),Ir=require("./hooks/useCustomColumnWidthVars.cjs.js"),Or=require("./hooks/usePrefetchFolderTasks.cjs.js"),Pr=require("./hooks/useCellContextMenu.cjs.js"),Dr=require("./hooks/useColumnVirtualization.cjs.js"),Lr=require("./hooks/useKeyboardNavigation.cjs.js"),zr=require("./hooks/useDynamicRowHeight.cjs.js"),vr=require("../EntityPickerDialog/EntityPickerDialog.cjs.js"),Nr=require("./hooks/useMoveEntities.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");const oe=require("@ynput/ayon-react-components");;/* empty css */const ye=require("react-dom");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("../../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("../../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/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");const _r=require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("../../context/UriContext.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");const Hr=require("lodash");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");const kr=require("react-toastify");require("uuid");require("../../util/pubsub.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("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");const Ar=require("@dnd-kit/core"),Re=require("@dnd-kit/sortable"),Fr=require("../../../../node_modules/@dnd-kit/utilities/dist/utilities.esm.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("date-fns");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");const ue=require("./utils/cellUtils.cjs.js"),Ve=require("./utils/loadingUtils.cjs.js"),he=require("./utils/restrictedEntity.cjs.js"),$e=require("./context/ProjectTableContext.cjs.js"),Vr=require("./utils/getTableFieldOptions.cjs.js"),Br=require("./utils/getReadOnlyLists.cjs.js"),Ur=require("./utils/getEntityViewerIds.cjs.js"),Be=require("./widgets/CellWidget.cjs.js");require("./context/ProjectTableQueriesContext.cjs.js");require("./context/DetailsPanelEntityContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("./components/GroupSettingsFallback.cjs.js");const Wr=require("./context/ProjectDataContext.cjs.js");require("./widgets/CollapsedWidget.cjs.js");require("./widgets/DateWidget.cjs.js");require("./widgets/EnumWidget.cjs.js");require("./widgets/TextWidget.cjs.js");require("./widgets/BooleanWidget.cjs.js");require("./widgets/EntityNameWidget.cjs.js");require("./widgets/GroupHeaderWidget.cjs.js");require("./widgets/ThumbnailWidget.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("./widgets/EmptyWidget.cjs.js");require("./widgets/ErrorWidget.cjs.js");require("../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../SimpleTable/context/SimpleTableContext.cjs.js");require("../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../Slicer/hooks/useTableDataBySlice.cjs.js");require("../Slicer/components/SlicerSearch.cjs.js");require("../Slicer/context/SlicerContext.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../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");const le=e=>{const l=e.getIsPinned(),i=e.id!==L.ROW_SELECTION_COLUMN_ID&&e.id!==U?-30:0;return{left:l==="left"?`${e.getStart("left")+i}px`:void 0,right:l==="right"?`${e.getAfter("right")}px`:void 0,position:l?"sticky":"relative",width:e.getSize(),zIndex:l?100:0}},ae=(e,l)=>`calc(var(--col-${l}-size) * 1px)`,U="drag-handle",$r=({scope:e,sliceId:l,onScroll:i,onScrollBottom:f,onOpenNew:C,readOnly:h,excludedColumns:y,excludedSorting:E,extraColumns:b,includeLinks:n,isLoading:j,isExpandable:S,clientSorting:o=!1,sortableRows:q=!1,onRowReorder:W,dndActiveId:c,columnsConfig:_,onScrollBottomGroupBy:g,contextMenuItems:$,pt:p,...Y})=>{const{columnVisibility:H,columnPinning:w,columnOrder:z,columnSizing:F,setAllColumns:K,sorting:m,sortingOnChange:O,columnPinningOnChange:T,columnSizingOnChange:J,columnVisibilityOnChange:u,columnOrderOnChange:V,groupBy:v}=Tr.useColumnSettingsContext(),P=!!v,{productTypes:D,projectName:ee,...Ge}=_r.useProjectContext(),{tableData:G,attribFields:B,entitiesMap:Xe,users:Ee,isLoading:Ye,error:Je,isInitialized:ce,expanded:Qe,updateExpanded:be,toggleExpandAll:Ze,showHierarchy:k,fetchNextPage:er,scopes:X,getEntityById:je,onResetView:rr}=$e.useProjectTableContext(),{writableFields:we}=Wr.useProjectDataContext(),Q=j||Ye,{statuses:Se=[],folderTypes:Te=[],taskTypes:Me=[],tags:Ie=[],linkTypes:Oe=[]}=Ge||{},re=x.useMemo(()=>Vr.getTableFieldOptions({users:Ee,statuses:Se,folderTypes:Te,taskTypes:Me,productTypes:D,tags:Ie,scopes:X}),[Ee,Se,Te,Me,X,Ie]),te=x.useRef(null),Pe=x.useRef(0),{registerGrid:De}=L.useSelectionCellsContext(),{loadingAttrib:Le,loadingRows:tr}=x.useMemo(()=>{const t=te.current?.querySelectorAll("tbody tr").length||0,a=Ve.generateDummyAttributes(),d=Ve.generateLoadingRows(k&&G.length>0?Math.min(t,50):v?Math.max(Pe.current,50):50);return{loadingAttrib:a,loadingRows:d}},[]),ir=!ce||Q,{readOnlyColumns:ze,readOnlyAttribs:nr}=x.useMemo(()=>Br.getReadOnlyLists(B,we,h),[B,we,h]),{selectedCells:de}=L.useSelectionCellsContext(),{updateEntities:ve}=We.useCellEditing(),sr=x.useCallback(async(t,a)=>{const{selection:d=[]}=a||{},s=[];if(!d?.length)s.push({...t,id:t.rowId});else{const{field:I,value:xe,isAttrib:fe}=t;for(const yr of de){const{colId:pe,rowId:se}=ue.parseCellId(yr)||{};if(pe===L.ROW_SELECTION_COLUMN_ID)continue;const Ce=je(se||"");if(!Ce){console.warn(`Entity with ID ${se} not found for cell update.`);continue}(!pe?.includes("attrib_")||pe?.replace("attrib_","")===I)&&se&&s.push({field:I,rowId:se,id:Ce.entityId,value:xe,isAttrib:fe,type:Ce.entityType})}}if(!s.length){console.warn("No entities to update, skipping updateEntities call."),kr.toast.warn("No entities to update.");return}await ve(s,!0)},[ve,je,de]),Ne=x.useMemo(()=>ce?B:Le,[B,Le,ce]),or=()=>X.includes("version")?"Product / Version":X.map(t=>Hr.upperFirst(t)).join(" / "),qe=x.useMemo(()=>{const t=Ue.default({scopes:X,attribs:Ne,links:Oe,includeLinks:n,showHierarchy:k,options:re,extraColumns:b,excluded:y,excludedSorting:E,groupBy:v,nameLabel:or()});return q?[{id:U,header:()=>null,cell:()=>null,size:24,minSize:24,maxSize:24,enableResizing:!1,enableSorting:!1,enableHiding:!1,enablePinning:!1},...t]:t},[X,Ne,k,S,re,Oe,n,b,y,E,q]);x.useEffect(()=>{const t=qe.map(a=>a.id).filter(Boolean);K(t)},[qe,K]);const M=A.useReactTable({data:ir?tr:G,columns:qe,defaultColumn:{minSize:50,size:150},enableRowSelection:!0,getRowId:t=>t.id,enableSubRowSelection:!1,getSubRows:t=>t.subRows,getRowCanExpand:()=>!!S||k||P,getCoreRowModel:A.getCoreRowModel(),getFilteredRowModel:A.getFilteredRowModel(),getExpandedRowModel:A.getExpandedRowModel(),filterFromLeafRows:!0,onExpandedChange:be,enableSorting:!0,getSortedRowModel:A.getSortedRowModel(),sortDescFirst:!1,manualSorting:!o,onSortingChange:O,columnResizeMode:"onChange",onColumnPinningChange:T,onColumnSizingChange:J,onColumnVisibilityChange:u,onColumnOrderChange:V,filterFns:A.filterFns,state:{expanded:Qe,sorting:m,columnPinning:(()=>{const t=[];q&&t.push(U),t.push(L.ROW_SELECTION_COLUMN_ID);const a=(w.left||[]).filter(s=>s!==U&&s!==L.ROW_SELECTION_COLUMN_ID);return t.push(...a),{left:[...new Set(t)],right:w.right}})(),columnSizing:F,columnVisibility:H,columnOrder:z},meta:{projectName:ee,options:re,readOnly:ze,updateEntities:sr,toggleExpandAll:Ze,loadMoreRows:er,selection:Array.from(de),columnsConfig:_}}),{rows:Z}=M.getRowModel();x.useEffect(()=>{Pe.current=Z.length},[Z.length]),x.useEffect(()=>{if(!Z.length)return;const t=Z.map(s=>s.id),d=[...M.getAllLeafColumns().map(s=>s.id)].sort((s,I)=>{if(L.ROW_SELECTION_COLUMN_ID===I)return 1;const xe=w.left?.includes(s)?0:1,fe=w.left?.includes(I)?0:1;return xe-fe});De(t,d)},[Z,M.getAllLeafColumns(),w,L.ROW_SELECTION_COLUMN_ID,De]);const _e=M.getVisibleLeafColumns(),{columnVirtualizer:ge,virtualPaddingLeft:ie,virtualPaddingRight:ne}=Dr({visibleColumns:_e,tableContainerRef:te,columnPinning:w,columnSizing:F,columnOrder:z}),He=Ir(M,F),{getRowHeight:ur,defaultRowHeight:ke}=zr(),lr=x.useMemo(()=>B.reduce((t,a)=>(a.data?.enum?.length&&(t[a.name]=a.data?.enum),t),{}),[B]),ar=x.useMemo(()=>G.map(t=>t.id),[G]),cr=x.useMemo(()=>!c||!q?null:G.find(t=>t.id===c),[c,G,q]),dr=x.useCallback(t=>{if(i?.(t),f){const a=t.currentTarget;if(a&&!k&&!v){const{scrollHeight:d,scrollTop:s,clientHeight:I}=a;d-s-I<500&&!Q&&f(t)}}if(g&&v){const I=t.currentTarget?.querySelector(".load-more")?.getAttribute("id")?.split("-")[2];I&&g(I)}},[i,f,g,k,v,Q]),{isEntityPickerOpen:qr,handleMoveSubmit:gr,closeMoveDialog:mr,movingEntities:me,handleMoveToRoot:xr,getDisabledFolderIds:fr,getDisabledMessage:pr}=Nr.useMoveEntities({projectName:ee}),Cr=t=>{gr(t);const a=t[0];be(d=>typeof d=="boolean"?d||{[a]:!0}:d[a]?d:{...d,[a]:!0})},Ae=r.jsxRuntimeExports.jsxs(wr.ClipboardProvider,{entitiesMap:Xe,columnEnums:{...re,...lr},columnReadOnly:nr,visibleColumns:_e,children:[r.jsxRuntimeExports.jsx(R.TableWrapper,{...Y,children:r.jsxRuntimeExports.jsx(R.TableContainer,{ref:te,style:{height:"100%",padding:0},onScroll:dr,...p?.container,className:N("table-container",{resizing:M.getState().columnSizingInfo.isResizingColumn},p?.container?.className),children:r.jsxRuntimeExports.jsxs("table",{style:{display:"grid",borderCollapse:"collapse",userSelect:"none",...He,width:M.getTotalSize(),cursor:M.getState().columnSizingInfo.isResizingColumn?"col-resize":void 0},children:[r.jsxRuntimeExports.jsx(Kr,{columnVirtualizer:ge,table:M,virtualPaddingLeft:ie,virtualPaddingRight:ne,isLoading:Q,readOnlyColumns:ze,sortableRows:q,...p?.head}),r.jsxRuntimeExports.jsx(Yr,{columnVirtualizer:ge,table:M,tableContainerRef:te,virtualPaddingLeft:ie,virtualPaddingRight:ne,showHierarchy:k,attribs:B,onOpenNew:C,rowOrderIds:ar,sortableRows:q,error:Je,isLoading:Q,isGrouping:P,getRowHeight:ur,defaultRowHeight:ke,onResetView:rr,contextMenuItems:$})]})})}),qr&&ee&&me?.entities&&me.entities.length>0&&r.jsxRuntimeExports.jsx(vr.EntityPickerDialog,{projectName:ee,entityType:"folder",onSubmit:Cr,onClose:mr,showMoveToRoot:me.entities.every(t=>t.entityType==="folder"),onMoveToRoot:xr,disabledIds:fr(),getDisabledMessage:pr})]}),hr=q&&c&&ye.createPortal(r.jsxRuntimeExports.jsx(Ar.DragOverlay,{dropAnimation:null,children:cr?(()=>{const t=M.getRowModel().rows.find(d=>d.id===c);if(!t)return null;const a=M.getTotalSize();return r.jsxRuntimeExports.jsx("table",{style:{width:a,borderCollapse:"collapse",backgroundColor:"var(--md-sys-color-surface-container-high)",boxShadow:"0 0 10px rgba(0,0,0,0.2)",...He},children:r.jsxRuntimeExports.jsx("tbody",{children:r.jsxRuntimeExports.jsxs(R.TR,{style:{display:"flex",userSelect:"none"},children:[ie?r.jsxRuntimeExports.jsx("td",{style:{display:"flex",width:ie}}):null,ge.getVirtualItems().map(d=>{const s=t.getVisibleCells()[d.index];if(!s)return null;const I={...le(s.column),width:ae(t.id,s.column.id),display:"flex",alignItems:"center",height:ke};return s.column.id===U?r.jsxRuntimeExports.jsxs(R.TD,{style:{...I,justifyContent:"center"},className:N(s.column.id),children:[r.jsxRuntimeExports.jsx(oe.Icon,{icon:"drag_handle"})," "]},`overlay-drag-${s.id}`):r.jsxRuntimeExports.jsx(Ke,{cell:s,cellId:`overlay-${ue.getCellId(t.id,s.column.id)}`,rowId:t.id,showHierarchy:k},`overlay-cell-${s.id}`)}),ne?r.jsxRuntimeExports.jsx("td",{style:{display:"flex",width:ne}}):null]})})})})():null}),document.body);return q?r.jsxRuntimeExports.jsxs(r.jsxRuntimeExports.Fragment,{children:[Ae,hr]}):Ae},Kr=({columnVirtualizer:e,table:l,virtualPaddingLeft:i,virtualPaddingRight:f,isLoading:C,readOnlyColumns:h,sortableRows:y,...E})=>r.jsxRuntimeExports.jsx(R.TableHeader,{...E,children:l.getHeaderGroups().map(b=>r.jsxRuntimeExports.jsx(Gr,{columnVirtualizer:e,headerGroup:b,virtualPaddingLeft:i,virtualPaddingRight:f,isLoading:C,readOnlyColumns:h,sortableRows:y},b.id))}),Gr=({columnVirtualizer:e,headerGroup:l,virtualPaddingLeft:i,virtualPaddingRight:f,isLoading:C,readOnlyColumns:h,sortableRows:y})=>{const E=e.getVirtualItems();return r.jsxRuntimeExports.jsxs(R.ColumnHeader,{style:{display:"flex"},children:[i?r.jsxRuntimeExports.jsx("th",{style:{display:"flex",width:i}}):null,E.map(b=>{const n=l.headers[b.index];return r.jsxRuntimeExports.jsx(Xr,{header:n,isLoading:C,isReadOnly:h?.includes(n.id),canSort:n.column.getCanSort(),canFilter:n.column.getCanFilter(),canHide:n.column.getCanHide(),canPin:n.column.getCanPin(),canResize:n.column.getCanResize(),sortableRows:y},n.id)}),f?r.jsxRuntimeExports.jsx("th",{style:{display:"flex",width:f}}):null]},l.id)},Xr=({header:e,isLoading:l,canFilter:i,canHide:f,canSort:C,canPin:h,canResize:y,isReadOnly:E,sortableRows:b})=>{const{column:n}=e,j=n.getIsSorted(),S=`column-header-menu-${n.id}`,{menuOpen:o}=Mr.useMenuContext(),q=o===S;return r.jsxRuntimeExports.jsx(R.HeaderCell,{className:N(e.id,"shimmer-dark",{loading:l,"last-pinned-left":n.getIsPinned()==="left"&&n.getIsLastColumn("left"),resizing:n.getIsResizing()}),style:{...le(n),width:ae("",n.id)},children:e.isPlaceholder?null:r.jsxRuntimeExports.jsxs(R.TableCellContent,{className:N("bold","header"),children:[A.flexRender(n.columnDef.header,e.getContext()),E&&r.jsxRuntimeExports.jsx(oe.Icon,{icon:"lock","data-tooltip":"You only have permission to read this column."}),r.jsxRuntimeExports.jsxs(R.HeaderButtons,{className:"actions",$isOpen:q,children:[(f||h||C)&&r.jsxRuntimeExports.jsx(jr.ColumnHeaderMenu,{className:"header-menu",header:e,canHide:f,canPin:h,canSort:C,isResizing:n.getIsResizing(),menuId:S,isOpen:q}),C&&r.jsxRuntimeExports.jsx(Er,{icon:"sort",className:N("sort-button",{visible:j}),style:{transform:j==="asc"?"rotate(180deg) scaleX(-1)":"none"},onClick:n.getToggleSortingHandler(),selected:!!n.getIsSorted()})]}),y&&r.jsxRuntimeExports.jsx(R.ResizedHandler,{onDoubleClick:()=>n.resetSize(),onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),className:N("resize-handle",{resizing:n.getIsResizing()})})]})},e.id)},Yr=({columnVirtualizer:e,table:l,tableContainerRef:i,showHierarchy:f,virtualPaddingLeft:C,virtualPaddingRight:h,attribs:y,onOpenNew:E,rowOrderIds:b,sortableRows:n,error:j,isLoading:S,isGrouping:o,getRowHeight:q,defaultRowHeight:W,onResetView:c,contextMenuItems:_})=>{const g=x.useMemo(()=>l.getAllColumns().map(T=>{const J=T.id,u=T.columnDef.header;return typeof u=="string"||typeof u=="number"?{label:u,id:J}:null}).filter(Boolean),[l.getAllColumns()]),p=Pr({attribs:y,onOpenNew:E,headerLabels:g,contextMenuItems:_}).handleTableBodyContextMenu,{handlePreFetchTasks:Y}=Or.usePrefetchFolderTasks(),{rows:H}=l.getRowModel(),w=Rr.useVirtualizer({count:H.length,estimateSize:m=>{const O=H[m];return O?q(O.original):W},getScrollElement:()=>i.current,measureElement:typeof window<"u"&&navigator.userAgent.indexOf("Firefox")===-1?m=>m?.getBoundingClientRect().height:void 0,overscan:5}),z=w.getVirtualItems(),F=x.useCallback(m=>{m&&w.measureElement(m)},[w]);Lr();const K=r.jsxRuntimeExports.jsx("tbody",{style:{height:`${w.getTotalSize()}px`,position:"relative",display:"grid"},onContextMenu:p,onMouseOver:m=>{Y(m)},children:z.map((m,O)=>{const T=H[m.index];return T?r.jsxRuntimeExports.jsx(Jr,{row:T,showHierarchy:f,visibleCells:T.getVisibleCells(),virtualColumns:e.getVirtualItems(),paddingLeft:C,paddingRight:h,rowRef:F,dataIndex:m.index,offsetTop:m.start,sortableRows:n,isGrouping:o,rowHeight:q(T.original)},T.id+O.toString()):(console.warn("Virtualized row data not found for index:",m.index),null)})});return j?i.current&&ye.createPortal(r.jsxRuntimeExports.jsx(R.AnimatedEmptyPlaceholder,{children:r.jsxRuntimeExports.jsx(Fe.EmptyPlaceholder,{message:"No items found",error:j,children:c&&r.jsxRuntimeExports.jsx(oe.Button,{variant:"filled",label:"Reset working view",icon:"restart_alt",onClick:c})})}),i.current):!H.length&&!S?i.current&&ye.createPortal(r.jsxRuntimeExports.jsx(R.AnimatedEmptyPlaceholder,{children:r.jsxRuntimeExports.jsx(Fe.EmptyPlaceholder,{message:"No items found",children:c&&r.jsxRuntimeExports.jsx(oe.Button,{variant:"filled",label:"Reset working view",icon:"restart_alt",onClick:c})})}),i.current):n?r.jsxRuntimeExports.jsx(Re.SortableContext,{items:b,strategy:Re.verticalListSortingStrategy,children:K}):K},Jr=({row:e,showHierarchy:l,visibleCells:i,virtualColumns:f,paddingLeft:C,paddingRight:h,rowRef:y,dataIndex:E,offsetTop:b,sortableRows:n,isGrouping:j=!1,rowHeight:S})=>{const o=n?Re.useSortable({id:e.id}):null,q=x.useCallback(c=>{o&&o.setNodeRef(c),o&&o.isDragging||y(c)},[o,y]),W={position:"absolute",top:b,left:0,right:0,height:S,zIndex:o&&o.isDragging?0:1,display:"flex",transform:o&&o.transform?Fr.CSS.Transform.toString(o.transform):void 0,transition:o&&o.transition?o.transition:void 0,visibility:o&&o.isDragging?"hidden":"visible"};return r.jsxRuntimeExports.jsxs(R.TR,{ref:q,"data-index":E,style:W,className:N({"group-row":e.original.group}),children:[C?r.jsxRuntimeExports.jsx("td",{style:{display:"flex",width:C}}):null,f.map((c,_)=>{const g=i[c.index];if(!g)return null;const $=ue.getCellId(e.id,g.column.id);return g.column.id===U?r.jsxRuntimeExports.jsx(R.TD,{style:{...le(g.column),width:ae(e.id,g.column.id),display:"flex",alignItems:"center",justifyContent:"center",height:S,pointerEvents:"all",cursor:"grab"},className:N(g.column.id,{"last-pinned-left":g.column.getIsPinned()==="left"&&g.column.getIsLastColumn("left")}),onMouseDown:p=>p.stopPropagation(),onMouseOver:p=>p.stopPropagation(),onDoubleClick:p=>p.stopPropagation(),onContextMenu:p=>{p.preventDefault(),p.stopPropagation()},children:r.jsxRuntimeExports.jsx(br,{attributes:o?.attributes,listeners:o?.listeners})},g.id+_.toString()):r.jsxRuntimeExports.jsx(Ke,{cell:g,cellId:$,rowId:e.id,showHierarchy:l,sortableRows:n,rowHeight:S},g.id+_.toString())}),h?r.jsxRuntimeExports.jsx("td",{style:{display:"flex",width:h}}):null]})},Ke=({cell:e,rowId:l,cellId:i,className:f,showHierarchy:C,sortableRows:h,rowHeight:y,...E})=>{const{getEntityById:b,onOpenPlayer:n}=$e.useProjectTableContext(),{isCellSelected:j,isCellFocused:S,startSelection:o,extendSelection:q,endSelection:W,selectCell:c,focusCell:_,getCellBorderClasses:g,clearSelection:$,selectedCells:p}=L.useSelectionCellsContext(),{isRowSelected:Y}=Sr.useSelectedRowsContext(),{isEditing:H,setEditingCellId:w,editingCellId:z}=We.useCellEditing(),F=g(i),m=e.column.getIsPinned()==="left"&&e.column.getIsLastColumn("left"),O=e.column.id===L.ROW_SELECTION_COLUMN_ID,T=e.row.original.entityType==="group",J=p.size>1;return r.jsxRuntimeExports.jsx(R.TD,{...E,tabIndex:0,$isLastPinned:m,className:N(e.column.id,{selected:j(i),focused:S(i),editing:H(i),"last-pinned-left":m,"selected-row":Y(l),expandable:!!e.row.originalSubRows&&Ue.isEntityExpandable(e.row.original.entityType),"multiple-selected":J},f,...F),style:{...le(e.column),width:ae(e.row.id,e.column.id),height:y},onMouseDown:u=>{if(u.button!==0)return;const V=u.target;if(V.closest(".expander")||V.closest(".options"))return;if(T&&e.column.id!=="name")return $();const v=he.isEntityRestricted(e.row.original.entityType);if(V.closest("."+Be.EDIT_TRIGGER_CLASS)&&!v){j(i)||(c(i,!1,!1),_(i)),w(i);return}if(j(i)&&!(u.metaKey||u.ctrlKey)&&!O)return;if(z&&z!==i){const D=document.querySelector(`#${z} input, #${z} [role="textbox"]`);if(D){D.blur(),setTimeout(()=>{P()},0);return}}P();function P(){const D=u.metaKey||u.ctrlKey||O;u.shiftKey?c(i,D,!0):o(i,D),u.preventDefault()}},onMouseOver:u=>{if(u.buttons===1){if(u.target.closest("."+Be.EDIT_TRIGGER_CLASS))return;q(i,O)}},onMouseUp:()=>{W(i)},onDoubleClick:u=>{if(!(he.isTargetReadOnly(u)||he.isEntityRestricted(e.row.original.entityType))&&!T)if(e.column.id==="name"&&!u.target.closest(".expander")){const P=ue.getCellId(e.row.id,L.ROW_SELECTION_COLUMN_ID),D=u.metaKey||u.ctrlKey;j(P)||c(P,D,!1),c(i,!0,!1)}else if(e.column.id==="thumbnail"){if(n){const P=b(e.row.original.entityId||e.row.id);if(P){const D=Ur.getEntityViewierIds(P);n(D,{quickView:!0})}}}else w(i)},onContextMenu:u=>{u.preventDefault(),j(i)||c(i,!1,!1)},onKeyDown:()=>{},children:A.flexRender(e.column.columnDef.cell,e.getContext())})};exports.DRAG_HANDLE_COLUMN_ID=U;exports.ProjectTreeTable=$r;
|
|
2
2
|
//# sourceMappingURL=ProjectTreeTable.cjs.js.map
|