@ynput/ayon-frontend-shared 0.3.1 → 0.3.3
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/node_modules/web-namespaces/index.cjs.js +1 -1
- package/dist/node_modules/web-namespaces/index.cjs.js.map +1 -1
- package/dist/node_modules/web-namespaces/index.es.js +3 -8
- package/dist/node_modules/web-namespaces/index.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +12 -8
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +11 -7
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +125 -120
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js +68 -63
- package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +30 -28
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +74 -56
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +2 -1
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +5 -4
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +66 -61
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +123 -113
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js +6 -6
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +178 -172
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +42 -41
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +10 -10
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +26 -26
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.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 +53 -51
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +95 -52
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.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 +13 -13
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +38 -37
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js +86 -80
- package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +2 -1
- package/dist/types/api/generated/graphqlLinks.d.ts +1 -0
- package/dist/types/components/LinksManager/LinkManagerItem.d.ts +1 -0
- package/dist/types/containers/Views/context/ViewsContext.d.ts +1 -0
- package/dist/types/containers/Views/hooks/useBaseViewMutations.d.ts +5 -2
- package/package.json +2 -1
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.cjs.js +0 -2
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.cjs.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.es.js +0 -63
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.es.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/index.cjs.js +0 -2
- package/dist/node_modules/@ungap/structured-clone/esm/index.cjs.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/index.es.js +0 -12
- package/dist/node_modules/@ungap/structured-clone/esm/index.es.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.cjs.js +0 -2
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.cjs.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.es.js +0 -107
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.es.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/types.cjs.js +0 -2
- package/dist/node_modules/@ungap/structured-clone/esm/types.cjs.js.map +0 -1
- package/dist/node_modules/@ungap/structured-clone/esm/types.es.js +0 -14
- package/dist/node_modules/@ungap/structured-clone/esm/types.es.js.map +0 -1
- package/dist/node_modules/devlop/lib/default.cjs.js +0 -2
- package/dist/node_modules/devlop/lib/default.cjs.js.map +0 -1
- package/dist/node_modules/devlop/lib/default.es.js +0 -6
- package/dist/node_modules/devlop/lib/default.es.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/decode-codepoint.cjs.js +0 -2
- package/dist/node_modules/entities/dist/esm/decode-codepoint.cjs.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/decode-codepoint.es.js +0 -39
- package/dist/node_modules/entities/dist/esm/decode-codepoint.es.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/decode.cjs.js +0 -2
- package/dist/node_modules/entities/dist/esm/decode.cjs.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/decode.es.js +0 -246
- package/dist/node_modules/entities/dist/esm/decode.es.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.cjs.js +0 -2
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.cjs.js.map +0 -1
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.es.js +0 -8
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/lib/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/lib/index.es.js +0 -218
- package/dist/node_modules/hast-util-raw/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.es.js +0 -146
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.es.js +0 -21
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.es.js +0 -113
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.es.js +0 -9
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.es.js +0 -45
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.es.js +0 -26
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.es.js +0 -99
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.es.js +0 -8
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.es.js +0 -211
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.es.js +0 -251
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.es.js +0 -15
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.es.js +0 -74
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.es.js +0 -85
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.es.js +0 -2272
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.es.js +0 -241
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.es.js +0 -3
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.es.js +0 -1941
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.es.js +0 -89
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.es.js +0 -163
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.es.js +0 -13
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.es.js +0 -62
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.es.js +0 -34
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.es.js +0 -369
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.es.js +0 -7
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.es.js +0 -567
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.es.js +0 -8
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.es.js +0 -7
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.es.js +0 -20
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.es.js +0 -37
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.es.js +0 -29
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.es.js +0 -11
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.es.js +0 -22
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.es.js +0 -15
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.es.js +0 -20
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.es.js +0 -12
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.cjs.js +0 -2
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.es.js +0 -12
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.es.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.cjs.js +0 -3
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.es.js +0 -43
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/lib/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/lib/index.es.js +0 -119
- package/dist/node_modules/hast-util-to-parse5/lib/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.es.js +0 -13
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.es.js +0 -62
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.es.js +0 -34
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.es.js +0 -369
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.es.js +0 -7
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.es.js +0 -567
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.es.js +0 -8
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.es.js +0 -7
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.es.js +0 -20
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.es.js +0 -37
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.es.js +0 -29
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.es.js +0 -11
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.es.js +0 -22
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.es.js +0 -15
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.es.js +0 -20
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.es.js +0 -12
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.es.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.cjs.js +0 -2
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.cjs.js.map +0 -1
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.es.js +0 -12
- package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.es.js.map +0 -1
- package/dist/node_modules/rehype-raw/lib/index.cjs.js +0 -2
- package/dist/node_modules/rehype-raw/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/rehype-raw/lib/index.es.js +0 -13
- package/dist/node_modules/rehype-raw/lib/index.es.js.map +0 -1
- package/dist/node_modules/unist-util-is/lib/index.cjs.js +0 -2
- package/dist/node_modules/unist-util-is/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/unist-util-is/lib/index.es.js +0 -92
- package/dist/node_modules/unist-util-is/lib/index.es.js.map +0 -1
- package/dist/node_modules/unist-util-position/lib/index.cjs.js +0 -2
- package/dist/node_modules/unist-util-position/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/unist-util-position/lib/index.es.js +0 -18
- package/dist/node_modules/unist-util-position/lib/index.es.js.map +0 -1
- package/dist/node_modules/unist-util-visit/lib/index.cjs.js +0 -2
- package/dist/node_modules/unist-util-visit/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/unist-util-visit/lib/index.es.js +0 -17
- package/dist/node_modules/unist-util-visit/lib/index.es.js.map +0 -1
- package/dist/node_modules/unist-util-visit-parents/lib/color.cjs.js +0 -2
- package/dist/node_modules/unist-util-visit-parents/lib/color.cjs.js.map +0 -1
- package/dist/node_modules/unist-util-visit-parents/lib/color.es.js +0 -7
- package/dist/node_modules/unist-util-visit-parents/lib/color.es.js.map +0 -1
- package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js +0 -2
- package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/unist-util-visit-parents/lib/index.es.js +0 -57
- package/dist/node_modules/unist-util-visit-parents/lib/index.es.js.map +0 -1
|
@@ -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, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n useGetBaseViewQuery,\n} from '@shared/api'\nimport useBuildViewMenuItems, { BASE_VIEW_ID } from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { useGlobalContext, usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useBaseViewMutations } from '../hooks/useBaseViewMutations'\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 // Working view\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n isViewWorking: boolean\n onUpdateWorkingView: (\n payload: Partial<ViewData>,\n options?: { selectView?: boolean },\n ) => Promise<void>\n // base views\n projectBaseView: ViewListItemModel | undefined\n studioBaseView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: 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 // Base view mutations\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any // dispatch is used to dispatch api mutations in pp like the share one.\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,\n projectName,\n dispatch,\n debug,\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 { user: currentUser } = useGlobalContext()\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 // 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 and filter out base views\n const { currentData: viewsListRaw = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Filter out base views from the list\n const viewsList = useMemo(\n () => viewsListRaw.filter((view) => view.label !== BASE_VIEW_ID),\n [viewsListRaw],\n )\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n viewsList,\n onCreate: handleOnViewCreated,\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 // Fetch both project and studio base views\n const { currentData: projectBaseView } = useGetBaseViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n const { currentData: studioBaseView } = useGetBaseViewQuery(\n { projectName: undefined, 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 // Base view mutations\n const { onCreateBaseView, onUpdateBaseView, onDeleteBaseView } = useBaseViewMutations({\n viewType: viewType as string,\n projectName,\n workingSettings,\n dispatch,\n })\n\n const onUpdateWorkingView = useCallback(\n async (payload: Partial<ViewData>, { selectView }: { selectView?: boolean } = {}) => {\n if (!workingView?.id) {\n console.error('No working view to update')\n return\n }\n await onUpdateView(workingView.id, payload, !projectName)\n if (selectView) {\n setSelectedView(workingView.id)\n }\n },\n [onUpdateView, workingView],\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: resetWorkingView,\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 editingViewData,\n isLoadingEditingViewData,\n viewsList,\n // Working view\n workingSettings,\n workingView,\n isViewWorking,\n onUpdateWorkingView,\n // base views\n projectBaseView,\n studioBaseView,\n // base view mutations\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\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","viewType","projectName","dispatch","debug","powerLicense","usePowerpack","currentUser","useGlobalContext","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsListRaw","isLoadingViews","useListViewsQuery","viewsList","useMemo","BASE_VIEW_ID","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","workingView","useGetWorkingViewQuery","projectBaseView","useGetBaseViewQuery","studioBaseView","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","onSaveViewFromCurrent","useSaveViewFromCurrent","onCreateBaseView","onUpdateBaseView","onDeleteBaseView","useBaseViewMutations","onUpdateWorkingView","useCallback","payload","selectView","resetWorkingView","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, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n useGetBaseViewQuery,\n} from '@shared/api'\nimport useBuildViewMenuItems, { BASE_VIEW_ID } from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { useGlobalContext, usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useBaseViewMutations } from '../hooks/useBaseViewMutations'\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 // Working view\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n isViewWorking: boolean\n onUpdateWorkingView: (\n payload: Partial<ViewData>,\n options?: { selectView?: boolean },\n ) => Promise<void>\n // base views\n projectBaseView: ViewListItemModel | undefined\n studioBaseView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: 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 // Base view mutations\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onLoadBaseView: (isStudioScope: boolean) => Promise<void>\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any // dispatch is used to dispatch api mutations in pp like the share one.\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,\n projectName,\n dispatch,\n debug,\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 { user: currentUser } = useGlobalContext()\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 // 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 and filter out base views\n const { currentData: viewsListRaw = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Filter out base views from the list\n const viewsList = useMemo(\n () => viewsListRaw.filter((view) => view.label !== BASE_VIEW_ID),\n [viewsListRaw],\n )\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n viewsList,\n onCreate: handleOnViewCreated,\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 // Fetch both project and studio base views\n const { currentData: projectBaseView } = useGetBaseViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n const { currentData: studioBaseView } = useGetBaseViewQuery(\n { projectName: undefined, 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 // Base view mutations\n const { onCreateBaseView, onUpdateBaseView, onDeleteBaseView, onLoadBaseView } = useBaseViewMutations({\n viewType: viewType as string,\n projectName,\n workingSettings,\n workingView,\n dispatch,\n })\n\n const onUpdateWorkingView = useCallback(\n async (payload: Partial<ViewData>, { selectView }: { selectView?: boolean } = {}) => {\n if (!workingView?.id) {\n console.error('No working view to update')\n return\n }\n await onUpdateView(workingView.id, payload, !projectName)\n if (selectView) {\n setSelectedView(workingView.id)\n }\n },\n [onUpdateView, workingView],\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: resetWorkingView,\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 editingViewData,\n isLoadingEditingViewData,\n viewsList,\n // Working view\n workingSettings,\n workingView,\n isViewWorking,\n onUpdateWorkingView,\n // base views\n projectBaseView,\n studioBaseView,\n // base view mutations\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\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","viewType","projectName","dispatch","debug","powerLicense","usePowerpack","currentUser","useGlobalContext","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsListRaw","isLoadingViews","useListViewsQuery","viewsList","useMemo","BASE_VIEW_ID","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","workingView","useGetWorkingViewQuery","projectBaseView","useGetBaseViewQuery","studioBaseView","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","onSaveViewFromCurrent","useSaveViewFromCurrent","onCreateBaseView","onUpdateBaseView","onDeleteBaseView","onLoadBaseView","useBaseViewMutations","onUpdateWorkingView","useCallback","payload","selectView","resetWorkingView","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { createContext as
|
|
1
|
+
import { j as it } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
+
import { createContext as ot, useState as M, useMemo as G, useCallback as O, useContext as et } from "react";
|
|
3
3
|
import "react-dom";
|
|
4
4
|
import "../Views.styled.es.js";
|
|
5
5
|
import "clsx";
|
|
6
|
-
import { WORKING_VIEW_ID as
|
|
7
|
-
import { useLocalStorage as
|
|
6
|
+
import { WORKING_VIEW_ID as rt } from "../ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
7
|
+
import { useLocalStorage as st } from "../../../hooks/useLocalStorage.es.js";
|
|
8
8
|
import "../../../context/RemoteModulesContext.es.js";
|
|
9
9
|
import "../../../../../_virtual/runtime.es.js";
|
|
10
10
|
import "../../../../../_virtual/semver.es.js";
|
|
@@ -82,15 +82,15 @@ import "../../../api/queries/project/getProject.es.js";
|
|
|
82
82
|
import "../../../api/queries/project/updateProject.es.js";
|
|
83
83
|
import "../../../api/queries/review/getReview.es.js";
|
|
84
84
|
import "../../../api/queries/review/updateReview.es.js";
|
|
85
|
-
import { useGetShareOptionsQuery as
|
|
85
|
+
import { useGetShareOptionsQuery as nt } from "../../../api/queries/share/share.es.js";
|
|
86
86
|
import "../../../api/queries/system/getSystem.es.js";
|
|
87
87
|
import "../../../api/queries/userDashboard/getUserDashboard.es.js";
|
|
88
88
|
import "../../../api/queries/users/getUsers.es.js";
|
|
89
89
|
import "../../../api/queries/users/updateUsers.es.js";
|
|
90
90
|
import "../../../api/queries/users/guests.es.js";
|
|
91
91
|
import "../../../api/queries/versions/updateVersions.es.js";
|
|
92
|
-
import { useListViewsQuery as
|
|
93
|
-
import { viewsQueries as
|
|
92
|
+
import { useListViewsQuery as mt, useGetWorkingViewQuery as pt, useGetBaseViewQuery as Q, useGetViewQuery as at } from "../../../api/queries/views/getViews.es.js";
|
|
93
|
+
import { viewsQueries as dt } from "../../../api/queries/views/updateViews.es.js";
|
|
94
94
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
95
95
|
import "../../../api/queries/uris/getUris.es.js";
|
|
96
96
|
import "lodash";
|
|
@@ -106,7 +106,7 @@ import { usePowerpack as ct } from "../../../context/PowerpackContext.es.js";
|
|
|
106
106
|
import "../../../context/MoveEntityContext.es.js";
|
|
107
107
|
import "../../../context/MenuContext.es.js";
|
|
108
108
|
import "../../../context/WebsocketContext.es.js";
|
|
109
|
-
import { useGlobalContext as
|
|
109
|
+
import { useGlobalContext as ut } from "../../../context/GlobalContext.es.js";
|
|
110
110
|
import "../../../context/ProjectContext.es.js";
|
|
111
111
|
import "../../../context/ProjectFoldersContext.es.js";
|
|
112
112
|
import "../../../context/UriContext.es.js";
|
|
@@ -116,23 +116,23 @@ import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
|
|
|
116
116
|
import "@ynput/ayon-react-components";
|
|
117
117
|
import "../ViewsMenu/ViewsMenu.es.js";
|
|
118
118
|
import "uuid";
|
|
119
|
-
import
|
|
120
|
-
import { useBaseViewMutations as
|
|
121
|
-
import { useSaveViewFromCurrent as
|
|
122
|
-
import { useSelectedView as
|
|
123
|
-
import { useViewsMutations as
|
|
119
|
+
import wt, { BASE_VIEW_ID as Vt } from "../hooks/useBuildViewMenuItems.es.js";
|
|
120
|
+
import { useBaseViewMutations as lt } from "../hooks/useBaseViewMutations.es.js";
|
|
121
|
+
import { useSaveViewFromCurrent as gt } from "../hooks/useSaveViewFromCurrent.es.js";
|
|
122
|
+
import { useSelectedView as ft } from "../hooks/useSelectedView.es.js";
|
|
123
|
+
import { useViewsMutations as St } from "../hooks/useViewsMutations.es.js";
|
|
124
124
|
import "../../../util/pubsub.es.js";
|
|
125
|
-
import { useViewSettingsChanged as
|
|
126
|
-
const R =
|
|
125
|
+
import { useViewSettingsChanged as Ct } from "../hooks/useViewSettingsChanged.es.js";
|
|
126
|
+
const R = ot(null), _o = ({
|
|
127
127
|
children: s,
|
|
128
128
|
viewType: t,
|
|
129
129
|
projectName: i,
|
|
130
130
|
dispatch: a,
|
|
131
131
|
debug: V
|
|
132
132
|
}) => {
|
|
133
|
-
let { powerLicense:
|
|
134
|
-
V?.powerLicense !== void 0 && (console.warn("Using debug power license:", V.powerLicense),
|
|
135
|
-
const { user: C } =
|
|
133
|
+
let { powerLicense: d } = ct();
|
|
134
|
+
V?.powerLicense !== void 0 && (console.warn("Using debug power license:", V.powerLicense), d = V.powerLicense);
|
|
135
|
+
const { user: C } = ut(), [U, k] = M(!1), [n, D] = M(null), b = "viewsMenuCollapsed", [l, I] = st(
|
|
136
136
|
b,
|
|
137
137
|
{}
|
|
138
138
|
), F = (o) => {
|
|
@@ -141,26 +141,26 @@ const R = it(null), Po = ({
|
|
|
141
141
|
const E = { ...l };
|
|
142
142
|
E[w] = !1, I(E);
|
|
143
143
|
}
|
|
144
|
-
}, { data: P } =
|
|
144
|
+
}, { data: P } = nt(
|
|
145
145
|
{ projectName: i },
|
|
146
|
-
{ skip: !
|
|
147
|
-
), [r, m, g] =
|
|
146
|
+
{ skip: !d || !n }
|
|
147
|
+
), [r, m, g] = ft({
|
|
148
148
|
viewType: t,
|
|
149
149
|
projectName: i
|
|
150
|
-
}), [_,
|
|
150
|
+
}), [_, c] = Ct({
|
|
151
151
|
viewType: t
|
|
152
|
-
}), { currentData: h = [], isLoading: A } =
|
|
152
|
+
}), { currentData: h = [], isLoading: A } = mt(
|
|
153
153
|
{ projectName: i, viewType: t },
|
|
154
154
|
{ skip: !t }
|
|
155
155
|
), p = G(
|
|
156
|
-
() => h.filter((o) => o.label !==
|
|
156
|
+
() => h.filter((o) => o.label !== Vt),
|
|
157
157
|
[h]
|
|
158
|
-
), { onCreateView: K, onDeleteView: q, onUpdateView: u, onResetWorkingView: x } =
|
|
158
|
+
), { onCreateView: K, onDeleteView: q, onUpdateView: u, onResetWorkingView: x } = St({
|
|
159
159
|
viewType: t,
|
|
160
160
|
projectName: i,
|
|
161
161
|
viewsList: p,
|
|
162
162
|
onCreate: F
|
|
163
|
-
}), { currentData: e } =
|
|
163
|
+
}), { currentData: e } = pt(
|
|
164
164
|
{ projectName: i, viewType: t },
|
|
165
165
|
{ skip: !t }
|
|
166
166
|
), { currentData: y } = Q(
|
|
@@ -169,28 +169,29 @@ const R = it(null), Po = ({
|
|
|
169
169
|
), { currentData: z } = Q(
|
|
170
170
|
{ projectName: void 0, viewType: t },
|
|
171
171
|
{ skip: !t }
|
|
172
|
-
), f = e?.settings,
|
|
172
|
+
), f = e?.settings, L = !r || r.id === rt ? f : r?.settings, v = r?.id === e?.id, W = _ && v && g && g !== e?.id ? g : void 0, { currentData: S, isFetching: H } = at(
|
|
173
173
|
{
|
|
174
174
|
viewId: n,
|
|
175
|
-
projectName:
|
|
175
|
+
projectName: kt(n, p) ? void 0 : i,
|
|
176
176
|
viewType: t
|
|
177
177
|
},
|
|
178
|
-
{ skip: typeof n != "string" || !
|
|
178
|
+
{ skip: typeof n != "string" || !d }
|
|
179
179
|
), J = G(
|
|
180
180
|
() => n === S?.id ? S : void 0,
|
|
181
181
|
[n, S]
|
|
182
|
-
), { onSaveViewFromCurrent: X } =
|
|
182
|
+
), { onSaveViewFromCurrent: X } = gt({
|
|
183
183
|
viewType: t,
|
|
184
184
|
projectName: i,
|
|
185
185
|
viewsList: p,
|
|
186
|
-
sourceSettings:
|
|
186
|
+
sourceSettings: L,
|
|
187
187
|
onUpdateView: u
|
|
188
|
-
}), { onCreateBaseView: Y, onUpdateBaseView: Z, onDeleteBaseView:
|
|
188
|
+
}), { onCreateBaseView: Y, onUpdateBaseView: Z, onDeleteBaseView: $, onLoadBaseView: j } = lt({
|
|
189
189
|
viewType: t,
|
|
190
190
|
projectName: i,
|
|
191
191
|
workingSettings: f,
|
|
192
|
+
workingView: e,
|
|
192
193
|
dispatch: a
|
|
193
|
-
}),
|
|
194
|
+
}), N = O(
|
|
194
195
|
async (o, { selectView: w } = {}) => {
|
|
195
196
|
if (!e?.id) {
|
|
196
197
|
console.error("No working view to update");
|
|
@@ -205,45 +206,45 @@ const R = it(null), Po = ({
|
|
|
205
206
|
existingWorkingViewId: e?.id,
|
|
206
207
|
selectedViewId: r?.id,
|
|
207
208
|
setSelectedView: m,
|
|
208
|
-
setSettingsChanged:
|
|
209
|
+
setSettingsChanged: c,
|
|
209
210
|
notify: !0
|
|
210
211
|
});
|
|
211
212
|
} catch (o) {
|
|
212
213
|
console.error("Failed to reset view:", o);
|
|
213
214
|
}
|
|
214
|
-
}, [e, x, r, m,
|
|
215
|
+
}, [e, x, r, m, c]), T = wt({
|
|
215
216
|
viewsList: p,
|
|
216
217
|
workingView: e,
|
|
217
218
|
viewType: t,
|
|
218
219
|
projectName: i,
|
|
219
220
|
currentUser: C,
|
|
220
|
-
useWorkingView: !
|
|
221
|
+
useWorkingView: !d,
|
|
221
222
|
editingViewId: W,
|
|
222
223
|
selectedId: r?.id,
|
|
223
224
|
collapsed: l,
|
|
224
225
|
setCollapsed: I,
|
|
225
226
|
onResetWorkingView: B,
|
|
226
227
|
onSelect: (o) => {
|
|
227
|
-
m(o),
|
|
228
|
+
m(o), c(!1), k(!1);
|
|
228
229
|
},
|
|
229
230
|
onEdit: (o) => D(o),
|
|
230
231
|
onSave: async (o) => X(o)
|
|
231
|
-
}),
|
|
232
|
+
}), tt = {
|
|
232
233
|
viewType: t,
|
|
233
234
|
projectName: i,
|
|
234
235
|
isMenuOpen: U,
|
|
235
236
|
editingView: n,
|
|
236
237
|
currentUser: C,
|
|
237
238
|
selectedView: r,
|
|
238
|
-
viewSettings:
|
|
239
|
+
viewSettings: L,
|
|
239
240
|
editingViewData: J,
|
|
240
241
|
isLoadingEditingViewData: H,
|
|
241
242
|
viewsList: p,
|
|
242
243
|
// Working view
|
|
243
244
|
workingSettings: f,
|
|
244
245
|
workingView: e,
|
|
245
|
-
isViewWorking:
|
|
246
|
-
onUpdateWorkingView:
|
|
246
|
+
isViewWorking: v,
|
|
247
|
+
onUpdateWorkingView: N,
|
|
247
248
|
// base views
|
|
248
249
|
projectBaseView: y,
|
|
249
250
|
studioBaseView: z,
|
|
@@ -251,15 +252,16 @@ const R = it(null), Po = ({
|
|
|
251
252
|
onCreateBaseView: Y,
|
|
252
253
|
onUpdateBaseView: Z,
|
|
253
254
|
onDeleteBaseView: $,
|
|
255
|
+
onLoadBaseView: j,
|
|
254
256
|
editingViewId: W,
|
|
255
|
-
viewMenuItems:
|
|
257
|
+
viewMenuItems: T,
|
|
256
258
|
isLoadingViews: A,
|
|
257
259
|
// data
|
|
258
260
|
shareOptions: P,
|
|
259
261
|
setIsMenuOpen: k,
|
|
260
262
|
setEditingView: D,
|
|
261
263
|
setSelectedView: m,
|
|
262
|
-
onSettingsChanged:
|
|
264
|
+
onSettingsChanged: c,
|
|
263
265
|
// mutations
|
|
264
266
|
onCreateView: K,
|
|
265
267
|
onUpdateView: u,
|
|
@@ -267,19 +269,19 @@ const R = it(null), Po = ({
|
|
|
267
269
|
// shared actions
|
|
268
270
|
resetWorkingView: B,
|
|
269
271
|
// api
|
|
270
|
-
api:
|
|
272
|
+
api: dt,
|
|
271
273
|
dispatch: a
|
|
272
274
|
};
|
|
273
|
-
return /* @__PURE__ */
|
|
274
|
-
},
|
|
275
|
-
const s =
|
|
275
|
+
return /* @__PURE__ */ it.jsx(R.Provider, { value: tt, children: s });
|
|
276
|
+
}, Ao = () => {
|
|
277
|
+
const s = et(R);
|
|
276
278
|
if (!s)
|
|
277
279
|
throw new Error("useViewsContext must be used within a ViewsProvider");
|
|
278
280
|
return s;
|
|
279
|
-
},
|
|
281
|
+
}, kt = (s, t) => s ? t.find((a) => a.id === s)?.scope === "studio" : !0;
|
|
280
282
|
export {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
283
|
+
_o as ViewsProvider,
|
|
284
|
+
kt as isViewStudioScope,
|
|
285
|
+
Ao as useViewsContext
|
|
284
286
|
};
|
|
285
287
|
//# 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, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n useGetBaseViewQuery,\n} from '@shared/api'\nimport useBuildViewMenuItems, { BASE_VIEW_ID } from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { useGlobalContext, usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useBaseViewMutations } from '../hooks/useBaseViewMutations'\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 // Working view\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n isViewWorking: boolean\n onUpdateWorkingView: (\n payload: Partial<ViewData>,\n options?: { selectView?: boolean },\n ) => Promise<void>\n // base views\n projectBaseView: ViewListItemModel | undefined\n studioBaseView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: 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 // Base view mutations\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any // dispatch is used to dispatch api mutations in pp like the share one.\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,\n projectName,\n dispatch,\n debug,\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 { user: currentUser } = useGlobalContext()\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 // 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 and filter out base views\n const { currentData: viewsListRaw = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Filter out base views from the list\n const viewsList = useMemo(\n () => viewsListRaw.filter((view) => view.label !== BASE_VIEW_ID),\n [viewsListRaw],\n )\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n viewsList,\n onCreate: handleOnViewCreated,\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 // Fetch both project and studio base views\n const { currentData: projectBaseView } = useGetBaseViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n const { currentData: studioBaseView } = useGetBaseViewQuery(\n { projectName: undefined, 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 // Base view mutations\n const { onCreateBaseView, onUpdateBaseView, onDeleteBaseView } = useBaseViewMutations({\n viewType: viewType as string,\n projectName,\n workingSettings,\n dispatch,\n })\n\n const onUpdateWorkingView = useCallback(\n async (payload: Partial<ViewData>, { selectView }: { selectView?: boolean } = {}) => {\n if (!workingView?.id) {\n console.error('No working view to update')\n return\n }\n await onUpdateView(workingView.id, payload, !projectName)\n if (selectView) {\n setSelectedView(workingView.id)\n }\n },\n [onUpdateView, workingView],\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: resetWorkingView,\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 editingViewData,\n isLoadingEditingViewData,\n viewsList,\n // Working view\n workingSettings,\n workingView,\n isViewWorking,\n onUpdateWorkingView,\n // base views\n projectBaseView,\n studioBaseView,\n // base view mutations\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\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","viewType","projectName","dispatch","debug","powerLicense","usePowerpack","currentUser","useGlobalContext","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsListRaw","isLoadingViews","useListViewsQuery","viewsList","useMemo","BASE_VIEW_ID","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","workingView","useGetWorkingViewQuery","projectBaseView","useGetBaseViewQuery","studioBaseView","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","onSaveViewFromCurrent","useSaveViewFromCurrent","onCreateBaseView","onUpdateBaseView","onDeleteBaseView","useBaseViewMutations","onUpdateWorkingView","useCallback","payload","selectView","resetWorkingView","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, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n useGetBaseViewQuery,\n} from '@shared/api'\nimport useBuildViewMenuItems, { BASE_VIEW_ID } from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { useGlobalContext, usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useBaseViewMutations } from '../hooks/useBaseViewMutations'\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 // Working view\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n isViewWorking: boolean\n onUpdateWorkingView: (\n payload: Partial<ViewData>,\n options?: { selectView?: boolean },\n ) => Promise<void>\n // base views\n projectBaseView: ViewListItemModel | undefined\n studioBaseView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: 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 // Base view mutations\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onLoadBaseView: (isStudioScope: boolean) => Promise<void>\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any // dispatch is used to dispatch api mutations in pp like the share one.\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,\n projectName,\n dispatch,\n debug,\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 { user: currentUser } = useGlobalContext()\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 // 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 and filter out base views\n const { currentData: viewsListRaw = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Filter out base views from the list\n const viewsList = useMemo(\n () => viewsListRaw.filter((view) => view.label !== BASE_VIEW_ID),\n [viewsListRaw],\n )\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n viewsList,\n onCreate: handleOnViewCreated,\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 // Fetch both project and studio base views\n const { currentData: projectBaseView } = useGetBaseViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n const { currentData: studioBaseView } = useGetBaseViewQuery(\n { projectName: undefined, 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 // Base view mutations\n const { onCreateBaseView, onUpdateBaseView, onDeleteBaseView, onLoadBaseView } = useBaseViewMutations({\n viewType: viewType as string,\n projectName,\n workingSettings,\n workingView,\n dispatch,\n })\n\n const onUpdateWorkingView = useCallback(\n async (payload: Partial<ViewData>, { selectView }: { selectView?: boolean } = {}) => {\n if (!workingView?.id) {\n console.error('No working view to update')\n return\n }\n await onUpdateView(workingView.id, payload, !projectName)\n if (selectView) {\n setSelectedView(workingView.id)\n }\n },\n [onUpdateView, workingView],\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: resetWorkingView,\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 editingViewData,\n isLoadingEditingViewData,\n viewsList,\n // Working view\n workingSettings,\n workingView,\n isViewWorking,\n onUpdateWorkingView,\n // base views\n projectBaseView,\n studioBaseView,\n // base view mutations\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\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","viewType","projectName","dispatch","debug","powerLicense","usePowerpack","currentUser","useGlobalContext","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsListRaw","isLoadingViews","useListViewsQuery","viewsList","useMemo","BASE_VIEW_ID","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","workingView","useGetWorkingViewQuery","projectBaseView","useGetBaseViewQuery","studioBaseView","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","onSaveViewFromCurrent","useSaveViewFromCurrent","onCreateBaseView","onUpdateBaseView","onDeleteBaseView","onLoadBaseView","useBaseViewMutations","onUpdateWorkingView","useCallback","payload","selectView","resetWorkingView","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 d=require("react");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/activities/getCategories.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/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.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/entityLists/listFolders.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/versions/getVersionsProducts.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/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");const v=require("../../../api/queries/views/getViews.cjs.js"),o=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");const q=require("react-toastify"),y=require("./useBuildViewMenuItems.cjs.js"),F=({viewType:u,projectName:t,workingSettings:n,workingView:c,dispatch:a})=>{const[b]=o.useCreateViewMutation(),[l]=o.useUpdateViewMutation(),[V]=o.useDeleteViewMutation(),[f]=o.useSetDefaultViewMutation(),g=d.useCallback(async i=>{try{const e=n||{},r={label:y.BASE_VIEW_ID,working:!1,settings:e},s=await b({payload:r,viewType:u,projectName:i?void 0:t}).unwrap();a(o.viewsQueries.util.invalidateTags([{type:"view",id:s.id},v.getScopeTag(u,i?void 0:t)]));const w=i?"Studio":"Project";q.toast.success(`${w} default view created successfully`)}catch(e){const r=i?"studio":"project";console.error(`Failed to create ${r} base view:`,e),q.toast.error(`Failed to create ${r} base view: ${e?.message||e}`)}},[b,u,t,n,a]),$=d.useCallback(async(i,e)=>{try{await l({viewId:i,viewType:u,projectName:e?void 0:t,payload:{settings:n||{}}}).unwrap(),a(o.viewsQueries.util.invalidateTags([{type:"view",id:i},v.getScopeTag(u,e?void 0:t)]));const s=e?"Studio":"Project";q.toast.success(`${s} default view updated successfully`)}catch(r){const s=e?"studio":"project";console.error(`Failed to update ${s} base view:`,r),q.toast.error(`Failed to update ${s} base view: ${r?.message||r}`)}},[l,u,t,n,a]),M=d.useCallback(async(i,e)=>{try{await V({viewId:i,viewType:u,projectName:e?void 0:t}).unwrap(),a(o.viewsQueries.util.invalidateTags([{type:"view",id:i},v.getScopeTag(u,e?void 0:t)]));const r=e?"Studio":"Project";q.toast.success(`${r} default view removed successfully`)}catch(r){const s=e?"studio":"project";console.error(`Failed to remove ${s} base view:`,r),q.toast.error(`Failed to remove ${s} base view: ${r?.message||r}`)}},[V,u,t,a]),B=d.useCallback(async i=>{try{if(!c?.id)throw new Error("No working view available to update");const s=(await a(o.viewsQueries.endpoints.getBaseView.initiate({viewType:u,projectName:i?void 0:t},{subscribe:!1,forceRefetch:!0}))).data;if(!s||!s.settings)throw new Error("Base view not found or has no settings");await l({viewId:c.id,viewType:u,projectName:t,payload:{settings:s.settings}}).unwrap(),await f({viewType:u,projectName:t,setDefaultViewRequestModel:{viewId:c.id}}).unwrap();const w=i?"Studio":"Project";q.toast.success(`Loaded ${w} default view to working view`)}catch(e){const r=i?"studio":"project";console.error(`Failed to load ${r} base view:`,e),q.toast.error(`Failed to load ${r} base view: ${e?.message||e}`)}},[c,l,f,u,t,a]);return{onCreateBaseView:g,onUpdateBaseView:$,onDeleteBaseView:M,onLoadBaseView:B}};exports.useBaseViewMutations=F;
|
|
2
2
|
//# sourceMappingURL=useBaseViewMutations.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseViewMutations.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBaseViewMutations.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport {\n useCreateViewMutation,\n useUpdateViewMutation,\n useDeleteViewMutation,\n viewsQueries,\n} from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { getScopeTag } from '@shared/api/queries/views/getViews'\nimport { BASE_VIEW_ID } from './useBuildViewMenuItems'\nimport { ViewSettings } from '../context/ViewsContext'\n\ntype Props = {\n viewType?: string\n projectName?: string\n workingSettings?: ViewSettings\n dispatch?: any\n}\n\nexport type UseBaseViewMutations = {\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n}\n\nexport const useBaseViewMutations = ({\n viewType,\n projectName,\n workingSettings,\n dispatch,\n}: Props): UseBaseViewMutations => {\n const [createViewMutation] = useCreateViewMutation()\n const [updateViewMutation] = useUpdateViewMutation()\n const [deleteViewMutation] = useDeleteViewMutation()\n\n const onCreateBaseView = useCallback(\n async (isStudioScope: boolean) => {\n try {\n const settings = workingSettings || {}\n const baseViewPayload = {\n label: BASE_VIEW_ID,\n working: false,\n settings,\n } as any\n\n const result = await createViewMutation({\n payload: baseViewPayload,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n }).unwrap()\n\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: result.id },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view created successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to create ${scope} base view:`, error)\n toast.error(`Failed to create ${scope} base view: ${error?.message || error}`)\n }\n },\n [createViewMutation, viewType, projectName, workingSettings, dispatch],\n )\n\n const onUpdateBaseView = useCallback(\n async (baseViewId: string, isStudioScope: boolean) => {\n try {\n const settings = workingSettings || {}\n await updateViewMutation({\n viewId: baseViewId,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n payload: { settings },\n }).unwrap()\n\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: baseViewId },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view updated successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to update ${scope} base view:`, error)\n toast.error(`Failed to update ${scope} base view: ${error?.message || error}`)\n }\n },\n [updateViewMutation, viewType, projectName, workingSettings, dispatch],\n )\n\n const onDeleteBaseView = useCallback(\n async (baseViewId: string, isStudioScope: boolean) => {\n try {\n await deleteViewMutation({\n viewId: baseViewId,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n }).unwrap()\n\n // Invalidate tags to force refetch - use the same tag format as getBaseView\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: baseViewId },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view removed successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to remove ${scope} base view:`, error)\n toast.error(`Failed to remove ${scope} base view: ${error?.message || error}`)\n }\n },\n [deleteViewMutation, viewType, projectName, dispatch],\n )\n\n return {\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n }\n}\n"],"names":["useBaseViewMutations","viewType","projectName","workingSettings","dispatch","createViewMutation","useCreateViewMutation","updateViewMutation","useUpdateViewMutation","deleteViewMutation","useDeleteViewMutation","onCreateBaseView","useCallback","isStudioScope","settings","baseViewPayload","BASE_VIEW_ID","result","viewsQueries","getScopeTag","scope","toast","error","onUpdateBaseView","baseViewId","onDeleteBaseView"],"mappings":"o0JAyBaA,EAAuB,CAAC,CACnC,SAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,SAAAC,CACF,IAAmC,CACjC,KAAM,CAACC,CAAkB,EAAIC,wBAAA,EACvB,CAACC,CAAkB,EAAIC,wBAAA,EACvB,CAACC,CAAkB,EAAIC,wBAAA,EAEvBC,EAAmBC,EAAAA,YACvB,MAAOC,GAA2B,CAChC,GAAI,CACF,MAAMC,EAAWX,GAAmB,CAAA,EAC9BY,EAAkB,CACtB,MAAOC,EAAAA,aACP,QAAS,GACT,SAAAF,CAAA,EAGIG,EAAS,MAAMZ,EAAmB,CACtC,QAASU,EACT,SAAAd,EACA,YAAaY,EAAgB,OAAYX,CAAA,CAC1C,EAAE,OAAA,EAEHE,EACEc,EAAAA,aAAa,KAAK,eAAe,CAC/B,CAAE,KAAM,OAAQ,GAAID,EAAO,EAAA,EAC3BE,EAAAA,YAAYlB,EAAoBY,EAAgB,OAAYX,CAAW,CAAA,CACxE,CAAA,EAGH,MAAMkB,EAAQP,EAAgB,SAAW,UACzCQ,EAAAA,MAAM,QAAQ,GAAGD,CAAK,oCAAoC,CAC5D,OAASE,EAAY,CACnB,MAAMF,EAAQP,EAAgB,SAAW,UACzC,QAAQ,MAAM,oBAAoBO,CAAK,cAAeE,CAAK,EAC3DD,QAAM,MAAM,oBAAoBD,CAAK,eAAeE,GAAO,SAAWA,CAAK,EAAE,CAC/E,CACF,EACA,CAACjB,EAAoBJ,EAAUC,EAAaC,EAAiBC,CAAQ,CAAA,EAGjEmB,EAAmBX,EAAAA,YACvB,MAAOY,EAAoBX,IAA2B,CACpD,GAAI,CAEF,MAAMN,EAAmB,CACvB,OAAQiB,EACR,SAAAvB,EACA,YAAaY,EAAgB,OAAYX,EACzC,QAAS,CAAE,SALIC,GAAmB,CAAA,CAKvB,CAAS,CACrB,EAAE,OAAA,EAEHC,EACEc,EAAAA,aAAa,KAAK,eAAe,CAC/B,CAAE,KAAM,OAAQ,GAAIM,CAAA,EACpBL,EAAAA,YAAYlB,EAAoBY,EAAgB,OAAYX,CAAW,CAAA,CACxE,CAAA,EAGH,MAAMkB,EAAQP,EAAgB,SAAW,UACzCQ,EAAAA,MAAM,QAAQ,GAAGD,CAAK,oCAAoC,CAC5D,OAASE,EAAY,CACnB,MAAMF,EAAQP,EAAgB,SAAW,UACzC,QAAQ,MAAM,oBAAoBO,CAAK,cAAeE,CAAK,EAC3DD,QAAM,MAAM,oBAAoBD,CAAK,eAAeE,GAAO,SAAWA,CAAK,EAAE,CAC/E,CACF,EACA,CAACf,EAAoBN,EAAUC,EAAaC,EAAiBC,CAAQ,CAAA,EAGjEqB,EAAmBb,EAAAA,YACvB,MAAOY,EAAoBX,IAA2B,CACpD,GAAI,CACF,MAAMJ,EAAmB,CACvB,OAAQe,EACR,SAAAvB,EACA,YAAaY,EAAgB,OAAYX,CAAA,CAC1C,EAAE,OAAA,EAGHE,EACEc,EAAAA,aAAa,KAAK,eAAe,CAC/B,CAAE,KAAM,OAAQ,GAAIM,CAAA,EACpBL,EAAAA,YAAYlB,EAAoBY,EAAgB,OAAYX,CAAW,CAAA,CACxE,CAAA,EAGH,MAAMkB,EAAQP,EAAgB,SAAW,UACzCQ,EAAAA,MAAM,QAAQ,GAAGD,CAAK,oCAAoC,CAC5D,OAASE,EAAY,CACnB,MAAMF,EAAQP,EAAgB,SAAW,UACzC,QAAQ,MAAM,oBAAoBO,CAAK,cAAeE,CAAK,EAC3DD,QAAM,MAAM,oBAAoBD,CAAK,eAAeE,GAAO,SAAWA,CAAK,EAAE,CAC/E,CACF,EACA,CAACb,EAAoBR,EAAUC,EAAaE,CAAQ,CAAA,EAGtD,MAAO,CACL,iBAAAO,EACA,iBAAAY,EACA,iBAAAE,CAAA,CAEJ"}
|
|
1
|
+
{"version":3,"file":"useBaseViewMutations.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBaseViewMutations.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport {\n useCreateViewMutation,\n useUpdateViewMutation,\n useDeleteViewMutation,\n useSetDefaultViewMutation,\n viewsQueries,\n ViewListItemModel,\n} from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { getScopeTag } from '@shared/api/queries/views/getViews'\nimport { BASE_VIEW_ID } from './useBuildViewMenuItems'\nimport { ViewSettings } from '@shared/containers'\n\ntype Props = {\n viewType?: string\n projectName?: string\n workingSettings?: ViewSettings\n workingView?: ViewListItemModel\n dispatch?: any\n}\n\nexport type UseBaseViewMutations = {\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onLoadBaseView: (isStudioScope: boolean) => Promise<void>\n}\n\nexport const useBaseViewMutations = ({\n viewType,\n projectName,\n workingSettings,\n workingView,\n dispatch,\n}: Props): UseBaseViewMutations => {\n const [createViewMutation] = useCreateViewMutation()\n const [updateViewMutation] = useUpdateViewMutation()\n const [deleteViewMutation] = useDeleteViewMutation()\n const [setDefaultViewMutation] = useSetDefaultViewMutation()\n\n const onCreateBaseView = useCallback(\n async (isStudioScope: boolean) => {\n try {\n const settings = workingSettings || {}\n const baseViewPayload = {\n label: BASE_VIEW_ID,\n working: false,\n settings,\n } as any\n\n const result = await createViewMutation({\n payload: baseViewPayload,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n }).unwrap()\n\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: result.id },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view created successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to create ${scope} base view:`, error)\n toast.error(`Failed to create ${scope} base view: ${error?.message || error}`)\n }\n },\n [createViewMutation, viewType, projectName, workingSettings, dispatch],\n )\n\n const onUpdateBaseView = useCallback(\n async (baseViewId: string, isStudioScope: boolean) => {\n try {\n const settings = workingSettings || {}\n await updateViewMutation({\n viewId: baseViewId,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n payload: { settings },\n }).unwrap()\n\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: baseViewId },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view updated successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to update ${scope} base view:`, error)\n toast.error(`Failed to update ${scope} base view: ${error?.message || error}`)\n }\n },\n [updateViewMutation, viewType, projectName, workingSettings, dispatch],\n )\n\n const onDeleteBaseView = useCallback(\n async (baseViewId: string, isStudioScope: boolean) => {\n try {\n await deleteViewMutation({\n viewId: baseViewId,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n }).unwrap()\n\n // Invalidate tags to force refetch - use the same tag format as getBaseView\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: baseViewId },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view removed successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to remove ${scope} base view:`, error)\n toast.error(`Failed to remove ${scope} base view: ${error?.message || error}`)\n }\n },\n [deleteViewMutation, viewType, projectName, dispatch],\n )\n\n const onLoadBaseView = useCallback(\n async (isStudioScope: boolean) => {\n try {\n if (!workingView?.id) {\n throw new Error('No working view available to update')\n }\n\n // Fetch the specific base view (project or studio)\n const baseViewPromise = dispatch(\n viewsQueries.endpoints.getBaseView.initiate(\n {\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n },\n { subscribe: false, forceRefetch: true }\n )\n )\n const baseViewResult = await baseViewPromise\n const baseView = baseViewResult.data\n\n if (!baseView || !baseView.settings) {\n throw new Error('Base view not found or has no settings')\n }\n\n // Update the working view with the base view settings\n await updateViewMutation({\n viewId: workingView.id,\n viewType: viewType as string,\n projectName,\n payload: { settings: baseView.settings },\n }).unwrap()\n\n // Set the working view as the default view\n await setDefaultViewMutation({\n viewType: viewType as string,\n projectName,\n setDefaultViewRequestModel: { viewId: workingView.id },\n }).unwrap()\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`Loaded ${scope} default view to working view`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to load ${scope} base view:`, error)\n toast.error(`Failed to load ${scope} base view: ${error?.message || error}`)\n }\n },\n [\n workingView,\n updateViewMutation,\n setDefaultViewMutation,\n viewType,\n projectName,\n dispatch,\n ],\n )\n\n return {\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n }\n}\n"],"names":["useBaseViewMutations","viewType","projectName","workingSettings","workingView","dispatch","createViewMutation","useCreateViewMutation","updateViewMutation","useUpdateViewMutation","deleteViewMutation","useDeleteViewMutation","setDefaultViewMutation","useSetDefaultViewMutation","onCreateBaseView","useCallback","isStudioScope","settings","baseViewPayload","BASE_VIEW_ID","result","viewsQueries","getScopeTag","scope","toast","error","onUpdateBaseView","baseViewId","onDeleteBaseView","onLoadBaseView","baseView"],"mappings":"o0JA6BaA,EAAuB,CAAC,CACnC,SAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,YAAAC,EACA,SAAAC,CACF,IAAmC,CACjC,KAAM,CAACC,CAAkB,EAAIC,wBAAA,EACvB,CAACC,CAAkB,EAAIC,wBAAA,EACvB,CAACC,CAAkB,EAAIC,wBAAA,EACvB,CAACC,CAAsB,EAAIC,4BAAA,EAE3BC,EAAmBC,EAAAA,YACvB,MAAOC,GAA2B,CAChC,GAAI,CACF,MAAMC,EAAWd,GAAmB,CAAA,EAC9Be,EAAkB,CACtB,MAAOC,EAAAA,aACP,QAAS,GACT,SAAAF,CAAA,EAGIG,EAAS,MAAMd,EAAmB,CACtC,QAASY,EACT,SAAAjB,EACA,YAAae,EAAgB,OAAYd,CAAA,CAC1C,EAAE,OAAA,EAEHG,EACEgB,EAAAA,aAAa,KAAK,eAAe,CAC/B,CAAE,KAAM,OAAQ,GAAID,EAAO,EAAA,EAC3BE,EAAAA,YAAYrB,EAAoBe,EAAgB,OAAYd,CAAW,CAAA,CACxE,CAAA,EAGH,MAAMqB,EAAQP,EAAgB,SAAW,UACzCQ,EAAAA,MAAM,QAAQ,GAAGD,CAAK,oCAAoC,CAC5D,OAASE,EAAY,CACnB,MAAMF,EAAQP,EAAgB,SAAW,UACzC,QAAQ,MAAM,oBAAoBO,CAAK,cAAeE,CAAK,EAC3DD,QAAM,MAAM,oBAAoBD,CAAK,eAAeE,GAAO,SAAWA,CAAK,EAAE,CAC/E,CACF,EACA,CAACnB,EAAoBL,EAAUC,EAAaC,EAAiBE,CAAQ,CAAA,EAGjEqB,EAAmBX,EAAAA,YACvB,MAAOY,EAAoBX,IAA2B,CACpD,GAAI,CAEF,MAAMR,EAAmB,CACvB,OAAQmB,EACR,SAAA1B,EACA,YAAae,EAAgB,OAAYd,EACzC,QAAS,CAAE,SALIC,GAAmB,CAAA,CAKvB,CAAS,CACrB,EAAE,OAAA,EAEHE,EACEgB,EAAAA,aAAa,KAAK,eAAe,CAC/B,CAAE,KAAM,OAAQ,GAAIM,CAAA,EACpBL,EAAAA,YAAYrB,EAAoBe,EAAgB,OAAYd,CAAW,CAAA,CACxE,CAAA,EAGH,MAAMqB,EAAQP,EAAgB,SAAW,UACzCQ,EAAAA,MAAM,QAAQ,GAAGD,CAAK,oCAAoC,CAC5D,OAASE,EAAY,CACnB,MAAMF,EAAQP,EAAgB,SAAW,UACzC,QAAQ,MAAM,oBAAoBO,CAAK,cAAeE,CAAK,EAC3DD,QAAM,MAAM,oBAAoBD,CAAK,eAAeE,GAAO,SAAWA,CAAK,EAAE,CAC/E,CACF,EACA,CAACjB,EAAoBP,EAAUC,EAAaC,EAAiBE,CAAQ,CAAA,EAGjEuB,EAAmBb,EAAAA,YACvB,MAAOY,EAAoBX,IAA2B,CACpD,GAAI,CACF,MAAMN,EAAmB,CACvB,OAAQiB,EACR,SAAA1B,EACA,YAAae,EAAgB,OAAYd,CAAA,CAC1C,EAAE,OAAA,EAGHG,EACEgB,EAAAA,aAAa,KAAK,eAAe,CAC/B,CAAE,KAAM,OAAQ,GAAIM,CAAA,EACpBL,EAAAA,YAAYrB,EAAoBe,EAAgB,OAAYd,CAAW,CAAA,CACxE,CAAA,EAGH,MAAMqB,EAAQP,EAAgB,SAAW,UACzCQ,EAAAA,MAAM,QAAQ,GAAGD,CAAK,oCAAoC,CAC5D,OAASE,EAAY,CACnB,MAAMF,EAAQP,EAAgB,SAAW,UACzC,QAAQ,MAAM,oBAAoBO,CAAK,cAAeE,CAAK,EAC3DD,QAAM,MAAM,oBAAoBD,CAAK,eAAeE,GAAO,SAAWA,CAAK,EAAE,CAC/E,CACF,EACA,CAACf,EAAoBT,EAAUC,EAAaG,CAAQ,CAAA,EAGhDwB,EAAiBd,EAAAA,YACrB,MAAOC,GAA2B,CAChC,GAAI,CACF,GAAI,CAACZ,GAAa,GAChB,MAAM,IAAI,MAAM,qCAAqC,EAcvD,MAAM0B,GADiB,MATCzB,EACtBgB,eAAa,UAAU,YAAY,SACjC,CACE,SAAApB,EACA,YAAae,EAAgB,OAAYd,CAAA,EAE3C,CAAE,UAAW,GAAO,aAAc,EAAA,CAAK,CACzC,GAG8B,KAEhC,GAAI,CAAC4B,GAAY,CAACA,EAAS,SACzB,MAAM,IAAI,MAAM,wCAAwC,EAI1D,MAAMtB,EAAmB,CACvB,OAAQJ,EAAY,GACpB,SAAAH,EACA,YAAAC,EACA,QAAS,CAAE,SAAU4B,EAAS,QAAA,CAAS,CACxC,EAAE,OAAA,EAGH,MAAMlB,EAAuB,CAC3B,SAAAX,EACA,YAAAC,EACA,2BAA4B,CAAE,OAAQE,EAAY,EAAA,CAAG,CACtD,EAAE,OAAA,EAEH,MAAMmB,EAAQP,EAAgB,SAAW,UACzCQ,EAAAA,MAAM,QAAQ,UAAUD,CAAK,+BAA+B,CAC9D,OAASE,EAAY,CACnB,MAAMF,EAAQP,EAAgB,SAAW,UACzC,QAAQ,MAAM,kBAAkBO,CAAK,cAAeE,CAAK,EACzDD,QAAM,MAAM,kBAAkBD,CAAK,eAAeE,GAAO,SAAWA,CAAK,EAAE,CAC7E,CACF,EACA,CACErB,EACAI,EACAI,EACAX,EACAC,EACAG,CAAA,CACF,EAGF,MAAO,CACL,iBAAAS,EACA,iBAAAY,EACA,iBAAAE,EACA,eAAAC,CAAA,CAEJ"}
|