@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,6 +1,6 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { createContext as
|
|
3
|
-
import { viewTypes as
|
|
1
|
+
import { j as H } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
+
import { createContext as J, useState as E, useMemo as X, useCallback as Y, useContext as Z } from "react";
|
|
3
|
+
import { viewTypes as $ } from "../../../../../Views.es.js";
|
|
4
4
|
import "../../../api/base/client.es.js";
|
|
5
5
|
import "../../../api/generated/graphql.es.js";
|
|
6
6
|
import "../../../api/generated/graphqlLinks.es.js";
|
|
@@ -70,16 +70,16 @@ import "../../../api/queries/project/getProject.es.js";
|
|
|
70
70
|
import "../../../api/queries/project/updateProject.es.js";
|
|
71
71
|
import "../../../api/queries/review/getReview.es.js";
|
|
72
72
|
import "../../../api/queries/review/updateReview.es.js";
|
|
73
|
-
import { useGetShareOptionsQuery as
|
|
73
|
+
import { useGetShareOptionsQuery as b } from "../../../api/queries/share/share.es.js";
|
|
74
74
|
import "../../../api/queries/system/getSystem.es.js";
|
|
75
75
|
import "../../../api/queries/userDashboard/getUserDashboard.es.js";
|
|
76
|
-
import { useGetCurrentUserQuery as
|
|
76
|
+
import { useGetCurrentUserQuery as j } from "../../../api/queries/users/getUsers.es.js";
|
|
77
77
|
import "../../../api/queries/users/updateUsers.es.js";
|
|
78
78
|
import "../../../api/queries/versions/updateVersions.es.js";
|
|
79
|
-
import { useListViewsQuery as
|
|
80
|
-
import { viewsQueries as
|
|
79
|
+
import { useListViewsQuery as N, useGetWorkingViewQuery as tt, useGetViewQuery as it } from "../../../api/queries/views/getViews.es.js";
|
|
80
|
+
import { viewsQueries as ot } from "../../../api/queries/views/updateViews.es.js";
|
|
81
81
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
82
|
-
import
|
|
82
|
+
import rt from "../hooks/useBuildViewMenuItems.es.js";
|
|
83
83
|
import "../../../context/RemoteModulesContext.es.js";
|
|
84
84
|
import "../../../context/DetailsPanelContext.es.js";
|
|
85
85
|
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
@@ -89,13 +89,13 @@ import "react-dom";
|
|
|
89
89
|
import "../../../context/pip/PiPWrapper.es.js";
|
|
90
90
|
import "../../../context/AddonProjectContext.es.js";
|
|
91
91
|
import "../../../context/AddonContext.es.js";
|
|
92
|
-
import { usePowerpack as
|
|
92
|
+
import { usePowerpack as et } from "../../../context/PowerpackContext.es.js";
|
|
93
93
|
import "../../../context/MoveEntityContext.es.js";
|
|
94
|
-
import { useSelectedView as
|
|
95
|
-
import { useViewsMutations as
|
|
96
|
-
import { useSaveViewFromCurrent as
|
|
97
|
-
import { useViewSettingsChanged as
|
|
98
|
-
import { useLocalStorage as
|
|
94
|
+
import { useSelectedView as st } from "../hooks/useSelectedView.es.js";
|
|
95
|
+
import { useViewsMutations as pt } from "../hooks/useViewsMutations.es.js";
|
|
96
|
+
import { useSaveViewFromCurrent as mt } from "../hooks/useSaveViewFromCurrent.es.js";
|
|
97
|
+
import { useViewSettingsChanged as nt } from "../hooks/useViewSettingsChanged.es.js";
|
|
98
|
+
import { useLocalStorage as at } from "../../../hooks/useLocalStorage.es.js";
|
|
99
99
|
import "../../../../../_virtual/runtime.es.js";
|
|
100
100
|
import "../../../../../_virtual/semver.es.js";
|
|
101
101
|
import "lodash";
|
|
@@ -103,60 +103,60 @@ import "react-toastify";
|
|
|
103
103
|
import "react-redux";
|
|
104
104
|
import "custom-protocol-check";
|
|
105
105
|
import { WORKING_VIEW_ID as ct } from "../ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
106
|
-
const
|
|
106
|
+
const O = J(null), ao = ({
|
|
107
107
|
children: s,
|
|
108
|
-
viewType:
|
|
108
|
+
viewType: a,
|
|
109
109
|
projectName: o,
|
|
110
110
|
dispatch: l,
|
|
111
111
|
debug: m
|
|
112
112
|
}) => {
|
|
113
|
-
const r =
|
|
114
|
-
let { powerLicense:
|
|
115
|
-
(m == null ? void 0 : m.powerLicense) !== void 0 && (console.warn("Using debug power license:", m.powerLicense),
|
|
116
|
-
const { data: V } =
|
|
117
|
-
|
|
113
|
+
const r = $.includes(a) ? a : void 0;
|
|
114
|
+
let { powerLicense: c } = et();
|
|
115
|
+
(m == null ? void 0 : m.powerLicense) !== void 0 && (console.warn("Using debug power license:", m.powerLicense), c = m.powerLicense);
|
|
116
|
+
const { data: V } = j(), [Q, g] = E(!1), [p, C] = E(null), D = "viewsMenuCollapsed", [f, y] = at(
|
|
117
|
+
D,
|
|
118
118
|
{}
|
|
119
|
-
),
|
|
119
|
+
), G = (e) => {
|
|
120
120
|
const k = e.visibility === "private" ? "myViews" : "sharedViews";
|
|
121
121
|
if (f[k]) {
|
|
122
122
|
const M = { ...f };
|
|
123
123
|
M[k] = !1, y(M);
|
|
124
124
|
}
|
|
125
|
-
}, { onCreateView:
|
|
125
|
+
}, { onCreateView: F, onDeleteView: U, onUpdateView: h, onResetWorkingView: v } = pt({
|
|
126
126
|
viewType: r,
|
|
127
127
|
projectName: o,
|
|
128
|
-
onCreate:
|
|
129
|
-
}), { data:
|
|
128
|
+
onCreate: G
|
|
129
|
+
}), { data: P } = b(
|
|
130
130
|
{ projectName: o },
|
|
131
|
-
{ skip: !
|
|
132
|
-
), [t, u, S] =
|
|
131
|
+
{ skip: !c || !p }
|
|
132
|
+
), [t, u, S] = st({
|
|
133
133
|
viewType: r,
|
|
134
134
|
projectName: o
|
|
135
|
-
}), [R, d] =
|
|
135
|
+
}), [R, d] = nt({
|
|
136
136
|
viewType: r
|
|
137
|
-
}), { currentData: w = [], isLoading: K } =
|
|
137
|
+
}), { currentData: w = [], isLoading: K } = N(
|
|
138
138
|
{ projectName: o, viewType: r },
|
|
139
139
|
{ skip: !r }
|
|
140
|
-
), { currentData: i } =
|
|
140
|
+
), { currentData: i } = tt(
|
|
141
141
|
{ projectName: o, viewType: r },
|
|
142
142
|
{ skip: !r }
|
|
143
|
-
), x = i == null ? void 0 : i.settings, I = !t || t.id === ct ? x : t == null ? void 0 : t.settings, L = (t == null ? void 0 : t.id) === (i == null ? void 0 : i.id), W = R && L && S && S !== (i == null ? void 0 : i.id) ? S : void 0, { currentData: n } =
|
|
143
|
+
), x = i == null ? void 0 : i.settings, I = !t || t.id === ct ? x : t == null ? void 0 : t.settings, L = (t == null ? void 0 : t.id) === (i == null ? void 0 : i.id), W = R && L && S && S !== (i == null ? void 0 : i.id) ? S : void 0, { currentData: n, isFetching: T } = it(
|
|
144
144
|
{
|
|
145
145
|
viewId: p,
|
|
146
|
-
projectName:
|
|
146
|
+
projectName: ut(p, w) ? void 0 : o,
|
|
147
147
|
viewType: r
|
|
148
148
|
},
|
|
149
|
-
{ skip: typeof p != "string" || !
|
|
150
|
-
),
|
|
149
|
+
{ skip: typeof p != "string" || !c }
|
|
150
|
+
), _ = X(
|
|
151
151
|
() => p === (n == null ? void 0 : n.id) ? n : void 0,
|
|
152
152
|
[p, n]
|
|
153
|
-
), { onSaveViewFromCurrent:
|
|
153
|
+
), { onSaveViewFromCurrent: A } = mt({
|
|
154
154
|
viewType: r,
|
|
155
155
|
projectName: o,
|
|
156
156
|
viewsList: w,
|
|
157
157
|
sourceSettings: I,
|
|
158
158
|
onUpdateView: h
|
|
159
|
-
}),
|
|
159
|
+
}), B = Y(async () => {
|
|
160
160
|
try {
|
|
161
161
|
await v({
|
|
162
162
|
existingWorkingViewId: i == null ? void 0 : i.id,
|
|
@@ -168,69 +168,70 @@ const Q = H(null), no = ({
|
|
|
168
168
|
} catch (e) {
|
|
169
169
|
console.error("Failed to reset view:", e);
|
|
170
170
|
}
|
|
171
|
-
}, [i, v, t, u, d]),
|
|
171
|
+
}, [i, v, t, u, d]), q = rt({
|
|
172
172
|
viewsList: w,
|
|
173
173
|
workingView: i,
|
|
174
174
|
viewType: r,
|
|
175
175
|
projectName: o,
|
|
176
176
|
currentUser: V,
|
|
177
|
-
useWorkingView: !
|
|
177
|
+
useWorkingView: !c,
|
|
178
178
|
editingViewId: W,
|
|
179
179
|
selectedId: t == null ? void 0 : t.id,
|
|
180
180
|
collapsed: f,
|
|
181
181
|
setCollapsed: y,
|
|
182
182
|
onResetWorkingView: v,
|
|
183
183
|
onSelect: (e) => {
|
|
184
|
-
u(e), d(!1),
|
|
184
|
+
u(e), d(!1), g(!1);
|
|
185
185
|
},
|
|
186
|
-
onEdit: (e) =>
|
|
187
|
-
onSave: async (e) =>
|
|
188
|
-
}),
|
|
186
|
+
onEdit: (e) => C(e),
|
|
187
|
+
onSave: async (e) => A(e)
|
|
188
|
+
}), z = {
|
|
189
189
|
viewType: r,
|
|
190
190
|
projectName: o,
|
|
191
|
-
isMenuOpen:
|
|
191
|
+
isMenuOpen: Q,
|
|
192
192
|
editingView: p,
|
|
193
193
|
currentUser: V,
|
|
194
194
|
selectedView: t,
|
|
195
195
|
viewSettings: I,
|
|
196
196
|
workingSettings: x,
|
|
197
|
-
editingViewData:
|
|
197
|
+
editingViewData: _,
|
|
198
|
+
isLoadingEditingViewData: T,
|
|
198
199
|
viewsList: w,
|
|
199
200
|
workingView: i,
|
|
200
201
|
editingViewId: W,
|
|
201
|
-
viewMenuItems:
|
|
202
|
+
viewMenuItems: q,
|
|
202
203
|
isLoadingViews: K,
|
|
203
204
|
isViewWorking: L,
|
|
204
205
|
// data
|
|
205
|
-
shareOptions:
|
|
206
|
-
setIsMenuOpen:
|
|
207
|
-
setEditingView:
|
|
206
|
+
shareOptions: P,
|
|
207
|
+
setIsMenuOpen: g,
|
|
208
|
+
setEditingView: C,
|
|
208
209
|
setSelectedView: u,
|
|
209
210
|
onSettingsChanged: d,
|
|
210
211
|
// mutations
|
|
211
|
-
onCreateView:
|
|
212
|
+
onCreateView: F,
|
|
212
213
|
onUpdateView: h,
|
|
213
214
|
onDeleteView: U,
|
|
214
215
|
// shared actions
|
|
215
|
-
resetWorkingView:
|
|
216
|
+
resetWorkingView: B,
|
|
216
217
|
// api
|
|
217
|
-
api:
|
|
218
|
+
api: ot,
|
|
218
219
|
dispatch: l
|
|
219
220
|
};
|
|
220
|
-
return /* @__PURE__ */
|
|
221
|
+
return /* @__PURE__ */ H.jsx(O.Provider, { value: z, children: s });
|
|
221
222
|
}, co = () => {
|
|
222
|
-
const s =
|
|
223
|
+
const s = Z(O);
|
|
223
224
|
if (!s)
|
|
224
225
|
throw new Error("useViewsContext must be used within a ViewsProvider");
|
|
225
226
|
return s;
|
|
226
|
-
},
|
|
227
|
-
if (!s) return !
|
|
228
|
-
const o =
|
|
229
|
-
return (o == null ? void 0 : o.scope) === "
|
|
227
|
+
}, ut = (s, a) => {
|
|
228
|
+
if (!s) return !0;
|
|
229
|
+
const o = a.find((l) => l.id === s);
|
|
230
|
+
return (o == null ? void 0 : o.scope) === "studio";
|
|
230
231
|
};
|
|
231
232
|
export {
|
|
232
|
-
|
|
233
|
-
|
|
233
|
+
ao as ViewsProvider,
|
|
234
|
+
ut as isViewStudioScope,
|
|
234
235
|
co as useViewsContext
|
|
235
236
|
};
|
|
236
237
|
//# sourceMappingURL=ViewsContext.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewsContext.es.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.es.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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"}
|
|
@@ -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 a=require("react");require("../../../../../_virtual/jsx-runtime.cjs.js");require("react-dom");const n=require("../context/ViewsContext.cjs.js");require("../Views.styled.cjs.js");require("clsx");require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../context/RemoteModulesContext.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");const c=require("react-toastify");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("react-redux");require("custom-protocol-check");require("@ynput/ayon-react-components");require("../ViewsMenu/ViewsMenu.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");const w=({viewType:r,projectName:t,viewsList:o,sourceSettings:e,onUpdateView:s})=>({onSaveViewFromCurrent:a.useCallback(async i=>{if(!r)throw"viewType are required for saving a view from another view";if(!e)throw"sourceView is required for saving a view from another view";try{await s(i,{settings:e},n.isViewStudioScope(i,o)),c.toast.success("View settings saved")}catch(u){const q=typeof u=="string"?"Failed to save view settings: "+u:"Failed to save view settings";throw console.error(q),q}},[r,t,e])});exports.useSaveViewFromCurrent=w;
|
|
2
2
|
//# sourceMappingURL=useSaveViewFromCurrent.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSaveViewFromCurrent.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport {
|
|
1
|
+
{"version":3,"file":"useSaveViewFromCurrent.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { isViewStudioScope, ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\nimport { ViewListItemModel } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n viewsList: ViewListItemModel[]\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n viewsList,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(\n viewId,\n {\n settings: sourceSettings,\n },\n isViewStudioScope(viewId, viewsList),\n )\n\n toast.success('View settings saved')\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useSaveViewFromCurrent","viewType","projectName","viewsList","sourceSettings","onUpdateView","useCallback","viewId","isViewStudioScope","toast","error","errorMessage"],"mappings":"u6KAcO,MAAMA,EAAyB,CAAC,CACrC,SAAAC,EACA,YAAAC,EACA,UAAAC,EACA,eAAAC,EACA,aAAAC,CACF,KAmCS,CAAE,sBAjCqBC,EAAA,YAC5B,MAAOC,GAAmB,CACxB,GAAI,CAACN,EACG,KAAA,4DAIR,GAAI,CAACG,EACG,KAAA,6DAGJ,GAAA,CACI,MAAAC,EACJE,EACA,CACE,SAAUH,CACZ,EACAI,EAAA,kBAAkBD,EAAQJ,CAAS,CACrC,EAEAM,EAAA,MAAM,QAAQ,qBAAqB,QAC5BC,EAAO,CACd,MAAMC,EACJ,OAAOD,GAAU,SACb,iCAAmCA,EACnC,+BACN,cAAQ,MAAMC,CAAY,EACpBA,CAAA,CAEV,EACA,CAACV,EAAUC,EAAaE,CAAc,CACxC,CAE+B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { useCallback as
|
|
1
|
+
import { useCallback as a } from "react";
|
|
2
2
|
import "../../../../../_virtual/jsx-runtime.es.js";
|
|
3
3
|
import "react-dom";
|
|
4
|
-
import {
|
|
4
|
+
import { isViewStudioScope as n } from "../context/ViewsContext.es.js";
|
|
5
5
|
import "../Views.styled.es.js";
|
|
6
6
|
import "clsx";
|
|
7
7
|
import "../ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
@@ -87,7 +87,7 @@ import "../../../api/queries/views/getViews.es.js";
|
|
|
87
87
|
import "../../../api/queries/views/updateViews.es.js";
|
|
88
88
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
89
89
|
import "lodash";
|
|
90
|
-
import "react-toastify";
|
|
90
|
+
import { toast as w } from "react-toastify";
|
|
91
91
|
import "../../../context/DetailsPanelContext.es.js";
|
|
92
92
|
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
93
93
|
import "../../../context/SettingsPanelContext.es.js";
|
|
@@ -103,34 +103,34 @@ import "@ynput/ayon-react-components";
|
|
|
103
103
|
import "../ViewsMenu/ViewsMenu.es.js";
|
|
104
104
|
import "uuid";
|
|
105
105
|
import "../../../util/pubsub.es.js";
|
|
106
|
-
const
|
|
106
|
+
const no = ({
|
|
107
107
|
viewType: o,
|
|
108
108
|
projectName: p,
|
|
109
109
|
viewsList: e,
|
|
110
110
|
sourceSettings: r,
|
|
111
|
-
onUpdateView:
|
|
112
|
-
}) => ({ onSaveViewFromCurrent:
|
|
113
|
-
async (
|
|
111
|
+
onUpdateView: s
|
|
112
|
+
}) => ({ onSaveViewFromCurrent: a(
|
|
113
|
+
async (t) => {
|
|
114
114
|
if (!o)
|
|
115
115
|
throw "viewType are required for saving a view from another view";
|
|
116
116
|
if (!r)
|
|
117
117
|
throw "sourceView is required for saving a view from another view";
|
|
118
118
|
try {
|
|
119
|
-
await
|
|
120
|
-
|
|
119
|
+
await s(
|
|
120
|
+
t,
|
|
121
121
|
{
|
|
122
122
|
settings: r
|
|
123
123
|
},
|
|
124
|
-
n(
|
|
125
|
-
);
|
|
126
|
-
} catch (
|
|
127
|
-
const m = typeof
|
|
124
|
+
n(t, e)
|
|
125
|
+
), w.success("View settings saved");
|
|
126
|
+
} catch (i) {
|
|
127
|
+
const m = typeof i == "string" ? "Failed to save view settings: " + i : "Failed to save view settings";
|
|
128
128
|
throw console.error(m), m;
|
|
129
129
|
}
|
|
130
130
|
},
|
|
131
131
|
[o, p, r]
|
|
132
132
|
) });
|
|
133
133
|
export {
|
|
134
|
-
|
|
134
|
+
no as useSaveViewFromCurrent
|
|
135
135
|
};
|
|
136
136
|
//# sourceMappingURL=useSaveViewFromCurrent.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSaveViewFromCurrent.es.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport {
|
|
1
|
+
{"version":3,"file":"useSaveViewFromCurrent.es.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { isViewStudioScope, ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\nimport { ViewListItemModel } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n viewsList: ViewListItemModel[]\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n viewsList,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(\n viewId,\n {\n settings: sourceSettings,\n },\n isViewStudioScope(viewId, viewsList),\n )\n\n toast.success('View settings saved')\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useSaveViewFromCurrent","viewType","projectName","viewsList","sourceSettings","onUpdateView","useCallback","viewId","isViewStudioScope","toast","error","errorMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAMA,KAAyB,CAAC;AAAA,EACrC,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AACF,OAmCS,EAAE,uBAjCqBC;AAAA,EAC5B,OAAOC,MAAmB;AACxB,QAAI,CAACN;AACG,YAAA;AAIR,QAAI,CAACG;AACG,YAAA;AAGJ,QAAA;AACI,YAAAC;AAAA,QACJE;AAAA,QACA;AAAA,UACE,UAAUH;AAAA,QACZ;AAAA,QACAI,EAAkBD,GAAQJ,CAAS;AAAA,MACrC,GAEAM,EAAM,QAAQ,qBAAqB;AAAA,aAC5BC,GAAO;AACd,YAAMC,IACJ,OAAOD,KAAU,WACb,mCAAmCA,IACnC;AACN,oBAAQ,MAAMC,CAAY,GACpBA;AAAA,IAAA;AAAA,EAEV;AAAA,EACA,CAACV,GAAUC,GAAaE,CAAc;AACxC,EAE+B;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});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");const l=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});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");const l=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const s=require("react"),W=require("../utils/generateWorkingView.cjs.js"),h=require("react-toastify"),v=({viewType:e,projectName:t,onCreate:n,onDelete:c,onUpdate:w})=>{const[q]=l.useCreateViewMutation(),[f]=l.useDeleteViewMutation(),[k]=l.useUpdateViewMutation(),b=s.useCallback(async(i,r)=>{if(!e)throw new Error("viewType are required for creating a view");try{await q({viewType:e,projectName:r?void 0:t,payload:i}).unwrap(),n&&n(i)}catch(u){throw console.error("Failed to create view:",u),u}},[q,e,t,n]),M=s.useCallback(async(i,r,u)=>{if(!e)throw new Error("viewType are required for updating a view");try{await k({viewId:i,viewType:e,projectName:u?void 0:t,payload:r}).unwrap(),w&&w({...r,id:i})}catch(o){throw console.error("Failed to update view:",o),o}},[q,e,t,w]),C=s.useCallback(async(i,r)=>{if(!e)throw new Error("viewType are required for deleting a view");try{await f({viewType:e,projectName:r?void 0:t,viewId:i}).unwrap(),c&&c(i)}catch(u){throw console.error("Failed to delete view:",u),u}},[f,e,t,c]),F=s.useCallback(async i=>{const{existingWorkingViewId:r,selectedViewId:u,setSelectedView:o,setSettingsChanged:V,notify:g}=i||{};if(!e)throw new Error("viewType are required for resetting a view");const d=W.generateWorkingView({});r&&(d.id=r);try{await q({viewType:e,projectName:t,payload:d}).unwrap();const a=d.id;return o&&V&&u&&r&&u!==r&&(o(a),V(!0)),g&&h.toast.success("View reset to default settings"),a}catch(a){throw console.error("Failed to reset working view:",a),g&&h.toast.error("Failed to reset view to default"),a}},[q,e,t]);return{onCreateView:b,onUpdateView:M,onDeleteView:C,onResetWorkingView:F}};exports.useViewsMutations=v;
|
|
2
2
|
//# sourceMappingURL=useViewsMutations.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useViewsMutations.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useViewsMutations.ts"],"sourcesContent":["import {\n CreateViewApiArg,\n useCreateViewMutation,\n useDeleteViewMutation,\n useUpdateViewMutation,\n} from '@shared/api'\nimport { useCallback } from 'react'\nimport { ViewData } from '../context/ViewsContext'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: string\n projectName?: string\n onCreate?: (view: ViewData) => void\n onUpdate?: (view: ViewData) => void\n onDelete?: (viewId: string) => void\n}\n\nexport type UseViewMutations = {\n onCreateView: (payload: CreateViewApiArg['payload'],
|
|
1
|
+
{"version":3,"file":"useViewsMutations.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useViewsMutations.ts"],"sourcesContent":["import {\n CreateViewApiArg,\n useCreateViewMutation,\n useDeleteViewMutation,\n useUpdateViewMutation,\n} from '@shared/api'\nimport { useCallback } from 'react'\nimport { ViewData } from '../context/ViewsContext'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: string\n projectName?: string\n onCreate?: (view: ViewData) => void\n onUpdate?: (view: ViewData) => void\n onDelete?: (viewId: string) => void\n}\n\nexport type UseViewMutations = {\n onCreateView: (payload: CreateViewApiArg['payload'], isStudioScope: boolean) => Promise<void>\n onDeleteView: (viewId: string, isStudioScope: boolean) => Promise<void>\n onUpdateView: (\n viewId: string,\n payload: Partial<ViewData>,\n isStudioScope: boolean,\n ) => Promise<void>\n onResetWorkingView: (args?: {\n existingWorkingViewId?: string\n selectedViewId?: string\n setSelectedView?: (id: string) => void\n setSettingsChanged?: (changed: boolean) => void\n notify?: boolean\n }) => Promise<string>\n}\ntype R = UseViewMutations\n\nexport const useViewsMutations = ({\n viewType,\n projectName,\n onCreate,\n onDelete,\n onUpdate,\n}: Props): UseViewMutations => {\n // forward mutations to the dialog\n const [createView] = useCreateViewMutation()\n const [deleteView] = useDeleteViewMutation()\n const [updateView] = useUpdateViewMutation()\n\n const onCreateView = useCallback<R['onCreateView']>(\n async (payload, isStudioScope) => {\n if (!viewType) {\n throw new Error('viewType are required for creating a view')\n }\n\n try {\n await createView({\n viewType: viewType,\n projectName: isStudioScope ? undefined : projectName,\n payload,\n }).unwrap()\n\n if (onCreate) {\n onCreate(payload as ViewData)\n }\n } catch (error) {\n console.error('Failed to create view:', error)\n throw error\n }\n },\n [createView, viewType, projectName, onCreate],\n )\n\n const onUpdateView = useCallback<R['onUpdateView']>(\n async (viewId, payload, isStudioScope) => {\n if (!viewType) {\n throw new Error('viewType are required for updating a view')\n }\n\n try {\n await updateView({\n viewId,\n viewType,\n projectName: isStudioScope ? undefined : projectName,\n payload,\n }).unwrap()\n\n if (onUpdate) {\n onUpdate({ ...payload, id: viewId } as ViewData)\n }\n } catch (error) {\n console.error('Failed to update view:', error)\n throw error\n }\n },\n [createView, viewType, projectName, onUpdate],\n )\n\n const onDeleteView = useCallback<R['onDeleteView']>(\n async (viewId, isStudioScope) => {\n if (!viewType) {\n throw new Error('viewType are required for deleting a view')\n }\n\n try {\n await deleteView({\n viewType: viewType,\n projectName: isStudioScope ? undefined : projectName,\n viewId,\n }).unwrap()\n\n if (onDelete) {\n onDelete(viewId)\n }\n } catch (error) {\n console.error('Failed to delete view:', error)\n throw error\n }\n },\n [deleteView, viewType, projectName, onDelete],\n )\n\n const onResetWorkingView = useCallback<R['onResetWorkingView']>(\n async (args) => {\n const { existingWorkingViewId, selectedViewId, setSelectedView, setSettingsChanged, notify } =\n args || {}\n if (!viewType) {\n throw new Error('viewType are required for resetting a view')\n }\n\n const freshWorkingView = generateWorkingView({})\n if (existingWorkingViewId) {\n freshWorkingView.id = existingWorkingViewId\n }\n\n try {\n await createView({\n viewType,\n projectName,\n payload: freshWorkingView,\n }).unwrap()\n const newId = freshWorkingView.id as string\n\n // If we're not currently on the working view, switch to it and mark settings as changed\n if (setSelectedView && setSettingsChanged && selectedViewId && existingWorkingViewId) {\n if (selectedViewId !== existingWorkingViewId) {\n setSelectedView(newId)\n setSettingsChanged(true)\n }\n }\n\n if (notify) {\n toast.success('View reset to default settings')\n }\n\n return newId\n } catch (error) {\n console.error('Failed to reset working view:', error)\n if (notify) toast.error('Failed to reset view to default')\n throw error\n }\n },\n [createView, viewType, projectName],\n )\n\n return {\n onCreateView,\n onUpdateView,\n onDeleteView,\n onResetWorkingView,\n }\n}\n"],"names":["useViewsMutations","viewType","projectName","onCreate","onDelete","onUpdate","createView","useCreateViewMutation","deleteView","useDeleteViewMutation","updateView","useUpdateViewMutation","onCreateView","useCallback","payload","isStudioScope","error","onUpdateView","viewId","onDeleteView","onResetWorkingView","args","existingWorkingViewId","selectedViewId","setSelectedView","setSettingsChanged","notify","freshWorkingView","generateWorkingView","newId","toast"],"mappings":"m6IAqCaA,EAAoB,CAAC,CAChC,SAAAC,EACA,YAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,CACF,IAA+B,CAEvB,KAAA,CAACC,CAAU,EAAIC,wBAAsB,EACrC,CAACC,CAAU,EAAIC,wBAAsB,EACrC,CAACC,CAAU,EAAIC,wBAAsB,EAErCC,EAAeC,EAAA,YACnB,MAAOC,EAASC,IAAkB,CAChC,GAAI,CAACd,EACG,MAAA,IAAI,MAAM,2CAA2C,EAGzD,GAAA,CACF,MAAMK,EAAW,CACf,SAAAL,EACA,YAAac,EAAgB,OAAYb,EACzC,QAAAY,CACD,CAAA,EAAE,OAAO,EAENX,GACFA,EAASW,CAAmB,QAEvBE,EAAO,CACN,cAAA,MAAM,yBAA0BA,CAAK,EACvCA,CAAA,CAEV,EACA,CAACV,EAAYL,EAAUC,EAAaC,CAAQ,CAC9C,EAEMc,EAAeJ,EAAA,YACnB,MAAOK,EAAQJ,EAASC,IAAkB,CACxC,GAAI,CAACd,EACG,MAAA,IAAI,MAAM,2CAA2C,EAGzD,GAAA,CACF,MAAMS,EAAW,CACf,OAAAQ,EACA,SAAAjB,EACA,YAAac,EAAgB,OAAYb,EACzC,QAAAY,CACD,CAAA,EAAE,OAAO,EAENT,GACFA,EAAS,CAAE,GAAGS,EAAS,GAAII,EAAoB,QAE1CF,EAAO,CACN,cAAA,MAAM,yBAA0BA,CAAK,EACvCA,CAAA,CAEV,EACA,CAACV,EAAYL,EAAUC,EAAaG,CAAQ,CAC9C,EAEMc,EAAeN,EAAA,YACnB,MAAOK,EAAQH,IAAkB,CAC/B,GAAI,CAACd,EACG,MAAA,IAAI,MAAM,2CAA2C,EAGzD,GAAA,CACF,MAAMO,EAAW,CACf,SAAAP,EACA,YAAac,EAAgB,OAAYb,EACzC,OAAAgB,CACD,CAAA,EAAE,OAAO,EAENd,GACFA,EAASc,CAAM,QAEVF,EAAO,CACN,cAAA,MAAM,yBAA0BA,CAAK,EACvCA,CAAA,CAEV,EACA,CAACR,EAAYP,EAAUC,EAAaE,CAAQ,CAC9C,EAEMgB,EAAqBP,EAAA,YACzB,MAAOQ,GAAS,CACR,KAAA,CAAE,sBAAAC,EAAuB,eAAAC,EAAgB,gBAAAC,EAAiB,mBAAAC,EAAoB,OAAAC,CAAO,EACzFL,GAAQ,CAAC,EACX,GAAI,CAACpB,EACG,MAAA,IAAI,MAAM,4CAA4C,EAGxD,MAAA0B,EAAmBC,EAAoB,oBAAA,EAAE,EAC3CN,IACFK,EAAiB,GAAKL,GAGpB,GAAA,CACF,MAAMhB,EAAW,CACf,SAAAL,EACA,YAAAC,EACA,QAASyB,CACV,CAAA,EAAE,OAAO,EACV,MAAME,EAAQF,EAAiB,GAG3B,OAAAH,GAAmBC,GAAsBF,GAAkBD,GACzDC,IAAmBD,IACrBE,EAAgBK,CAAK,EACrBJ,EAAmB,EAAI,GAIvBC,GACFI,EAAA,MAAM,QAAQ,gCAAgC,EAGzCD,QACAb,EAAO,CACN,cAAA,MAAM,gCAAiCA,CAAK,EAChDU,GAAcI,EAAAA,MAAA,MAAM,iCAAiC,EACnDd,CAAA,CAEV,EACA,CAACV,EAAYL,EAAUC,CAAW,CACpC,EAEO,MAAA,CACL,aAAAU,EACA,aAAAK,EACA,aAAAE,EACA,mBAAAC,CACF,CACF"}
|