@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.
Files changed (56) hide show
  1. package/dist/Views.cjs.js +1 -1
  2. package/dist/Views.es.js +14 -14
  3. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  4. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  5. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +33 -25
  6. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  7. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  8. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  9. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +10 -10
  10. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  11. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  12. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  13. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +229 -68
  14. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  15. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js +1 -1
  16. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +1 -1
  17. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js +21 -25
  18. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +1 -1
  19. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  20. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  21. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +64 -54
  22. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  23. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  24. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  25. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  26. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  27. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +22 -20
  28. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  29. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  30. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  31. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +60 -59
  32. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  33. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  34. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  35. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +14 -14
  36. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  37. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  38. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  39. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +17 -18
  40. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  41. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  42. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  43. package/dist/shared/src/hooks/useActionTriggers.es.js +38 -33
  44. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  45. package/dist/shared/src/hooks/useCustomProtocolCheck.cjs.js +2 -0
  46. package/dist/shared/src/hooks/useCustomProtocolCheck.cjs.js.map +1 -0
  47. package/dist/shared/src/hooks/useCustomProtocolCheck.es.js +43 -0
  48. package/dist/shared/src/hooks/useCustomProtocolCheck.es.js.map +1 -0
  49. package/dist/types/containers/Slicer/createFilterFromSlicer.d.ts +3 -1
  50. package/dist/types/containers/Slicer/types.d.ts +1 -1
  51. package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +1 -0
  52. package/dist/types/containers/Views/context/ViewsContext.d.ts +2 -1
  53. package/dist/types/containers/Views/hooks/useViewsMutations.d.ts +3 -3
  54. package/dist/types/hooks/useActionTriggers.d.ts +1 -1
  55. package/dist/types/hooks/useCustomProtocolCheck.d.ts +10 -0
  56. package/package.json +1 -1
@@ -1,64 +1,74 @@
1
- import { j as t } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import { forwardRef as u } from "react";
3
- import { ViewItem as w, ActionButton as e } from "./ViewItem.styled.es.js";
4
- import a from "clsx";
5
- import { getPlatformShortcutKey as N, KeyMode as p } from "../../../util/platform.es.js";
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 _ = u(
11
+ const D = h(
11
12
  ({
12
- label: v,
13
- startContent: o,
14
- endContent: r,
15
- isSelected: i,
16
- isEditable: s,
17
- isSaveable: n,
18
- highlighted: m,
19
- onEdit: c,
20
- onSave: x,
21
- onResetView: l,
22
- className: f,
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
- }, j) => /* @__PURE__ */ t.jsxs(w, { ...d, className: a(f, { selected: i }), ref: j, children: [
25
- o && o,
26
- /* @__PURE__ */ t.jsx("span", { className: "label", children: v }),
27
- l && /* @__PURE__ */ t.jsx(
28
- e,
29
- {
30
- icon: "restart_alt",
31
- variant: "text",
32
- className: "reset",
33
- onClick: l,
34
- "data-tooltip": "Reset this view to default",
35
- "data-shortcut": N("0", [p.Shift, p.Ctrl])
36
- }
37
- ),
38
- s && n && !i && /* @__PURE__ */ t.jsx(
39
- e,
40
- {
41
- icon: "save",
42
- variant: "text",
43
- className: a("save", { active: m === "save" }),
44
- onClick: x,
45
- "data-tooltip": "Save view settings from current view"
46
- }
47
- ),
48
- s && c && /* @__PURE__ */ t.jsx(
49
- e,
50
- {
51
- variant: "text",
52
- icon: "more_horiz",
53
- className: a("more", { active: m === "edit" }),
54
- onClick: c,
55
- "data-tooltip": "Edit view"
56
- }
57
- ),
58
- r && r
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
- _ as ViewItem
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={onSave}\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","jsxs","Styled.ViewItem","clsx","jsx","Styled.ActionButton","getPlatformShortcutKey","KeyMode"],"mappings":";;;;;;;;;AAwBO,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,MAGGC,gBAAAA,EAAA,KAAAC,GAAA,EAAiB,GAAGH,GAAO,WAAWI,EAAKL,GAAW,EAAE,UAAUP,EAAY,CAAA,GAAG,KAAAS,GAC/E,UAAA;AAAA,IAAgBX,KAAAA;AAAA,IAChBe,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,SAAS,UAAMhB,GAAA;AAAA,IAE9BS,KACCO,gBAAAA,EAAA;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,WAAU;AAAA,QACV,SAASR;AAAA,QACT,gBAAa;AAAA,QACb,iBAAeS,EAAuB,KAAK,CAACC,EAAQ,OAAOA,EAAQ,IAAI,CAAC;AAAA,MAAA;AAAA,IAC1E;AAAA,IAEDf,KAAcC,KAAc,CAACF,KAC5Ba,gBAAAA,EAAA;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,WAAWF,EAAK,QAAQ,EAAE,QAAQT,MAAgB,QAAQ;AAAA,QAC1D,SAASE;AAAA,QACT,gBAAa;AAAA,MAAA;AAAA,IACf;AAAA,IAEDJ,KAAcG,KACbS,gBAAAA,EAAA;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,WAAWF,EAAK,QAAQ,EAAE,QAAQT,MAAgB,QAAQ;AAAA,QAC1D,SAASC;AAAA,QACT,gBAAa;AAAA,MAAA;AAAA,IACf;AAAA,IAEDL,KAAcA;AAAA,EAAA,GACjB;AAGN;"}
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;"}
@@ -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":"aAyBA,MAAMA,EAAkD,IAAM"}
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"}
@@ -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":"AAyBA,MAAMA,IAAkD,MAAM;"}
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 j=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 C=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("react-redux");require("custom-protocol-check");const D=require("./ViewFormDialogFallback.cjs.js"),L=require("@ynput/ayon-react-components"),t="views-dialog",k=({})=>{const{editingView:e,editingViewData:o,setEditingView:u,viewType:r,projectName:s,currentUser:n,viewSettings:a,shareOptions:d,setSelectedView:l,onCreateView:c,onUpdateView:w,onDeleteView:p,api:V,dispatch:g}=S.useViewsContext(),{powerLicense:m}=C.usePowerpack(),[x,{isLoading:v,outdated:q}]=j.useLoadModule({addon:"powerpack",remote:"views",module:"ViewFormDialog",fallback:D,minVersion:"1.1.1",skip:!r||!m});return!r||!e?null:e&&q?i.jsxRuntimeExports.jsx(L.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(x,{editingView:{viewId:e===!0?void 0:e,...o||{}},viewSettings:a,setEditingView:u,viewType:r,projectName:s,shareOptions:d,setSelected:l,onCreateView:c,onUpdateView:w,onDeleteView:p,api:V,dispatch:g,currentUser:n,pt:{dialog:{className:t}}})};exports.VIEWS_DIALOG_CLASS=t;exports.default=k;
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
@@ -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,CAACH,EAAoB,KAElCA,GAAemB,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,OAAQjB,IAAgB,GAAO,OAAYA,EAC3C,GAAIC,GAAmB,CAAA,CACzB,EACA,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,UAAWP,CAAA,CACb,CACF,CACF,CAEJ"}
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 D } from "../context/ViewsContext.es.js";
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: e,
109
+ projectName: a,
109
110
  currentUser: s,
110
- viewSettings: a,
111
- shareOptions: n,
112
- setSelectedView: d,
113
- onCreateView: l,
114
- onUpdateView: w,
115
- onDeleteView: c,
116
- api: u,
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
- } = D(), { powerLicense: g } = x(), [f, { isLoading: L, outdated: p }] = k({
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 || !g
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
- f,
140
+ D,
140
141
  {
141
142
  editingView: {
142
143
  viewId: i === !0 ? void 0 : i,
143
144
  ...m || {}
144
145
  },
145
- viewSettings: a,
146
+ isLoading: e,
147
+ viewSettings: n,
146
148
  setEditingView: r,
147
149
  viewType: o,
148
- projectName: e,
149
- shareOptions: n,
150
- setSelected: d,
151
- onCreateView: l,
152
- onUpdateView: w,
153
- onDeleteView: c,
154
- api: u,
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: {
@@ -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,CAACH,IAAoB,OAElCA,KAAemB,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,QAAQjB,MAAgB,KAAO,SAAYA;AAAA,QAC3C,GAAIC,KAAmB,CAAA;AAAA,MACzB;AAAA,MACA,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,WAAWP;AAAA,QAAA;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAEJ;"}
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 A=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),H=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 J=require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");const X=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"),Y=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const Z=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 $=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");const N=require("../hooks/useSelectedView.cjs.js"),ee=require("../hooks/useViewsMutations.cjs.js"),re=require("../hooks/useSaveViewFromCurrent.cjs.js"),ie=require("../hooks/useViewSettingsChanged.cjs.js"),se=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 te=require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js"),Q=o.createContext(null),ue=({children:u,viewType:a,projectName:i,dispatch:S,debug:q})=>{const s=H.viewTypes.includes(a)?a:void 0;let{powerLicense:d}=$.usePowerpack();(q==null?void 0:q.powerLicense)!==void 0&&(console.warn("Using debug power license:",q.powerLicense),d=q.powerLicense);const{data:y}=X.useGetCurrentUserQuery(),[G,f]=o.useState(!1),[n,h]=o.useState(null),R="viewsMenuCollapsed",[p,x]=se.useLocalStorage(R,{}),U=t=>{const W=t.visibility==="private"?"myViews":"sharedViews";if(p[W]){const O={...p};O[W]=!1,x(O)}},{onCreateView:m,onDeleteView:D,onUpdateView:I,onResetWorkingView:g}=ee.useViewsMutations({viewType:s,projectName:i,onCreate:U}),{data:F}=J.useGetShareOptionsQuery({projectName:i},{skip:!d||!n}),[e,w,v]=N.useSelectedView({viewType:s,projectName:i}),[T,l]=ie.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===te.WORKING_VIEW_ID?L:e==null?void 0:e.settings,k=(e==null?void 0:e.id)===(r==null?void 0:r.id),P=T&&k&&v&&v!==(r==null?void 0:r.id)?v:void 0,{currentData:c}=C.useGetViewQuery({viewId:n,projectName:E(n,V)?i:void 0,viewType:s},{skip:typeof n!="string"||!d}),_=o.useMemo(()=>n===(c==null?void 0:c.id)?c:void 0,[n,c]),{onSaveViewFromCurrent:B}=re.useSaveViewFromCurrent({viewType:s,projectName:i,viewsList:V,sourceSettings:M,onUpdateView:I}),b=o.useCallback(async()=>{try{await g({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,g,e,w,l]),j=Z.default({viewsList:V,workingView:r,viewType:s,projectName:i,currentUser:y,useWorkingView:!d,editingViewId:P,selectedId:e==null?void 0:e.id,collapsed:p,setCollapsed:x,onResetWorkingView:g,onSelect:t=>{w(t),l(!1),f(!1)},onEdit:t=>h(t),onSave:async t=>B(t)}),z={viewType:s,projectName:i,isMenuOpen:G,editingView:n,currentUser:y,selectedView:e,viewSettings:M,workingSettings:L,editingViewData:_,viewsList:V,workingView:r,editingViewId:P,viewMenuItems:j,isLoadingViews:K,isViewWorking:k,shareOptions:F,setIsMenuOpen:f,setEditingView:h,setSelectedView:w,onSettingsChanged:l,onCreateView:m,onUpdateView:I,onDeleteView:D,resetWorkingView:b,api:Y.viewsQueries,dispatch:S};return A.jsxRuntimeExports.jsx(Q.Provider,{value:z,children:u})},ne=()=>{const u=o.useContext(Q);if(!u)throw new Error("useViewsContext must be used within a ViewsProvider");return u},E=(u,a)=>{if(!u)return!1;const i=a.find(S=>S.id===u);return(i==null?void 0:i.scope)==="project"};exports.ViewsProvider=ue;exports.isViewProjectScope=E;exports.useViewsContext=ne;
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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"}