@ynput/ayon-frontend-shared 0.2.5 → 0.2.7
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/ProjectTreeTable.cjs.js +16 -0
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +16 -0
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/_virtual/index.cjs5.js +5 -3
- package/dist/_virtual/index.cjs5.js.map +1 -1
- package/dist/_virtual/index.cjs6.js +3 -5
- package/dist/_virtual/index.cjs6.js.map +1 -1
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +2 -5
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/actions.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +2 -0
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +2 -0
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +0 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +0 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +5 -2
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +5 -2
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js +1 -0
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js +1 -0
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +9 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +9 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +2 -2
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +4 -8
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -8
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +0 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +0 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +7 -6
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +7 -6
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js +9 -2
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js +9 -2
- package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
- package/dist/types/SimpleTable/SimpleTable.d.ts +9 -2
- package/dist/types/SimpleTable/SimpleTableRowTemplate.d.ts +7 -0
- package/dist/types/api/generated/actions.d.ts +1 -1
- package/dist/types/api/generated/graphql.d.ts +3 -1
- package/dist/types/containers/Actions/Actions.d.ts +4 -3
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +7 -6
- package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -0
- package/dist/types/context/DetailsPanelContext.d.ts +8 -2
- package/dist/types/hooks/useActionTriggers.d.ts +6 -1
- package/dist/types/util/confirmDelete.d.ts +1 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLoadModules.es.js","sources":["../../../../src/hooks/useLoadModules.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useLoadModules.es.js","sources":["../../../../src/hooks/useLoadModules.ts"],"sourcesContent":["import { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\nimport { FrontendModuleListItem } from '@shared/api'\n\nexport interface ModuleSpec<T> {\n addon: string\n remote: string\n module: string\n fallback?: T\n debug?: boolean\n minVersion?: string\n}\n\ntype ModuleResult<T> = [\n T,\n {\n isLoaded: boolean\n addon: string\n remote: string\n module: string\n minVersion?: string\n outdated?: {\n current: string\n required: string\n }\n },\n]\n\nexport const useLoadModules = <T extends any[]>(\n moduleSpecs: ModuleSpec<T[number]>[],\n modules: FrontendModuleListItem[],\n skip: boolean,\n): { modules: ModuleResult<T[number]>[]; isLoading: boolean } => {\n // Use a ref to track which modules have been processed\n const processedModules = useRef<Set<string>>(new Set())\n\n // Initialize results state\n const [results, setResults] = useState<ModuleResult<T[number]>[]>(() =>\n initializeResults(moduleSpecs),\n )\n const [isLoading, setIsLoading] = useState(modules.length > 0 && !skip)\n\n // Reset and reinitialize when moduleSpecs change\n useEffect(() => {\n if (skip) return\n // Reset the processed modules tracker\n processedModules.current = new Set()\n\n // Initialize results with proper structure\n setResults(initializeResults(moduleSpecs))\n }, [JSON.stringify(moduleSpecs), skip])\n\n const loadModule = async (\n remote: string,\n module: string,\n addon: string,\n fallback: T[number] | undefined,\n minVersion?: string,\n ) => {\n try {\n const result = await loadRemote<{ default: T[number] }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n updateResultWithLoaded(addon, remote, module, result?.default || fallback, minVersion)\n } catch (error) {\n console.error('Error loading remote module', remote, module, error)\n throw error\n }\n }\n\n // Load modules when remotes are initialized\n useEffect(() => {\n if (skip) {\n setIsLoading(false)\n return\n }\n\n console.log('loading modules')\n\n const promises: Promise<void>[] = []\n moduleSpecs.forEach((spec, index) => {\n const { addon, remote, module, fallback, minVersion } = spec\n\n if (!addon || !remote || !module) return\n\n // Create a unique key for this module\n const moduleKey = `${addon}/${remote}/${module}`\n\n // Skip if already processed\n if (processedModules.current.has(moduleKey)) return\n\n // Check if this module is already loaded in our results\n if (results[index]?.[1]?.isLoaded) {\n processedModules.current.add(moduleKey)\n return\n }\n\n // Mark as processed\n processedModules.current.add(moduleKey)\n\n const addonInfo = modules.find((m) => m.addonName === addon)\n\n // Handle missing addon\n if (!addonInfo) {\n console.log('Addon not found', { addon, remote, module })\n return\n }\n\n // Check version requirements\n if (minVersion && !semver.gte(addonInfo.addonVersion, minVersion)) {\n updateResultWithOutdated(\n index,\n addon,\n remote,\n module,\n fallback,\n minVersion,\n addonInfo.addonVersion,\n )\n return\n }\n\n // Check if module exists\n if (!addonInfo.modules[remote]) {\n console.log('Module not found', { addon, remote, module })\n return\n }\n\n promises.push(loadModule(remote, module, addon, fallback, minVersion))\n })\n\n if (!promises.length) {\n setIsLoading(false)\n return\n }\n\n // Wait for all promises to resolve\n setIsLoading(true)\n Promise.all(promises)\n .then(() => {\n // all modules loaded\n setIsLoading(false)\n })\n .catch((error) => {\n console.error('Error loading modules', error)\n setIsLoading(false)\n })\n }, [skip, modules, JSON.stringify(moduleSpecs)])\n\n // Helper function to initialize results\n function initializeResults(specs: ModuleSpec<T[number]>[]): ModuleResult<T[number]>[] {\n return specs.map(\n ({ addon = '', remote = '', module = '', fallback, minVersion }): ModuleResult<T[number]> => [\n fallback as T[number],\n {\n isLoaded: false,\n addon,\n remote,\n module,\n minVersion,\n outdated: undefined,\n },\n ],\n )\n }\n\n // Helper to update a result with outdated status\n function updateResultWithOutdated(\n index: number,\n addon: string,\n remote: string,\n module: string,\n fallback: T[number] | undefined,\n requiredVersion: string,\n currentVersion: string,\n ) {\n setResults((prev) => {\n const updated = [...prev]\n if (index >= 0 && index < updated.length) {\n updated[index] = [\n fallback,\n {\n isLoaded: false,\n addon,\n remote,\n module,\n minVersion: requiredVersion,\n outdated: {\n current: currentVersion,\n required: requiredVersion,\n },\n },\n ]\n }\n return updated\n })\n }\n\n // Helper to update a result when module is loaded\n function updateResultWithLoaded(\n addon: string,\n remote: string,\n module: string,\n loadedModule: T[number] | undefined,\n minVersion?: string,\n ) {\n setResults((prev) => {\n const updated = [...prev]\n // Find the corresponding module spec\n const index = moduleSpecs.findIndex(\n (spec) => spec.addon === addon && spec.remote === remote && spec.module === module,\n )\n\n if (index >= 0 && index < updated.length) {\n updated[index] = [\n loadedModule,\n {\n isLoaded: true,\n addon,\n remote,\n module,\n minVersion,\n outdated: undefined,\n },\n ]\n }\n return updated\n })\n }\n\n return { modules: results, isLoading }\n}\n"],"names":["loadRemote"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmDelete.cjs.js","sources":["../../../../src/util/confirmDelete.ts"],"sourcesContent":["import { upperFirst } from 'lodash'\nimport { confirmDialog, ConfirmDialogOptions } from 'primereact/confirmdialog'\nimport { toast } from 'react-toastify'\n\
|
|
1
|
+
{"version":3,"file":"confirmDelete.cjs.js","sources":["../../../../src/util/confirmDelete.ts"],"sourcesContent":["import { upperFirst } from 'lodash'\nimport { confirmDialog, ConfirmDialogOptions } from 'primereact/confirmdialog'\nimport { toast } from 'react-toastify'\n\nexport interface ConfirmDeleteOptions extends Omit<ConfirmDialogOptions, 'accept'> {\n label?: string\n message?: string\n deleteLabel?: string\n accept?: () => Promise<any>\n showToasts?: boolean\n isArchive?: boolean\n onSuccess?: () => void\n onError?: (error: any) => void\n}\n\nexport const confirmDelete = ({\n label = '',\n message = 'Are you sure? This cannot be undone',\n deleteLabel,\n accept = async () => {},\n showToasts = true,\n isArchive = false,\n onSuccess,\n onError,\n ...props\n}: ConfirmDeleteOptions): ReturnType<typeof confirmDialog> => {\n deleteLabel = deleteLabel || (isArchive ? 'Archive' : 'Delete')\n const deleteLabelPresent = isArchive ? 'archiving' : 'deleting'\n const deleteLabelPast = isArchive ? 'archived' : 'deleted'\n\n return confirmDialog({\n header: props.header || `${deleteLabel} ${label}`,\n message,\n accept: async () => {\n const toastId = showToasts\n ? toast.loading(`${upperFirst(deleteLabelPresent)} ${label.toLowerCase()}...`, {\n autoClose: false,\n })\n : null\n try {\n await accept()\n\n showToasts &&\n toastId &&\n toast.update(toastId, {\n render: `${label} ${deleteLabelPast}`,\n type: 'success',\n autoClose: 5000,\n isLoading: false,\n })\n\n onSuccess && onSuccess()\n } catch (error: any) {\n const errorMessage =\n typeof error === 'string'\n ? error\n : error.message || `Error ${deleteLabelPresent} ${label}`\n\n showToasts &&\n toastId &&\n toast.update(toastId, {\n render: errorMessage,\n type: 'error',\n autoClose: 5000,\n isLoading: false,\n })\n\n onError && onError(error)\n }\n },\n reject: () => {},\n acceptLabel: upperFirst(deleteLabel),\n rejectLabel: 'Cancel',\n acceptClassName: 'button-danger',\n style: { minWidth: 400, maxWidth: 600 },\n ...props,\n })\n}\n"],"names":["confirmDialog","toast","upperFirst"],"mappings":";;;;;AAeO,MAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAQ;AAAA,EACR,UAAU;AAAA,EACV;AAAA,EACA,SAAS,YAAY;AAAA,EAAC;AAAA,EACtB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA8D;AAC9C,gBAAA,gBAAgB,YAAY,YAAY;AAChD,QAAA,qBAAqB,YAAY,cAAc;AAC/C,QAAA,kBAAkB,YAAY,aAAa;AAEjD,SAAOA,gCAAc;AAAA,IACnB,QAAQ,MAAM,UAAU,GAAG,WAAW,IAAI,KAAK;AAAA,IAC/C;AAAA,IACA,QAAQ,YAAY;AAClB,YAAM,UAAU,aACZC,oBAAM,QAAQ,GAAGC,OAAAA,WAAW,kBAAkB,CAAC,IAAI,MAAM,YAAa,CAAA,OAAO;AAAA,QAC3E,WAAW;AAAA,MACZ,CAAA,IACD;AACA,UAAA;AACF,cAAM,OAAO;AAGX,sBAAA,WACAD,oBAAM,OAAO,SAAS;AAAA,UACpB,QAAQ,GAAG,KAAK,IAAI,eAAe;AAAA,UACnC,MAAM;AAAA,UACN,WAAW;AAAA,UACX,WAAW;AAAA,QAAA,CACZ;AAEH,qBAAa,UAAU;AAAA,eAChB,OAAY;AACb,cAAA,eACJ,OAAO,UAAU,WACb,QACA,MAAM,WAAW,SAAS,kBAAkB,IAAI,KAAK;AAGzD,sBAAA,WACAA,oBAAM,OAAO,SAAS;AAAA,UACpB,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,WAAW;AAAA,UACX,WAAW;AAAA,QAAA,CACZ;AAEH,mBAAW,QAAQ,KAAK;AAAA,MAAA;AAAA,IAE5B;AAAA,IACA,QAAQ,MAAM;AAAA,IAAC;AAAA,IACf,aAAaC,kBAAW,WAAW;AAAA,IACnC,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,OAAO,EAAE,UAAU,KAAK,UAAU,IAAI;AAAA,IACtC,GAAG;AAAA,EAAA,CACJ;AACH;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmDelete.es.js","sources":["../../../../src/util/confirmDelete.ts"],"sourcesContent":["import { upperFirst } from 'lodash'\nimport { confirmDialog, ConfirmDialogOptions } from 'primereact/confirmdialog'\nimport { toast } from 'react-toastify'\n\
|
|
1
|
+
{"version":3,"file":"confirmDelete.es.js","sources":["../../../../src/util/confirmDelete.ts"],"sourcesContent":["import { upperFirst } from 'lodash'\nimport { confirmDialog, ConfirmDialogOptions } from 'primereact/confirmdialog'\nimport { toast } from 'react-toastify'\n\nexport interface ConfirmDeleteOptions extends Omit<ConfirmDialogOptions, 'accept'> {\n label?: string\n message?: string\n deleteLabel?: string\n accept?: () => Promise<any>\n showToasts?: boolean\n isArchive?: boolean\n onSuccess?: () => void\n onError?: (error: any) => void\n}\n\nexport const confirmDelete = ({\n label = '',\n message = 'Are you sure? This cannot be undone',\n deleteLabel,\n accept = async () => {},\n showToasts = true,\n isArchive = false,\n onSuccess,\n onError,\n ...props\n}: ConfirmDeleteOptions): ReturnType<typeof confirmDialog> => {\n deleteLabel = deleteLabel || (isArchive ? 'Archive' : 'Delete')\n const deleteLabelPresent = isArchive ? 'archiving' : 'deleting'\n const deleteLabelPast = isArchive ? 'archived' : 'deleted'\n\n return confirmDialog({\n header: props.header || `${deleteLabel} ${label}`,\n message,\n accept: async () => {\n const toastId = showToasts\n ? toast.loading(`${upperFirst(deleteLabelPresent)} ${label.toLowerCase()}...`, {\n autoClose: false,\n })\n : null\n try {\n await accept()\n\n showToasts &&\n toastId &&\n toast.update(toastId, {\n render: `${label} ${deleteLabelPast}`,\n type: 'success',\n autoClose: 5000,\n isLoading: false,\n })\n\n onSuccess && onSuccess()\n } catch (error: any) {\n const errorMessage =\n typeof error === 'string'\n ? error\n : error.message || `Error ${deleteLabelPresent} ${label}`\n\n showToasts &&\n toastId &&\n toast.update(toastId, {\n render: errorMessage,\n type: 'error',\n autoClose: 5000,\n isLoading: false,\n })\n\n onError && onError(error)\n }\n },\n reject: () => {},\n acceptLabel: upperFirst(deleteLabel),\n rejectLabel: 'Cancel',\n acceptClassName: 'button-danger',\n style: { minWidth: 400, maxWidth: 600 },\n ...props,\n })\n}\n"],"names":[],"mappings":";;;AAeO,MAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAQ;AAAA,EACR,UAAU;AAAA,EACV;AAAA,EACA,SAAS,YAAY;AAAA,EAAC;AAAA,EACtB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA8D;AAC9C,gBAAA,gBAAgB,YAAY,YAAY;AAChD,QAAA,qBAAqB,YAAY,cAAc;AAC/C,QAAA,kBAAkB,YAAY,aAAa;AAEjD,SAAO,cAAc;AAAA,IACnB,QAAQ,MAAM,UAAU,GAAG,WAAW,IAAI,KAAK;AAAA,IAC/C;AAAA,IACA,QAAQ,YAAY;AAClB,YAAM,UAAU,aACZ,MAAM,QAAQ,GAAG,WAAW,kBAAkB,CAAC,IAAI,MAAM,YAAa,CAAA,OAAO;AAAA,QAC3E,WAAW;AAAA,MACZ,CAAA,IACD;AACA,UAAA;AACF,cAAM,OAAO;AAGX,sBAAA,WACA,MAAM,OAAO,SAAS;AAAA,UACpB,QAAQ,GAAG,KAAK,IAAI,eAAe;AAAA,UACnC,MAAM;AAAA,UACN,WAAW;AAAA,UACX,WAAW;AAAA,QAAA,CACZ;AAEH,qBAAa,UAAU;AAAA,eAChB,OAAY;AACb,cAAA,eACJ,OAAO,UAAU,WACb,QACA,MAAM,WAAW,SAAS,kBAAkB,IAAI,KAAK;AAGzD,sBAAA,WACA,MAAM,OAAO,SAAS;AAAA,UACpB,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,WAAW;AAAA,UACX,WAAW;AAAA,QAAA,CACZ;AAEH,mBAAW,QAAQ,KAAK;AAAA,MAAA;AAAA,IAE5B;AAAA,IACA,QAAQ,MAAM;AAAA,IAAC;AAAA,IACf,aAAa,WAAW,WAAW;AAAA,IACnC,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,OAAO,EAAE,UAAU,KAAK,UAAU,IAAI;AAAA,IACtC,GAAG;AAAA,EAAA,CACJ;AACH;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { Row, FilterFn } from '@tanstack/react-table';
|
|
2
|
+
import { Row, FilterFn, RowData, Table } from '@tanstack/react-table';
|
|
3
3
|
import { RankingInfo } from '@tanstack/match-sorter-utils';
|
|
4
4
|
import { SimpleTableCellTemplateProps } from './SimpleTableRowTemplate';
|
|
5
5
|
declare module '@tanstack/react-table' {
|
|
@@ -9,6 +9,12 @@ declare module '@tanstack/react-table' {
|
|
|
9
9
|
interface FilterMeta {
|
|
10
10
|
itemRank: RankingInfo;
|
|
11
11
|
}
|
|
12
|
+
interface TableMeta<TData extends RowData> {
|
|
13
|
+
isExpandable?: boolean;
|
|
14
|
+
isLoading?: boolean;
|
|
15
|
+
children?: (props: SimpleTableCellTemplateProps, row: Row<TData>, table: Table<SimpleTableRow>) => JSX.Element;
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}
|
|
12
18
|
}
|
|
13
19
|
export type RowItemData = {
|
|
14
20
|
id: string;
|
|
@@ -37,7 +43,8 @@ export interface SimpleTableProps {
|
|
|
37
43
|
isExpandable?: boolean;
|
|
38
44
|
forceUpdateTable?: any;
|
|
39
45
|
globalFilter?: string;
|
|
40
|
-
|
|
46
|
+
meta?: Record<string, any>;
|
|
47
|
+
children?: (props: SimpleTableCellTemplateProps, row: Row<SimpleTableRow>, table: Table<SimpleTableRow>) => JSX.Element;
|
|
41
48
|
}
|
|
42
49
|
declare const SimpleTable: FC<SimpleTableProps>;
|
|
43
50
|
export default SimpleTable;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
export type RowExpanderProps = {
|
|
2
|
+
isRowExpandable?: boolean;
|
|
3
|
+
isRowExpanded?: boolean;
|
|
4
|
+
isTableExpandable?: boolean;
|
|
5
|
+
onExpandClick?: () => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const RowExpander: ({ isRowExpandable, isRowExpanded, isTableExpandable, onExpandClick, }: RowExpanderProps) => false | import("react/jsx-runtime").JSX.Element | undefined;
|
|
1
8
|
export interface SimpleTableCellTemplateProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
9
|
value: string;
|
|
3
10
|
icon?: string;
|
|
@@ -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';
|
|
112
|
+
entityType?: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile' | 'list';
|
|
113
113
|
/** List of subtypes present in the entity list */
|
|
114
114
|
entitySubtypes?: string[];
|
|
115
115
|
/** The IDs of the entities */
|
|
@@ -1967,6 +1967,8 @@ export type GetListsQuery = {
|
|
|
1967
1967
|
id: string;
|
|
1968
1968
|
label: string;
|
|
1969
1969
|
entityListType: string;
|
|
1970
|
+
tags: Array<string>;
|
|
1971
|
+
data: string;
|
|
1970
1972
|
entityType: string;
|
|
1971
1973
|
active: boolean;
|
|
1972
1974
|
createdAt: any;
|
|
@@ -2672,7 +2674,7 @@ export declare const GetDetailsPanelTaskDocument = "\n query GetDetailsPanelT
|
|
|
2672
2674
|
export declare const GetDetailsPanelVersionDocument = "\n query GetDetailsPanelVersion($projectName: String!, $entityId: String!) {\n project(name: $projectName) {\n projectName\n code\n version(id: $entityId) {\n id\n version\n name\n author\n status\n tags\n updatedAt\n createdAt\n thumbnailId\n hasReviewables\n product {\n ...DetailsPanelProductFragment\n folder {\n ...DetailsPanelFolderFragment\n }\n }\n task {\n ...DetailsPanelTaskFragment\n }\n allAttrib\n representations {\n edges {\n node {\n ...DetailsPanelRepresentationFragment\n }\n }\n }\n }\n }\n}\n \n fragment DetailsPanelProductFragment on ProductNode {\n id\n name\n productType\n}\n \n\n fragment DetailsPanelFolderFragment on FolderNode {\n id\n name\n label\n path\n folderType\n}\n \n\n fragment DetailsPanelTaskFragment on TaskNode {\n id\n name\n label\n assignees\n taskType\n}\n \n\n fragment DetailsPanelRepresentationFragment on RepresentationNode {\n id\n name\n fileCount\n}\n ";
|
|
2673
2675
|
export declare const GetProductVersionsDocument = "\n query GetProductVersions($projectName: String!, $productId: String!) {\n project(name: $projectName) {\n product(id: $productId) {\n versionList {\n id\n name\n version\n }\n }\n }\n}\n ";
|
|
2674
2676
|
export declare const GetListItemsDocument = "\n query GetListItems($projectName: String!, $listId: String!, $first: Int, $after: String, $before: String, $last: Int, $sortBy: String, $filter: String) {\n project(name: $projectName) {\n entityLists(ids: [$listId]) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n node {\n id\n active\n items(\n first: $first\n after: $after\n before: $before\n last: $last\n sortBy: $sortBy\n filter: $filter\n ) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n id\n entityId\n entityType\n allAttrib\n ownAttrib\n node {\n active\n name\n updatedAt\n ...ListItemFragment\n }\n }\n }\n }\n }\n }\n }\n}\n \n fragment ListItemFragment on BaseNode {\n ... on TaskNode {\n name\n label\n status\n tags\n taskType\n assignees\n folder {\n path\n folderType\n }\n }\n ... on FolderNode {\n name\n label\n status\n tags\n folderType\n path\n }\n ... on ProductNode {\n name\n status\n tags\n productType\n folder {\n path\n folderType\n }\n }\n ... on VersionNode {\n name\n status\n tags\n product {\n name\n productType\n folder {\n path\n folderType\n }\n }\n task {\n name\n taskType\n }\n }\n}\n ";
|
|
2675
|
-
export declare const GetListsDocument = "\n query GetLists($projectName: String!, $first: Int!, $after: String, $filter: String) {\n project(name: $projectName) {\n entityLists(first: $first, after: $after, filter: $filter) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n node {\n id\n label\n entityListType\n entityType\n active\n createdAt\n updatedAt\n active\n owner\n count\n }\n }\n }\n }\n}\n ";
|
|
2677
|
+
export declare const GetListsDocument = "\n query GetLists($projectName: String!, $first: Int!, $after: String, $filter: String) {\n project(name: $projectName) {\n entityLists(first: $first, after: $after, filter: $filter) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n node {\n id\n label\n entityListType\n tags\n data\n entityType\n active\n createdAt\n updatedAt\n active\n owner\n count\n }\n }\n }\n }\n}\n ";
|
|
2676
2678
|
export declare const GetTasksByParentDocument = "\n query GetTasksByParent($projectName: String!, $parentIds: [String!]!, $filter: String, $search: String) {\n project(name: $projectName) {\n name\n tasks(folderIds: $parentIds, filter: $filter, search: $search) {\n edges {\n node {\n ...TaskPropsFragment\n }\n }\n }\n }\n}\n \n fragment TaskPropsFragment on TaskNode {\n id\n folderId\n label\n name\n ownAttrib\n status\n tags\n taskType\n updatedAt\n active\n assignees\n allAttrib\n folder {\n path\n }\n}\n ";
|
|
2677
2679
|
export declare const GetTasksListDocument = "\n query GetTasksList($projectName: String!, $folderIds: [String!], $filter: String, $search: String, $after: String, $first: Int, $before: String, $last: Int, $sortBy: String) {\n project(name: $projectName) {\n name\n tasks(\n filter: $filter\n search: $search\n folderIds: $folderIds\n after: $after\n first: $first\n before: $before\n last: $last\n sortBy: $sortBy\n ) {\n pageInfo {\n startCursor\n endCursor\n hasNextPage\n hasPreviousPage\n }\n edges {\n cursor\n node {\n ...TaskPropsFragment\n }\n }\n }\n }\n}\n \n fragment TaskPropsFragment on TaskNode {\n id\n folderId\n label\n name\n ownAttrib\n status\n tags\n taskType\n updatedAt\n active\n assignees\n allAttrib\n folder {\n path\n }\n}\n ";
|
|
2678
2680
|
export declare const GetProjectLatestDocument = "\n query GetProjectLatest($projectName: String!) {\n project(name: $projectName) {\n name\n }\n}\n ";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ActionContext } from '../../api';
|
|
2
|
-
|
|
2
|
+
import { ActionTriggersProps } from '../../hooks';
|
|
3
|
+
interface ActionsProps extends ActionTriggersProps {
|
|
3
4
|
entities: {
|
|
4
5
|
id: string;
|
|
5
6
|
projectName: string;
|
|
@@ -8,6 +9,6 @@ type ActionsProps = {
|
|
|
8
9
|
entityType: ActionContext['entityType'];
|
|
9
10
|
entitySubTypes?: string[];
|
|
10
11
|
isLoadingEntity: boolean;
|
|
11
|
-
}
|
|
12
|
-
export declare const Actions: ({ entities, entityType, entitySubTypes, isLoadingEntity, }: ActionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
}
|
|
13
|
+
export declare const Actions: ({ entities, entityType, entitySubTypes, isLoadingEntity, searchParams, onNavigate, onSetSearchParams, }: ActionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
14
|
export {};
|
|
@@ -7,11 +7,11 @@ import { ToggleExpandAll } from './context/ProjectTableContext';
|
|
|
7
7
|
import { UpdateTableEntities } from './hooks/useUpdateTableData';
|
|
8
8
|
declare module '@tanstack/react-table' {
|
|
9
9
|
interface TableMeta<TData extends RowData> {
|
|
10
|
-
options
|
|
11
|
-
readOnly
|
|
12
|
-
projectName
|
|
13
|
-
updateEntities
|
|
14
|
-
toggleExpandAll
|
|
10
|
+
options?: BuiltInFieldOptions;
|
|
11
|
+
readOnly?: ProjectTreeTableProps['readOnly'];
|
|
12
|
+
projectName?: string;
|
|
13
|
+
updateEntities?: UpdateTableEntities;
|
|
14
|
+
toggleExpandAll?: ToggleExpandAll;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
export interface ProjectTreeTableProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
@@ -22,12 +22,13 @@ export interface ProjectTreeTableProps extends React.HTMLAttributes<HTMLDivEleme
|
|
|
22
22
|
readOnly?: (DefaultColumns | string)[];
|
|
23
23
|
excludedColumns?: (DefaultColumns | string)[];
|
|
24
24
|
extraColumns?: TreeTableExtraColumn[];
|
|
25
|
+
isLoading?: boolean;
|
|
25
26
|
pt?: {
|
|
26
27
|
container?: React.HTMLAttributes<HTMLDivElement>;
|
|
27
28
|
head?: Partial<TableHeadProps>;
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
|
-
export declare const ProjectTreeTable: ({ scope, sliceId, fetchMoreOnBottomReached, onOpenNew, readOnly, excludedColumns, extraColumns, pt, ...props }: ProjectTreeTableProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare const ProjectTreeTable: ({ scope, sliceId, fetchMoreOnBottomReached, onOpenNew, readOnly, excludedColumns, extraColumns, isLoading: isLoadingProp, pt, ...props }: ProjectTreeTableProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
32
|
interface TableHeadProps extends React.HTMLAttributes<HTMLTableSectionElement> {
|
|
32
33
|
columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
|
|
33
34
|
table: Table<TableRow>;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { default as React, ReactNode } from 'react';
|
|
2
2
|
import { DetailsPanelEntityType, UserModel } from '../api';
|
|
3
|
+
import { useLocation, useNavigate, useParams } from 'react-router';
|
|
4
|
+
import { useSearchParams } from 'react-router-dom';
|
|
3
5
|
export type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists';
|
|
4
6
|
export type DetailsPanelTab = FeedFilters | 'attribs' | 'files';
|
|
5
7
|
export type SlideOut = {
|
|
@@ -26,8 +28,8 @@ export interface DetailsPanelContextProps {
|
|
|
26
28
|
user: UserModel;
|
|
27
29
|
viewer?: {
|
|
28
30
|
reviewableIds: string[];
|
|
29
|
-
taskId?: string;
|
|
30
|
-
folderId?: string;
|
|
31
|
+
taskId?: string | null;
|
|
32
|
+
folderId?: string | null;
|
|
31
33
|
};
|
|
32
34
|
onOpenImage?: (args: any) => void;
|
|
33
35
|
onGoToFrame?: (frame: number) => void;
|
|
@@ -36,6 +38,10 @@ export interface DetailsPanelContextProps {
|
|
|
36
38
|
operations: any[];
|
|
37
39
|
entityType: string;
|
|
38
40
|
}) => void;
|
|
41
|
+
useParams: typeof useParams;
|
|
42
|
+
useNavigate: typeof useNavigate;
|
|
43
|
+
useLocation: typeof useLocation;
|
|
44
|
+
useSearchParams: typeof useSearchParams;
|
|
39
45
|
}
|
|
40
46
|
export interface DetailsPanelContextType extends DetailsPanelContextProps {
|
|
41
47
|
panelOpenByScope: OpenStateByScope;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
export type ActionTriggersProps = {
|
|
2
|
+
searchParams: URLSearchParams;
|
|
3
|
+
onSetSearchParams: (params: URLSearchParams) => void;
|
|
4
|
+
onNavigate: (uri: string) => void;
|
|
5
|
+
};
|
|
1
6
|
interface QueryParams {
|
|
2
7
|
[key: string]: string;
|
|
3
8
|
}
|
|
@@ -9,7 +14,7 @@ interface ActionPayload {
|
|
|
9
14
|
extra_clipboard?: string;
|
|
10
15
|
[key: string]: any;
|
|
11
16
|
}
|
|
12
|
-
export declare const useActionTriggers: () => {
|
|
17
|
+
export declare const useActionTriggers: ({ searchParams, onSetSearchParams, onNavigate, }: ActionTriggersProps) => {
|
|
13
18
|
handleActionPayload: (actionType: string, payload: ActionPayload | null) => void;
|
|
14
19
|
};
|
|
15
20
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { confirmDialog, ConfirmDialogOptions } from 'primereact/confirmdialog';
|
|
2
|
-
interface ConfirmDeleteOptions extends Omit<ConfirmDialogOptions, 'accept'> {
|
|
2
|
+
export interface ConfirmDeleteOptions extends Omit<ConfirmDialogOptions, 'accept'> {
|
|
3
3
|
label?: string;
|
|
4
4
|
message?: string;
|
|
5
5
|
deleteLabel?: string;
|
|
@@ -10,4 +10,3 @@ interface ConfirmDeleteOptions extends Omit<ConfirmDialogOptions, 'accept'> {
|
|
|
10
10
|
onError?: (error: any) => void;
|
|
11
11
|
}
|
|
12
12
|
export declare const confirmDelete: ({ label, message, deleteLabel, accept, showToasts, isArchive, onSuccess, onError, ...props }: ConfirmDeleteOptions) => ReturnType<typeof confirmDialog>;
|
|
13
|
-
export {};
|