@mattisvensson/strapi-plugin-webatlas 0.8.1 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/_chunks/SettingTitle-BaaQ_99D.mjs +69 -0
  2. package/dist/_chunks/SettingTitle-BaaQ_99D.mjs.map +1 -0
  3. package/dist/_chunks/SettingTitle-D5oNwpzC.js +67 -0
  4. package/dist/_chunks/SettingTitle-DDZxIqee.js +68 -0
  5. package/dist/_chunks/SettingTitle-DDZxIqee.js.map +1 -0
  6. package/dist/_chunks/SettingTitle-IwvX4Kb5.mjs +68 -0
  7. package/dist/_chunks/{de-Dt80IqMG.mjs → de-B9pq-AJZ.mjs} +10 -3
  8. package/dist/_chunks/{de-Dt80IqMG.mjs.map → de-B9pq-AJZ.mjs.map} +1 -1
  9. package/dist/_chunks/{de-CDBoUBzw.js → de-DlQxM8Tg.js} +10 -3
  10. package/dist/_chunks/{de-CDBoUBzw.js.map → de-DlQxM8Tg.js.map} +1 -1
  11. package/dist/_chunks/{en-BHxDiueo.mjs → en-Dmbcf7gp.mjs} +10 -3
  12. package/dist/_chunks/{en-BHxDiueo.mjs.map → en-Dmbcf7gp.mjs.map} +1 -1
  13. package/dist/_chunks/{en-DfvURaup.js → en-DrhxIwOr.js} +10 -3
  14. package/dist/_chunks/{en-DfvURaup.js.map → en-DrhxIwOr.js.map} +1 -1
  15. package/dist/_chunks/{index--oj1eNcM.js → index--XAogZgv.js} +2 -2
  16. package/dist/_chunks/{index--oj1eNcM.js.map → index--XAogZgv.js.map} +1 -1
  17. package/dist/_chunks/{index-BCPgfhBx.js → index-2lVgPz4a.js} +37 -33
  18. package/dist/_chunks/{index-BKdvSgDB.js → index-B1dEY-gs.js} +1 -1
  19. package/dist/_chunks/{index-DUgh4AJb.js → index-B1mbYb2_.js} +94 -53
  20. package/dist/_chunks/{index-CAged_xE.mjs → index-B2tjc_lG.mjs} +2 -2
  21. package/dist/_chunks/{index-CAged_xE.mjs.map → index-B2tjc_lG.mjs.map} +1 -1
  22. package/dist/_chunks/{index-YzPuPn68.js → index-BFuwbmZy.js} +22 -9
  23. package/dist/_chunks/{index-CTA8agp7.mjs → index-D2Meknib.mjs} +10 -8
  24. package/dist/_chunks/{index-D29zBs5w.mjs → index-D2SIGcj3.mjs} +23 -9
  25. package/dist/_chunks/{index-D29zBs5w.mjs.map → index-D2SIGcj3.mjs.map} +1 -1
  26. package/dist/_chunks/{index-D72CZ5b7.js → index-DH0mFrgH.js} +38 -32
  27. package/dist/_chunks/index-DH0mFrgH.js.map +1 -0
  28. package/dist/_chunks/{index-DTPDMxs_.js → index-DKtlnMlv.js} +23 -8
  29. package/dist/_chunks/{index-YzPuPn68.js.map → index-DKtlnMlv.js.map} +1 -1
  30. package/dist/_chunks/{index-Dxn0NT06.js → index-DOMrViWi.js} +11 -8
  31. package/dist/_chunks/index-DOMrViWi.js.map +1 -0
  32. package/dist/_chunks/{index-BBn1ZvsE.mjs → index-DXRtXlZW.mjs} +36 -30
  33. package/dist/_chunks/index-DXRtXlZW.mjs.map +1 -0
  34. package/dist/_chunks/{index-CtFERXkl.js → index-Df365kgY.js} +95 -54
  35. package/dist/_chunks/index-Df365kgY.js.map +1 -0
  36. package/dist/_chunks/{index-CHRBu9Xy.mjs → index-Dm_GIRd4.mjs} +35 -31
  37. package/dist/_chunks/{index-DMpiX4hP.mjs → index-Dt-mlR1F.mjs} +11 -9
  38. package/dist/_chunks/index-Dt-mlR1F.mjs.map +1 -0
  39. package/dist/_chunks/{index-DJBXRNlE.mjs → index-QFbHwlyj.mjs} +94 -53
  40. package/dist/_chunks/index-QFbHwlyj.mjs.map +1 -0
  41. package/dist/_chunks/{index-Nx4IRYIK.mjs → index-QU9SZ_H9.mjs} +93 -52
  42. package/dist/_chunks/{index-CUlRMqGG.mjs → index-_49Fvwqq.mjs} +22 -8
  43. package/dist/_chunks/{index-Rfm9O167.mjs → index-aAKsnALd.mjs} +1 -1
  44. package/dist/_chunks/{index-CbW6k4FH.js → index-g8wz2qoC.js} +9 -8
  45. package/dist/admin/index.js +1 -1
  46. package/dist/admin/index.mjs +1 -1
  47. package/dist/admin/src/pages/Navigation/RouteItem.d.ts +1 -0
  48. package/dist/admin/src/pages/Settings/ContentBox.d.ts +5 -0
  49. package/dist/admin/src/pages/Settings/PageWrapper.d.ts +2 -1
  50. package/dist/admin/src/pages/Settings/SettingTitle.d.ts +4 -0
  51. package/dist/admin/src/pages/Settings/index.d.ts +4 -0
  52. package/dist/pluginId.d.ts +2 -1
  53. package/dist/server/index.js +61 -52
  54. package/dist/server/index.js.map +1 -1
  55. package/dist/server/index.mjs +61 -52
  56. package/dist/server/index.mjs.map +1 -1
  57. package/dist/server/src/utils/index.d.ts +6 -0
  58. package/dist/server/src/utils/navItemHandler.d.ts +1 -1
  59. package/dist/server/src/utils/reduceDepthOfOrphanedItems.d.ts +2 -0
  60. package/package.json +1 -1
  61. package/dist/_chunks/PageWrapper-Bp9vGwpG.js +0 -54
  62. package/dist/_chunks/PageWrapper-BvOY7VCN.mjs +0 -55
  63. package/dist/_chunks/PageWrapper-BzDrMm2d.js +0 -55
  64. package/dist/_chunks/PageWrapper-BzDrMm2d.js.map +0 -1
  65. package/dist/_chunks/PageWrapper-oLhcg9BA.mjs +0 -56
  66. package/dist/_chunks/PageWrapper-oLhcg9BA.mjs.map +0 -1
  67. package/dist/_chunks/index-BCPgfhBx.js.map +0 -1
  68. package/dist/_chunks/index-CHRBu9Xy.mjs.map +0 -1
  69. package/dist/_chunks/index-CbW6k4FH.js.map +0 -1
  70. package/dist/_chunks/index-CtFERXkl.js.map +0 -1
  71. package/dist/_chunks/index-DJBXRNlE.mjs.map +0 -1
  72. package/dist/_chunks/index-DMpiX4hP.mjs.map +0 -1
  73. package/dist/admin/src/components/modals/fields/Visibility.d.ts +0 -5
  74. package/dist/admin/src/components/modals/fields/index.d.ts +0 -2
@@ -0,0 +1,6 @@
1
+ import duplicateCheck from "./duplicateCheck";
2
+ import { createNavItem, updateNavItem, deleteNavItem } from "./navItemHandler";
3
+ import { getAdminService, getClientService, waNavigation, waNavItem, waRoute } from "./pluginHelpers";
4
+ import reduceDepthOfOrphanedItems from "./reduceDepthOfOrphanedItems";
5
+ import { createExternalRoute } from "./routeHandler";
6
+ export { duplicateCheck, createNavItem, updateNavItem, deleteNavItem, getAdminService, getClientService, waNavigation, waNavItem, waRoute, reduceDepthOfOrphanedItems, createExternalRoute };
@@ -1,5 +1,5 @@
1
1
  import type { NavItemSettings, NestedNavItem } from "../../../types";
2
2
  declare function createNavItem(data: NavItemSettings): Promise<null | NestedNavItem>;
3
- declare function updateNavItem(documentId: string, data: NavItemSettings): Promise<import("@strapi/types/dist/modules/documents").AnyDocument>;
3
+ declare function updateNavItem(documentId: string, data: Pick<NavItemSettings, "parent" | "order">): Promise<import("@strapi/types/dist/modules/documents").AnyDocument>;
4
4
  declare function deleteNavItem(documentId: string): Promise<boolean>;
5
5
  export { createNavItem, updateNavItem, deleteNavItem };
@@ -0,0 +1,2 @@
1
+ import type { NestedNavItem } from "../../../types";
2
+ export default function reduceDepthOfOrphanedItems(navigationItems: NestedNavItem[], itemId: string): NestedNavItem[] | undefined;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.8.1",
2
+ "version": "0.8.2",
3
3
  "keywords": [],
4
4
  "type": "commonjs",
5
5
  "exports": {
@@ -1,54 +0,0 @@
1
- "use strict";
2
- const jsxRuntime = require("react/jsx-runtime");
3
- const designSystem = require("@strapi/design-system");
4
- const admin = require("@strapi/strapi/admin");
5
- const index = require("./index-Dxn0NT06.js");
6
- const reactIntl = require("react-intl");
7
- function PageWrapper({
8
- save,
9
- isSaving,
10
- disabledCondition,
11
- children
12
- }) {
13
- const { formatMessage } = reactIntl.useIntl();
14
- return /* @__PURE__ */ jsxRuntime.jsxs(admin.Page.Main, { children: [
15
- /* @__PURE__ */ jsxRuntime.jsx(
16
- admin.Layouts.Header,
17
- {
18
- title: index.PLUGIN_NAME,
19
- subtitle: formatMessage({
20
- id: index.getTranslation("settings.page.subtitle"),
21
- defaultMessage: "Settings"
22
- }),
23
- primaryAction: disabledCondition !== void 0 && save && /* @__PURE__ */ jsxRuntime.jsx(
24
- designSystem.Button,
25
- {
26
- type: "submit",
27
- onClick: () => save(),
28
- loading: isSaving,
29
- disabled: disabledCondition || isSaving,
30
- children: formatMessage({
31
- id: index.getTranslation("save"),
32
- defaultMessage: "Save"
33
- })
34
- }
35
- )
36
- }
37
- ),
38
- /* @__PURE__ */ jsxRuntime.jsx(admin.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(
39
- designSystem.Box,
40
- {
41
- background: "neutral0",
42
- borderColor: "neutral150",
43
- hasRadius: true,
44
- paddingBottom: 4,
45
- paddingLeft: 4,
46
- paddingRight: 4,
47
- paddingTop: 6,
48
- shadow: "tableShadow",
49
- children
50
- }
51
- ) })
52
- ] });
53
- }
54
- exports.PageWrapper = PageWrapper;
@@ -1,55 +0,0 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Button, Box } from "@strapi/design-system";
3
- import { Page, Layouts } from "@strapi/strapi/admin";
4
- import { P as PLUGIN_NAME, g as getTranslation } from "./index-CTA8agp7.mjs";
5
- import { useIntl } from "react-intl";
6
- function PageWrapper({
7
- save,
8
- isSaving,
9
- disabledCondition,
10
- children
11
- }) {
12
- const { formatMessage } = useIntl();
13
- return /* @__PURE__ */ jsxs(Page.Main, { children: [
14
- /* @__PURE__ */ jsx(
15
- Layouts.Header,
16
- {
17
- title: PLUGIN_NAME,
18
- subtitle: formatMessage({
19
- id: getTranslation("settings.page.subtitle"),
20
- defaultMessage: "Settings"
21
- }),
22
- primaryAction: disabledCondition !== void 0 && save && /* @__PURE__ */ jsx(
23
- Button,
24
- {
25
- type: "submit",
26
- onClick: () => save(),
27
- loading: isSaving,
28
- disabled: disabledCondition || isSaving,
29
- children: formatMessage({
30
- id: getTranslation("save"),
31
- defaultMessage: "Save"
32
- })
33
- }
34
- )
35
- }
36
- ),
37
- /* @__PURE__ */ jsx(Layouts.Content, { children: /* @__PURE__ */ jsx(
38
- Box,
39
- {
40
- background: "neutral0",
41
- borderColor: "neutral150",
42
- hasRadius: true,
43
- paddingBottom: 4,
44
- paddingLeft: 4,
45
- paddingRight: 4,
46
- paddingTop: 6,
47
- shadow: "tableShadow",
48
- children
49
- }
50
- ) })
51
- ] });
52
- }
53
- export {
54
- PageWrapper as P
55
- };
@@ -1,55 +0,0 @@
1
- "use strict";
2
- const jsxRuntime = require("react/jsx-runtime");
3
- const designSystem = require("@strapi/design-system");
4
- const admin = require("@strapi/strapi/admin");
5
- const index = require("./index-CbW6k4FH.js");
6
- const reactIntl = require("react-intl");
7
- function PageWrapper({
8
- save,
9
- isSaving,
10
- disabledCondition,
11
- children
12
- }) {
13
- const { formatMessage } = reactIntl.useIntl();
14
- return /* @__PURE__ */ jsxRuntime.jsxs(admin.Page.Main, { children: [
15
- /* @__PURE__ */ jsxRuntime.jsx(
16
- admin.Layouts.Header,
17
- {
18
- title: index.PLUGIN_NAME,
19
- subtitle: formatMessage({
20
- id: index.getTranslation("settings.page.subtitle"),
21
- defaultMessage: "Settings"
22
- }),
23
- primaryAction: disabledCondition !== void 0 && save && /* @__PURE__ */ jsxRuntime.jsx(
24
- designSystem.Button,
25
- {
26
- type: "submit",
27
- onClick: () => save(),
28
- loading: isSaving,
29
- disabled: disabledCondition || isSaving,
30
- children: formatMessage({
31
- id: index.getTranslation("save"),
32
- defaultMessage: "Save"
33
- })
34
- }
35
- )
36
- }
37
- ),
38
- /* @__PURE__ */ jsxRuntime.jsx(admin.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(
39
- designSystem.Box,
40
- {
41
- background: "neutral0",
42
- borderColor: "neutral150",
43
- hasRadius: true,
44
- paddingBottom: 4,
45
- paddingLeft: 4,
46
- paddingRight: 4,
47
- paddingTop: 6,
48
- shadow: "tableShadow",
49
- children
50
- }
51
- ) })
52
- ] });
53
- }
54
- exports.PageWrapper = PageWrapper;
55
- //# sourceMappingURL=PageWrapper-BzDrMm2d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PageWrapper-BzDrMm2d.js","sources":["../../admin/src/pages/Settings/PageWrapper.tsx"],"sourcesContent":["import { Button, Box } from '@strapi/design-system';\nimport { Page, Layouts} from '@strapi/strapi/admin'\nimport { PLUGIN_NAME } from '../../../../pluginId';\nimport { getTranslation } from '../../utils';\nimport { useIntl } from 'react-intl';\n\nexport default function PageWrapper({ \n save, \n isSaving,\n disabledCondition,\n children\n}: {\n save?: () => void, \n isSaving: boolean,\n disabledCondition: boolean,\n children: React.ReactNode \n}) {\n\n const { formatMessage } = useIntl();\n \n return (\n <Page.Main>\n <Layouts.Header\n title={PLUGIN_NAME}\n subtitle={formatMessage({\n id: getTranslation('settings.page.subtitle'),\n defaultMessage: 'Settings',\n })}\n primaryAction={ disabledCondition !== undefined && save &&\n <Button\n type=\"submit\"\n onClick={() => save()}\n loading={isSaving}\n disabled={disabledCondition || isSaving}\n >\n {formatMessage({\n id: getTranslation('save'),\n defaultMessage: 'Save',\n })}\n </Button>\n }\n />\n <Layouts.Content>\n <Box\n background='neutral0'\n borderColor=\"neutral150\"\n hasRadius\n paddingBottom={4}\n paddingLeft={4}\n paddingRight={4}\n paddingTop={6}\n shadow=\"tableShadow\"\n >\n {children}\n </Box>\n </Layouts.Content>\n </Page.Main>\n )\n}"],"names":["useIntl","jsxs","Page","jsx","Layouts","PLUGIN_NAME","getTranslation","Button","Box"],"mappings":";;;;;;AAMA,SAAwB,YAAY;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AAEK,QAAA,EAAE,cAAc,IAAIA,kBAAQ;AAGhC,SAAAC,gCAACC,MAAAA,KAAK,MAAL,EACC,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAACC,MAAAA,QAAQ;AAAA,MAAR;AAAA,QACC,OAAOC,MAAA;AAAA,QACP,UAAU,cAAc;AAAA,UACtB,IAAIC,qBAAe,wBAAwB;AAAA,UAC3C,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,eAAgB,sBAAsB,UAAa,QACjDH,2BAAA;AAAA,UAACI,aAAA;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS,MAAM,KAAK;AAAA,YACpB,SAAS;AAAA,YACT,UAAU,qBAAqB;AAAA,YAE9B,UAAc,cAAA;AAAA,cACb,IAAID,qBAAe,MAAM;AAAA,cACzB,gBAAgB;AAAA,YACjB,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AAAA,IACAH,2BAAAA,IAACC,MAAQ,QAAA,SAAR,EACC,UAAAD,2BAAA;AAAA,MAACK,aAAA;AAAA,MAAA;AAAA,QACC,YAAW;AAAA,QACX,aAAY;AAAA,QACZ,WAAS;AAAA,QACT,eAAe;AAAA,QACf,aAAa;AAAA,QACb,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,QAAO;AAAA,QAEN;AAAA,MAAA;AAAA,IAAA,EAEL,CAAA;AAAA,EAAA,GACF;AAEJ;;"}
@@ -1,56 +0,0 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Button, Box } from "@strapi/design-system";
3
- import { Page, Layouts } from "@strapi/strapi/admin";
4
- import { P as PLUGIN_NAME, g as getTranslation } from "./index-DMpiX4hP.mjs";
5
- import { useIntl } from "react-intl";
6
- function PageWrapper({
7
- save,
8
- isSaving,
9
- disabledCondition,
10
- children
11
- }) {
12
- const { formatMessage } = useIntl();
13
- return /* @__PURE__ */ jsxs(Page.Main, { children: [
14
- /* @__PURE__ */ jsx(
15
- Layouts.Header,
16
- {
17
- title: PLUGIN_NAME,
18
- subtitle: formatMessage({
19
- id: getTranslation("settings.page.subtitle"),
20
- defaultMessage: "Settings"
21
- }),
22
- primaryAction: disabledCondition !== void 0 && save && /* @__PURE__ */ jsx(
23
- Button,
24
- {
25
- type: "submit",
26
- onClick: () => save(),
27
- loading: isSaving,
28
- disabled: disabledCondition || isSaving,
29
- children: formatMessage({
30
- id: getTranslation("save"),
31
- defaultMessage: "Save"
32
- })
33
- }
34
- )
35
- }
36
- ),
37
- /* @__PURE__ */ jsx(Layouts.Content, { children: /* @__PURE__ */ jsx(
38
- Box,
39
- {
40
- background: "neutral0",
41
- borderColor: "neutral150",
42
- hasRadius: true,
43
- paddingBottom: 4,
44
- paddingLeft: 4,
45
- paddingRight: 4,
46
- paddingTop: 6,
47
- shadow: "tableShadow",
48
- children
49
- }
50
- ) })
51
- ] });
52
- }
53
- export {
54
- PageWrapper as P
55
- };
56
- //# sourceMappingURL=PageWrapper-oLhcg9BA.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PageWrapper-oLhcg9BA.mjs","sources":["../../admin/src/pages/Settings/PageWrapper.tsx"],"sourcesContent":["import { Button, Box } from '@strapi/design-system';\nimport { Page, Layouts} from '@strapi/strapi/admin'\nimport { PLUGIN_NAME } from '../../../../pluginId';\nimport { getTranslation } from '../../utils';\nimport { useIntl } from 'react-intl';\n\nexport default function PageWrapper({ \n save, \n isSaving,\n disabledCondition,\n children\n}: {\n save?: () => void, \n isSaving: boolean,\n disabledCondition: boolean,\n children: React.ReactNode \n}) {\n\n const { formatMessage } = useIntl();\n \n return (\n <Page.Main>\n <Layouts.Header\n title={PLUGIN_NAME}\n subtitle={formatMessage({\n id: getTranslation('settings.page.subtitle'),\n defaultMessage: 'Settings',\n })}\n primaryAction={ disabledCondition !== undefined && save &&\n <Button\n type=\"submit\"\n onClick={() => save()}\n loading={isSaving}\n disabled={disabledCondition || isSaving}\n >\n {formatMessage({\n id: getTranslation('save'),\n defaultMessage: 'Save',\n })}\n </Button>\n }\n />\n <Layouts.Content>\n <Box\n background='neutral0'\n borderColor=\"neutral150\"\n hasRadius\n paddingBottom={4}\n paddingLeft={4}\n paddingRight={4}\n paddingTop={6}\n shadow=\"tableShadow\"\n >\n {children}\n </Box>\n </Layouts.Content>\n </Page.Main>\n )\n}"],"names":[],"mappings":";;;;;AAMA,SAAwB,YAAY;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AAEK,QAAA,EAAE,cAAc,IAAI,QAAQ;AAGhC,SAAA,qBAAC,KAAK,MAAL,EACC,UAAA;AAAA,IAAA;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACC,OAAO;AAAA,QACP,UAAU,cAAc;AAAA,UACtB,IAAI,eAAe,wBAAwB;AAAA,UAC3C,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,eAAgB,sBAAsB,UAAa,QACjD;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS,MAAM,KAAK;AAAA,YACpB,SAAS;AAAA,YACT,UAAU,qBAAqB;AAAA,YAE9B,UAAc,cAAA;AAAA,cACb,IAAI,eAAe,MAAM;AAAA,cACzB,gBAAgB;AAAA,YACjB,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AAAA,IACA,oBAAC,QAAQ,SAAR,EACC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,YAAW;AAAA,QACX,aAAY;AAAA,QACZ,WAAS;AAAA,QACT,eAAe;AAAA,QACf,aAAa;AAAA,QACb,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,QAAO;AAAA,QAEN;AAAA,MAAA;AAAA,IAAA,EAEL,CAAA;AAAA,EAAA,GACF;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BCPgfhBx.js","sources":["../../admin/src/pages/Settings/Navigation/index.tsx"],"sourcesContent":["/*\n *\n * Settings\n * This file contains the navigation settings page for the Webatlas plugin.\n * It allows users to set the max depth of the navigation tree.\n *\n*/\n\nimport { useEffect, useState, useReducer, useRef } from 'react';\nimport { Field } from '@strapi/design-system';\nimport { useNotification } from '@strapi/strapi/admin'\nimport usePluginConfig from '../../../hooks/usePluginConfig';\nimport type { PluginConfig } from '../../../../../types';\nimport { getTranslation } from '../../../utils';\nimport { useIntl } from 'react-intl';\nimport { FullLoader } from '../../../components/UI';\nimport PageWrapper from '../PageWrapper';\n\ntype Action =\n | { type: 'SET_MAX_DEPTH'; payload: number }\n | { type: 'SET_CONFIG'; payload: PluginConfig }\n\nfunction reducer(newConfig: PluginConfig | null, action: Action): PluginConfig | null {\n switch (action.type) {\n case 'SET_MAX_DEPTH':\n if (!newConfig) return null;\n return { \n ...newConfig, \n navigation: { ...newConfig.navigation, maxDepth: action.payload },\n selectedContentTypes: newConfig.selectedContentTypes || []\n };\n case 'SET_CONFIG':\n return action.payload;\n default:\n throw new Error();\n }\n}\n\nconst Settings = () => {\n const { config: fetchedConfig, setConfig, loading, fetchError } = usePluginConfig();\n const [config, dispatch] = useReducer(reducer, fetchedConfig);\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const [isSaving, setIsSaving] = useState(false);\n const initialConfig = useRef<PluginConfig | null>(fetchedConfig);\n\n useEffect(() => {\n initialConfig.current = fetchedConfig;\n\n if (fetchedConfig)\n dispatch({ type: 'SET_CONFIG', payload: fetchedConfig });\n }, [fetchedConfig]);\n\n useEffect(() => {\n if (fetchError) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTranslation('notification.error'),\n defaultMessage: 'An error occurred',\n }) + ': ' + fetchError,\n });\n }\n }, [fetchError, toggleNotification, formatMessage]);\n\n async function save() {\n if (!config) return\n\n setIsSaving(true);\n try {\n await setConfig({ navigation: config.navigation })\n initialConfig.current = config;\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('notification.settings.saved'),\n defaultMessage: 'Settings saved successfully',\n }),\n });\n setIsSaving(false);\n } catch (err) {\n setIsSaving(false);\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTranslation('notification.error'),\n defaultMessage: 'An error occurred',\n }) + ': ' + err,\n });\n console.error(err);\n }\n }\n\n if (loading) {\n return <PageWrapper\n isSaving={isSaving}\n disabledCondition={true}\n >\n <FullLoader height={200} />\n </PageWrapper>\n }\n\n return (\n <PageWrapper\n save={save}\n isSaving={isSaving}\n disabledCondition={JSON.stringify(config) === JSON.stringify(initialConfig.current)}\n >\n <Field.Root\n name=\"maxNavDepth\"\n >\n <Field.Label>\n {formatMessage({\n id: getTranslation('settings.page.maxNavDepth.label'),\n defaultMessage: 'Max depth of navigation tree',\n })}\n </Field.Label>\n <Field.Input\n id=\"maxNavDepth\"\n type=\"number\"\n min={1}\n step={1}\n value={config?.navigation?.maxDepth !== undefined ? config.navigation.maxDepth : ''}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => dispatch({ type: 'SET_MAX_DEPTH', payload: Number(e.target.value) })}\n onBlur={(e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.value === '') return\n dispatch({ type: 'SET_MAX_DEPTH', payload: Number(e.target.value) })}\n }\n />\n <Field.Hint/>\n </Field.Root>\n </PageWrapper>\n );\n};\n\nexport default Settings;\n"],"names":["usePluginConfig","useReducer","useNotification","useIntl","useState","useRef","useEffect","getTranslation","jsx","PageWrapper","FullLoader","jsxs","Field"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CHRBu9Xy.mjs","sources":["../../admin/src/pages/Settings/Navigation/index.tsx"],"sourcesContent":["/*\n *\n * Settings\n * This file contains the navigation settings page for the Webatlas plugin.\n * It allows users to set the max depth of the navigation tree.\n *\n*/\n\nimport { useEffect, useState, useReducer, useRef } from 'react';\nimport { Field } from '@strapi/design-system';\nimport { useNotification } from '@strapi/strapi/admin'\nimport usePluginConfig from '../../../hooks/usePluginConfig';\nimport type { PluginConfig } from '../../../../../types';\nimport { getTranslation } from '../../../utils';\nimport { useIntl } from 'react-intl';\nimport { FullLoader } from '../../../components/UI';\nimport PageWrapper from '../PageWrapper';\n\ntype Action =\n | { type: 'SET_MAX_DEPTH'; payload: number }\n | { type: 'SET_CONFIG'; payload: PluginConfig }\n\nfunction reducer(newConfig: PluginConfig | null, action: Action): PluginConfig | null {\n switch (action.type) {\n case 'SET_MAX_DEPTH':\n if (!newConfig) return null;\n return { \n ...newConfig, \n navigation: { ...newConfig.navigation, maxDepth: action.payload },\n selectedContentTypes: newConfig.selectedContentTypes || []\n };\n case 'SET_CONFIG':\n return action.payload;\n default:\n throw new Error();\n }\n}\n\nconst Settings = () => {\n const { config: fetchedConfig, setConfig, loading, fetchError } = usePluginConfig();\n const [config, dispatch] = useReducer(reducer, fetchedConfig);\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const [isSaving, setIsSaving] = useState(false);\n const initialConfig = useRef<PluginConfig | null>(fetchedConfig);\n\n useEffect(() => {\n initialConfig.current = fetchedConfig;\n\n if (fetchedConfig)\n dispatch({ type: 'SET_CONFIG', payload: fetchedConfig });\n }, [fetchedConfig]);\n\n useEffect(() => {\n if (fetchError) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTranslation('notification.error'),\n defaultMessage: 'An error occurred',\n }) + ': ' + fetchError,\n });\n }\n }, [fetchError, toggleNotification, formatMessage]);\n\n async function save() {\n if (!config) return\n\n setIsSaving(true);\n try {\n await setConfig({ navigation: config.navigation })\n initialConfig.current = config;\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('notification.settings.saved'),\n defaultMessage: 'Settings saved successfully',\n }),\n });\n setIsSaving(false);\n } catch (err) {\n setIsSaving(false);\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTranslation('notification.error'),\n defaultMessage: 'An error occurred',\n }) + ': ' + err,\n });\n console.error(err);\n }\n }\n\n if (loading) {\n return <PageWrapper\n isSaving={isSaving}\n disabledCondition={true}\n >\n <FullLoader height={200} />\n </PageWrapper>\n }\n\n return (\n <PageWrapper\n save={save}\n isSaving={isSaving}\n disabledCondition={JSON.stringify(config) === JSON.stringify(initialConfig.current)}\n >\n <Field.Root\n name=\"maxNavDepth\"\n >\n <Field.Label>\n {formatMessage({\n id: getTranslation('settings.page.maxNavDepth.label'),\n defaultMessage: 'Max depth of navigation tree',\n })}\n </Field.Label>\n <Field.Input\n id=\"maxNavDepth\"\n type=\"number\"\n min={1}\n step={1}\n value={config?.navigation?.maxDepth !== undefined ? config.navigation.maxDepth : ''}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => dispatch({ type: 'SET_MAX_DEPTH', payload: Number(e.target.value) })}\n onBlur={(e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.value === '') return\n dispatch({ type: 'SET_MAX_DEPTH', payload: Number(e.target.value) })}\n }\n />\n <Field.Hint/>\n </Field.Root>\n </PageWrapper>\n );\n};\n\nexport default Settings;\n"],"names":[],"mappings":"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"}