@ynput/ayon-frontend-shared 0.2.13 → 0.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -0
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +1 -0
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/Slicer.cjs.js +2 -0
- package/dist/Slicer.cjs.js.map +1 -1
- package/dist/Slicer.es.js +3 -1
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +4 -4
- package/dist/_virtual/index.cjs4.js +4 -4
- package/dist/_virtual/index.cjs5.js +4 -4
- package/dist/_virtual/index.cjs6.js +2 -2
- package/dist/_virtual/index.cjs7.js +2 -2
- package/dist/_virtual/index.cjs8.js +4 -4
- package/dist/_virtual/index.cjs9.js +4 -4
- package/dist/_virtual/index.es10.js +4 -4
- package/dist/_virtual/index.es4.js +4 -4
- package/dist/_virtual/index.es5.js +4 -4
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es7.js +2 -2
- package/dist/_virtual/index.es8.js +4 -4
- package/dist/_virtual/index.es9.js +4 -4
- package/dist/components.cjs.js +6 -0
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +7 -1
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1 -0
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/actions.es.js.map +1 -1
- package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/system.es.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +1 -0
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +1 -0
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +1 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +1 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -0
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +1 -0
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterDates.cjs.js +167 -0
- package/dist/shared/src/components/SearchFilter/filterDates.cjs.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/filterDates.es.js +167 -0
- package/dist/shared/src/components/SearchFilter/filterDates.es.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +548 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +548 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -0
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +19 -3
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +20 -4
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -0
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +1 -0
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -0
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +1 -0
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -0
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +1 -0
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +4 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsUpload.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsUpload.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +21 -11
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +21 -11
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js +6 -0
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js +6 -0
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js +3 -3
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js +3 -3
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/mergeAnnotationAttachments.cjs.js +2 -1
- package/dist/shared/src/containers/Feed/helpers/mergeAnnotationAttachments.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/mergeAnnotationAttachments.es.js +2 -1
- package/dist/shared/src/containers/Feed/helpers/mergeAnnotationAttachments.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js +37 -0
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js +37 -0
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js.map +1 -0
- package/dist/types/api/generated/actions.d.ts +1 -1
- package/dist/types/api/generated/system.d.ts +1 -0
- package/dist/types/components/SearchFilter/filterDates.d.ts +56 -0
- package/dist/types/components/SearchFilter/index.d.ts +2 -0
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +30 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.d.ts +1 -1
- package/dist/types/containers/Feed/components/CommentInput/hooks/useAnnotationsUpload.d.ts +1 -1
- package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +4 -3
- package/dist/types/containers/Slicer/index.d.ts +1 -0
- package/dist/types/containers/Slicer/useFiltersWithHierarchy.d.ts +10 -0
- package/package.json +1 -1
|
@@ -31,11 +31,11 @@ const FilesGrid = ({
|
|
|
31
31
|
name: file.name,
|
|
32
32
|
mime: file.mime || file.type,
|
|
33
33
|
size: file.size,
|
|
34
|
-
src: file.
|
|
35
|
-
|
|
34
|
+
src: file.unsavedAnnotation ? file.thumbnail : `/api/projects/${projectName}/files/${file.id}`,
|
|
35
|
+
unsavedAnnotation: file.unsavedAnnotation,
|
|
36
36
|
savedAnnotation: file.annotation,
|
|
37
37
|
progress: file.progress,
|
|
38
|
-
onRemove: onRemove ? () => onRemove(file.id, file.name, file.
|
|
38
|
+
onRemove: onRemove ? () => onRemove(file.id, file.name, !!file.unsavedAnnotation) : void 0,
|
|
39
39
|
isCompact,
|
|
40
40
|
isDownloadable,
|
|
41
41
|
onExpand: () => handleExpand(index),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilesGrid.es.js","sources":["../../../../../../../src/containers/Feed/components/FilesGrid/FilesGrid.tsx"],"sourcesContent":["import * as Styled from './FilesGrid.styled'\nimport clsx from 'clsx'\nimport FileUploadCard from '../FileUploadCard'\nimport { isFilePreviewable } from '../FileUploadPreview'\nimport { useCallback } from 'react'\n\nexport interface FilesGridProps {\n files?: any[]\n activityId?: string\n isCompact?: boolean\n onRemove?: (id: string, name: string, isUnsavedAnnotation: boolean) => void\n projectName: string\n isDownloadable?: boolean\n onExpand?: (data: { files: any[]; index: number; activityId: string }) => void\n onAnnotationClick?: (file: any) => void\n [key: string]: any\n}\n\nconst FilesGrid: React.FC<FilesGridProps> = ({\n files = [],\n activityId,\n isCompact,\n onRemove,\n projectName,\n isDownloadable,\n onExpand,\n onAnnotationClick,\n ...props\n}) => {\n if (!files.length) return null\n\n const handleExpand = useCallback(\n (index: number) => {\n const filteredFiles = files.filter((file) => isFilePreviewable(file.mime, file.ext))\n const updatedIndex = filteredFiles.findIndex((file) => file.id === files[index].id)\n onExpand?.({ files: filteredFiles, index: updatedIndex, activityId: activityId || '' })\n },\n [onExpand],\n )\n\n return (\n <Styled.Grid className={clsx({ compact: isCompact })} {...props}>\n {files.map((file, index) => (\n <FileUploadCard\n key={index}\n id={file.id || file.name}\n name={file.name}\n mime={file.mime || file.type}\n size={file.size}\n src={\n file.
|
|
1
|
+
{"version":3,"file":"FilesGrid.es.js","sources":["../../../../../../../src/containers/Feed/components/FilesGrid/FilesGrid.tsx"],"sourcesContent":["import * as Styled from './FilesGrid.styled'\nimport clsx from 'clsx'\nimport FileUploadCard from '../FileUploadCard'\nimport { isFilePreviewable } from '../FileUploadPreview'\nimport { useCallback } from 'react'\n\nexport interface FilesGridProps {\n files?: any[]\n activityId?: string\n isCompact?: boolean\n onRemove?: (id: string, name: string, isUnsavedAnnotation: boolean) => void\n projectName: string\n isDownloadable?: boolean\n onExpand?: (data: { files: any[]; index: number; activityId: string }) => void\n onAnnotationClick?: (file: any) => void\n [key: string]: any\n}\n\nconst FilesGrid: React.FC<FilesGridProps> = ({\n files = [],\n activityId,\n isCompact,\n onRemove,\n projectName,\n isDownloadable,\n onExpand,\n onAnnotationClick,\n ...props\n}) => {\n if (!files.length) return null\n\n const handleExpand = useCallback(\n (index: number) => {\n const filteredFiles = files.filter((file) => isFilePreviewable(file.mime, file.ext))\n const updatedIndex = filteredFiles.findIndex((file) => file.id === files[index].id)\n onExpand?.({ files: filteredFiles, index: updatedIndex, activityId: activityId || '' })\n },\n [onExpand],\n )\n\n return (\n <Styled.Grid className={clsx({ compact: isCompact })} {...props}>\n {files.map((file, index) => (\n <FileUploadCard\n key={index}\n id={file.id || file.name}\n name={file.name}\n mime={file.mime || file.type}\n size={file.size}\n src={\n file.unsavedAnnotation\n ? file.thumbnail\n : `/api/projects/${projectName}/files/${file.id}`\n }\n unsavedAnnotation={file.unsavedAnnotation}\n savedAnnotation={file.annotation}\n progress={file.progress}\n onRemove={\n onRemove ? () => onRemove(file.id, file.name, !!file.unsavedAnnotation) : undefined\n }\n isCompact={isCompact}\n isDownloadable={isDownloadable}\n onExpand={() => handleExpand(index)}\n onJumpTo={() => onAnnotationClick?.(file)}\n />\n ))}\n </Styled.Grid>\n )\n}\n\nexport default FilesGrid\n"],"names":["Styled.Grid","jsx"],"mappings":";;;;;;AAkBA,MAAM,YAAsC,CAAC;AAAA,EAC3C,QAAQ,CAAC;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACA,MAAA,CAAC,MAAM,OAAe,QAAA;AAE1B,QAAM,eAAe;AAAA,IACnB,CAAC,UAAkB;AACX,YAAA,gBAAgB,MAAM,OAAO,CAAC,SAAS,kBAAkB,KAAK,MAAM,KAAK,GAAG,CAAC;AAC7E,YAAA,eAAe,cAAc,UAAU,CAAC,SAAS,KAAK,OAAO,MAAM,KAAK,EAAE,EAAE;AACvE,2CAAA,EAAE,OAAO,eAAe,OAAO,cAAc,YAAY,cAAc;IACpF;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAEA,+CACGA,MAAA,EAAY,WAAW,KAAK,EAAE,SAAS,UAAU,CAAC,GAAI,GAAG,OACvD,gBAAM,IAAI,CAAC,MAAM,UAChBC,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,IAAI,KAAK,MAAM,KAAK;AAAA,MACpB,MAAM,KAAK;AAAA,MACX,MAAM,KAAK,QAAQ,KAAK;AAAA,MACxB,MAAM,KAAK;AAAA,MACX,KACE,KAAK,oBACD,KAAK,YACL,iBAAiB,WAAW,UAAU,KAAK,EAAE;AAAA,MAEnD,mBAAmB,KAAK;AAAA,MACxB,iBAAiB,KAAK;AAAA,MACtB,UAAU,KAAK;AAAA,MACf,UACE,WAAW,MAAM,SAAS,KAAK,IAAI,KAAK,MAAM,CAAC,CAAC,KAAK,iBAAiB,IAAI;AAAA,MAE5E;AAAA,MACA;AAAA,MACA,UAAU,MAAM,aAAa,KAAK;AAAA,MAClC,UAAU,MAAM,uDAAoB;AAAA,IAAI;AAAA,IAnBnC;AAAA,EAqBR,CAAA,GACH;AAEJ;"}
|
|
@@ -5,8 +5,9 @@ const mergeAnnotationAttachments = (activities) => {
|
|
|
5
5
|
if (activity.activityType !== "comment" || !((_a = activity.activityData) == null ? void 0 : _a.annotations)) return activity;
|
|
6
6
|
const files = activity.files.map((file) => {
|
|
7
7
|
const annotation = activity.activityData.annotations.find(
|
|
8
|
-
(annotation2) => annotation2.composite === file.id || annotation2.transparent === file.id
|
|
8
|
+
(annotation2) => (annotation2 == null ? void 0 : annotation2.composite) === file.id || (annotation2 == null ? void 0 : annotation2.transparent) === file.id
|
|
9
9
|
);
|
|
10
|
+
if (!annotation) return file;
|
|
10
11
|
if (annotation.transparent === file.id) return null;
|
|
11
12
|
return { ...file, annotation };
|
|
12
13
|
}).filter(Boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeAnnotationAttachments.cjs.js","sources":["../../../../../../src/containers/Feed/helpers/mergeAnnotationAttachments.ts"],"sourcesContent":["import { SavedAnnotationMetadata } from '../../index'\n\nexport default (activities: any[]) => {\n return activities.map((activity) => {\n if (activity.activityType !== 'comment' || !activity.activityData?.annotations) return activity\n\n const files = activity.files\n .map((file: any) => {\n // look for an annotation that is using this file\n const annotation = activity.activityData.annotations.find(\n (annotation: SavedAnnotationMetadata) =>\n annotation
|
|
1
|
+
{"version":3,"file":"mergeAnnotationAttachments.cjs.js","sources":["../../../../../../src/containers/Feed/helpers/mergeAnnotationAttachments.ts"],"sourcesContent":["import { SavedAnnotationMetadata } from '../../index'\n\nexport default (activities: any[]) => {\n return activities.map((activity) => {\n if (activity.activityType !== 'comment' || !activity.activityData?.annotations) return activity\n\n const files = activity.files\n .map((file: any) => {\n // look for an annotation that is using this file\n const annotation = activity.activityData.annotations.find(\n (annotation: SavedAnnotationMetadata) =>\n annotation?.composite === file.id || annotation?.transparent === file.id,\n )\n\n if (!annotation) return file\n\n // if the file is the transparent version of the annotation, ignore it\n if (annotation.transparent === file.id) return null\n\n return { ...file, annotation }\n })\n .filter(Boolean)\n\n const newActivity = { ...activity, files }\n return newActivity\n })\n}\n"],"names":["annotation"],"mappings":";AAEA,MAAe,6BAAA,CAAC,eAAsB;AAC7B,SAAA,WAAW,IAAI,CAAC,aAAa;;AAClC,QAAI,SAAS,iBAAiB,aAAa,GAAC,cAAS,iBAAT,mBAAuB,aAAoB,QAAA;AAEvF,UAAM,QAAQ,SAAS,MACpB,IAAI,CAAC,SAAc;AAEZ,YAAA,aAAa,SAAS,aAAa,YAAY;AAAA,QACnD,CAACA,iBACCA,2CAAY,eAAc,KAAK,OAAMA,2CAAY,iBAAgB,KAAK;AAAA,MAC1E;AAEI,UAAA,CAAC,WAAmB,QAAA;AAGxB,UAAI,WAAW,gBAAgB,KAAK,GAAW,QAAA;AAExC,aAAA,EAAE,GAAG,MAAM,WAAW;AAAA,IAAA,CAC9B,EACA,OAAO,OAAO;AAEjB,UAAM,cAAc,EAAE,GAAG,UAAU,MAAM;AAClC,WAAA;AAAA,EAAA,CACR;AACH;;"}
|
|
@@ -4,8 +4,9 @@ const mergeAnnotationAttachments = (activities) => {
|
|
|
4
4
|
if (activity.activityType !== "comment" || !((_a = activity.activityData) == null ? void 0 : _a.annotations)) return activity;
|
|
5
5
|
const files = activity.files.map((file) => {
|
|
6
6
|
const annotation = activity.activityData.annotations.find(
|
|
7
|
-
(annotation2) => annotation2.composite === file.id || annotation2.transparent === file.id
|
|
7
|
+
(annotation2) => (annotation2 == null ? void 0 : annotation2.composite) === file.id || (annotation2 == null ? void 0 : annotation2.transparent) === file.id
|
|
8
8
|
);
|
|
9
|
+
if (!annotation) return file;
|
|
9
10
|
if (annotation.transparent === file.id) return null;
|
|
10
11
|
return { ...file, annotation };
|
|
11
12
|
}).filter(Boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeAnnotationAttachments.es.js","sources":["../../../../../../src/containers/Feed/helpers/mergeAnnotationAttachments.ts"],"sourcesContent":["import { SavedAnnotationMetadata } from '../../index'\n\nexport default (activities: any[]) => {\n return activities.map((activity) => {\n if (activity.activityType !== 'comment' || !activity.activityData?.annotations) return activity\n\n const files = activity.files\n .map((file: any) => {\n // look for an annotation that is using this file\n const annotation = activity.activityData.annotations.find(\n (annotation: SavedAnnotationMetadata) =>\n annotation
|
|
1
|
+
{"version":3,"file":"mergeAnnotationAttachments.es.js","sources":["../../../../../../src/containers/Feed/helpers/mergeAnnotationAttachments.ts"],"sourcesContent":["import { SavedAnnotationMetadata } from '../../index'\n\nexport default (activities: any[]) => {\n return activities.map((activity) => {\n if (activity.activityType !== 'comment' || !activity.activityData?.annotations) return activity\n\n const files = activity.files\n .map((file: any) => {\n // look for an annotation that is using this file\n const annotation = activity.activityData.annotations.find(\n (annotation: SavedAnnotationMetadata) =>\n annotation?.composite === file.id || annotation?.transparent === file.id,\n )\n\n if (!annotation) return file\n\n // if the file is the transparent version of the annotation, ignore it\n if (annotation.transparent === file.id) return null\n\n return { ...file, annotation }\n })\n .filter(Boolean)\n\n const newActivity = { ...activity, files }\n return newActivity\n })\n}\n"],"names":["annotation"],"mappings":"AAEA,MAAe,6BAAA,CAAC,eAAsB;AAC7B,SAAA,WAAW,IAAI,CAAC,aAAa;AADtC;AAEI,QAAI,SAAS,iBAAiB,aAAa,GAAC,cAAS,iBAAT,mBAAuB,aAAoB,QAAA;AAEvF,UAAM,QAAQ,SAAS,MACpB,IAAI,CAAC,SAAc;AAEZ,YAAA,aAAa,SAAS,aAAa,YAAY;AAAA,QACnD,CAACA,iBACCA,2CAAY,eAAc,KAAK,OAAMA,2CAAY,iBAAgB,KAAK;AAAA,MAC1E;AAEI,UAAA,CAAC,WAAmB,QAAA;AAGxB,UAAI,WAAW,gBAAgB,KAAK,GAAW,QAAA;AAExC,aAAA,EAAE,GAAG,MAAM,WAAW;AAAA,IAAA,CAC9B,EACA,OAAO,OAAO;AAEjB,UAAM,cAAc,EAAE,GAAG,UAAU,MAAM;AAClC,WAAA;AAAA,EAAA,CACR;AACH;"}
|
|
@@ -177,6 +177,7 @@ require("../../components/SettingsPanel/SettingsPanel.cjs.js");
|
|
|
177
177
|
require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");
|
|
178
178
|
require("../../components/AttributeEditor/components/MinMaxField.cjs.js");
|
|
179
179
|
require("../../components/EnumEditor/EnumEditor.styled.cjs.js");
|
|
180
|
+
require("../../components/SearchFilter/filterDates.cjs.js");
|
|
180
181
|
const columns = [
|
|
181
182
|
{
|
|
182
183
|
field: "name",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepresentationsList.cjs.js","sources":["../../../../../src/containers/RepresentationsList/RepresentationsList.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { TablePanel } from '@ynput/ayon-react-components'\n\nimport { TreeTable } from 'primereact/treetable'\nimport { Column } from 'primereact/column'\n\nimport { groupResult } from '@shared/util'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { DetailsDialog } from '@shared/components'\nimport versionsToRepresentations from './versionsToRepresentations'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst columns = [\n {\n field: 'name',\n header: 'Name',\n width: 90,\n expander: true,\n },\n {\n field: 'folderName',\n header: 'Folder',\n width: 130,\n },\n {\n field: 'productName',\n header: 'Product',\n width: 130,\n },\n {\n field: 'Product type',\n header: 'productType',\n width: 110,\n },\n]\n\ntype Props = {\n entities: DetailsPanelEntityData[]\n}\n\nexport const RepresentationsList = ({ entities = [] }: Props) => {\n // merge all entities data into one array of entities\n const representations = useMemo(() => versionsToRepresentations(entities) || [], [entities])\n\n const [showDetail, setShowDetail] = useState<false | string>(false)\n const showDetailProjectName = representations.find((rep) => rep.id === showDetail)?.projectName\n\n const [selected, setSelected] = useState<string[]>([])\n\n const data = useMemo(() => {\n // @ts-expect-error - groupResult is not typed\n return groupResult(representations, 'name')\n }, [representations])\n\n const onRepSelectionChange = (entityId: string) => {\n // set focused state\n setSelected([entityId])\n }\n\n const onRowClick = (e: any) => {\n onRepSelectionChange(e.node.data.id)\n }\n\n const ctxMenuItems = (id: string) => [\n {\n label: 'Representation detail',\n command: () => setShowDetail(id),\n icon: 'database',\n },\n ]\n\n const [ctxMenuShow] = useCreateContextMenu([])\n\n const handleContextMenu = (e: any) => {\n const id = e.node.data.id\n\n if (id) {\n // update focused representations\n onRepSelectionChange(id)\n // open context menu\n ctxMenuShow(e.originalEvent, ctxMenuItems(id))\n }\n }\n\n return (\n <>\n <TablePanel>\n <TreeTable\n scrollable\n scrollHeight=\"100%\"\n value={data}\n emptyMessage=\"No representation found\"\n selectionMode=\"single\"\n selectionKeys={selected[0]}\n onRowClick={onRowClick}\n onContextMenu={handleContextMenu}\n >\n {columns.map((col) => {\n return (\n <Column\n key={col.field}\n field={col.field}\n header={col.header}\n expander={col.expander}\n style={{ width: col.width }}\n />\n )\n })}\n </TreeTable>\n </TablePanel>\n\n {showDetail && (\n <DetailsDialog\n projectName={showDetailProjectName}\n entityType={'representation'}\n entityIds={[showDetail]}\n visible={!!showDetail}\n onHide={() => setShowDetail(false)}\n />\n )}\n </>\n )\n}\n"],"names":["useMemo","useState","groupResult","useCreateContextMenu","jsxs","Fragment","jsx","TablePanel","TreeTable","Column","DetailsDialog"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RepresentationsList.cjs.js","sources":["../../../../../src/containers/RepresentationsList/RepresentationsList.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { TablePanel } from '@ynput/ayon-react-components'\n\nimport { TreeTable } from 'primereact/treetable'\nimport { Column } from 'primereact/column'\n\nimport { groupResult } from '@shared/util'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { DetailsDialog } from '@shared/components'\nimport versionsToRepresentations from './versionsToRepresentations'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst columns = [\n {\n field: 'name',\n header: 'Name',\n width: 90,\n expander: true,\n },\n {\n field: 'folderName',\n header: 'Folder',\n width: 130,\n },\n {\n field: 'productName',\n header: 'Product',\n width: 130,\n },\n {\n field: 'Product type',\n header: 'productType',\n width: 110,\n },\n]\n\ntype Props = {\n entities: DetailsPanelEntityData[]\n}\n\nexport const RepresentationsList = ({ entities = [] }: Props) => {\n // merge all entities data into one array of entities\n const representations = useMemo(() => versionsToRepresentations(entities) || [], [entities])\n\n const [showDetail, setShowDetail] = useState<false | string>(false)\n const showDetailProjectName = representations.find((rep) => rep.id === showDetail)?.projectName\n\n const [selected, setSelected] = useState<string[]>([])\n\n const data = useMemo(() => {\n // @ts-expect-error - groupResult is not typed\n return groupResult(representations, 'name')\n }, [representations])\n\n const onRepSelectionChange = (entityId: string) => {\n // set focused state\n setSelected([entityId])\n }\n\n const onRowClick = (e: any) => {\n onRepSelectionChange(e.node.data.id)\n }\n\n const ctxMenuItems = (id: string) => [\n {\n label: 'Representation detail',\n command: () => setShowDetail(id),\n icon: 'database',\n },\n ]\n\n const [ctxMenuShow] = useCreateContextMenu([])\n\n const handleContextMenu = (e: any) => {\n const id = e.node.data.id\n\n if (id) {\n // update focused representations\n onRepSelectionChange(id)\n // open context menu\n ctxMenuShow(e.originalEvent, ctxMenuItems(id))\n }\n }\n\n return (\n <>\n <TablePanel>\n <TreeTable\n scrollable\n scrollHeight=\"100%\"\n value={data}\n emptyMessage=\"No representation found\"\n selectionMode=\"single\"\n selectionKeys={selected[0]}\n onRowClick={onRowClick}\n onContextMenu={handleContextMenu}\n >\n {columns.map((col) => {\n return (\n <Column\n key={col.field}\n field={col.field}\n header={col.header}\n expander={col.expander}\n style={{ width: col.width }}\n />\n )\n })}\n </TreeTable>\n </TablePanel>\n\n {showDetail && (\n <DetailsDialog\n projectName={showDetailProjectName}\n entityType={'representation'}\n entityIds={[showDetail]}\n visible={!!showDetail}\n onHide={() => setShowDetail(false)}\n />\n )}\n </>\n )\n}\n"],"names":["useMemo","useState","groupResult","useCreateContextMenu","jsxs","Fragment","jsx","TablePanel","TreeTable","Column","DetailsDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,UAAU;AAAA,EACd;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAEX;AAMO,MAAM,sBAAsB,CAAC,EAAE,WAAW,CAAA,QAAgB;;AAEzD,QAAA,kBAAkBA,MAAQ,QAAA,MAAM,0BAA0B,QAAQ,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAE3F,QAAM,CAAC,YAAY,aAAa,IAAIC,MAAAA,SAAyB,KAAK;AAC5D,QAAA,yBAAwB,qBAAgB,KAAK,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAnD,mBAAsD;AAEpF,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAAmB,CAAA,CAAE;AAE/C,QAAA,OAAOD,MAAAA,QAAQ,MAAM;AAElB,WAAAE,YAAA,YAAY,iBAAiB,MAAM;AAAA,EAAA,GACzC,CAAC,eAAe,CAAC;AAEd,QAAA,uBAAuB,CAAC,aAAqB;AAErC,gBAAA,CAAC,QAAQ,CAAC;AAAA,EACxB;AAEM,QAAA,aAAa,CAAC,MAAW;AACR,yBAAA,EAAE,KAAK,KAAK,EAAE;AAAA,EACrC;AAEM,QAAA,eAAe,CAAC,OAAe;AAAA,IACnC;AAAA,MACE,OAAO;AAAA,MACP,SAAS,MAAM,cAAc,EAAE;AAAA,MAC/B,MAAM;AAAA,IAAA;AAAA,EAEV;AAEA,QAAM,CAAC,WAAW,IAAIC,qBAAA,qBAAqB,EAAE;AAEvC,QAAA,oBAAoB,CAAC,MAAW;AAC9B,UAAA,KAAK,EAAE,KAAK,KAAK;AAEvB,QAAI,IAAI;AAEN,2BAAqB,EAAE;AAEvB,kBAAY,EAAE,eAAe,aAAa,EAAE,CAAC;AAAA,IAAA;AAAA,EAEjD;AAEA,SAEIC,2BAAA,kBAAA,KAAAC,uCAAA,EAAA,UAAA;AAAA,IAAAC,iDAACC,oBAAAA,YACC,EAAA,UAAAD,2BAAA,kBAAA;AAAA,MAACE,cAAA;AAAA,MAAA;AAAA,QACC,YAAU;AAAA,QACV,cAAa;AAAA,QACb,OAAO;AAAA,QACP,cAAa;AAAA,QACb,eAAc;AAAA,QACd,eAAe,SAAS,CAAC;AAAA,QACzB;AAAA,QACA,eAAe;AAAA,QAEd,UAAA,QAAQ,IAAI,CAAC,QAAQ;AAElB,iBAAAF,2BAAA,kBAAA;AAAA,YAACG,WAAA;AAAA,YAAA;AAAA,cAEC,OAAO,IAAI;AAAA,cACX,QAAQ,IAAI;AAAA,cACZ,UAAU,IAAI;AAAA,cACd,OAAO,EAAE,OAAO,IAAI,MAAM;AAAA,YAAA;AAAA,YAJrB,IAAI;AAAA,UAKX;AAAA,QAEH,CAAA;AAAA,MAAA;AAAA,IAAA,GAEL;AAAA,IAEC,cACCH,2BAAA,kBAAA;AAAA,MAACI,cAAA;AAAA,MAAA;AAAA,QACC,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,WAAW,CAAC,UAAU;AAAA,QACtB,SAAS,CAAC,CAAC;AAAA,QACX,QAAQ,MAAM,cAAc,KAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACnC,GAEJ;AAEJ;;"}
|
|
@@ -175,6 +175,7 @@ import "../../components/SettingsPanel/SettingsPanel.es.js";
|
|
|
175
175
|
import "../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
176
176
|
import "../../components/AttributeEditor/components/MinMaxField.es.js";
|
|
177
177
|
import "../../components/EnumEditor/EnumEditor.styled.es.js";
|
|
178
|
+
import "../../components/SearchFilter/filterDates.es.js";
|
|
178
179
|
const columns = [
|
|
179
180
|
{
|
|
180
181
|
field: "name",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepresentationsList.es.js","sources":["../../../../../src/containers/RepresentationsList/RepresentationsList.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { TablePanel } from '@ynput/ayon-react-components'\n\nimport { TreeTable } from 'primereact/treetable'\nimport { Column } from 'primereact/column'\n\nimport { groupResult } from '@shared/util'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { DetailsDialog } from '@shared/components'\nimport versionsToRepresentations from './versionsToRepresentations'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst columns = [\n {\n field: 'name',\n header: 'Name',\n width: 90,\n expander: true,\n },\n {\n field: 'folderName',\n header: 'Folder',\n width: 130,\n },\n {\n field: 'productName',\n header: 'Product',\n width: 130,\n },\n {\n field: 'Product type',\n header: 'productType',\n width: 110,\n },\n]\n\ntype Props = {\n entities: DetailsPanelEntityData[]\n}\n\nexport const RepresentationsList = ({ entities = [] }: Props) => {\n // merge all entities data into one array of entities\n const representations = useMemo(() => versionsToRepresentations(entities) || [], [entities])\n\n const [showDetail, setShowDetail] = useState<false | string>(false)\n const showDetailProjectName = representations.find((rep) => rep.id === showDetail)?.projectName\n\n const [selected, setSelected] = useState<string[]>([])\n\n const data = useMemo(() => {\n // @ts-expect-error - groupResult is not typed\n return groupResult(representations, 'name')\n }, [representations])\n\n const onRepSelectionChange = (entityId: string) => {\n // set focused state\n setSelected([entityId])\n }\n\n const onRowClick = (e: any) => {\n onRepSelectionChange(e.node.data.id)\n }\n\n const ctxMenuItems = (id: string) => [\n {\n label: 'Representation detail',\n command: () => setShowDetail(id),\n icon: 'database',\n },\n ]\n\n const [ctxMenuShow] = useCreateContextMenu([])\n\n const handleContextMenu = (e: any) => {\n const id = e.node.data.id\n\n if (id) {\n // update focused representations\n onRepSelectionChange(id)\n // open context menu\n ctxMenuShow(e.originalEvent, ctxMenuItems(id))\n }\n }\n\n return (\n <>\n <TablePanel>\n <TreeTable\n scrollable\n scrollHeight=\"100%\"\n value={data}\n emptyMessage=\"No representation found\"\n selectionMode=\"single\"\n selectionKeys={selected[0]}\n onRowClick={onRowClick}\n onContextMenu={handleContextMenu}\n >\n {columns.map((col) => {\n return (\n <Column\n key={col.field}\n field={col.field}\n header={col.header}\n expander={col.expander}\n style={{ width: col.width }}\n />\n )\n })}\n </TreeTable>\n </TablePanel>\n\n {showDetail && (\n <DetailsDialog\n projectName={showDetailProjectName}\n entityType={'representation'}\n entityIds={[showDetail]}\n visible={!!showDetail}\n onHide={() => setShowDetail(false)}\n />\n )}\n </>\n )\n}\n"],"names":["jsxs","Fragment","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RepresentationsList.es.js","sources":["../../../../../src/containers/RepresentationsList/RepresentationsList.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { TablePanel } from '@ynput/ayon-react-components'\n\nimport { TreeTable } from 'primereact/treetable'\nimport { Column } from 'primereact/column'\n\nimport { groupResult } from '@shared/util'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { DetailsDialog } from '@shared/components'\nimport versionsToRepresentations from './versionsToRepresentations'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst columns = [\n {\n field: 'name',\n header: 'Name',\n width: 90,\n expander: true,\n },\n {\n field: 'folderName',\n header: 'Folder',\n width: 130,\n },\n {\n field: 'productName',\n header: 'Product',\n width: 130,\n },\n {\n field: 'Product type',\n header: 'productType',\n width: 110,\n },\n]\n\ntype Props = {\n entities: DetailsPanelEntityData[]\n}\n\nexport const RepresentationsList = ({ entities = [] }: Props) => {\n // merge all entities data into one array of entities\n const representations = useMemo(() => versionsToRepresentations(entities) || [], [entities])\n\n const [showDetail, setShowDetail] = useState<false | string>(false)\n const showDetailProjectName = representations.find((rep) => rep.id === showDetail)?.projectName\n\n const [selected, setSelected] = useState<string[]>([])\n\n const data = useMemo(() => {\n // @ts-expect-error - groupResult is not typed\n return groupResult(representations, 'name')\n }, [representations])\n\n const onRepSelectionChange = (entityId: string) => {\n // set focused state\n setSelected([entityId])\n }\n\n const onRowClick = (e: any) => {\n onRepSelectionChange(e.node.data.id)\n }\n\n const ctxMenuItems = (id: string) => [\n {\n label: 'Representation detail',\n command: () => setShowDetail(id),\n icon: 'database',\n },\n ]\n\n const [ctxMenuShow] = useCreateContextMenu([])\n\n const handleContextMenu = (e: any) => {\n const id = e.node.data.id\n\n if (id) {\n // update focused representations\n onRepSelectionChange(id)\n // open context menu\n ctxMenuShow(e.originalEvent, ctxMenuItems(id))\n }\n }\n\n return (\n <>\n <TablePanel>\n <TreeTable\n scrollable\n scrollHeight=\"100%\"\n value={data}\n emptyMessage=\"No representation found\"\n selectionMode=\"single\"\n selectionKeys={selected[0]}\n onRowClick={onRowClick}\n onContextMenu={handleContextMenu}\n >\n {columns.map((col) => {\n return (\n <Column\n key={col.field}\n field={col.field}\n header={col.header}\n expander={col.expander}\n style={{ width: col.width }}\n />\n )\n })}\n </TreeTable>\n </TablePanel>\n\n {showDetail && (\n <DetailsDialog\n projectName={showDetailProjectName}\n entityType={'representation'}\n entityIds={[showDetail]}\n visible={!!showDetail}\n onHide={() => setShowDetail(false)}\n />\n )}\n </>\n )\n}\n"],"names":["jsxs","Fragment","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,UAAU;AAAA,EACd;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAEX;AAMO,MAAM,sBAAsB,CAAC,EAAE,WAAW,CAAA,QAAgB;;AAEzD,QAAA,kBAAkB,QAAQ,MAAM,0BAA0B,QAAQ,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAE3F,QAAM,CAAC,YAAY,aAAa,IAAI,SAAyB,KAAK;AAC5D,QAAA,yBAAwB,qBAAgB,KAAK,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAnD,mBAAsD;AAEpF,QAAM,CAAC,UAAU,WAAW,IAAI,SAAmB,CAAA,CAAE;AAE/C,QAAA,OAAO,QAAQ,MAAM;AAElB,WAAA,YAAY,iBAAiB,MAAM;AAAA,EAAA,GACzC,CAAC,eAAe,CAAC;AAEd,QAAA,uBAAuB,CAAC,aAAqB;AAErC,gBAAA,CAAC,QAAQ,CAAC;AAAA,EACxB;AAEM,QAAA,aAAa,CAAC,MAAW;AACR,yBAAA,EAAE,KAAK,KAAK,EAAE;AAAA,EACrC;AAEM,QAAA,eAAe,CAAC,OAAe;AAAA,IACnC;AAAA,MACE,OAAO;AAAA,MACP,SAAS,MAAM,cAAc,EAAE;AAAA,MAC/B,MAAM;AAAA,IAAA;AAAA,EAEV;AAEA,QAAM,CAAC,WAAW,IAAI,qBAAqB,EAAE;AAEvC,QAAA,oBAAoB,CAAC,MAAW;AAC9B,UAAA,KAAK,EAAE,KAAK,KAAK;AAEvB,QAAI,IAAI;AAEN,2BAAqB,EAAE;AAEvB,kBAAY,EAAE,eAAe,aAAa,EAAE,CAAC;AAAA,IAAA;AAAA,EAEjD;AAEA,SAEIA,kCAAA,KAAAC,4BAAA,EAAA,UAAA;AAAA,IAAAC,sCAAC,YACC,EAAA,UAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,YAAU;AAAA,QACV,cAAa;AAAA,QACb,OAAO;AAAA,QACP,cAAa;AAAA,QACb,eAAc;AAAA,QACd,eAAe,SAAS,CAAC;AAAA,QACzB;AAAA,QACA,eAAe;AAAA,QAEd,UAAA,QAAQ,IAAI,CAAC,QAAQ;AAElB,iBAAAA,kCAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,OAAO,IAAI;AAAA,cACX,QAAQ,IAAI;AAAA,cACZ,UAAU,IAAI;AAAA,cACd,OAAO,EAAE,OAAO,IAAI,MAAM;AAAA,YAAA;AAAA,YAJrB,IAAI;AAAA,UAKX;AAAA,QAEH,CAAA;AAAA,MAAA;AAAA,IAAA,GAEL;AAAA,IAEC,cACCA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,WAAW,CAAC,UAAU;AAAA,QACtB,SAAS,CAAC,CAAC;AAAA,QACX,QAAQ,MAAM,cAAc,KAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACnC,GAEJ;AAEJ;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const useFiltersWithHierarchy = ({
|
|
5
|
+
sliceFilter,
|
|
6
|
+
persistedHierarchySelection,
|
|
7
|
+
filters,
|
|
8
|
+
merge = true
|
|
9
|
+
}) => {
|
|
10
|
+
const filtersWithHierarchy = React.useMemo(() => {
|
|
11
|
+
const buildHierarchyFilterOption = (hierarchy) => ({
|
|
12
|
+
id: "hierarchy",
|
|
13
|
+
label: "Folder",
|
|
14
|
+
type: "list_of_strings",
|
|
15
|
+
values: Object.values(hierarchy).map((item) => ({
|
|
16
|
+
id: item.id,
|
|
17
|
+
label: item.label || item.name || item.id
|
|
18
|
+
})),
|
|
19
|
+
isCustom: true,
|
|
20
|
+
singleSelect: true,
|
|
21
|
+
fieldType: "folder",
|
|
22
|
+
operator: "OR",
|
|
23
|
+
isReadonly: true
|
|
24
|
+
});
|
|
25
|
+
if (sliceFilter && persistedHierarchySelection) {
|
|
26
|
+
if (merge) {
|
|
27
|
+
return [buildHierarchyFilterOption(persistedHierarchySelection), ...filters];
|
|
28
|
+
} else {
|
|
29
|
+
return [buildHierarchyFilterOption(persistedHierarchySelection)];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return filters;
|
|
33
|
+
}, [sliceFilter, persistedHierarchySelection, filters]);
|
|
34
|
+
return filtersWithHierarchy;
|
|
35
|
+
};
|
|
36
|
+
exports.useFiltersWithHierarchy = useFiltersWithHierarchy;
|
|
37
|
+
//# sourceMappingURL=useFiltersWithHierarchy.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFiltersWithHierarchy.cjs.js","sources":["../../../../../src/containers/Slicer/useFiltersWithHierarchy.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, FilterValue } from '@ynput/ayon-react-components'\nimport { SelectionData } from '@shared/containers/Slicer'\n\ninterface UseFiltersWithHierarchyProps {\n sliceFilter: FilterValue | null\n persistedHierarchySelection: SelectionData | null\n filters: Filter[]\n merge?: boolean\n}\n\nexport const useFiltersWithHierarchy = ({\n sliceFilter,\n persistedHierarchySelection,\n filters,\n merge = true,\n}: UseFiltersWithHierarchyProps) => {\n const filtersWithHierarchy = useMemo(() => {\n const buildHierarchyFilterOption = (hierarchy: SelectionData): Filter => ({\n id: 'hierarchy',\n label: 'Folder',\n type: 'list_of_strings',\n values: Object.values(hierarchy).map((item) => ({\n id: item.id,\n label: item.label || item.name || item.id,\n })),\n isCustom: true,\n singleSelect: true,\n fieldType: 'folder',\n operator: 'OR',\n isReadonly: true,\n })\n\n if (sliceFilter && persistedHierarchySelection) {\n if (merge) {\n return [buildHierarchyFilterOption(persistedHierarchySelection), ...filters]\n } else {\n return [buildHierarchyFilterOption(persistedHierarchySelection)]\n }\n }\n return filters\n }, [sliceFilter, persistedHierarchySelection, filters])\n\n return filtersWithHierarchy\n}\n"],"names":["useMemo"],"mappings":";;;AAWO,MAAM,0BAA0B,CAAC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AACV,MAAoC;AAC5B,QAAA,uBAAuBA,MAAAA,QAAQ,MAAM;AACnC,UAAA,6BAA6B,CAAC,eAAsC;AAAA,MACxE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ,OAAO,OAAO,SAAS,EAAE,IAAI,CAAC,UAAU;AAAA,QAC9C,IAAI,KAAK;AAAA,QACT,OAAO,KAAK,SAAS,KAAK,QAAQ,KAAK;AAAA,MAAA,EACvC;AAAA,MACF,UAAU;AAAA,MACV,cAAc;AAAA,MACd,WAAW;AAAA,MACX,UAAU;AAAA,MACV,YAAY;AAAA,IAAA;AAGd,QAAI,eAAe,6BAA6B;AAC9C,UAAI,OAAO;AACT,eAAO,CAAC,2BAA2B,2BAA2B,GAAG,GAAG,OAAO;AAAA,MAAA,OACtE;AACE,eAAA,CAAC,2BAA2B,2BAA2B,CAAC;AAAA,MAAA;AAAA,IACjE;AAEK,WAAA;AAAA,EACN,GAAA,CAAC,aAAa,6BAA6B,OAAO,CAAC;AAE/C,SAAA;AACT;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
const useFiltersWithHierarchy = ({
|
|
3
|
+
sliceFilter,
|
|
4
|
+
persistedHierarchySelection,
|
|
5
|
+
filters,
|
|
6
|
+
merge = true
|
|
7
|
+
}) => {
|
|
8
|
+
const filtersWithHierarchy = useMemo(() => {
|
|
9
|
+
const buildHierarchyFilterOption = (hierarchy) => ({
|
|
10
|
+
id: "hierarchy",
|
|
11
|
+
label: "Folder",
|
|
12
|
+
type: "list_of_strings",
|
|
13
|
+
values: Object.values(hierarchy).map((item) => ({
|
|
14
|
+
id: item.id,
|
|
15
|
+
label: item.label || item.name || item.id
|
|
16
|
+
})),
|
|
17
|
+
isCustom: true,
|
|
18
|
+
singleSelect: true,
|
|
19
|
+
fieldType: "folder",
|
|
20
|
+
operator: "OR",
|
|
21
|
+
isReadonly: true
|
|
22
|
+
});
|
|
23
|
+
if (sliceFilter && persistedHierarchySelection) {
|
|
24
|
+
if (merge) {
|
|
25
|
+
return [buildHierarchyFilterOption(persistedHierarchySelection), ...filters];
|
|
26
|
+
} else {
|
|
27
|
+
return [buildHierarchyFilterOption(persistedHierarchySelection)];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return filters;
|
|
31
|
+
}, [sliceFilter, persistedHierarchySelection, filters]);
|
|
32
|
+
return filtersWithHierarchy;
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
useFiltersWithHierarchy
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=useFiltersWithHierarchy.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFiltersWithHierarchy.es.js","sources":["../../../../../src/containers/Slicer/useFiltersWithHierarchy.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, FilterValue } from '@ynput/ayon-react-components'\nimport { SelectionData } from '@shared/containers/Slicer'\n\ninterface UseFiltersWithHierarchyProps {\n sliceFilter: FilterValue | null\n persistedHierarchySelection: SelectionData | null\n filters: Filter[]\n merge?: boolean\n}\n\nexport const useFiltersWithHierarchy = ({\n sliceFilter,\n persistedHierarchySelection,\n filters,\n merge = true,\n}: UseFiltersWithHierarchyProps) => {\n const filtersWithHierarchy = useMemo(() => {\n const buildHierarchyFilterOption = (hierarchy: SelectionData): Filter => ({\n id: 'hierarchy',\n label: 'Folder',\n type: 'list_of_strings',\n values: Object.values(hierarchy).map((item) => ({\n id: item.id,\n label: item.label || item.name || item.id,\n })),\n isCustom: true,\n singleSelect: true,\n fieldType: 'folder',\n operator: 'OR',\n isReadonly: true,\n })\n\n if (sliceFilter && persistedHierarchySelection) {\n if (merge) {\n return [buildHierarchyFilterOption(persistedHierarchySelection), ...filters]\n } else {\n return [buildHierarchyFilterOption(persistedHierarchySelection)]\n }\n }\n return filters\n }, [sliceFilter, persistedHierarchySelection, filters])\n\n return filtersWithHierarchy\n}\n"],"names":[],"mappings":";AAWO,MAAM,0BAA0B,CAAC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AACV,MAAoC;AAC5B,QAAA,uBAAuB,QAAQ,MAAM;AACnC,UAAA,6BAA6B,CAAC,eAAsC;AAAA,MACxE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ,OAAO,OAAO,SAAS,EAAE,IAAI,CAAC,UAAU;AAAA,QAC9C,IAAI,KAAK;AAAA,QACT,OAAO,KAAK,SAAS,KAAK,QAAQ,KAAK;AAAA,MAAA,EACvC;AAAA,MACF,UAAU;AAAA,MACV,cAAc;AAAA,MACd,WAAW;AAAA,MACX,UAAU;AAAA,MACV,YAAY;AAAA,IAAA;AAGd,QAAI,eAAe,6BAA6B;AAC9C,UAAI,OAAO;AACT,eAAO,CAAC,2BAA2B,2BAA2B,GAAG,GAAG,OAAO;AAAA,MAAA,OACtE;AACE,eAAA,CAAC,2BAA2B,2BAA2B,CAAC;AAAA,MAAA;AAAA,IACjE;AAEK,WAAA;AAAA,EACN,GAAA,CAAC,aAAa,6BAA6B,OAAO,CAAC;AAE/C,SAAA;AACT;"}
|
|
@@ -109,7 +109,7 @@ export type ActionContext = {
|
|
|
109
109
|
/** The name of the project. If not provided, use global actions, the rest of the fields are ignored. */
|
|
110
110
|
projectName?: string;
|
|
111
111
|
/** The type of the entity. If not specified, project-lever or global actions are used. */
|
|
112
|
-
entityType?: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile' | 'list';
|
|
112
|
+
entityType?: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile' | 'list' | 'project';
|
|
113
113
|
/** List of subtypes present in the entity list */
|
|
114
114
|
entitySubtypes?: string[];
|
|
115
115
|
/** The IDs of the entities */
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Option } from '@ynput/ayon-react-components';
|
|
2
|
+
export declare const NO_DATE = "no-date";
|
|
3
|
+
export declare const filterDateFunctions: {
|
|
4
|
+
today: () => {
|
|
5
|
+
label: string;
|
|
6
|
+
id: string;
|
|
7
|
+
}[];
|
|
8
|
+
yesterday: () => {
|
|
9
|
+
label: string;
|
|
10
|
+
id: string;
|
|
11
|
+
}[];
|
|
12
|
+
"after-now": () => {
|
|
13
|
+
label: string;
|
|
14
|
+
id: string;
|
|
15
|
+
}[];
|
|
16
|
+
"before-now": () => {
|
|
17
|
+
id: string;
|
|
18
|
+
label: string;
|
|
19
|
+
}[];
|
|
20
|
+
"this-week": () => {
|
|
21
|
+
label: string;
|
|
22
|
+
id: string;
|
|
23
|
+
}[];
|
|
24
|
+
"next-week": () => {
|
|
25
|
+
label: string;
|
|
26
|
+
id: string;
|
|
27
|
+
}[];
|
|
28
|
+
"last-week": () => {
|
|
29
|
+
label: string;
|
|
30
|
+
id: string;
|
|
31
|
+
}[];
|
|
32
|
+
"this-month": () => {
|
|
33
|
+
label: string;
|
|
34
|
+
id: string;
|
|
35
|
+
}[];
|
|
36
|
+
"next-month": () => {
|
|
37
|
+
label: string;
|
|
38
|
+
id: string;
|
|
39
|
+
}[];
|
|
40
|
+
"last-month": () => {
|
|
41
|
+
label: string;
|
|
42
|
+
id: string;
|
|
43
|
+
}[];
|
|
44
|
+
"this-year": () => {
|
|
45
|
+
label: string;
|
|
46
|
+
id: string;
|
|
47
|
+
}[];
|
|
48
|
+
"last-year": () => {
|
|
49
|
+
label: string;
|
|
50
|
+
id: string;
|
|
51
|
+
}[];
|
|
52
|
+
};
|
|
53
|
+
export type DateOptionType = keyof typeof filterDateFunctions;
|
|
54
|
+
export declare const dateOptions: (Option & {
|
|
55
|
+
id: DateOptionType;
|
|
56
|
+
})[];
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ColumnOrderState } from '@tanstack/react-table';
|
|
2
|
+
import { Option } from '@ynput/ayon-react-components';
|
|
3
|
+
type Scope = 'folder' | 'product' | 'task' | 'user' | 'version';
|
|
4
|
+
export type FilterFieldType = 'folderType' | 'taskType' | 'productType' | ('users' | 'assignees') | 'attributes' | 'status' | 'tags';
|
|
5
|
+
type AttributeType = string | number | boolean | Date | string[] | number[] | any[] | {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
};
|
|
8
|
+
type AttributeDataValue = AttributeType | null | undefined;
|
|
9
|
+
type FilterConfig = {
|
|
10
|
+
enableExcludes?: boolean;
|
|
11
|
+
enableOperatorChange?: boolean;
|
|
12
|
+
enableRelativeValues?: boolean;
|
|
13
|
+
prefixes?: Partial<Record<FilterFieldType, string>>;
|
|
14
|
+
keys?: Partial<Record<FilterFieldType, string>>;
|
|
15
|
+
};
|
|
16
|
+
export type BuildFilterOptions = {
|
|
17
|
+
filterTypes: FilterFieldType[];
|
|
18
|
+
projectNames: string[];
|
|
19
|
+
scope: Scope;
|
|
20
|
+
data: {
|
|
21
|
+
tags?: string[];
|
|
22
|
+
attributes?: Record<string, AttributeDataValue[]>;
|
|
23
|
+
assignees?: string[];
|
|
24
|
+
};
|
|
25
|
+
columnOrder?: ColumnOrderState;
|
|
26
|
+
config?: FilterConfig;
|
|
27
|
+
power?: boolean;
|
|
28
|
+
};
|
|
29
|
+
export declare const useBuildFilterOptions: ({ filterTypes, projectNames, scope, data, config, columnOrder, power, }: BuildFilterOptions) => Option[];
|
|
30
|
+
export {};
|
|
@@ -3,7 +3,7 @@ type Props = {
|
|
|
3
3
|
filesUploading: File[];
|
|
4
4
|
};
|
|
5
5
|
export type AnnotationPreview = any & {
|
|
6
|
-
|
|
6
|
+
unsavedAnnotation: any;
|
|
7
7
|
};
|
|
8
8
|
export declare const filterEntityAnnotations: (annotations: Record<string, any>, entityId: string, filesUploading: File[]) => AnnotationPreview[];
|
|
9
9
|
declare const useAnnotationsSync: ({ entityId, filesUploading }: Props) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SavedAnnotationMetadata } from '../../../index';
|
|
2
2
|
type Props = {
|
|
3
3
|
projectName: string;
|
|
4
|
-
onSuccess: (data: any) =>
|
|
4
|
+
onSuccess: (data: any) => any;
|
|
5
5
|
};
|
|
6
6
|
declare const useAnnotationsUpload: ({ projectName, onSuccess }: Props) => (annotations: any[]) => Promise<{
|
|
7
7
|
files: any[];
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { SavedAnnotationMetadata } from '../../..';
|
|
2
|
+
import { AnnotationPreview } from '../CommentInput/hooks/useAnnotationsSync';
|
|
2
3
|
export interface FileUploadCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
4
|
name: string;
|
|
4
5
|
mime?: string;
|
|
5
6
|
src?: string;
|
|
6
|
-
|
|
7
|
-
savedAnnotation
|
|
7
|
+
unsavedAnnotation?: AnnotationPreview;
|
|
8
|
+
savedAnnotation?: SavedAnnotationMetadata;
|
|
8
9
|
size: number;
|
|
9
10
|
progress: number;
|
|
10
11
|
onRemove?: () => void;
|
|
@@ -13,5 +14,5 @@ export interface FileUploadCardProps extends React.HTMLAttributes<HTMLDivElement
|
|
|
13
14
|
onExpand?: () => void;
|
|
14
15
|
onJumpTo?: () => void;
|
|
15
16
|
}
|
|
16
|
-
declare const FileUploadCard: ({ name, mime, src,
|
|
17
|
+
declare const FileUploadCard: ({ name, mime, src, unsavedAnnotation, savedAnnotation, size, progress, onRemove, isCompact, isDownloadable, onExpand, onJumpTo, className, ...props }: FileUploadCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
18
|
export default FileUploadCard;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Filter, FilterValue } from '@ynput/ayon-react-components';
|
|
2
|
+
import { SelectionData } from '.';
|
|
3
|
+
interface UseFiltersWithHierarchyProps {
|
|
4
|
+
sliceFilter: FilterValue | null;
|
|
5
|
+
persistedHierarchySelection: SelectionData | null;
|
|
6
|
+
filters: Filter[];
|
|
7
|
+
merge?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const useFiltersWithHierarchy: ({ sliceFilter, persistedHierarchySelection, filters, merge, }: UseFiltersWithHierarchyProps) => Filter[];
|
|
10
|
+
export {};
|