@ynput/ayon-frontend-shared 0.2.25 → 0.2.26
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/Views.cjs.js +1 -1
- package/dist/Views.es.js +14 -14
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +33 -25
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +10 -10
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +229 -68
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js +21 -25
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +64 -54
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +22 -20
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +60 -59
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +14 -14
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +17 -18
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +38 -33
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useCustomProtocolCheck.cjs.js +2 -0
- package/dist/shared/src/hooks/useCustomProtocolCheck.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useCustomProtocolCheck.es.js +43 -0
- package/dist/shared/src/hooks/useCustomProtocolCheck.es.js.map +1 -0
- package/dist/types/containers/Slicer/createFilterFromSlicer.d.ts +3 -1
- package/dist/types/containers/Slicer/types.d.ts +1 -1
- package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +1 -0
- package/dist/types/containers/Views/context/ViewsContext.d.ts +2 -1
- package/dist/types/containers/Views/hooks/useViewsMutations.d.ts +3 -3
- package/dist/types/hooks/useActionTriggers.d.ts +1 -1
- package/dist/types/hooks/useCustomProtocolCheck.d.ts +10 -0
- package/package.json +1 -1
|
@@ -1,64 +1,74 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { ViewItem as
|
|
4
|
-
import
|
|
5
|
-
import { getPlatformShortcutKey as
|
|
1
|
+
import { j as e } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
+
import { forwardRef as h } from "react";
|
|
3
|
+
import { ViewItem as k, ActionButton as o } from "./ViewItem.styled.es.js";
|
|
4
|
+
import i from "clsx";
|
|
5
|
+
import { getPlatformShortcutKey as C, KeyMode as v } from "../../../util/platform.es.js";
|
|
6
6
|
import "lodash";
|
|
7
|
+
import { confirmDialog as I } from "../../../../node_modules/primereact/confirmdialog/confirmdialog.esm.es.js";
|
|
7
8
|
import "react-toastify";
|
|
8
9
|
import "uuid";
|
|
9
10
|
import "../../../util/pubsub.es.js";
|
|
10
|
-
const
|
|
11
|
+
const D = h(
|
|
11
12
|
({
|
|
12
|
-
label:
|
|
13
|
-
startContent:
|
|
14
|
-
endContent:
|
|
15
|
-
isSelected:
|
|
16
|
-
isEditable:
|
|
17
|
-
isSaveable:
|
|
18
|
-
highlighted:
|
|
19
|
-
onEdit:
|
|
20
|
-
onSave:
|
|
21
|
-
onResetView:
|
|
22
|
-
className:
|
|
13
|
+
label: f,
|
|
14
|
+
startContent: s,
|
|
15
|
+
endContent: m,
|
|
16
|
+
isSelected: c,
|
|
17
|
+
isEditable: l,
|
|
18
|
+
isSaveable: x,
|
|
19
|
+
highlighted: a,
|
|
20
|
+
onEdit: p,
|
|
21
|
+
onSave: r,
|
|
22
|
+
onResetView: n,
|
|
23
|
+
className: w,
|
|
23
24
|
...d
|
|
24
|
-
},
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
25
|
+
}, u) => {
|
|
26
|
+
const j = (t, N) => {
|
|
27
|
+
t.stopPropagation(), N ? I({
|
|
28
|
+
message: "Save current view settings and overwrite this view?",
|
|
29
|
+
header: "Confirm save",
|
|
30
|
+
accept: () => r && r(t)
|
|
31
|
+
}) : r && r(t);
|
|
32
|
+
};
|
|
33
|
+
return /* @__PURE__ */ e.jsxs(k, { ...d, className: i(w, { selected: c }), ref: u, children: [
|
|
34
|
+
s && s,
|
|
35
|
+
/* @__PURE__ */ e.jsx("span", { className: "label", children: f }),
|
|
36
|
+
n && /* @__PURE__ */ e.jsx(
|
|
37
|
+
o,
|
|
38
|
+
{
|
|
39
|
+
icon: "restart_alt",
|
|
40
|
+
variant: "text",
|
|
41
|
+
className: "reset",
|
|
42
|
+
onClick: n,
|
|
43
|
+
"data-tooltip": "Reset this view to default",
|
|
44
|
+
"data-shortcut": C("0", [v.Shift, v.Ctrl])
|
|
45
|
+
}
|
|
46
|
+
),
|
|
47
|
+
l && x && !c && /* @__PURE__ */ e.jsx(
|
|
48
|
+
o,
|
|
49
|
+
{
|
|
50
|
+
icon: "save",
|
|
51
|
+
variant: "text",
|
|
52
|
+
className: i("save", { active: a === "save" }),
|
|
53
|
+
onClick: (t) => j(t, a !== "save"),
|
|
54
|
+
"data-tooltip": "Save view settings from current view"
|
|
55
|
+
}
|
|
56
|
+
),
|
|
57
|
+
l && p && /* @__PURE__ */ e.jsx(
|
|
58
|
+
o,
|
|
59
|
+
{
|
|
60
|
+
variant: "text",
|
|
61
|
+
icon: "more_horiz",
|
|
62
|
+
className: i("more", { active: a === "edit" }),
|
|
63
|
+
onClick: p,
|
|
64
|
+
"data-tooltip": "Edit view"
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
m && m
|
|
68
|
+
] });
|
|
69
|
+
}
|
|
60
70
|
);
|
|
61
71
|
export {
|
|
62
|
-
|
|
72
|
+
D as ViewItem
|
|
63
73
|
};
|
|
64
74
|
//# sourceMappingURL=ViewItem.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewItem.es.js","sources":["../../../../../../src/containers/Views/ViewItem/ViewItem.tsx"],"sourcesContent":["import { forwardRef, ReactNode } from 'react'\nimport * as Styled from './ViewItem.styled'\nimport clsx from 'clsx'\nimport { getPlatformShortcutKey, KeyMode } from '@shared/util'\n\nexport interface ViewItem {\n id: string\n label: string\n startContent?: ReactNode\n endContent?: ReactNode\n isSelected?: boolean\n isEditable?: boolean\n isSaveable?: boolean // can this be saved from working view (shows little save button)\n highlighted?: 'save' | 'edit' // highlights a button\n onEdit?: (e: React.MouseEvent<HTMLButtonElement>) => void\n onSave?: (e: React.MouseEvent<HTMLButtonElement>) => void // saves the view settings from selected view\n onResetView?: (e: React.MouseEvent<HTMLButtonElement>) => void // resets working view\n onClick?: (e: React.MouseEvent<HTMLLIElement>) => void\n}\n\nexport interface ViewMenuItemProps\n extends Omit<React.LiHTMLAttributes<HTMLLIElement>, 'id'>,\n ViewItem {}\n\nexport const ViewItem = forwardRef<HTMLLIElement, ViewMenuItemProps>(\n (\n {\n label,\n startContent,\n endContent,\n isSelected,\n isEditable,\n isSaveable,\n highlighted,\n onEdit,\n onSave,\n onResetView,\n className,\n ...props\n },\n ref,\n ) => {\n return (\n <Styled.ViewItem {...props} className={clsx(className, { selected: isSelected })} ref={ref}>\n {startContent && startContent}\n <span className=\"label\">{label}</span>\n {/* Reset button (e.g., for working view) - shows if handler is provided */}\n {onResetView && (\n <Styled.ActionButton\n icon=\"restart_alt\"\n variant=\"text\"\n className=\"reset\"\n onClick={onResetView}\n data-tooltip=\"Reset this view to default\"\n data-shortcut={getPlatformShortcutKey('0', [KeyMode.Shift, KeyMode.Ctrl])}\n />\n )}\n {isEditable && isSaveable && !isSelected && (\n <Styled.ActionButton\n icon=\"save\"\n variant=\"text\"\n className={clsx('save', { active: highlighted === 'save' })}\n onClick={
|
|
1
|
+
{"version":3,"file":"ViewItem.es.js","sources":["../../../../../../src/containers/Views/ViewItem/ViewItem.tsx"],"sourcesContent":["import { forwardRef, ReactNode } from 'react'\nimport * as Styled from './ViewItem.styled'\nimport clsx from 'clsx'\nimport { getPlatformShortcutKey, KeyMode } from '@shared/util'\nimport { confirmDialog } from 'primereact/confirmdialog'\n\nexport interface ViewItem {\n id: string\n label: string\n startContent?: ReactNode\n endContent?: ReactNode\n isSelected?: boolean\n isEditable?: boolean\n isSaveable?: boolean // can this be saved from working view (shows little save button)\n highlighted?: 'save' | 'edit' // highlights a button\n onEdit?: (e: React.MouseEvent<HTMLButtonElement>) => void\n onSave?: (e: React.MouseEvent<HTMLButtonElement>) => void // saves the view settings from selected view\n onResetView?: (e: React.MouseEvent<HTMLButtonElement>) => void // resets working view\n onClick?: (e: React.MouseEvent<HTMLLIElement>) => void\n}\n\nexport interface ViewMenuItemProps\n extends Omit<React.LiHTMLAttributes<HTMLLIElement>, 'id'>,\n ViewItem {}\n\nexport const ViewItem = forwardRef<HTMLLIElement, ViewMenuItemProps>(\n (\n {\n label,\n startContent,\n endContent,\n isSelected,\n isEditable,\n isSaveable,\n highlighted,\n onEdit,\n onSave,\n onResetView,\n className,\n ...props\n },\n ref,\n ) => {\n const handleSave = (e: React.MouseEvent<HTMLButtonElement>, requireConfirm: boolean) => {\n // prevent selecting the view when clicking save\n e.stopPropagation()\n if (requireConfirm) {\n // first validate we actually want to save by asking user to confirm\n confirmDialog({\n message: 'Save current view settings and overwrite this view?',\n header: 'Confirm save',\n accept: () => onSave && onSave(e),\n })\n } else {\n onSave && onSave(e)\n }\n }\n\n return (\n <Styled.ViewItem {...props} className={clsx(className, { selected: isSelected })} ref={ref}>\n {startContent && startContent}\n <span className=\"label\">{label}</span>\n {/* Reset button (e.g., for working view) - shows if handler is provided */}\n {onResetView && (\n <Styled.ActionButton\n icon=\"restart_alt\"\n variant=\"text\"\n className=\"reset\"\n onClick={onResetView}\n data-tooltip=\"Reset this view to default\"\n data-shortcut={getPlatformShortcutKey('0', [KeyMode.Shift, KeyMode.Ctrl])}\n />\n )}\n {isEditable && isSaveable && !isSelected && (\n <Styled.ActionButton\n icon=\"save\"\n variant=\"text\"\n className={clsx('save', { active: highlighted === 'save' })}\n onClick={(e) => handleSave(e, highlighted !== 'save')}\n data-tooltip=\"Save view settings from current view\"\n />\n )}\n {isEditable && onEdit && (\n <Styled.ActionButton\n variant=\"text\"\n icon=\"more_horiz\"\n className={clsx('more', { active: highlighted === 'edit' })}\n onClick={onEdit}\n data-tooltip=\"Edit view\"\n />\n )}\n {endContent && endContent}\n </Styled.ViewItem>\n )\n },\n)\n"],"names":["ViewItem","forwardRef","label","startContent","endContent","isSelected","isEditable","isSaveable","highlighted","onEdit","onSave","onResetView","className","props","ref","handleSave","e","requireConfirm","confirmDialog","jsxs","Styled.ViewItem","clsx","jsx","Styled.ActionButton","getPlatformShortcutKey","KeyMode"],"mappings":";;;;;;;;;;AAyBO,MAAMA,IAAWC;AAAA,EACtB,CACE;AAAA,IACE,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,KAELC,MACG;AACG,UAAAC,IAAa,CAACC,GAAwCC,MAA4B;AAEtF,MAAAD,EAAE,gBAAgB,GACdC,IAEYC,EAAA;AAAA,QACZ,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ,MAAMR,KAAUA,EAAOM,CAAC;AAAA,MAAA,CACjC,IAEDN,KAAUA,EAAOM,CAAC;AAAA,IAEtB;AAEA,WACGG,gBAAAA,EAAA,KAAAC,GAAA,EAAiB,GAAGP,GAAO,WAAWQ,EAAKT,GAAW,EAAE,UAAUP,EAAY,CAAA,GAAG,KAAAS,GAC/E,UAAA;AAAA,MAAgBX,KAAAA;AAAA,MAChBmB,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,SAAS,UAAMpB,GAAA;AAAA,MAE9BS,KACCW,gBAAAA,EAAA;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,WAAU;AAAA,UACV,SAASZ;AAAA,UACT,gBAAa;AAAA,UACb,iBAAea,EAAuB,KAAK,CAACC,EAAQ,OAAOA,EAAQ,IAAI,CAAC;AAAA,QAAA;AAAA,MAC1E;AAAA,MAEDnB,KAAcC,KAAc,CAACF,KAC5BiB,gBAAAA,EAAA;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,WAAWF,EAAK,QAAQ,EAAE,QAAQb,MAAgB,QAAQ;AAAA,UAC1D,SAAS,CAACQ,MAAMD,EAAWC,GAAGR,MAAgB,MAAM;AAAA,UACpD,gBAAa;AAAA,QAAA;AAAA,MACf;AAAA,MAEDF,KAAcG,KACba,gBAAAA,EAAA;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,WAAWF,EAAK,QAAQ,EAAE,QAAQb,MAAgB,QAAQ;AAAA,UAC1D,SAASC;AAAA,UACT,gBAAa;AAAA,QAAA;AAAA,MACf;AAAA,MAEDL,KAAcA;AAAA,IAAA,GACjB;AAAA,EAAA;AAGN;"}
|
package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewFormDialogFallback.cjs.js","sources":["../../../../../../src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.tsx"],"sourcesContent":["import { FC } from 'react'\nimport { ViewFormData, ViewsContextValue, ViewSettings, ViewType } from '..'\nimport { ShareOption, UserModel } from '@shared/api'\n\nexport interface ViewFormDialogProps {\n editingView: Partial<ViewFormData> & { viewId?: string }\n setEditingView: (viewId: string | null) => void\n viewType: ViewType\n viewSettings?: ViewSettings\n currentUser?: UserModel\n projectName?: string\n setSelected: (viewId: string) => void\n // data\n shareOptions?: ShareOption[]\n // data mutations\n onCreateView: ViewsContextValue['onCreateView']\n onUpdateView: ViewsContextValue['onUpdateView']\n onDeleteView: ViewsContextValue['onDeleteView']\n api: ViewsContextValue['api']\n dispatch: any\n pt?: {\n dialog?: Partial<React.HTMLAttributes<HTMLDivElement>>\n }\n}\n\nconst ViewFormDialogFallback: FC<ViewFormDialogProps> = () => null\n\nexport default ViewFormDialogFallback\n"],"names":["ViewFormDialogFallback"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ViewFormDialogFallback.cjs.js","sources":["../../../../../../src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.tsx"],"sourcesContent":["import { FC } from 'react'\nimport { ViewFormData, ViewsContextValue, ViewSettings, ViewType } from '..'\nimport { ShareOption, UserModel } from '@shared/api'\n\nexport interface ViewFormDialogProps {\n editingView: Partial<ViewFormData> & { viewId?: string }\n setEditingView: (viewId: string | null) => void\n isLoading: boolean\n viewType: ViewType\n viewSettings?: ViewSettings\n currentUser?: UserModel\n projectName?: string\n setSelected: (viewId: string) => void\n // data\n shareOptions?: ShareOption[]\n // data mutations\n onCreateView: ViewsContextValue['onCreateView']\n onUpdateView: ViewsContextValue['onUpdateView']\n onDeleteView: ViewsContextValue['onDeleteView']\n api: ViewsContextValue['api']\n dispatch: any\n pt?: {\n dialog?: Partial<React.HTMLAttributes<HTMLDivElement>>\n }\n}\n\nconst ViewFormDialogFallback: FC<ViewFormDialogProps> = () => null\n\nexport default ViewFormDialogFallback\n"],"names":["ViewFormDialogFallback"],"mappings":"aA0BA,MAAMA,EAAkD,IAAM"}
|
package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewFormDialogFallback.es.js","sources":["../../../../../../src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.tsx"],"sourcesContent":["import { FC } from 'react'\nimport { ViewFormData, ViewsContextValue, ViewSettings, ViewType } from '..'\nimport { ShareOption, UserModel } from '@shared/api'\n\nexport interface ViewFormDialogProps {\n editingView: Partial<ViewFormData> & { viewId?: string }\n setEditingView: (viewId: string | null) => void\n viewType: ViewType\n viewSettings?: ViewSettings\n currentUser?: UserModel\n projectName?: string\n setSelected: (viewId: string) => void\n // data\n shareOptions?: ShareOption[]\n // data mutations\n onCreateView: ViewsContextValue['onCreateView']\n onUpdateView: ViewsContextValue['onUpdateView']\n onDeleteView: ViewsContextValue['onDeleteView']\n api: ViewsContextValue['api']\n dispatch: any\n pt?: {\n dialog?: Partial<React.HTMLAttributes<HTMLDivElement>>\n }\n}\n\nconst ViewFormDialogFallback: FC<ViewFormDialogProps> = () => null\n\nexport default ViewFormDialogFallback\n"],"names":["ViewFormDialogFallback"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ViewFormDialogFallback.es.js","sources":["../../../../../../src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.tsx"],"sourcesContent":["import { FC } from 'react'\nimport { ViewFormData, ViewsContextValue, ViewSettings, ViewType } from '..'\nimport { ShareOption, UserModel } from '@shared/api'\n\nexport interface ViewFormDialogProps {\n editingView: Partial<ViewFormData> & { viewId?: string }\n setEditingView: (viewId: string | null) => void\n isLoading: boolean\n viewType: ViewType\n viewSettings?: ViewSettings\n currentUser?: UserModel\n projectName?: string\n setSelected: (viewId: string) => void\n // data\n shareOptions?: ShareOption[]\n // data mutations\n onCreateView: ViewsContextValue['onCreateView']\n onUpdateView: ViewsContextValue['onUpdateView']\n onDeleteView: ViewsContextValue['onDeleteView']\n api: ViewsContextValue['api']\n dispatch: any\n pt?: {\n dialog?: Partial<React.HTMLAttributes<HTMLDivElement>>\n }\n}\n\nconst ViewFormDialogFallback: FC<ViewFormDialogProps> = () => null\n\nexport default ViewFormDialogFallback\n"],"names":["ViewFormDialogFallback"],"mappings":"AA0BA,MAAMA,IAAkD,MAAM;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../../../../../_virtual/jsx-runtime.cjs.js"),S=require("../context/ViewsContext.cjs.js");require("react");const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../../../../../_virtual/jsx-runtime.cjs.js"),S=require("../context/ViewsContext.cjs.js");require("react");const D=require("../../../hooks/useLoadModule.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.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/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("lodash");require("react-toastify");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const j=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("react-redux");require("custom-protocol-check");const C=require("./ViewFormDialogFallback.cjs.js"),k=require("@ynput/ayon-react-components"),t="views-dialog",v=({})=>{const{editingView:e,editingViewData:o,isLoadingEditingViewData:s,setEditingView:u,viewType:r,projectName:n,currentUser:a,viewSettings:d,shareOptions:l,setSelectedView:c,onCreateView:w,onUpdateView:p,onDeleteView:g,api:V,dispatch:m}=S.useViewsContext(),{powerLicense:x}=j.usePowerpack(),[L,{isLoading:E,outdated:q}]=D.useLoadModule({addon:"powerpack",remote:"views",module:"ViewFormDialog",fallback:C,minVersion:"1.1.1",skip:!r||!x});return!r||!e?null:e&&q?i.jsxRuntimeExports.jsx(k.Dialog,{isOpen:!0,header:"Powerpack Update Required",onClose:()=>u(null),size:"sm",children:i.jsxRuntimeExports.jsxs("p",{children:["Please update the Powerpack addon to at least ",q.required]})}):i.jsxRuntimeExports.jsx(L,{editingView:{viewId:e===!0?void 0:e,...o||{}},isLoading:s,viewSettings:d,setEditingView:u,viewType:r,projectName:n,shareOptions:l,setSelected:c,onCreateView:w,onUpdateView:p,onDeleteView:g,api:V,dispatch:m,currentUser:a,pt:{dialog:{className:t}}})};exports.VIEWS_DIALOG_CLASS=t;exports.default=v;
|
|
2
2
|
//# sourceMappingURL=ViewsDialogContainer.cjs.js.map
|
package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewsDialogContainer.cjs.js","sources":["../../../../../../src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.tsx"],"sourcesContent":["import { FC } from 'react'\nimport { useViewsContext } from '../context/ViewsContext'\nimport { useLoadModule } from '@shared/hooks'\nimport ViewFormDialogFallback from './ViewFormDialogFallback'\nimport { Dialog } from '@ynput/ayon-react-components'\nimport { usePowerpack } from '@shared/context'\n\nexport const VIEWS_DIALOG_CLASS = 'views-dialog' as const\n\ninterface ViewsDialogContainerProps {}\n\nconst ViewsDialogContainer: FC<ViewsDialogContainerProps> = ({}) => {\n const {\n editingView,\n editingViewData,\n setEditingView,\n viewType,\n projectName,\n currentUser,\n viewSettings,\n shareOptions,\n setSelectedView,\n onCreateView,\n onUpdateView,\n onDeleteView,\n api,\n dispatch,\n } = useViewsContext()\n\n const { powerLicense } = usePowerpack()\n\n const [ViewFormDialog, { isLoading: isLoadingQueries, outdated }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'ViewFormDialog',\n fallback: ViewFormDialogFallback,\n minVersion: '1.1.1',\n skip: !viewType || !powerLicense,\n })\n\n if (!viewType || !editingView) return null\n\n if (editingView && outdated) {\n return (\n <Dialog\n isOpen\n header=\"Powerpack Update Required\"\n onClose={() => setEditingView(null)}\n size=\"sm\"\n >\n <p>Please update the Powerpack addon to at least {outdated.required}</p>\n </Dialog>\n )\n }\n\n return (\n <ViewFormDialog\n editingView={{\n viewId: editingView === true ? undefined : editingView,\n ...(editingViewData || {}),\n }}\n viewSettings={viewSettings}\n setEditingView={setEditingView}\n viewType={viewType}\n projectName={projectName}\n shareOptions={shareOptions}\n setSelected={setSelectedView}\n onCreateView={onCreateView}\n onUpdateView={onUpdateView}\n onDeleteView={onDeleteView}\n api={api}\n dispatch={dispatch}\n currentUser={currentUser}\n pt={{\n dialog: {\n className: VIEWS_DIALOG_CLASS,\n },\n }}\n />\n )\n}\n\nexport default ViewsDialogContainer\n"],"names":["VIEWS_DIALOG_CLASS","ViewsDialogContainer","editingView","editingViewData","setEditingView","viewType","projectName","currentUser","viewSettings","shareOptions","setSelectedView","onCreateView","onUpdateView","onDeleteView","api","dispatch","useViewsContext","powerLicense","usePowerpack","ViewFormDialog","isLoadingQueries","outdated","useLoadModule","ViewFormDialogFallback","jsx","Dialog"],"mappings":"41KAOaA,EAAqB,eAI5BC,EAAsD,CAAC,CAAA,IAAO,CAC5D,KAAA,CACJ,YAAAC,EACA,gBAAAC,EACA,eAAAC,EACA,SAAAC,EACA,YAAAC,EACA,YAAAC,EACA,aAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,IAAAC,EACA,SAAAC,GACEC,kBAAgB,EAEd,CAAE,aAAAC,CAAa,EAAIC,eAAa,EAEhC,CAACC,EAAgB,CAAE,UAAWC,EAAkB,SAAAC,CAAS,CAAC,EAAIC,gBAAc,CAChF,MAAO,YACP,OAAQ,QACR,OAAQ,iBACR,SAAUC,EACV,WAAY,QACZ,KAAM,CAAClB,GAAY,CAACY,CAAA,CACrB,EAED,MAAI,CAACZ,GAAY,
|
|
1
|
+
{"version":3,"file":"ViewsDialogContainer.cjs.js","sources":["../../../../../../src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.tsx"],"sourcesContent":["import { FC } from 'react'\nimport { useViewsContext } from '../context/ViewsContext'\nimport { useLoadModule } from '@shared/hooks'\nimport ViewFormDialogFallback from './ViewFormDialogFallback'\nimport { Dialog } from '@ynput/ayon-react-components'\nimport { usePowerpack } from '@shared/context'\n\nexport const VIEWS_DIALOG_CLASS = 'views-dialog' as const\n\ninterface ViewsDialogContainerProps {}\n\nconst ViewsDialogContainer: FC<ViewsDialogContainerProps> = ({}) => {\n const {\n editingView,\n editingViewData,\n isLoadingEditingViewData,\n setEditingView,\n viewType,\n projectName,\n currentUser,\n viewSettings,\n shareOptions,\n setSelectedView,\n onCreateView,\n onUpdateView,\n onDeleteView,\n api,\n dispatch,\n } = useViewsContext()\n\n const { powerLicense } = usePowerpack()\n\n const [ViewFormDialog, { isLoading: isLoadingQueries, outdated }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'ViewFormDialog',\n fallback: ViewFormDialogFallback,\n minVersion: '1.1.1',\n skip: !viewType || !powerLicense,\n })\n\n if (!viewType || !editingView) return null\n\n if (editingView && outdated) {\n return (\n <Dialog\n isOpen\n header=\"Powerpack Update Required\"\n onClose={() => setEditingView(null)}\n size=\"sm\"\n >\n <p>Please update the Powerpack addon to at least {outdated.required}</p>\n </Dialog>\n )\n }\n\n return (\n <ViewFormDialog\n editingView={{\n viewId: editingView === true ? undefined : editingView,\n ...(editingViewData || {}),\n }}\n isLoading={isLoadingEditingViewData}\n viewSettings={viewSettings}\n setEditingView={setEditingView}\n viewType={viewType}\n projectName={projectName}\n shareOptions={shareOptions}\n setSelected={setSelectedView}\n onCreateView={onCreateView}\n onUpdateView={onUpdateView}\n onDeleteView={onDeleteView}\n api={api}\n dispatch={dispatch}\n currentUser={currentUser}\n pt={{\n dialog: {\n className: VIEWS_DIALOG_CLASS,\n },\n }}\n />\n )\n}\n\nexport default ViewsDialogContainer\n"],"names":["VIEWS_DIALOG_CLASS","ViewsDialogContainer","editingView","editingViewData","isLoadingEditingViewData","setEditingView","viewType","projectName","currentUser","viewSettings","shareOptions","setSelectedView","onCreateView","onUpdateView","onDeleteView","api","dispatch","useViewsContext","powerLicense","usePowerpack","ViewFormDialog","isLoadingQueries","outdated","useLoadModule","ViewFormDialogFallback","jsx","Dialog"],"mappings":"41KAOaA,EAAqB,eAI5BC,EAAsD,CAAC,CAAA,IAAO,CAC5D,KAAA,CACJ,YAAAC,EACA,gBAAAC,EACA,yBAAAC,EACA,eAAAC,EACA,SAAAC,EACA,YAAAC,EACA,YAAAC,EACA,aAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,IAAAC,EACA,SAAAC,GACEC,kBAAgB,EAEd,CAAE,aAAAC,CAAa,EAAIC,eAAa,EAEhC,CAACC,EAAgB,CAAE,UAAWC,EAAkB,SAAAC,CAAS,CAAC,EAAIC,gBAAc,CAChF,MAAO,YACP,OAAQ,QACR,OAAQ,iBACR,SAAUC,EACV,WAAY,QACZ,KAAM,CAAClB,GAAY,CAACY,CAAA,CACrB,EAED,MAAI,CAACZ,GAAY,CAACJ,EAAoB,KAElCA,GAAeoB,EAEfG,EAAA,kBAAA,IAACC,EAAA,OAAA,CACC,OAAM,GACN,OAAO,4BACP,QAAS,IAAMrB,EAAe,IAAI,EAClC,KAAK,KAEL,kCAAC,IAAE,CAAA,SAAA,CAAA,iDAA+CiB,EAAS,QAAA,CAAS,CAAA,CAAA,CACtE,EAKFG,EAAA,kBAAA,IAACL,EAAA,CACC,YAAa,CACX,OAAQlB,IAAgB,GAAO,OAAYA,EAC3C,GAAIC,GAAmB,CAAA,CACzB,EACA,UAAWC,EACX,aAAAK,EACA,eAAAJ,EACA,SAAAC,EACA,YAAAC,EACA,aAAAG,EACA,YAAaC,EACb,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,IAAAC,EACA,SAAAC,EACA,YAAAR,EACA,GAAI,CACF,OAAQ,CACN,UAAWR,CAAA,CACb,CACF,CACF,CAEJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as t } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
-
import { useViewsContext as
|
|
2
|
+
import { useViewsContext as L } from "../context/ViewsContext.es.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import { useLoadModule as k } from "../../../hooks/useLoadModule.es.js";
|
|
5
5
|
import "../../../../../_virtual/runtime.es.js";
|
|
@@ -103,25 +103,26 @@ const v = "views-dialog", ko = ({}) => {
|
|
|
103
103
|
const {
|
|
104
104
|
editingView: i,
|
|
105
105
|
editingViewData: m,
|
|
106
|
+
isLoadingEditingViewData: e,
|
|
106
107
|
setEditingView: r,
|
|
107
108
|
viewType: o,
|
|
108
|
-
projectName:
|
|
109
|
+
projectName: a,
|
|
109
110
|
currentUser: s,
|
|
110
|
-
viewSettings:
|
|
111
|
-
shareOptions:
|
|
112
|
-
setSelectedView:
|
|
113
|
-
onCreateView:
|
|
114
|
-
onUpdateView:
|
|
115
|
-
onDeleteView:
|
|
116
|
-
api:
|
|
111
|
+
viewSettings: n,
|
|
112
|
+
shareOptions: d,
|
|
113
|
+
setSelectedView: l,
|
|
114
|
+
onCreateView: w,
|
|
115
|
+
onUpdateView: c,
|
|
116
|
+
onDeleteView: u,
|
|
117
|
+
api: g,
|
|
117
118
|
dispatch: V
|
|
118
|
-
} =
|
|
119
|
+
} = L(), { powerLicense: f } = x(), [D, { isLoading: S, outdated: p }] = k({
|
|
119
120
|
addon: "powerpack",
|
|
120
121
|
remote: "views",
|
|
121
122
|
module: "ViewFormDialog",
|
|
122
123
|
fallback: h,
|
|
123
124
|
minVersion: "1.1.1",
|
|
124
|
-
skip: !o || !
|
|
125
|
+
skip: !o || !f
|
|
125
126
|
});
|
|
126
127
|
return !o || !i ? null : i && p ? /* @__PURE__ */ t.jsx(
|
|
127
128
|
j,
|
|
@@ -136,22 +137,23 @@ const v = "views-dialog", ko = ({}) => {
|
|
|
136
137
|
] })
|
|
137
138
|
}
|
|
138
139
|
) : /* @__PURE__ */ t.jsx(
|
|
139
|
-
|
|
140
|
+
D,
|
|
140
141
|
{
|
|
141
142
|
editingView: {
|
|
142
143
|
viewId: i === !0 ? void 0 : i,
|
|
143
144
|
...m || {}
|
|
144
145
|
},
|
|
145
|
-
|
|
146
|
+
isLoading: e,
|
|
147
|
+
viewSettings: n,
|
|
146
148
|
setEditingView: r,
|
|
147
149
|
viewType: o,
|
|
148
|
-
projectName:
|
|
149
|
-
shareOptions:
|
|
150
|
-
setSelected:
|
|
151
|
-
onCreateView:
|
|
152
|
-
onUpdateView:
|
|
153
|
-
onDeleteView:
|
|
154
|
-
api:
|
|
150
|
+
projectName: a,
|
|
151
|
+
shareOptions: d,
|
|
152
|
+
setSelected: l,
|
|
153
|
+
onCreateView: w,
|
|
154
|
+
onUpdateView: c,
|
|
155
|
+
onDeleteView: u,
|
|
156
|
+
api: g,
|
|
155
157
|
dispatch: V,
|
|
156
158
|
currentUser: s,
|
|
157
159
|
pt: {
|
package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewsDialogContainer.es.js","sources":["../../../../../../src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.tsx"],"sourcesContent":["import { FC } from 'react'\nimport { useViewsContext } from '../context/ViewsContext'\nimport { useLoadModule } from '@shared/hooks'\nimport ViewFormDialogFallback from './ViewFormDialogFallback'\nimport { Dialog } from '@ynput/ayon-react-components'\nimport { usePowerpack } from '@shared/context'\n\nexport const VIEWS_DIALOG_CLASS = 'views-dialog' as const\n\ninterface ViewsDialogContainerProps {}\n\nconst ViewsDialogContainer: FC<ViewsDialogContainerProps> = ({}) => {\n const {\n editingView,\n editingViewData,\n setEditingView,\n viewType,\n projectName,\n currentUser,\n viewSettings,\n shareOptions,\n setSelectedView,\n onCreateView,\n onUpdateView,\n onDeleteView,\n api,\n dispatch,\n } = useViewsContext()\n\n const { powerLicense } = usePowerpack()\n\n const [ViewFormDialog, { isLoading: isLoadingQueries, outdated }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'ViewFormDialog',\n fallback: ViewFormDialogFallback,\n minVersion: '1.1.1',\n skip: !viewType || !powerLicense,\n })\n\n if (!viewType || !editingView) return null\n\n if (editingView && outdated) {\n return (\n <Dialog\n isOpen\n header=\"Powerpack Update Required\"\n onClose={() => setEditingView(null)}\n size=\"sm\"\n >\n <p>Please update the Powerpack addon to at least {outdated.required}</p>\n </Dialog>\n )\n }\n\n return (\n <ViewFormDialog\n editingView={{\n viewId: editingView === true ? undefined : editingView,\n ...(editingViewData || {}),\n }}\n viewSettings={viewSettings}\n setEditingView={setEditingView}\n viewType={viewType}\n projectName={projectName}\n shareOptions={shareOptions}\n setSelected={setSelectedView}\n onCreateView={onCreateView}\n onUpdateView={onUpdateView}\n onDeleteView={onDeleteView}\n api={api}\n dispatch={dispatch}\n currentUser={currentUser}\n pt={{\n dialog: {\n className: VIEWS_DIALOG_CLASS,\n },\n }}\n />\n )\n}\n\nexport default ViewsDialogContainer\n"],"names":["VIEWS_DIALOG_CLASS","ViewsDialogContainer","editingView","editingViewData","setEditingView","viewType","projectName","currentUser","viewSettings","shareOptions","setSelectedView","onCreateView","onUpdateView","onDeleteView","api","dispatch","useViewsContext","powerLicense","usePowerpack","ViewFormDialog","isLoadingQueries","outdated","useLoadModule","ViewFormDialogFallback","jsx","Dialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,IAAqB,gBAI5BC,KAAsD,CAAC,CAAA,MAAO;AAC5D,QAAA;AAAA,IACJ,aAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,KAAAC;AAAA,IACA,UAAAC;AAAA,MACEC,EAAgB,GAEd,EAAE,cAAAC,EAAa,IAAIC,EAAa,GAEhC,CAACC,GAAgB,EAAE,WAAWC,GAAkB,UAAAC,EAAS,CAAC,IAAIC,EAAc;AAAA,IAChF,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUC;AAAA,IACV,YAAY;AAAA,IACZ,MAAM,CAAClB,KAAY,CAACY;AAAA,EAAA,CACrB;AAED,SAAI,CAACZ,KAAY,
|
|
1
|
+
{"version":3,"file":"ViewsDialogContainer.es.js","sources":["../../../../../../src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.tsx"],"sourcesContent":["import { FC } from 'react'\nimport { useViewsContext } from '../context/ViewsContext'\nimport { useLoadModule } from '@shared/hooks'\nimport ViewFormDialogFallback from './ViewFormDialogFallback'\nimport { Dialog } from '@ynput/ayon-react-components'\nimport { usePowerpack } from '@shared/context'\n\nexport const VIEWS_DIALOG_CLASS = 'views-dialog' as const\n\ninterface ViewsDialogContainerProps {}\n\nconst ViewsDialogContainer: FC<ViewsDialogContainerProps> = ({}) => {\n const {\n editingView,\n editingViewData,\n isLoadingEditingViewData,\n setEditingView,\n viewType,\n projectName,\n currentUser,\n viewSettings,\n shareOptions,\n setSelectedView,\n onCreateView,\n onUpdateView,\n onDeleteView,\n api,\n dispatch,\n } = useViewsContext()\n\n const { powerLicense } = usePowerpack()\n\n const [ViewFormDialog, { isLoading: isLoadingQueries, outdated }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'ViewFormDialog',\n fallback: ViewFormDialogFallback,\n minVersion: '1.1.1',\n skip: !viewType || !powerLicense,\n })\n\n if (!viewType || !editingView) return null\n\n if (editingView && outdated) {\n return (\n <Dialog\n isOpen\n header=\"Powerpack Update Required\"\n onClose={() => setEditingView(null)}\n size=\"sm\"\n >\n <p>Please update the Powerpack addon to at least {outdated.required}</p>\n </Dialog>\n )\n }\n\n return (\n <ViewFormDialog\n editingView={{\n viewId: editingView === true ? undefined : editingView,\n ...(editingViewData || {}),\n }}\n isLoading={isLoadingEditingViewData}\n viewSettings={viewSettings}\n setEditingView={setEditingView}\n viewType={viewType}\n projectName={projectName}\n shareOptions={shareOptions}\n setSelected={setSelectedView}\n onCreateView={onCreateView}\n onUpdateView={onUpdateView}\n onDeleteView={onDeleteView}\n api={api}\n dispatch={dispatch}\n currentUser={currentUser}\n pt={{\n dialog: {\n className: VIEWS_DIALOG_CLASS,\n },\n }}\n />\n )\n}\n\nexport default ViewsDialogContainer\n"],"names":["VIEWS_DIALOG_CLASS","ViewsDialogContainer","editingView","editingViewData","isLoadingEditingViewData","setEditingView","viewType","projectName","currentUser","viewSettings","shareOptions","setSelectedView","onCreateView","onUpdateView","onDeleteView","api","dispatch","useViewsContext","powerLicense","usePowerpack","ViewFormDialog","isLoadingQueries","outdated","useLoadModule","ViewFormDialogFallback","jsx","Dialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,IAAqB,gBAI5BC,KAAsD,CAAC,CAAA,MAAO;AAC5D,QAAA;AAAA,IACJ,aAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,KAAAC;AAAA,IACA,UAAAC;AAAA,MACEC,EAAgB,GAEd,EAAE,cAAAC,EAAa,IAAIC,EAAa,GAEhC,CAACC,GAAgB,EAAE,WAAWC,GAAkB,UAAAC,EAAS,CAAC,IAAIC,EAAc;AAAA,IAChF,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUC;AAAA,IACV,YAAY;AAAA,IACZ,MAAM,CAAClB,KAAY,CAACY;AAAA,EAAA,CACrB;AAED,SAAI,CAACZ,KAAY,CAACJ,IAAoB,OAElCA,KAAeoB,IAEfG,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAS,MAAMrB,EAAe,IAAI;AAAA,MAClC,MAAK;AAAA,MAEL,iCAAC,KAAE,EAAA,UAAA;AAAA,QAAA;AAAA,QAA+CiB,EAAS;AAAA,MAAA,EAAS,CAAA;AAAA,IAAA;AAAA,EACtE,IAKFG,gBAAAA,EAAA;AAAA,IAACL;AAAA,IAAA;AAAA,MACC,aAAa;AAAA,QACX,QAAQlB,MAAgB,KAAO,SAAYA;AAAA,QAC3C,GAAIC,KAAmB,CAAA;AAAA,MACzB;AAAA,MACA,WAAWC;AAAA,MACX,cAAAK;AAAA,MACA,gBAAAJ;AAAA,MACA,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAG;AAAA,MACA,aAAaC;AAAA,MACb,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,KAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAAR;AAAA,MACA,IAAI;AAAA,QACF,QAAQ;AAAA,UACN,WAAWR;AAAA,QAAA;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const J=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),X=require("../../../../../Views.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/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");const Y=require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");const Z=require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");const C=require("../../../api/queries/views/getViews.cjs.js"),$=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const j=require("../hooks/useBuildViewMenuItems.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("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const N=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");const ee=require("../hooks/useSelectedView.cjs.js"),re=require("../hooks/useViewsMutations.cjs.js"),ie=require("../hooks/useSaveViewFromCurrent.cjs.js"),se=require("../hooks/useViewSettingsChanged.cjs.js"),te=require("../../../hooks/useLocalStorage.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");const ue=require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js"),P=o.createContext(null),ne=({children:u,viewType:a,projectName:i,dispatch:S,debug:q})=>{const s=X.viewTypes.includes(a)?a:void 0;let{powerLicense:d}=N.usePowerpack();(q==null?void 0:q.powerLicense)!==void 0&&(console.warn("Using debug power license:",q.powerLicense),d=q.powerLicense);const{data:y}=Z.useGetCurrentUserQuery(),[D,h]=o.useState(!1),[n,f]=o.useState(null),F="viewsMenuCollapsed",[g,x]=te.useLocalStorage(F,{}),G=t=>{const O=t.visibility==="private"?"myViews":"sharedViews";if(g[O]){const E={...g};E[O]=!1,x(E)}},{onCreateView:R,onDeleteView:U,onUpdateView:I,onResetWorkingView:p}=re.useViewsMutations({viewType:s,projectName:i,onCreate:G}),{data:m}=Y.useGetShareOptionsQuery({projectName:i},{skip:!d||!n}),[e,w,v]=ee.useSelectedView({viewType:s,projectName:i}),[T,l]=se.useViewSettingsChanged({viewType:s}),{currentData:V=[],isLoading:K}=C.useListViewsQuery({projectName:i,viewType:s},{skip:!s}),{currentData:r}=C.useGetWorkingViewQuery({projectName:i,viewType:s},{skip:!s}),L=r==null?void 0:r.settings,M=!e||e.id===ue.WORKING_VIEW_ID?L:e==null?void 0:e.settings,k=(e==null?void 0:e.id)===(r==null?void 0:r.id),W=T&&k&&v&&v!==(r==null?void 0:r.id)?v:void 0,{currentData:c,isFetching:_}=C.useGetViewQuery({viewId:n,projectName:Q(n,V)?void 0:i,viewType:s},{skip:typeof n!="string"||!d}),B=o.useMemo(()=>n===(c==null?void 0:c.id)?c:void 0,[n,c]),{onSaveViewFromCurrent:b}=ie.useSaveViewFromCurrent({viewType:s,projectName:i,viewsList:V,sourceSettings:M,onUpdateView:I}),z=o.useCallback(async()=>{try{await p({existingWorkingViewId:r==null?void 0:r.id,selectedViewId:e==null?void 0:e.id,setSelectedView:w,setSettingsChanged:l,notify:!0})}catch(t){console.error("Failed to reset view:",t)}},[r,p,e,w,l]),A=j.default({viewsList:V,workingView:r,viewType:s,projectName:i,currentUser:y,useWorkingView:!d,editingViewId:W,selectedId:e==null?void 0:e.id,collapsed:g,setCollapsed:x,onResetWorkingView:p,onSelect:t=>{w(t),l(!1),h(!1)},onEdit:t=>f(t),onSave:async t=>b(t)}),H={viewType:s,projectName:i,isMenuOpen:D,editingView:n,currentUser:y,selectedView:e,viewSettings:M,workingSettings:L,editingViewData:B,isLoadingEditingViewData:_,viewsList:V,workingView:r,editingViewId:W,viewMenuItems:A,isLoadingViews:K,isViewWorking:k,shareOptions:m,setIsMenuOpen:h,setEditingView:f,setSelectedView:w,onSettingsChanged:l,onCreateView:R,onUpdateView:I,onDeleteView:U,resetWorkingView:z,api:$.viewsQueries,dispatch:S};return J.jsxRuntimeExports.jsx(P.Provider,{value:H,children:u})},oe=()=>{const u=o.useContext(P);if(!u)throw new Error("useViewsContext must be used within a ViewsProvider");return u},Q=(u,a)=>{if(!u)return!0;const i=a.find(S=>S.id===u);return(i==null?void 0:i.scope)==="studio"};exports.ViewsProvider=ne;exports.isViewStudioScope=Q;exports.useViewsContext=oe;
|
|
2
2
|
//# sourceMappingURL=ViewsContext.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewsContext.cjs.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, viewTypes, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingViews: boolean\n isViewWorking: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType: viewTypeProp,\n projectName,\n dispatch,\n debug,\n}) => {\n // validate viewType\n const viewType = viewTypes.includes(viewTypeProp as ViewType)\n ? (viewTypeProp as ViewType)\n : undefined\n\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { data: currentUser } = useGetCurrentUserQuery()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n onCreate: handleOnViewCreated,\n })\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData } = useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewProjectScope(editingView as string, viewsList) ? projectName : undefined,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n workingSettings,\n editingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewProjectScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return false\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'project'\n}\n"],"names":["ViewsContext","createContext","ViewsProvider","children","viewTypeProp","projectName","dispatch","debug","viewType","viewTypes","powerLicense","usePowerpack","currentUser","useGetCurrentUserQuery","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsList","isLoadingViews","useListViewsQuery","workingView","useGetWorkingViewQuery","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","useGetViewQuery","isViewProjectScope","editingViewData","useMemo","onSaveViewFromCurrent","useSaveViewFromCurrent","resetWorkingView","useCallback","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ViewsContext.cjs.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, viewTypes, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n isViewWorking: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType: viewTypeProp,\n projectName,\n dispatch,\n debug,\n}) => {\n // validate viewType\n const viewType = viewTypes.includes(viewTypeProp as ViewType)\n ? (viewTypeProp as ViewType)\n : undefined\n\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { data: currentUser } = useGetCurrentUserQuery()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n onCreate: handleOnViewCreated,\n })\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n workingSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}\n"],"names":["ViewsContext","createContext","ViewsProvider","children","viewTypeProp","projectName","dispatch","debug","viewType","viewTypes","powerLicense","usePowerpack","currentUser","useGetCurrentUserQuery","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsList","isLoadingViews","useListViewsQuery","workingView","useGetWorkingViewQuery","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","useMemo","onSaveViewFromCurrent","useSaveViewFromCurrent","resetWorkingView","useCallback","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
|