strapi-plugin-navigation 2.0.11 → 2.1.0-beta.1

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 (268) hide show
  1. package/README.md +254 -41
  2. package/admin/src/components/Alert/styles.d.ts +2 -0
  3. package/admin/src/components/Alert/styles.js +14 -0
  4. package/admin/src/components/CollapseButton/index.d.ts +7 -0
  5. package/admin/src/components/CollapseButton/index.js +21 -22
  6. package/admin/src/components/ConfirmationDialog/index.d.ts +28 -0
  7. package/admin/src/components/ConfirmationDialog/index.js +32 -54
  8. package/admin/src/components/EmptyView/index.d.ts +3 -0
  9. package/admin/src/components/EmptyView/index.js +9 -7
  10. package/admin/src/components/Item/ItemCardBadge/index.d.ts +3 -0
  11. package/admin/src/components/Item/ItemCardBadge/index.js +11 -7
  12. package/admin/src/components/Item/ItemCardHeader/Wrapper.d.ts +3 -0
  13. package/admin/src/components/Item/ItemCardHeader/Wrapper.js +10 -6
  14. package/admin/src/components/Item/ItemCardHeader/index.d.ts +12 -0
  15. package/admin/src/components/Item/ItemCardHeader/index.js +34 -53
  16. package/admin/src/components/Item/ItemCardRemovedOverlay/index.d.ts +2 -0
  17. package/admin/src/components/Item/ItemCardRemovedOverlay/index.js +10 -4
  18. package/admin/src/components/Item/Wrapper.d.ts +3 -0
  19. package/admin/src/components/Item/Wrapper.js +10 -6
  20. package/admin/src/components/Item/index.d.ts +31 -0
  21. package/admin/src/components/Item/index.js +169 -242
  22. package/admin/src/components/NavigationItemList/Wrapper.d.ts +3 -0
  23. package/admin/src/components/NavigationItemList/Wrapper.js +9 -5
  24. package/admin/src/components/NavigationItemList/index.d.ts +35 -0
  25. package/admin/src/components/NavigationItemList/index.js +28 -66
  26. package/admin/src/components/RestartAlert/index.d.ts +3 -0
  27. package/admin/src/components/RestartAlert/index.js +10 -5
  28. package/admin/src/components/Search/index.d.ts +6 -0
  29. package/admin/src/components/Search/index.js +57 -46
  30. package/admin/src/components/icons/navigation.d.ts +6 -0
  31. package/admin/src/components/icons/navigation.js +11 -13
  32. package/admin/src/contexts/DataManagerContext.d.ts +3 -0
  33. package/admin/src/contexts/DataManagerContext.js +6 -5
  34. package/admin/src/hooks/useAllContentTypes.d.ts +6 -0
  35. package/admin/src/hooks/useAllContentTypes.js +10 -11
  36. package/admin/src/hooks/useDataManager.d.ts +3 -0
  37. package/admin/src/hooks/useDataManager.js +10 -6
  38. package/admin/src/hooks/useNavigationConfig.d.ts +10 -0
  39. package/admin/src/hooks/useNavigationConfig.js +52 -56
  40. package/admin/src/index.d.ts +14 -0
  41. package/admin/src/index.js +92 -76
  42. package/admin/src/pages/App/index.d.ts +3 -0
  43. package/admin/src/pages/App/index.js +43 -31
  44. package/admin/src/pages/DataManagerProvider/actions.d.ts +19 -0
  45. package/admin/src/pages/DataManagerProvider/actions.js +22 -26
  46. package/admin/src/pages/DataManagerProvider/index.d.ts +12 -0
  47. package/admin/src/pages/DataManagerProvider/index.js +280 -300
  48. package/admin/src/pages/DataManagerProvider/init.d.ts +3 -0
  49. package/admin/src/pages/DataManagerProvider/init.js +5 -3
  50. package/admin/src/pages/DataManagerProvider/reducer.d.ts +19 -0
  51. package/admin/src/pages/DataManagerProvider/reducer.js +119 -121
  52. package/admin/src/pages/SettingsPage/components/DisableI18nModal/index.d.ts +24 -0
  53. package/admin/src/pages/SettingsPage/components/DisableI18nModal/index.js +88 -0
  54. package/admin/src/pages/SettingsPage/index.d.ts +3 -0
  55. package/admin/src/pages/SettingsPage/index.js +242 -317
  56. package/admin/src/pages/SettingsPage/utils/functions.d.ts +5 -0
  57. package/admin/src/pages/SettingsPage/utils/functions.js +3 -8
  58. package/admin/src/pages/View/components/I18nCopyNavigationItems/index.d.ts +20 -0
  59. package/admin/src/pages/View/components/I18nCopyNavigationItems/index.js +60 -0
  60. package/admin/src/pages/View/components/NavigationContentHeader/index.d.ts +6 -0
  61. package/admin/src/pages/View/components/NavigationContentHeader/index.js +13 -17
  62. package/admin/src/pages/View/components/NavigationHeader/index.d.ts +12 -0
  63. package/admin/src/pages/View/components/NavigationHeader/index.js +74 -65
  64. package/admin/src/pages/View/components/NavigationHeader/styles.d.ts +2 -0
  65. package/admin/src/pages/View/components/NavigationHeader/styles.js +10 -5
  66. package/admin/src/pages/View/components/NavigationItemForm/index.d.ts +51 -0
  67. package/admin/src/pages/View/components/NavigationItemForm/index.js +322 -454
  68. package/admin/src/pages/View/components/NavigationItemForm/utils/form.d.ts +45 -0
  69. package/admin/src/pages/View/components/NavigationItemForm/utils/form.js +81 -52
  70. package/admin/src/pages/View/components/NavigationItemPopup/NavigationItemPopupFooter.d.ts +23 -0
  71. package/admin/src/pages/View/components/NavigationItemPopup/NavigationItemPopupFooter.js +24 -34
  72. package/admin/src/pages/View/components/NavigationItemPopup/NavigationItemPopupHeader.d.ts +4 -0
  73. package/admin/src/pages/View/components/NavigationItemPopup/NavigationItemPopupHeader.js +16 -16
  74. package/admin/src/pages/View/components/NavigationItemPopup/index.d.ts +27 -0
  75. package/admin/src/pages/View/components/NavigationItemPopup/index.js +59 -108
  76. package/admin/src/pages/View/index.d.ts +4 -0
  77. package/admin/src/pages/View/index.js +229 -304
  78. package/admin/src/pages/View/utils/enums.d.ts +9 -0
  79. package/admin/src/pages/View/utils/enums.js +11 -8
  80. package/admin/src/pages/View/utils/form.d.ts +2 -0
  81. package/admin/src/pages/View/utils/form.js +15 -12
  82. package/admin/src/pages/View/utils/index.d.ts +2 -0
  83. package/admin/src/pages/View/utils/index.js +11 -3
  84. package/admin/src/pages/View/utils/parsers.d.ts +44 -0
  85. package/admin/src/pages/View/utils/parsers.js +231 -277
  86. package/admin/src/permissions.d.ts +12 -0
  87. package/admin/src/permissions.js +11 -7
  88. package/admin/src/pluginId.d.ts +3 -0
  89. package/admin/src/pluginId.js +2 -2
  90. package/admin/src/translations/en.json +126 -102
  91. package/admin/src/translations/fr.json +44 -44
  92. package/admin/src/translations/index.d.ts +12 -0
  93. package/admin/src/translations/index.js +17 -11
  94. package/admin/src/utils/api.d.ts +8 -0
  95. package/admin/src/utils/api.js +54 -50
  96. package/admin/src/utils/getTrad.d.ts +3 -0
  97. package/admin/src/utils/getTrad.js +9 -5
  98. package/admin/src/utils/index.d.ts +5 -0
  99. package/admin/src/utils/index.js +21 -15
  100. package/package.json +19 -17
  101. package/permissions.d.ts +9 -0
  102. package/permissions.js +5 -4
  103. package/server/bootstrap/index.d.ts +4 -0
  104. package/server/bootstrap/index.js +41 -0
  105. package/server/config/index.d.ts +5 -0
  106. package/server/config/index.js +33 -9
  107. package/server/config/setupStrategy.d.ts +3 -0
  108. package/server/config/setupStrategy.js +38 -0
  109. package/server/content-types/audience/index.d.ts +27 -0
  110. package/server/content-types/audience/index.js +9 -8
  111. package/server/content-types/audience/schema.d.ts +25 -0
  112. package/server/content-types/audience/schema.js +26 -0
  113. package/server/content-types/index.d.ts +255 -0
  114. package/server/content-types/index.js +15 -12
  115. package/server/content-types/navigation/index.d.ts +64 -0
  116. package/server/content-types/navigation/index.js +11 -8
  117. package/server/content-types/navigation/lifecycle.d.ts +9 -0
  118. package/server/content-types/navigation/lifecycle.js +8 -12
  119. package/server/content-types/navigation/schema.d.ts +55 -0
  120. package/server/content-types/navigation/schema.js +56 -0
  121. package/server/content-types/navigation-item/index.d.ts +112 -0
  122. package/server/content-types/navigation-item/index.js +11 -8
  123. package/server/content-types/navigation-item/lifecycle.d.ts +16 -0
  124. package/server/content-types/navigation-item/lifecycle.js +28 -32
  125. package/server/content-types/navigation-item/schema.d.ts +97 -0
  126. package/server/content-types/navigation-item/schema.js +102 -0
  127. package/server/content-types/navigations-items-related/index.d.ts +56 -0
  128. package/server/content-types/navigations-items-related/index.js +11 -8
  129. package/server/content-types/navigations-items-related/lifecycle.d.ts +8 -0
  130. package/server/content-types/navigations-items-related/lifecycle.js +20 -17
  131. package/server/content-types/navigations-items-related/schema.d.ts +49 -0
  132. package/server/content-types/navigations-items-related/schema.js +50 -0
  133. package/server/controllers/admin.d.ts +4 -0
  134. package/server/controllers/admin.js +77 -0
  135. package/server/controllers/client.d.ts +4 -0
  136. package/server/controllers/client.js +34 -0
  137. package/server/controllers/index.d.ts +4 -0
  138. package/server/controllers/index.js +12 -6
  139. package/server/destroy.d.ts +3 -0
  140. package/server/destroy.js +5 -0
  141. package/server/graphql/config.d.ts +4 -0
  142. package/server/graphql/config.js +28 -0
  143. package/server/graphql/index.d.ts +2 -0
  144. package/server/graphql/index.js +18 -22
  145. package/server/graphql/queries/index.d.ts +3 -0
  146. package/server/graphql/queries/index.js +15 -15
  147. package/server/graphql/queries/render-navigation-child.d.ts +15 -0
  148. package/server/graphql/queries/render-navigation-child.js +24 -15
  149. package/server/graphql/queries/render-navigation.d.ts +23 -0
  150. package/server/graphql/queries/render-navigation.js +29 -15
  151. package/server/graphql/resolvers-config.d.ts +10 -0
  152. package/server/graphql/resolvers-config.js +5 -3
  153. package/server/graphql/setupStrategy.d.ts +3 -0
  154. package/server/graphql/setupStrategy.js +15 -0
  155. package/server/graphql/types/content-types-name-fields.d.ts +6 -0
  156. package/server/graphql/types/content-types-name-fields.js +13 -9
  157. package/server/graphql/types/content-types.d.ts +5 -0
  158. package/server/graphql/types/content-types.js +17 -15
  159. package/server/graphql/types/create-navigation-item.d.ts +5 -0
  160. package/server/graphql/types/create-navigation-item.js +18 -16
  161. package/server/graphql/types/create-navigation-related.d.ts +5 -0
  162. package/server/graphql/types/create-navigation-related.js +9 -7
  163. package/server/graphql/types/create-navigation.d.ts +5 -0
  164. package/server/graphql/types/create-navigation.js +8 -6
  165. package/server/graphql/types/index.d.ts +3 -0
  166. package/server/graphql/types/index.js +15 -13
  167. package/server/graphql/types/navigation-config.d.ts +5 -0
  168. package/server/graphql/types/navigation-config.js +10 -8
  169. package/server/graphql/types/navigation-details.d.ts +5 -0
  170. package/server/graphql/types/navigation-details.js +11 -9
  171. package/server/graphql/types/navigation-item-related-data.d.ts +5 -0
  172. package/server/graphql/types/navigation-item-related-data.js +9 -0
  173. package/server/graphql/types/navigation-item-related.d.ts +7 -0
  174. package/server/graphql/types/navigation-item-related.js +25 -0
  175. package/server/graphql/types/navigation-item.d.ts +5 -0
  176. package/server/graphql/types/navigation-item.js +28 -29
  177. package/server/graphql/types/navigation-render-type.d.ts +5 -0
  178. package/server/graphql/types/navigation-render-type.js +7 -4
  179. package/server/graphql/types/navigation.d.ts +5 -0
  180. package/server/graphql/types/navigation.js +10 -8
  181. package/server/i18n/constant.d.ts +2 -0
  182. package/server/i18n/constant.js +5 -0
  183. package/server/i18n/errors.d.ts +7 -0
  184. package/server/i18n/errors.js +14 -0
  185. package/server/i18n/graphQLEnhancers.d.ts +10 -0
  186. package/server/i18n/graphQLEnhancers.js +9 -0
  187. package/server/i18n/index.d.ts +8 -0
  188. package/server/i18n/index.js +23 -0
  189. package/server/i18n/navigationSetupStrategy.d.ts +3 -0
  190. package/server/i18n/navigationSetupStrategy.js +119 -0
  191. package/server/i18n/serviceEnhancers.d.ts +12 -0
  192. package/server/i18n/serviceEnhancers.js +117 -0
  193. package/server/i18n/types.d.ts +54 -0
  194. package/server/i18n/types.js +3 -0
  195. package/server/i18n/utils.d.ts +12 -0
  196. package/server/i18n/utils.js +29 -0
  197. package/server/index.d.ts +273 -0
  198. package/server/index.js +26 -0
  199. package/server/navigation/index.d.ts +2 -0
  200. package/server/navigation/index.js +18 -0
  201. package/server/navigation/setupStrategy.d.ts +3 -0
  202. package/server/navigation/setupStrategy.js +37 -0
  203. package/server/register/index.d.ts +3 -0
  204. package/server/register/index.js +4 -0
  205. package/server/routes/admin.d.ts +4 -0
  206. package/server/routes/admin.js +72 -61
  207. package/server/routes/client.d.ts +4 -0
  208. package/server/routes/client.js +25 -21
  209. package/server/routes/index.d.ts +6 -0
  210. package/server/routes/index.js +13 -4
  211. package/server/services/admin.d.ts +5 -0
  212. package/server/services/admin.js +183 -0
  213. package/server/services/client.d.ts +5 -0
  214. package/server/services/client.js +249 -0
  215. package/server/services/common.d.ts +5 -0
  216. package/server/services/common.js +313 -0
  217. package/server/services/index.d.ts +7 -0
  218. package/server/services/index.js +14 -6
  219. package/server/utils/constant.d.ts +27 -0
  220. package/server/utils/constant.js +24 -0
  221. package/server/utils/functions.d.ts +138 -0
  222. package/server/utils/functions.js +224 -0
  223. package/server/utils/index.d.ts +3 -0
  224. package/server/utils/index.js +19 -0
  225. package/strapi-admin.d.ts +3 -0
  226. package/strapi-admin.js +8 -1
  227. package/strapi-server.d.ts +273 -0
  228. package/strapi-server.js +6 -17
  229. package/tsconfig.tsbuildinfo +1 -0
  230. package/types/bootstrap.d.ts +13 -0
  231. package/types/bootstrap.js +3 -0
  232. package/types/config.d.ts +21 -0
  233. package/types/config.js +3 -0
  234. package/types/contentTypes.d.ts +85 -0
  235. package/types/contentTypes.js +3 -0
  236. package/types/controllers.d.ts +35 -0
  237. package/types/controllers.js +5 -0
  238. package/types/graphQL.d.ts +3 -0
  239. package/types/graphQL.js +3 -0
  240. package/types/i18n.d.ts +9 -0
  241. package/types/i18n.js +3 -0
  242. package/types/index.d.ts +9 -0
  243. package/types/index.js +25 -0
  244. package/types/services.d.ts +68 -0
  245. package/types/services.js +3 -0
  246. package/types/utils.d.ts +58 -0
  247. package/types/utils.js +26 -0
  248. package/utils/InvalidParamNavigationError.d.ts +4 -0
  249. package/utils/InvalidParamNavigationError.js +11 -0
  250. package/utils/NavigationError.d.ts +5 -0
  251. package/utils/NavigationError.js +7 -7
  252. package/__mocks__/pages.settings.json +0 -25
  253. package/__mocks__/strapi.js +0 -207
  254. package/jest.config.js +0 -14
  255. package/server/bootstrap.js +0 -52
  256. package/server/config.js +0 -9
  257. package/server/content-types/audience/lifecycle.js +0 -8
  258. package/server/content-types/audience/schema.json +0 -23
  259. package/server/content-types/navigation/schema.json +0 -45
  260. package/server/content-types/navigation-item/schema.json +0 -99
  261. package/server/content-types/navigations-items-related/schema.json +0 -47
  262. package/server/controllers/navigation.js +0 -105
  263. package/server/graphql/types/navigation-related.js +0 -25
  264. package/server/services/__tests__/functions.test.js +0 -48
  265. package/server/services/__tests__/navigation.test.js +0 -91
  266. package/server/services/navigation.js +0 -788
  267. package/server/services/utils/constant.js +0 -21
  268. package/server/services/utils/functions.js +0 -226
@@ -1,16 +1,18 @@
1
+ "use strict";
1
2
  module.exports = ({ nexus }) => nexus.objectType({
2
- name: "ContentTypes",
3
- definition(t) {
4
- t.nonNull.string("uid")
5
- t.nonNull.string("name")
6
- t.nonNull.boolean("isSingle")
7
- t.nonNull.string("collectionName")
8
- t.nonNull.string("contentTypeName")
9
- t.nonNull.string("label")
10
- t.nonNull.string("relatedField")
11
- t.nonNull.string("labelSingular")
12
- t.nonNull.string("endpoint")
13
- t.nonNull.boolean("available")
14
- t.nonNull.boolean("visible")
15
- }
16
- })
3
+ name: "ContentTypes",
4
+ definition(t) {
5
+ t.nonNull.string("uid");
6
+ t.nonNull.string("name");
7
+ t.nonNull.boolean("isSingle");
8
+ t.nonNull.string("collectionName");
9
+ t.nonNull.string("contentTypeName");
10
+ t.nonNull.string("label");
11
+ t.nonNull.string("relatedField");
12
+ t.nonNull.string("labelSingular");
13
+ t.nonNull.string("endpoint");
14
+ t.nonNull.boolean("available");
15
+ t.nonNull.boolean("visible");
16
+ }
17
+ });
18
+ //# sourceMappingURL=content-types.js.map
@@ -0,0 +1,5 @@
1
+ declare function _exports({ nexus }: {
2
+ nexus: any;
3
+ }): any;
4
+ export = _exports;
5
+ //# sourceMappingURL=create-navigation-item.d.ts.map
@@ -1,17 +1,19 @@
1
+ "use strict";
1
2
  module.exports = ({ nexus }) => nexus.inputObjectType({
2
- name: "CreateNavigationItem",
3
- definition(t) {
4
- t.nonNull.string("title")
5
- t.nonNull.string("type")
6
- t.string("path")
7
- t.string("externalPath")
8
- t.nonNull.string("uiRouterKey")
9
- t.nonNull.boolean("menuAttached")
10
- t.nonNull.int("order")
11
- t.int("parent")
12
- t.int("master")
13
- t.list.field("items", { type: 'CreateNavigationItem' })
14
- t.list.string("audience")
15
- t.field("related", { type: 'CreateNavigationRelated' })
16
- }
17
- });
3
+ name: "CreateNavigationItem",
4
+ definition(t) {
5
+ t.nonNull.string("title");
6
+ t.nonNull.string("type");
7
+ t.string("path");
8
+ t.string("externalPath");
9
+ t.nonNull.string("uiRouterKey");
10
+ t.nonNull.boolean("menuAttached");
11
+ t.nonNull.int("order");
12
+ t.int("parent");
13
+ t.int("master");
14
+ t.list.field("items", { type: 'CreateNavigationItem' });
15
+ t.list.string("audience");
16
+ t.field("related", { type: 'CreateNavigationRelated' });
17
+ }
18
+ });
19
+ //# sourceMappingURL=create-navigation-item.js.map
@@ -0,0 +1,5 @@
1
+ declare function _exports({ nexus }: {
2
+ nexus: any;
3
+ }): any;
4
+ export = _exports;
5
+ //# sourceMappingURL=create-navigation-related.d.ts.map
@@ -1,8 +1,10 @@
1
+ "use strict";
1
2
  module.exports = ({ nexus }) => nexus.inputObjectType({
2
- name: "CreateNavigationRelated",
3
- definition(t) {
4
- t.nonNull.string("ref")
5
- t.nonNull.string("field")
6
- t.nonNull.string("refId")
7
- }
8
- });
3
+ name: "CreateNavigationRelated",
4
+ definition(t) {
5
+ t.nonNull.string("ref");
6
+ t.nonNull.string("field");
7
+ t.nonNull.string("refId");
8
+ }
9
+ });
10
+ //# sourceMappingURL=create-navigation-related.js.map
@@ -0,0 +1,5 @@
1
+ declare function _exports({ nexus }: {
2
+ nexus: any;
3
+ }): any;
4
+ export = _exports;
5
+ //# sourceMappingURL=create-navigation.d.ts.map
@@ -1,7 +1,9 @@
1
+ "use strict";
1
2
  module.exports = ({ nexus }) => nexus.inputObjectType({
2
- name: "CreateNavigation",
3
- definition(t) {
4
- t.nonNull.string("name")
5
- t.nonNull.list.field("items", { type: 'CreateNavigationItem' })
6
- }
7
- });
3
+ name: "CreateNavigation",
4
+ definition(t) {
5
+ t.nonNull.string("name");
6
+ t.nonNull.list.field("items", { type: 'CreateNavigationItem' });
7
+ }
8
+ });
9
+ //# sourceMappingURL=create-navigation.js.map
@@ -0,0 +1,3 @@
1
+ declare function _exports(context: any): any[];
2
+ export = _exports;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -1,15 +1,17 @@
1
+ "use strict";
1
2
  const typesFactories = [
2
- require('./navigation-item'),
3
- require('./navigation-related'),
4
- require('./navigation-render-type'),
5
- require('./navigation'),
6
- require('./navigation-details'),
7
- require('./content-types-name-fields'),
8
- require('./content-types'),
9
- require('./navigation-config'),
10
- require('./create-navigation-related'),
11
- require('./create-navigation-item'),
12
- require('./create-navigation'),
3
+ require('./navigation-item-related'),
4
+ require('./navigation-item-related-data'),
5
+ require('./navigation-item'),
6
+ require('./navigation-render-type'),
7
+ require('./navigation'),
8
+ require('./navigation-details'),
9
+ require('./content-types-name-fields'),
10
+ require('./content-types'),
11
+ require('./navigation-config'),
12
+ require('./create-navigation-related'),
13
+ require('./create-navigation-item'),
14
+ require('./create-navigation'),
13
15
  ];
14
-
15
- module.exports = context => typesFactories.map(factory => factory(context));
16
+ module.exports = context => typesFactories.map(factory => factory(context));
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,5 @@
1
+ declare function _exports({ nexus }: {
2
+ nexus: any;
3
+ }): any;
4
+ export = _exports;
5
+ //# sourceMappingURL=navigation-config.d.ts.map
@@ -1,9 +1,11 @@
1
+ "use strict";
1
2
  module.exports = ({ nexus }) => nexus.objectType({
2
- name: "NavigationConfig",
3
- definition(t) {
4
- t.int("allowedLevels");
5
- t.nonNull.list.string("additionalFields");
6
- t.field("contentTypesNameFields", { type: 'ContentTypesNameFields' });
7
- t.list.field("contentTypes", { type: 'ContentTypes' });
8
- }
9
- })
3
+ name: "NavigationConfig",
4
+ definition(t) {
5
+ t.int("allowedLevels");
6
+ t.nonNull.list.string("additionalFields");
7
+ t.field("contentTypesNameFields", { type: 'ContentTypesNameFields' });
8
+ t.list.field("contentTypes", { type: 'ContentTypes' });
9
+ }
10
+ });
11
+ //# sourceMappingURL=navigation-config.js.map
@@ -0,0 +1,5 @@
1
+ declare function _exports({ nexus }: {
2
+ nexus: any;
3
+ }): any;
4
+ export = _exports;
5
+ //# sourceMappingURL=navigation-details.d.ts.map
@@ -1,10 +1,12 @@
1
+ "use strict";
1
2
  module.exports = ({ nexus }) => nexus.objectType({
2
- name: "NavigationDetails",
3
- definition(t) {
4
- t.nonNull.string("id")
5
- t.nonNull.string("name")
6
- t.nonNull.string("slug")
7
- t.nonNull.boolean("visible")
8
- t.nonNull.list.field("items", { type: 'NavigationItem' })
9
- }
10
- })
3
+ name: "NavigationDetails",
4
+ definition(t) {
5
+ t.nonNull.string("id");
6
+ t.nonNull.string("name");
7
+ t.nonNull.string("slug");
8
+ t.nonNull.boolean("visible");
9
+ t.nonNull.list.field("items", { type: 'NavigationItem' });
10
+ }
11
+ });
12
+ //# sourceMappingURL=navigation-details.js.map
@@ -0,0 +1,5 @@
1
+ declare function _exports({ nexus }: {
2
+ nexus: any;
3
+ }): any;
4
+ export = _exports;
5
+ //# sourceMappingURL=navigation-item-related-data.d.ts.map
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ module.exports = ({ nexus }) => nexus.objectType({
3
+ name: "NavigationItemRelatedData",
4
+ definition(t) {
5
+ t.nonNull.int("id");
6
+ t.field("attributes", { type: 'NavigationItemRelated' });
7
+ }
8
+ });
9
+ //# sourceMappingURL=navigation-item-related-data.js.map
@@ -0,0 +1,7 @@
1
+ declare function _exports({ strapi, nexus, config }: {
2
+ strapi: any;
3
+ nexus: any;
4
+ config: any;
5
+ }): any;
6
+ export = _exports;
7
+ //# sourceMappingURL=navigation-item-related.d.ts.map
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ module.exports = ({ strapi, nexus, config }) => {
3
+ const related = config.gql?.navigationItemRelated;
4
+ const name = "NavigationItemRelated";
5
+ if (related?.length) {
6
+ return nexus.unionType({
7
+ name,
8
+ definition(t) {
9
+ t.members(...related);
10
+ },
11
+ resolveType: (item) => {
12
+ return strapi.contentTypes[item.__contentType]?.globalId;
13
+ }
14
+ });
15
+ }
16
+ return nexus.objectType({
17
+ name,
18
+ definition(t) {
19
+ t.int("id");
20
+ t.string("title");
21
+ t.string("name");
22
+ }
23
+ });
24
+ };
25
+ //# sourceMappingURL=navigation-item-related.js.map
@@ -0,0 +1,5 @@
1
+ declare function _exports({ nexus }: {
2
+ nexus: any;
3
+ }): any;
4
+ export = _exports;
5
+ //# sourceMappingURL=navigation-item.d.ts.map
@@ -1,29 +1,28 @@
1
- module.exports = ({ nexus }) =>
2
- nexus.objectType({
3
- name: "NavigationItem",
4
- definition(t) {
5
- t.nonNull.int("id")
6
- t.nonNull.string("title")
7
- t.nonNull.string("type")
8
- t.string("path")
9
- t.string("externalPath")
10
- t.nonNull.string("uiRouterKey")
11
- t.nonNull.boolean("menuAttached")
12
- t.nonNull.int("order")
13
- t.int("parent")
14
- t.int("master")
15
- t.list.field("items", { type: 'NavigationItem' })
16
- t.field("related", { type: 'NavigationRelated' })
17
- t.list.string("audience")
18
- // SQL
19
- t.string("created_at")
20
- t.string("updated_at")
21
- t.string("created_by")
22
- t.string("updated_by")
23
- // MONGO
24
- t.string("createdAt")
25
- t.string("updatedAt")
26
- t.string("createdBy")
27
- t.string("updatedBy")
28
- }
29
- });
1
+ "use strict";
2
+ module.exports = ({ nexus }) => nexus.objectType({
3
+ name: "NavigationItem",
4
+ definition(t) {
5
+ t.nonNull.int("id");
6
+ t.nonNull.string("title");
7
+ t.nonNull.string("type");
8
+ t.string("path");
9
+ t.string("externalPath");
10
+ t.nonNull.string("uiRouterKey");
11
+ t.nonNull.boolean("menuAttached");
12
+ t.nonNull.int("order");
13
+ t.field("parent", { type: "NavigationItem" });
14
+ t.int("master");
15
+ t.list.field("items", { type: 'NavigationItem' });
16
+ t.field("related", { type: 'NavigationItemRelatedData' });
17
+ t.list.string("audience");
18
+ t.string("created_at");
19
+ t.string("updated_at");
20
+ t.string("created_by");
21
+ t.string("updated_by");
22
+ t.string("createdAt");
23
+ t.string("updatedAt");
24
+ t.string("createdBy");
25
+ t.string("updatedBy");
26
+ }
27
+ });
28
+ //# sourceMappingURL=navigation-item.js.map
@@ -0,0 +1,5 @@
1
+ declare function _exports({ nexus }: {
2
+ nexus: any;
3
+ }): any;
4
+ export = _exports;
5
+ //# sourceMappingURL=navigation-render-type.d.ts.map
@@ -1,4 +1,7 @@
1
- module.exports = ({nexus}) => nexus.enumType({
2
- name: "NavigationRenderType",
3
- members: ['FLAT','TREE','RFR'],
4
- });
1
+ "use strict";
2
+ const { RENDER_TYPES } = require("../../utils");
3
+ module.exports = ({ nexus }) => nexus.enumType({
4
+ name: "NavigationRenderType",
5
+ members: Object.values(RENDER_TYPES),
6
+ });
7
+ //# sourceMappingURL=navigation-render-type.js.map
@@ -0,0 +1,5 @@
1
+ declare function _exports({ nexus }: {
2
+ nexus: any;
3
+ }): any;
4
+ export = _exports;
5
+ //# sourceMappingURL=navigation.d.ts.map
@@ -1,9 +1,11 @@
1
+ "use strict";
1
2
  module.exports = ({ nexus }) => nexus.objectType({
2
- name: "Navigation",
3
- definition(t) {
4
- t.nonNull.string("id")
5
- t.nonNull.string("name")
6
- t.nonNull.string("slug")
7
- t.nonNull.boolean("visible")
8
- }
9
- })
3
+ name: "Navigation",
4
+ definition(t) {
5
+ t.nonNull.string("id");
6
+ t.nonNull.string("name");
7
+ t.nonNull.string("slug");
8
+ t.nonNull.boolean("visible");
9
+ }
10
+ });
11
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1,2 @@
1
+ export declare const I18N_DEFAULT_POPULATE: ["localizations"];
2
+ //# sourceMappingURL=constant.d.ts.map
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.I18N_DEFAULT_POPULATE = void 0;
4
+ exports.I18N_DEFAULT_POPULATE = ["localizations"];
5
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1,7 @@
1
+ import { NavigationError } from "../../utils/NavigationError";
2
+ export declare class DefaultLocaleMissingError extends NavigationError {
3
+ constructor(message?: string);
4
+ }
5
+ export declare class FillNavigationError extends NavigationError {
6
+ }
7
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FillNavigationError = exports.DefaultLocaleMissingError = void 0;
4
+ const NavigationError_1 = require("../../utils/NavigationError");
5
+ class DefaultLocaleMissingError extends NavigationError_1.NavigationError {
6
+ constructor(message = "Default locale is required.") {
7
+ super(message);
8
+ }
9
+ }
10
+ exports.DefaultLocaleMissingError = DefaultLocaleMissingError;
11
+ class FillNavigationError extends NavigationError_1.NavigationError {
12
+ }
13
+ exports.FillNavigationError = FillNavigationError;
14
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1,10 @@
1
+ import { Nexus } from "../../types";
2
+ declare type RenderNavigationArgsEnhancer<T> = {
3
+ previousArgs: T;
4
+ nexus: Nexus;
5
+ };
6
+ export declare const addI18NRenderNavigationArgs: <T>({ previousArgs, nexus, }: RenderNavigationArgsEnhancer<T>) => T & {
7
+ locale: any;
8
+ };
9
+ export {};
10
+ //# sourceMappingURL=graphQLEnhancers.d.ts.map
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addI18NRenderNavigationArgs = void 0;
4
+ const addI18NRenderNavigationArgs = ({ previousArgs, nexus, }) => ({
5
+ ...previousArgs,
6
+ locale: nexus.stringArg(),
7
+ });
8
+ exports.addI18NRenderNavigationArgs = addI18NRenderNavigationArgs;
9
+ //# sourceMappingURL=graphQLEnhancers.js.map
@@ -0,0 +1,8 @@
1
+ export * from "./constant";
2
+ export * from "./graphQLEnhancers";
3
+ export * from "./navigationSetupStrategy";
4
+ export * from "./serviceEnhancers";
5
+ export * from "./utils";
6
+ export * from "./errors";
7
+ export { I18NConfigFields } from "./types";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./constant"), exports);
18
+ __exportStar(require("./graphQLEnhancers"), exports);
19
+ __exportStar(require("./navigationSetupStrategy"), exports);
20
+ __exportStar(require("./serviceEnhancers"), exports);
21
+ __exportStar(require("./utils"), exports);
22
+ __exportStar(require("./errors"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ import { INavigationSetupStrategy } from "../../types";
2
+ export declare const i18nNavigationSetupStrategy: INavigationSetupStrategy;
3
+ //# sourceMappingURL=navigationSetupStrategy.d.ts.map
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18nNavigationSetupStrategy = void 0;
4
+ const types_1 = require("../../types");
5
+ const utils_1 = require("../utils");
6
+ const errors_1 = require("./errors");
7
+ const i18nNavigationSetupStrategy = async ({ strapi, }) => {
8
+ const pluginStore = strapi.store({
9
+ type: "plugin",
10
+ name: "navigation",
11
+ });
12
+ const config = await pluginStore.get({
13
+ key: "config",
14
+ });
15
+ let currentNavigations = await getCurrentNavigations(strapi);
16
+ const localeService = strapi.plugin("i18n").service("locales");
17
+ const defaultLocale = await localeService.getDefaultLocale();
18
+ const allLocale = (await localeService.find({})).map(({ code }) => code);
19
+ (0, types_1.assertNotEmpty)(defaultLocale, new errors_1.DefaultLocaleMissingError());
20
+ if (config.i18nEnabled) {
21
+ const hasNotAnyLocale = ({ localeCode }) => !localeCode;
22
+ if (currentNavigations.length === 0) {
23
+ currentNavigations = [
24
+ await createDefaultI18nNavigation({ strapi, defaultLocale }),
25
+ ];
26
+ }
27
+ if (currentNavigations.some(hasNotAnyLocale)) {
28
+ currentNavigations = await Promise.all(currentNavigations.map(async (navigation) => {
29
+ return hasNotAnyLocale(navigation)
30
+ ? await updateNavigation({
31
+ strapi,
32
+ current: navigation,
33
+ payload: {
34
+ localeCode: defaultLocale,
35
+ },
36
+ populate: utils_1.DEFAULT_POPULATE,
37
+ })
38
+ : navigation;
39
+ }));
40
+ }
41
+ await Promise.all(currentNavigations
42
+ .filter(({ localeCode }) => defaultLocale === localeCode)
43
+ .flatMap(async (rootNavigation) => {
44
+ const localizations = [
45
+ ...(rootNavigation.localizations ?? []).map((localization) => (0, types_1.assertEntity)(localization, "Navigation")),
46
+ rootNavigation,
47
+ ];
48
+ for (const locale of allLocale) {
49
+ if (!localizations.some(({ localeCode }) => localeCode === locale)) {
50
+ localizations.push(await createNavigation({
51
+ strapi,
52
+ payload: {
53
+ localeCode: locale,
54
+ slug: `${rootNavigation.slug}-${locale}`,
55
+ name: rootNavigation.name,
56
+ visible: true,
57
+ },
58
+ }));
59
+ }
60
+ }
61
+ return await Promise.all(localizations.map((current) => updateNavigation({
62
+ strapi,
63
+ current,
64
+ payload: {
65
+ localizations: localizations.filter(({ id }) => id !== current.id),
66
+ },
67
+ })));
68
+ }));
69
+ }
70
+ else {
71
+ if (config.pruneObsoleteI18nNavigations) {
72
+ await deleteNavigations({
73
+ strapi,
74
+ where: { localeCode: { $not: defaultLocale } },
75
+ });
76
+ await pluginStore.set({
77
+ key: "config",
78
+ value: {
79
+ ...config,
80
+ pruneObsoleteI18nNavigations: false,
81
+ },
82
+ });
83
+ }
84
+ const remainingNavigations = await getCurrentNavigations(strapi);
85
+ if (!remainingNavigations.length) {
86
+ await createDefaultI18nNavigation({ strapi, defaultLocale });
87
+ }
88
+ }
89
+ return getCurrentNavigations(strapi);
90
+ };
91
+ exports.i18nNavigationSetupStrategy = i18nNavigationSetupStrategy;
92
+ const getCurrentNavigations = (strapi) => strapi.plugin("navigation").service("admin").get();
93
+ const createNavigation = ({ strapi, payload, populate, }) => strapi.query("plugin::navigation.navigation").create({
94
+ data: {
95
+ ...payload,
96
+ },
97
+ populate,
98
+ });
99
+ const updateNavigation = ({ strapi, current, payload, populate, }) => strapi.query("plugin::navigation.navigation").update({
100
+ data: {
101
+ ...payload,
102
+ },
103
+ populate,
104
+ where: {
105
+ id: current.id,
106
+ },
107
+ });
108
+ const deleteNavigations = ({ strapi, where, }) => strapi.query("plugin::navigation.navigation").deleteMany({
109
+ where,
110
+ });
111
+ const createDefaultI18nNavigation = ({ strapi, defaultLocale }) => createNavigation({
112
+ strapi,
113
+ payload: {
114
+ ...utils_1.DEFAULT_NAVIGATION_ITEM,
115
+ localeCode: defaultLocale,
116
+ },
117
+ populate: utils_1.DEFAULT_POPULATE,
118
+ });
119
+ //# sourceMappingURL=navigationSetupStrategy.js.map
@@ -0,0 +1,12 @@
1
+ import { AddI18NConfigFieldsInput, AddI18nWhereClause, HandleLocaleParamInput, I18nAwareEntityReadHandlerInput, I18NConfigFields, I18nNavigationContentsCopyInput } from "./types";
2
+ export declare const addI18NConfigFields: <T>({ previousConfig, strapi, viaSettingsPage, }: AddI18NConfigFieldsInput<T>) => Promise<T & I18NConfigFields>;
3
+ export declare const handleLocaleQueryParam: ({ locale, strapi, }: HandleLocaleParamInput) => Promise<string | undefined>;
4
+ export declare const i18nAwareEntityReadHandler: <T extends {
5
+ localeCode?: string | null | undefined;
6
+ localizations?: T[] | null | undefined;
7
+ }>({ entity, entityUid, localeCode, populate, strapi, whereClause, }: I18nAwareEntityReadHandlerInput<T>) => Promise<T | null | undefined>;
8
+ export declare const addI18nWhereClause: <T>({ modelUid, previousWhere, query, strapi, }: AddI18nWhereClause<T>) => Promise<T & {
9
+ locale?: string | undefined;
10
+ }>;
11
+ export declare const i18nNavigationContentsCopy: ({ target, source, strapi, service, }: I18nNavigationContentsCopyInput) => Promise<void>;
12
+ //# sourceMappingURL=serviceEnhancers.d.ts.map