@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
@@ -4,11 +4,11 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const designSystem = require("@strapi/design-system");
6
6
  const admin = require("@strapi/strapi/admin");
7
- const index = require("./index-Dxn0NT06.js");
7
+ const index = require("./index-DOMrViWi.js");
8
8
  const reactIntl = require("react-intl");
9
9
  require("@strapi/icons/symbols");
10
10
  const FullLoader = require("./FullLoader-Cmsf8xS6.js");
11
- const PageWrapper = require("./PageWrapper-Bp9vGwpG.js");
11
+ const SettingTitle = require("./SettingTitle-DDZxIqee.js");
12
12
  function reducer(newConfig, action) {
13
13
  switch (action.type) {
14
14
  case "SET_MAX_DEPTH":
@@ -75,49 +75,55 @@ const Settings = () => {
75
75
  }
76
76
  if (loading) {
77
77
  return /* @__PURE__ */ jsxRuntime.jsx(
78
- PageWrapper.PageWrapper,
78
+ SettingTitle.PageWrapper,
79
79
  {
80
80
  isSaving,
81
+ subtitle: formatMessage({
82
+ id: index.getTranslation("loading"),
83
+ defaultMessage: "Loading..."
84
+ }),
81
85
  disabledCondition: true,
82
86
  children: /* @__PURE__ */ jsxRuntime.jsx(FullLoader.FullLoader, { height: 200 })
83
87
  }
84
88
  );
85
89
  }
86
90
  return /* @__PURE__ */ jsxRuntime.jsx(
87
- PageWrapper.PageWrapper,
91
+ SettingTitle.PageWrapper,
88
92
  {
89
93
  save,
90
94
  isSaving,
95
+ subtitle: formatMessage({
96
+ id: index.getTranslation("settings.page.navigation.subtitle"),
97
+ defaultMessage: "Configure navigation settings"
98
+ }),
91
99
  disabledCondition: JSON.stringify(config) === JSON.stringify(initialConfig.current),
92
- children: /* @__PURE__ */ jsxRuntime.jsxs(
93
- designSystem.Field.Root,
94
- {
95
- name: "maxNavDepth",
96
- children: [
97
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
98
- id: index.getTranslation("settings.page.maxNavDepth.label"),
99
- defaultMessage: "Max depth of navigation tree"
100
- }) }),
101
- /* @__PURE__ */ jsxRuntime.jsx(
102
- designSystem.Field.Input,
103
- {
104
- id: "maxNavDepth",
105
- type: "number",
106
- min: 1,
107
- step: 1,
108
- value: config?.navigation?.maxDepth !== void 0 ? config.navigation.maxDepth : "",
109
- onChange: (e) => dispatch({ type: "SET_MAX_DEPTH", payload: Number(e.target.value) }),
110
- onBlur: (e) => {
111
- if (e.target.value === "") return;
112
- dispatch({ type: "SET_MAX_DEPTH", payload: Number(e.target.value) });
113
- }
114
- }
115
- ),
116
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Hint, {})
117
- ]
118
- }
119
- )
100
+ children: /* @__PURE__ */ jsxRuntime.jsx(SettingTitle.ContentBox, { title: formatMessage({
101
+ id: index.getTranslation("settings.page.navigation.navigation"),
102
+ defaultMessage: "Navigation"
103
+ }), children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { name: "maxNavDepth", children: [
104
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: /* @__PURE__ */ jsxRuntime.jsx(SettingTitle.SettingTitle, { children: formatMessage({
105
+ id: index.getTranslation("settings.page.navigation.maxNavDepth.label"),
106
+ defaultMessage: "Max depth of navigation tree"
107
+ }) }) }),
108
+ /* @__PURE__ */ jsxRuntime.jsx(
109
+ designSystem.Field.Input,
110
+ {
111
+ id: "maxNavDepth",
112
+ type: "number",
113
+ min: 0,
114
+ step: 1,
115
+ value: config?.navigation?.maxDepth !== void 0 ? config.navigation.maxDepth + 1 : "",
116
+ onChange: (e) => dispatch({ type: "SET_MAX_DEPTH", payload: Number(e.target.value) - 1 }),
117
+ onBlur: (e) => {
118
+ if (e.target.value === "") return;
119
+ dispatch({ type: "SET_MAX_DEPTH", payload: Number(e.target.value) - 1 });
120
+ }
121
+ }
122
+ ),
123
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Hint, {})
124
+ ] }) })
120
125
  }
121
126
  );
122
127
  };
123
128
  exports.default = Settings;
129
+ //# sourceMappingURL=index-DH0mFrgH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DH0mFrgH.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, ContentBox, SettingTitle } from '../';\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 subtitle={formatMessage({\n id: getTranslation('loading'),\n defaultMessage: 'Loading...',\n })}\n disabledCondition={true}\n >\n <FullLoader height={200} />\n </PageWrapper>\n }\n\n return (\n <PageWrapper\n save={save}\n isSaving={isSaving}\n subtitle={formatMessage({\n id: getTranslation('settings.page.navigation.subtitle'),\n defaultMessage: 'Configure navigation settings',\n })}\n disabledCondition={JSON.stringify(config) === JSON.stringify(initialConfig.current)}\n >\n <ContentBox title={formatMessage({\n id: getTranslation('settings.page.navigation.navigation'),\n defaultMessage: 'Navigation',\n })}>\n <Field.Root name=\"maxNavDepth\">\n <Field.Label>\n <SettingTitle>\n {formatMessage({\n id: getTranslation('settings.page.navigation.maxNavDepth.label'),\n defaultMessage: 'Max depth of navigation tree',\n })}\n </SettingTitle>\n </Field.Label>\n <Field.Input\n id=\"maxNavDepth\"\n type=\"number\"\n min={0}\n step={1}\n value={config?.navigation?.maxDepth !== undefined ? config.navigation.maxDepth + 1 : ''}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => dispatch({ type: 'SET_MAX_DEPTH', payload: Number(e.target.value) - 1 })}\n onBlur={(e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.value === '') return\n dispatch({ type: 'SET_MAX_DEPTH', payload: Number(e.target.value) - 1 })}\n }\n />\n <Field.Hint/>\n </Field.Root>\n </ContentBox>\n </PageWrapper>\n );\n};\n\nexport default Settings;\n"],"names":["usePluginConfig","useReducer","useNotification","useIntl","useState","useRef","useEffect","getTranslation","jsx","PageWrapper","FullLoader","ContentBox","jsxs","Field","SettingTitle"],"mappings":"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"}
@@ -7,7 +7,7 @@ const designSystem = require("@strapi/design-system");
7
7
  const React = require("react");
8
8
  const ReactDOM = require("react-dom");
9
9
  const reactIntl = require("react-intl");
10
- const index = require("./index-Dxn0NT06.js");
10
+ const index = require("./index-DOMrViWi.js");
11
11
  const admin = require("@strapi/strapi/admin");
12
12
  const FullLoader = require("./FullLoader-Cmsf8xS6.js");
13
13
  const symbols = require("@strapi/icons/symbols");
@@ -10603,7 +10603,7 @@ function getProjection(items, activeId, overId, dragOffset, maxDepthValue) {
10603
10603
  }
10604
10604
  function getMaxDepth({ previousItem, maxDepthValue }) {
10605
10605
  if (previousItem && typeof previousItem.depth === "number") {
10606
- return Math.min(previousItem.depth + 1, maxDepthValue - 1);
10606
+ return Math.min(previousItem.depth + 1, maxDepthValue);
10607
10607
  }
10608
10608
  return 0;
10609
10609
  }
@@ -10622,7 +10622,18 @@ function RouteIcon({ type, color = "neutral800" }) {
10622
10622
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { width: "16px", height: "16px" });
10623
10623
  }
10624
10624
  }
10625
- const RouteItem = React.forwardRef(({ item, setParentId, setActionItem, setNavigationItems, ghost, depth, style, wrapperRef, handleProps }, ref) => {
10625
+ const RouteItem = React.forwardRef(({
10626
+ item,
10627
+ setParentId,
10628
+ setActionItem,
10629
+ setNavigationItems,
10630
+ ghost,
10631
+ depth,
10632
+ maxDepth,
10633
+ style,
10634
+ wrapperRef,
10635
+ handleProps
10636
+ }, ref) => {
10626
10637
  if (!item || !item.route) return null;
10627
10638
  const { setModalType } = React.useContext(ModalContext);
10628
10639
  const { formatMessage } = reactIntl.useIntl();
@@ -10747,7 +10758,7 @@ const RouteItem = React.forwardRef(({ item, setParentId, setActionItem, setNavig
10747
10758
  id: index.getTranslation("edit"),
10748
10759
  defaultMessage: "Edit"
10749
10760
  }) }),
10750
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.MenuItem, { onClick: () => handleAddChildren(), children: formatMessage({
10761
+ depth !== void 0 && depth < maxDepth && /* @__PURE__ */ jsxRuntime.jsx(designSystem.MenuItem, { onClick: () => handleAddChildren(), children: formatMessage({
10751
10762
  id: index.getTranslation("navigation.page.navItem.addChildren"),
10752
10763
  defaultMessage: "Add children"
10753
10764
  }) }),
@@ -12045,6 +12056,7 @@ const Navigation = () => {
12045
12056
  onClick: () => saveNavigation(),
12046
12057
  loading: isSavingNavigation,
12047
12058
  variant: "primary",
12059
+ startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Check, {}),
12048
12060
  disabled: JSON.stringify(navigationItems) === JSON.stringify(initialNavigationItemsRef.current),
12049
12061
  children: formatMessage({
12050
12062
  id: index.getTranslation("save"),
@@ -12064,7 +12076,7 @@ const Navigation = () => {
12064
12076
  onDragCancel: () => handleDragCancel(),
12065
12077
  measuring,
12066
12078
  children: /* @__PURE__ */ jsxRuntime.jsxs(sortable.SortableContext, { items: navigationItems, strategy: sortable.verticalListSortingStrategy, children: [
12067
- navigationItems.map((item, index2) => /* @__PURE__ */ jsxRuntime.jsx(
12079
+ navigationItems.map((item, index2) => config?.navigation.maxDepth && /* @__PURE__ */ jsxRuntime.jsx(
12068
12080
  SortableRouteItem,
12069
12081
  {
12070
12082
  item,
@@ -12072,18 +12084,20 @@ const Navigation = () => {
12072
12084
  setActionItem,
12073
12085
  setNavigationItems,
12074
12086
  indentationWidth,
12075
- depth: item.id === activeId && projected ? projected.depth : item.depth
12087
+ depth: item.id === activeId && projected ? projected.depth : item.depth,
12088
+ maxDepth: config.navigation.maxDepth
12076
12089
  },
12077
12090
  item.documentId || index2
12078
12091
  )),
12079
12092
  ReactDOM.createPortal(
12080
- /* @__PURE__ */ jsxRuntime.jsx(core.DragOverlay, { children: activeId && activeItem ? /* @__PURE__ */ jsxRuntime.jsx(
12093
+ /* @__PURE__ */ jsxRuntime.jsx(core.DragOverlay, { children: activeId && activeItem ? config?.navigation.maxDepth && /* @__PURE__ */ jsxRuntime.jsx(
12081
12094
  SortableRouteItem,
12082
12095
  {
12083
12096
  item: activeItem,
12084
12097
  setParentId,
12085
12098
  setActionItem,
12086
- setNavigationItems
12099
+ setNavigationItems,
12100
+ maxDepth: config.navigation.maxDepth
12087
12101
  }
12088
12102
  ) : null }),
12089
12103
  document.body
@@ -12225,3 +12239,4 @@ const App = () => {
12225
12239
  ] });
12226
12240
  };
12227
12241
  exports.default = App;
12242
+ //# sourceMappingURL=index-DKtlnMlv.js.map