@strapi/admin 4.3.4 → 4.4.0-alpha.0

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 (517) hide show
  1. package/admin/src/StrapiApp.js +27 -35
  2. package/admin/src/components/AuthenticatedApp/index.js +15 -12
  3. package/admin/src/components/AuthenticatedApp/utils/api.js +1 -1
  4. package/admin/src/components/AutoReloadOverlayBlockerProvider/index.js +8 -6
  5. package/admin/src/components/ConfigurationsProvider/index.js +21 -12
  6. package/admin/src/components/ConfigurationsProvider/reducer.js +1 -1
  7. package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +1 -1
  8. package/admin/src/components/GuidedTour/Homepage/index.js +2 -2
  9. package/admin/src/components/GuidedTour/Modal/components/Content.js +6 -6
  10. package/admin/src/components/GuidedTour/Modal/components/Modal.js +1 -1
  11. package/admin/src/components/GuidedTour/Modal/index.js +2 -4
  12. package/admin/src/components/GuidedTour/Modal/reducer.js +1 -1
  13. package/admin/src/components/GuidedTour/index.js +4 -4
  14. package/admin/src/components/GuidedTour/init.js +2 -2
  15. package/admin/src/components/GuidedTour/reducer.js +1 -1
  16. package/admin/src/components/GuidedTour/utils/isGuidedTourCompleted.js +1 -1
  17. package/admin/src/components/GuidedTour/utils/persistStateToLocaleStorage.js +4 -4
  18. package/admin/src/components/LanguageProvider/index.js +1 -1
  19. package/admin/src/components/LanguageProvider/init.js +1 -1
  20. package/admin/src/components/LeftMenu/index.js +6 -6
  21. package/admin/src/components/Notifications/Notification/index.js +3 -4
  22. package/admin/src/components/Notifications/index.js +2 -2
  23. package/admin/src/components/Notifications/reducer.js +2 -2
  24. package/admin/src/components/PluginsInitializer/index.js +4 -2
  25. package/admin/src/components/PluginsInitializer/init.js +1 -1
  26. package/admin/src/components/PluginsInitializer/reducer.js +1 -1
  27. package/admin/src/components/PrivateRoute/index.js +1 -1
  28. package/admin/src/components/Providers/index.js +14 -10
  29. package/admin/src/components/RBACProvider/actions.js +1 -1
  30. package/admin/src/components/RBACProvider/index.js +1 -1
  31. package/admin/src/components/RBACProvider/reducer.js +2 -2
  32. package/admin/src/components/ThemeToggleProvider/index.js +1 -1
  33. package/admin/src/components/UpgradePlanModal/index.js +1 -1
  34. package/admin/src/content-manager/components/AttributeFilter/Filters.js +1 -1
  35. package/admin/src/content-manager/components/AttributeFilter/hooks/useAllowedAttributes.js +1 -1
  36. package/admin/src/content-manager/components/AttributeFilter/index.js +1 -1
  37. package/admin/src/content-manager/components/Block/index.js +1 -1
  38. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +7 -12
  39. package/admin/src/content-manager/components/DragLayer/index.js +1 -1
  40. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +1 -1
  41. package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +1 -1
  42. package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +4 -4
  43. package/admin/src/content-manager/components/DynamicTable/index.js +25 -4
  44. package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton/index.js +18 -20
  45. package/admin/src/content-manager/components/DynamicZone/components/Component/index.js +1 -1
  46. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/Category/ComponentCard/index.js +1 -1
  47. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/index.js +3 -3
  48. package/admin/src/content-manager/components/DynamicZone/index.js +10 -10
  49. package/admin/src/content-manager/components/DynamicZone/utils/connect.js +1 -1
  50. package/admin/src/content-manager/components/DynamicZone/utils/select.js +1 -1
  51. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +6 -6
  52. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +1 -1
  53. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +4 -4
  54. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +18 -18
  55. package/admin/src/content-manager/components/FieldComponent/utils/connect.js +1 -1
  56. package/admin/src/content-manager/components/FieldComponent/utils/select.js +6 -6
  57. package/admin/src/content-manager/components/FieldTypeIcon/index.js +31 -1
  58. package/admin/src/content-manager/components/FormTitle/index.js +1 -1
  59. package/admin/src/content-manager/components/InjectionZoneList/index.js +1 -1
  60. package/admin/src/content-manager/components/InputJSON/index.js +5 -6
  61. package/admin/src/content-manager/components/InputJSON/jsonlint.js +13 -13
  62. package/admin/src/content-manager/components/InputUID/index.js +1 -1
  63. package/admin/src/content-manager/components/InputUID/regex.js +1 -1
  64. package/admin/src/content-manager/components/Inputs/index.js +62 -15
  65. package/admin/src/content-manager/components/Inputs/utils/connect.js +1 -1
  66. package/admin/src/content-manager/components/Inputs/utils/generateOptions.js +1 -1
  67. package/admin/src/content-manager/components/Inputs/utils/getStep.js +1 -5
  68. package/admin/src/content-manager/components/LayoutDndProvider/index.js +6 -6
  69. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +4 -4
  70. package/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js +1 -1
  71. package/admin/src/content-manager/components/PreviewWysiwyg/utils/satinizeHtml.js +1 -1
  72. package/admin/src/content-manager/components/RepeatableComponent/AccordionGroupCustom/index.js +1 -1
  73. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/index.js +9 -15
  74. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/connect.js +1 -1
  75. package/admin/src/content-manager/components/RepeatableComponent/index.js +5 -5
  76. package/admin/src/content-manager/components/RepeatableComponent/utils/connect.js +1 -1
  77. package/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js +2 -2
  78. package/admin/src/content-manager/components/SectionTitle/index.js +1 -1
  79. package/admin/src/content-manager/components/SelectMany/ListItem.js +1 -1
  80. package/admin/src/content-manager/components/SelectMany/index.js +1 -1
  81. package/admin/src/content-manager/components/SelectOne/SingleValue.js +1 -1
  82. package/admin/src/content-manager/components/SelectWrapper/Option.js +1 -1
  83. package/admin/src/content-manager/components/SelectWrapper/index.js +16 -26
  84. package/admin/src/content-manager/components/SelectWrapper/utils/connect.js +1 -1
  85. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +6 -11
  86. package/admin/src/content-manager/components/SingleTypeFormWrapper/utils/getRequestUrl.js +1 -1
  87. package/admin/src/content-manager/components/Wysiwyg/Editor.js +1 -1
  88. package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +1 -1
  89. package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +1 -1
  90. package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +4 -4
  91. package/admin/src/content-manager/components/Wysiwyg/index.js +5 -5
  92. package/admin/src/content-manager/components/Wysiwyg/utils/utils.js +4 -4
  93. package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +1 -1
  94. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +3 -3
  95. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/reducer.js +1 -1
  96. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +7 -7
  97. package/admin/src/content-manager/hooks/useFindRedirectionLink/index.js +1 -1
  98. package/admin/src/content-manager/hooks/useFindRedirectionLink/selectors.js +1 -1
  99. package/admin/src/content-manager/hooks/useSyncRbac/reducer.js +1 -1
  100. package/admin/src/content-manager/hooks/useSyncRbac/selectors.js +2 -2
  101. package/admin/src/content-manager/pages/App/LeftMenu/index.js +8 -8
  102. package/admin/src/content-manager/pages/App/index.js +3 -3
  103. package/admin/src/content-manager/pages/App/reducer.js +1 -1
  104. package/admin/src/content-manager/pages/App/selectors.js +4 -4
  105. package/admin/src/content-manager/pages/App/useModels.js +1 -1
  106. package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +2 -2
  107. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -1
  108. package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +2 -2
  109. package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +1 -1
  110. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +5 -5
  111. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +1 -1
  112. package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +1 -1
  113. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +7 -2
  114. package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +3 -3
  115. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +36 -5
  116. package/admin/src/content-manager/pages/EditSettingsView/components/RelationalFieldButton.js +3 -3
  117. package/admin/src/content-manager/pages/EditSettingsView/components/RelationalFields.js +1 -1
  118. package/admin/src/content-manager/pages/EditSettingsView/index.js +23 -22
  119. package/admin/src/content-manager/pages/EditSettingsView/reducer.js +1 -1
  120. package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +2 -2
  121. package/admin/src/content-manager/pages/EditSettingsView/utils/getInputProps.js +1 -1
  122. package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +12 -12
  123. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +1 -1
  124. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/connect.js +1 -1
  125. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/connect.js +1 -1
  126. package/admin/src/content-manager/pages/EditView/Header/index.js +4 -4
  127. package/admin/src/content-manager/pages/EditView/Header/utils/connect.js +1 -1
  128. package/admin/src/content-manager/pages/EditView/Header/utils/getDraftRelations.js +3 -3
  129. package/admin/src/content-manager/pages/EditView/Informations/utils/getUnits.js +1 -1
  130. package/admin/src/content-manager/pages/EditView/index.js +98 -94
  131. package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +2 -2
  132. package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +1 -1
  133. package/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js +1 -1
  134. package/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js +1 -1
  135. package/admin/src/content-manager/pages/EditViewLayoutManager/selectors.js +1 -1
  136. package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +6 -6
  137. package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +4 -3
  138. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +9 -9
  139. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +2 -2
  140. package/admin/src/content-manager/pages/ListSettingsView/index.js +9 -9
  141. package/admin/src/content-manager/pages/ListSettingsView/reducer.js +1 -1
  142. package/admin/src/content-manager/pages/ListSettingsView/utils/ellipsisCardTitle.js +1 -1
  143. package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +8 -7
  144. package/admin/src/content-manager/pages/ListView/FieldPicker/utils/getAllAllowedHeader.js +1 -1
  145. package/admin/src/content-manager/pages/ListView/actions.js +1 -1
  146. package/admin/src/content-manager/pages/ListView/index.js +3 -3
  147. package/admin/src/content-manager/pages/ListView/reducer.js +2 -2
  148. package/admin/src/content-manager/pages/ListView/selectors.js +3 -3
  149. package/admin/src/content-manager/pages/ListView/utils/createPluginsFilter.js +1 -1
  150. package/admin/src/content-manager/pages/ListViewLayoutManager/Permissions.js +2 -2
  151. package/admin/src/content-manager/sharedReducers/crudReducer/actions.js +3 -3
  152. package/admin/src/content-manager/sharedReducers/crudReducer/reducer.js +1 -1
  153. package/admin/src/content-manager/sharedReducers/crudReducer/selectors.js +1 -1
  154. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
  155. package/admin/src/content-manager/utils/formatLayoutToApi.js +2 -2
  156. package/admin/src/content-manager/utils/generatePermissionsObject.js +3 -2
  157. package/admin/src/content-manager/utils/getFieldName.js +2 -2
  158. package/admin/src/content-manager/utils/getMaxTempKey.js +2 -2
  159. package/admin/src/content-manager/utils/getRequestUrl.js +1 -1
  160. package/admin/src/content-manager/utils/getTrad.js +1 -1
  161. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +2 -2
  162. package/admin/src/content-manager/utils/removeKeyInObject.js +1 -1
  163. package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +2 -2
  164. package/admin/src/core/apis/CustomFields.js +80 -0
  165. package/admin/src/core/apis/Plugin.js +1 -1
  166. package/admin/src/core/apis/index.js +1 -0
  167. package/admin/src/core/store/configureStore.js +1 -1
  168. package/admin/src/core/store/createReducer.js +1 -1
  169. package/admin/src/core/utils/axiosInstance.js +4 -4
  170. package/admin/src/core/utils/createHook.js +2 -2
  171. package/admin/src/hooks/useFetchEnabledPlugins/index.js +3 -3
  172. package/admin/src/hooks/useFetchMarketplacePlugins/index.js +3 -3
  173. package/admin/src/hooks/useFetchMarketplacePlugins/utils/api.js +1 -1
  174. package/admin/src/hooks/useFetchMarketplaceProviders/index.js +3 -3
  175. package/admin/src/hooks/useFetchPermissionsLayout/index.js +1 -1
  176. package/admin/src/hooks/useFetchPermissionsLayout/reducer.js +1 -1
  177. package/admin/src/hooks/useFetchRole/index.js +4 -4
  178. package/admin/src/hooks/useFetchRole/reducer.js +1 -1
  179. package/admin/src/hooks/useMenu/reducer.js +1 -1
  180. package/admin/src/hooks/useMenu/utils/getGeneralLinks.js +3 -1
  181. package/admin/src/hooks/useModels/index.js +1 -1
  182. package/admin/src/hooks/useModels/reducer.js +3 -3
  183. package/admin/src/hooks/useRolesList/reducer.js +1 -1
  184. package/admin/src/hooks/useSettingsForm/index.js +2 -2
  185. package/admin/src/hooks/useSettingsForm/reducer.js +1 -1
  186. package/admin/src/hooks/useSettingsMenu/index.js +2 -2
  187. package/admin/src/hooks/useSettingsMenu/init.js +1 -1
  188. package/admin/src/hooks/useSettingsMenu/reducer.js +3 -3
  189. package/admin/src/hooks/useSettingsMenu/utils/formatLinks.js +3 -3
  190. package/admin/src/hooks/useSettingsMenu/utils/sortLinks.js +1 -1
  191. package/admin/src/index.js +1 -1
  192. package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +1 -1
  193. package/admin/src/pages/Admin/Onboarding/index.js +2 -2
  194. package/admin/src/pages/Admin/index.js +2 -2
  195. package/admin/src/pages/App/index.js +13 -5
  196. package/admin/src/pages/App/reducer.js +1 -1
  197. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -1
  198. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +4 -4
  199. package/admin/src/pages/AuthPage/components/Login/index.js +2 -2
  200. package/admin/src/pages/AuthPage/components/Register/index.js +6 -6
  201. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +5 -5
  202. package/admin/src/pages/AuthPage/init.js +1 -1
  203. package/admin/src/pages/AuthPage/reducer.js +1 -1
  204. package/admin/src/pages/AuthPage/utils/forms.js +2 -8
  205. package/admin/src/pages/HomePage/ContentBlocks.js +1 -1
  206. package/admin/src/pages/HomePage/SocialLinks.js +1 -1
  207. package/admin/src/pages/HomePage/index.js +3 -3
  208. package/admin/src/pages/InstalledPluginsPage/Plugins.js +1 -1
  209. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +2 -2
  210. package/admin/src/pages/MarketplacePage/index.js +6 -10
  211. package/admin/src/pages/ProfilePage/index.js +20 -23
  212. package/admin/src/pages/ProfilePage/utils/api.js +1 -1
  213. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +4 -4
  214. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +2 -2
  215. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +8 -6
  216. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +25 -13
  217. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js +16 -4
  218. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/index.js +1 -1
  219. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/reducer.js +1 -1
  220. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +1 -1
  221. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/reducer.js +1 -1
  222. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +1 -1
  223. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +2 -2
  224. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +1 -1
  225. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js +1 -1
  226. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +4 -4
  227. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +1 -1
  228. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js +1 -1
  229. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js +4 -4
  230. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +1 -1
  231. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +1 -1
  232. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +4 -4
  233. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +2 -2
  234. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +5 -8
  235. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +1 -1
  236. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +3 -3
  237. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +1 -1
  238. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +1 -1
  239. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +8 -12
  240. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/utils/generateHeadersFromActions.js +1 -1
  241. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +1 -1
  242. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/getAvailableActions.js +1 -1
  243. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapses/index.js +1 -1
  244. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +1 -1
  245. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +1 -1
  246. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/findDisplayedActions.js +1 -1
  247. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +2 -2
  248. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +9 -8
  249. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +4 -4
  250. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +1 -1
  251. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/findMatchingPermissions.js +1 -1
  252. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +2 -2
  253. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +1 -1
  254. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatPermissionsToAPI.js +1 -1
  255. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatSettingsPermissionsToAPI.js +4 -4
  256. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +2 -2
  257. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +5 -8
  258. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +2 -2
  259. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/getConditionsButtonState.js +2 -2
  260. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +1 -1
  261. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +67 -69
  262. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +4 -3
  263. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +2 -2
  264. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/getCheckboxState.js +3 -3
  265. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/removeConditionKeyFromData.js +1 -1
  266. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +58 -60
  267. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +6 -10
  268. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +3 -3
  269. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +1 -1
  270. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +4 -4
  271. package/admin/src/pages/SettingsPage/pages/Users/ListPage/Filters/index.js +1 -1
  272. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +8 -8
  273. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/schema.js +2 -8
  274. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +17 -11
  275. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +1 -1
  276. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +46 -14
  277. package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +2 -2
  278. package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/profile.js +1 -5
  279. package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/roles.js +1 -4
  280. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +5 -5
  281. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +4 -4
  282. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/utils/formatValue.js +1 -1
  283. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +4 -4
  284. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +1 -1
  285. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/fieldsRegex.js +2 -2
  286. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/schema.js +1 -1
  287. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +9 -9
  288. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/reducer.js +2 -2
  289. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +2 -2
  290. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +6 -6
  291. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/reducer.js +4 -4
  292. package/admin/src/pages/SettingsPage/utils/createSectionsRoutes.js +3 -3
  293. package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +12 -12
  294. package/admin/src/pages/SettingsPage/utils/getSectionsToDisplay.js +2 -2
  295. package/admin/src/pages/UseCasePage/index.js +2 -2
  296. package/admin/src/shared/components/InjectionZone/index.js +1 -1
  297. package/admin/src/shared/hooks/useInjectionZone/index.js +1 -1
  298. package/admin/src/translations/ca.json +4 -4
  299. package/admin/src/translations/de.json +4 -4
  300. package/admin/src/translations/dk.json +4 -4
  301. package/admin/src/translations/en.json +16 -15
  302. package/admin/src/translations/es.json +163 -6
  303. package/admin/src/translations/fr.json +4 -4
  304. package/admin/src/translations/gu.json +4 -4
  305. package/admin/src/translations/he.json +3 -3
  306. package/admin/src/translations/hi.json +4 -4
  307. package/admin/src/translations/hu.json +4 -4
  308. package/admin/src/translations/id.json +4 -4
  309. package/admin/src/translations/it.json +4 -4
  310. package/admin/src/translations/ja.json +4 -4
  311. package/admin/src/translations/ko.json +4 -4
  312. package/admin/src/translations/ml.json +4 -4
  313. package/admin/src/translations/nl.json +4 -4
  314. package/admin/src/translations/no.json +3 -3
  315. package/admin/src/translations/pl.json +4 -4
  316. package/admin/src/translations/pt-BR.json +177 -24
  317. package/admin/src/translations/ru.json +4 -4
  318. package/admin/src/translations/sa.json +4 -4
  319. package/admin/src/translations/sk.json +4 -4
  320. package/admin/src/translations/sv.json +665 -11
  321. package/admin/src/translations/th.json +3 -3
  322. package/admin/src/translations/zh-Hans.json +12 -15
  323. package/admin/src/translations/zh.json +4 -4
  324. package/admin/src/utils/getAttributesToDisplay.js +1 -1
  325. package/admin/src/utils/getExistingActions.js +2 -2
  326. package/admin/src/utils/getFullName.js +1 -1
  327. package/admin/src/utils/getRequestUrl.js +1 -1
  328. package/admin/src/utils/makeUniqueRoutes.js +2 -2
  329. package/admin/src/utils/sortLinks.js +1 -1
  330. package/build/{1669.0551026a.chunk.js → 1669.4ce92b2f.chunk.js} +1 -1
  331. package/build/524.2437fb56.chunk.js +644 -0
  332. package/build/{6925.fb35248e.chunk.js → 6925.f5c8b6fc.chunk.js} +4 -4
  333. package/build/{7866.29d1f169.chunk.js → 7866.22e3c9f8.chunk.js} +1 -1
  334. package/build/8773.4e36117f.chunk.js +325 -0
  335. package/build/Admin-authenticatedApp.aaa66872.chunk.js +80 -0
  336. package/build/Admin_InternalErrorPage.12e24216.chunk.js +1 -0
  337. package/build/{Admin_marketplace.0b758aac.chunk.js → Admin_marketplace.2d181ad7.chunk.js} +1 -1
  338. package/build/Admin_pluginsPage.4d59785a.chunk.js +1 -0
  339. package/build/Admin_profilePage.8617313a.chunk.js +15 -0
  340. package/build/Admin_settingsPage.e58753c8.chunk.js +178 -0
  341. package/build/admin-app.1f9e13f8.chunk.js +112 -0
  342. package/build/admin-edit-roles-page.554ba3fa.chunk.js +1 -0
  343. package/build/admin-edit-users.5bebf473.chunk.js +10 -0
  344. package/build/admin-users.1d0aa7a0.chunk.js +11 -0
  345. package/build/{api-tokens-create-page.442e3be0.chunk.js → api-tokens-create-page.b4a9987d.chunk.js} +1 -1
  346. package/build/{api-tokens-edit-page.5f34eec7.chunk.js → api-tokens-edit-page.6f5b4e26.chunk.js} +1 -1
  347. package/build/api-tokens-list-page.06938769.chunk.js +15 -0
  348. package/build/ca-json.d16c1d28.chunk.js +1 -0
  349. package/build/content-manager.86f7594d.chunk.js +1178 -0
  350. package/build/content-type-builder-list-view.9b874fd4.chunk.js +194 -0
  351. package/build/content-type-builder-translation-en-json.f985c9c4.chunk.js +1 -0
  352. package/build/content-type-builder-translation-pt-BR-json.d6c7fcc1.chunk.js +1 -0
  353. package/build/content-type-builder.47ab07ad.chunk.js +145 -0
  354. package/build/de-json.a9b514dc.chunk.js +1 -0
  355. package/build/dk-json.09e8d145.chunk.js +1 -0
  356. package/build/en-json.1bf20384.chunk.js +1 -0
  357. package/build/es-json.bb1fc425.chunk.js +1 -0
  358. package/build/fr-json.a3cf2e0b.chunk.js +1 -0
  359. package/build/gu-json.d8311297.chunk.js +1 -0
  360. package/build/he-json.3b825d80.chunk.js +1 -0
  361. package/build/hi-json.0edb8d29.chunk.js +1 -0
  362. package/build/hu-json.7855529a.chunk.js +1 -0
  363. package/build/i18n-settings-page.bf1304b0.chunk.js +101 -0
  364. package/build/i18n-translation-fr-json.b401aa34.chunk.js +1 -0
  365. package/build/id-json.df9618f2.chunk.js +1 -0
  366. package/build/index.html +1 -1
  367. package/build/it-json.a21bf078.chunk.js +1 -0
  368. package/build/ja-json.7b0d9067.chunk.js +1 -0
  369. package/build/ko-json.983c1f8f.chunk.js +1 -0
  370. package/build/main.7db3414f.js +9321 -0
  371. package/build/ml-json.8dd021c8.chunk.js +1 -0
  372. package/build/nl-json.29d2eb37.chunk.js +1 -0
  373. package/build/no-json.40386397.chunk.js +1 -0
  374. package/build/pl-json.1f04f00c.chunk.js +1 -0
  375. package/build/pt-BR-json.b4bc8efe.chunk.js +1 -0
  376. package/build/ru-json.7ab40ccf.chunk.js +1 -0
  377. package/build/{runtime~main.3dfda620.js → runtime~main.c1c5510b.js} +2 -2
  378. package/build/sa-json.c5a9f4ea.chunk.js +1 -0
  379. package/build/sk-json.e4c24c4e.chunk.js +1 -0
  380. package/build/sv-json.c3f471ae.chunk.js +1 -0
  381. package/build/th-json.a59ffb32.chunk.js +1 -0
  382. package/build/upload-translation-es-json.0f90db48.chunk.js +1 -0
  383. package/build/{upload-translation-th-json.64dd70ce.chunk.js → upload-translation-th-json.9e1fda51.chunk.js} +1 -1
  384. package/build/upload.7084cea6.chunk.js +7 -0
  385. package/build/{users-advanced-settings-page.f38654fc.chunk.js → users-advanced-settings-page.f11c8af4.chunk.js} +1 -1
  386. package/build/{users-email-settings-page.899e7fbd.chunk.js → users-email-settings-page.73c41236.chunk.js} +1 -1
  387. package/build/{users-providers-settings-page.a0b0fe39.chunk.js → users-providers-settings-page.f8e78537.chunk.js} +1 -1
  388. package/build/users-roles-settings-page.cafb4fe5.chunk.js +30 -0
  389. package/build/{webhook-edit-page.3417d93c.chunk.js → webhook-edit-page.9aba79b2.chunk.js} +3 -3
  390. package/build/zh-Hans-json.77a42bc5.chunk.js +1 -0
  391. package/build/zh-json.451a0271.chunk.js +1 -0
  392. package/ee/admin/hooks/useAuthProviders/reducer.js +1 -1
  393. package/ee/admin/pages/AuthPage/components/Login/index.js +2 -2
  394. package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +3 -3
  395. package/ee/admin/pages/SettingsPage/SingleSignOn/index.js +3 -3
  396. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +11 -9
  397. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +8 -8
  398. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/reducer.js +1 -1
  399. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +1 -1
  400. package/ee/server/controllers/authentication/middlewares.js +1 -1
  401. package/ee/server/controllers/authentication/utils.js +1 -1
  402. package/ee/server/controllers/role.js +4 -4
  403. package/ee/server/services/passport/provider-registry.js +1 -1
  404. package/ee/server/services/passport/sso.js +1 -1
  405. package/ee/server/services/passport.js +1 -1
  406. package/ee/server/services/role.js +1 -1
  407. package/ee/server/validation/authentication.js +1 -1
  408. package/ee/server/validation/role.js +3 -6
  409. package/ee/server/validation/user.js +1 -1
  410. package/env.js +2 -2
  411. package/index.js +2 -2
  412. package/jest.config.front.js +3 -1
  413. package/package.json +24 -15
  414. package/scripts/build.js +2 -2
  415. package/scripts/create-dev-plugins-file.js +5 -7
  416. package/scripts/create-plugins-file.js +2 -2
  417. package/server/config/admin-conditions.js +3 -3
  418. package/server/controllers/admin.js +1 -1
  419. package/server/controllers/authentication.js +1 -1
  420. package/server/controllers/formatters/format-actions-by-sections.js +8 -5
  421. package/server/controllers/role.js +1 -1
  422. package/server/controllers/user.js +1 -1
  423. package/server/controllers/webhooks.js +6 -16
  424. package/server/domain/action/index.js +3 -3
  425. package/server/domain/action/provider.js +2 -2
  426. package/server/domain/condition/index.js +2 -2
  427. package/server/domain/condition/provider.js +1 -1
  428. package/server/domain/permission/index.js +3 -3
  429. package/server/domain/user.js +2 -2
  430. package/server/policies/hasPermissions.js +5 -5
  431. package/server/policies/isAuthenticatedAdmin.js +1 -1
  432. package/server/routes/serve-admin-panel.js +1 -1
  433. package/server/services/action.js +1 -1
  434. package/server/services/api-token.js +5 -5
  435. package/server/services/auth.js +2 -2
  436. package/server/services/condition.js +1 -1
  437. package/server/services/content-type.js +5 -3
  438. package/server/services/passport/local-strategy.js +2 -2
  439. package/server/services/passport.js +2 -4
  440. package/server/services/permission/engine-hooks.js +1 -1
  441. package/server/services/permission/engine.js +9 -9
  442. package/server/services/permission/permissions-manager/query-builers.js +5 -5
  443. package/server/services/permission/permissions-manager/sanitize.js +6 -10
  444. package/server/services/permission/queries.js +12 -13
  445. package/server/services/permission/sections-builder/handlers.js +21 -19
  446. package/server/services/permission/sections-builder/section.js +2 -2
  447. package/server/services/permission/sections-builder/utils.js +5 -5
  448. package/server/services/project-settings.js +9 -12
  449. package/server/services/role.js +15 -13
  450. package/server/services/token.js +2 -2
  451. package/server/services/user.js +11 -11
  452. package/server/strategies/admin.js +1 -1
  453. package/server/strategies/api-token.js +3 -3
  454. package/server/utils/index.js +1 -1
  455. package/server/validation/action-provider.js +6 -12
  456. package/server/validation/api-tokens.js +4 -16
  457. package/server/validation/authentication/renew-token.js +1 -5
  458. package/server/validation/common-functions/check-fields-are-correctly-nested.js +5 -3
  459. package/server/validation/common-functions/check-fields-dont-have-duplicates.js +3 -2
  460. package/server/validation/common-validators.js +74 -71
  461. package/server/validation/permission.js +13 -13
  462. package/server/validation/policies/hasPermissions.js +2 -6
  463. package/server/validation/user.js +1 -5
  464. package/utils/create-cache-dir.js +3 -3
  465. package/utils/get-custom-app-config-file.js +3 -3
  466. package/utils/get-plugins-path.js +3 -2
  467. package/utils/should-build-admin.js +4 -4
  468. package/webpack.config.js +2 -7
  469. package/build/611.aa894d27.chunk.js +0 -158
  470. package/build/8773.c190837d.chunk.js +0 -330
  471. package/build/Admin-authenticatedApp.380e5e99.chunk.js +0 -80
  472. package/build/Admin_InternalErrorPage.25c53284.chunk.js +0 -1
  473. package/build/Admin_pluginsPage.0992c2b5.chunk.js +0 -1
  474. package/build/Admin_profilePage.35ce8e94.chunk.js +0 -15
  475. package/build/Admin_settingsPage.76ee4c17.chunk.js +0 -178
  476. package/build/admin-app.93ff2e38.chunk.js +0 -112
  477. package/build/admin-edit-roles-page.358d98c1.chunk.js +0 -1
  478. package/build/admin-edit-users.7d9cf406.chunk.js +0 -10
  479. package/build/admin-users.bb3a8eb6.chunk.js +0 -11
  480. package/build/api-tokens-list-page.5ea3f6ce.chunk.js +0 -15
  481. package/build/ca-json.0097e443.chunk.js +0 -1
  482. package/build/content-manager.55791f82.chunk.js +0 -1178
  483. package/build/content-type-builder-list-view.4a704844.chunk.js +0 -194
  484. package/build/content-type-builder-translation-en-json.201bfb78.chunk.js +0 -1
  485. package/build/content-type-builder-translation-pt-BR-json.5739a2aa.chunk.js +0 -1
  486. package/build/content-type-builder.f48a28f9.chunk.js +0 -142
  487. package/build/de-json.0b92acd2.chunk.js +0 -1
  488. package/build/dk-json.9f1bc016.chunk.js +0 -1
  489. package/build/en-json.6d70e9ff.chunk.js +0 -1
  490. package/build/es-json.2a5a9fc1.chunk.js +0 -1
  491. package/build/fr-json.84064a0b.chunk.js +0 -1
  492. package/build/gu-json.dafa6f0d.chunk.js +0 -1
  493. package/build/he-json.d40da459.chunk.js +0 -1
  494. package/build/hi-json.b4ae16d1.chunk.js +0 -1
  495. package/build/hu-json.c81ce352.chunk.js +0 -1
  496. package/build/i18n-settings-page.9d426e96.chunk.js +0 -101
  497. package/build/i18n-translation-fr-json.0839d68d.chunk.js +0 -1
  498. package/build/id-json.fad45d17.chunk.js +0 -1
  499. package/build/it-json.12df4cdf.chunk.js +0 -1
  500. package/build/ja-json.850237e9.chunk.js +0 -1
  501. package/build/ko-json.2f3d256e.chunk.js +0 -1
  502. package/build/main.66ef8611.js +0 -9317
  503. package/build/ml-json.dc946c7f.chunk.js +0 -1
  504. package/build/nl-json.465b173f.chunk.js +0 -1
  505. package/build/no-json.e8749dd4.chunk.js +0 -1
  506. package/build/pl-json.4d11f53d.chunk.js +0 -1
  507. package/build/pt-BR-json.6301d49b.chunk.js +0 -1
  508. package/build/ru-json.28147733.chunk.js +0 -1
  509. package/build/sa-json.be504091.chunk.js +0 -1
  510. package/build/sk-json.5b33afc2.chunk.js +0 -1
  511. package/build/sv-json.cdcac02d.chunk.js +0 -1
  512. package/build/th-json.3aadaec6.chunk.js +0 -1
  513. package/build/upload-translation-es-json.6b1813b6.chunk.js +0 -1
  514. package/build/upload.0af4feca.chunk.js +0 -7
  515. package/build/users-roles-settings-page.1206751f.chunk.js +0 -30
  516. package/build/zh-Hans-json.eac1d90a.chunk.js +0 -1
  517. package/build/zh-json.96bf6019.chunk.js +0 -1
@@ -37,13 +37,14 @@ const RowLabelWithCheckbox = ({
37
37
  )}
38
38
  disabled={isFormDisabled}
39
39
  // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91
40
- onValueChange={value =>
40
+ onValueChange={(value) =>
41
41
  onChange({
42
42
  target: {
43
43
  name: checkboxName,
44
44
  value,
45
45
  },
46
- })}
46
+ })
47
+ }
47
48
  indeterminate={someChecked}
48
49
  value={value}
49
50
  />
@@ -76,7 +77,7 @@ const RowLabelWithCheckbox = ({
76
77
  RowLabelWithCheckbox.defaultProps = {
77
78
  children: null,
78
79
  checkboxName: '',
79
- onChange: () => {},
80
+ onChange() {},
80
81
  value: false,
81
82
  someChecked: false,
82
83
  isCollapsable: false,
@@ -1,12 +1,12 @@
1
1
  import { flattenDeep, isObject } from 'lodash';
2
2
 
3
- const createArrayOfValues = obj => {
3
+ const createArrayOfValues = (obj) => {
4
4
  if (!isObject(obj)) {
5
5
  return [];
6
6
  }
7
7
 
8
8
  return flattenDeep(
9
- Object.values(obj).map(value => {
9
+ Object.values(obj).map((value) => {
10
10
  if (isObject(value)) {
11
11
  return createArrayOfValues(value);
12
12
  }
@@ -1,7 +1,7 @@
1
1
  import createArrayOfValues from './createArrayOfValues';
2
2
  import removeConditionKeyFromData from './removeConditionKeyFromData';
3
3
 
4
- const getCheckboxState = dataObj => {
4
+ const getCheckboxState = (dataObj) => {
5
5
  const dataWithoutCondition = removeConditionKeyFromData(dataObj);
6
6
 
7
7
  const arrayOfValues = createArrayOfValues(dataWithoutCondition);
@@ -10,8 +10,8 @@ const getCheckboxState = dataObj => {
10
10
  return { hasAllActionsSelected: false, hasSomeActionsSelected: false };
11
11
  }
12
12
 
13
- const hasAllActionsSelected = arrayOfValues.every(val => val);
14
- const hasSomeActionsSelected = arrayOfValues.some(val => val) && !hasAllActionsSelected;
13
+ const hasAllActionsSelected = arrayOfValues.every((val) => val);
14
+ const hasSomeActionsSelected = arrayOfValues.some((val) => val) && !hasAllActionsSelected;
15
15
 
16
16
  return { hasAllActionsSelected, hasSomeActionsSelected };
17
17
  };
@@ -1,4 +1,4 @@
1
- const removeConditionKeyFromData = obj => {
1
+ const removeConditionKeyFromData = (obj) => {
2
2
  if (!obj) {
3
3
  return null;
4
4
  }
@@ -41,7 +41,7 @@ const EditPage = () => {
41
41
  onSubmitSucceeded,
42
42
  } = useFetchRole(id);
43
43
 
44
- const handleEditRoleSubmit = async data => {
44
+ const handleEditRoleSubmit = async (data) => {
45
45
  try {
46
46
  lockApp();
47
47
  setIsSubmiting(true);
@@ -106,68 +106,66 @@ const EditPage = () => {
106
106
  >
107
107
  {({ handleSubmit, values, errors, handleChange, handleBlur }) => (
108
108
  <form onSubmit={handleSubmit}>
109
- <>
110
- <HeaderLayout
111
- primaryAction={
112
- <Stack horizontal spacing={2}>
113
- <Button
114
- disabled={role.code === 'strapi-super-admin'}
115
- onClick={handleSubmit}
116
- loading={isSubmitting}
117
- size="L"
118
- >
119
- {formatMessage({
120
- id: 'global.save',
121
- defaultMessage: 'Save',
122
- })}
123
- </Button>
124
- </Stack>
125
- }
126
- title={formatMessage({
127
- id: 'Settings.roles.edit.title',
128
- defaultMessage: 'Edit a role',
129
- })}
130
- subtitle={formatMessage({
131
- id: 'Settings.roles.create.description',
132
- defaultMessage: 'Define the rights given to the role',
133
- })}
134
- navigationAction={
135
- <Link startIcon={<ArrowLeft />} to="/settings/roles">
109
+ <HeaderLayout
110
+ primaryAction={
111
+ <Stack horizontal spacing={2}>
112
+ <Button
113
+ disabled={role.code === 'strapi-super-admin'}
114
+ onClick={handleSubmit}
115
+ loading={isSubmitting}
116
+ size="L"
117
+ >
136
118
  {formatMessage({
137
- id: 'global.back',
138
- defaultMessage: 'Back',
119
+ id: 'global.save',
120
+ defaultMessage: 'Save',
139
121
  })}
140
- </Link>
141
- }
142
- />
143
- <ContentLayout>
144
- <Stack spacing={6}>
145
- <RoleForm
146
- isLoading={isRoleLoading}
147
- disabled={isFormDisabled}
148
- errors={errors}
149
- values={values}
150
- onChange={handleChange}
151
- onBlur={handleBlur}
152
- role={role}
153
- />
154
- {!isLayoutLoading && !isRoleLoading ? (
155
- <Box shadow="filterShadow" hasRadius>
156
- <Permissions
157
- isFormDisabled={isFormDisabled}
158
- permissions={rolePermissions}
159
- ref={permissionsRef}
160
- layout={permissionsLayout}
161
- />
162
- </Box>
163
- ) : (
164
- <Box background="neutral0" padding={6} shadow="filterShadow" hasRadius>
165
- <LoadingIndicatorPage />
166
- </Box>
167
- )}
122
+ </Button>
168
123
  </Stack>
169
- </ContentLayout>
170
- </>
124
+ }
125
+ title={formatMessage({
126
+ id: 'Settings.roles.edit.title',
127
+ defaultMessage: 'Edit a role',
128
+ })}
129
+ subtitle={formatMessage({
130
+ id: 'Settings.roles.create.description',
131
+ defaultMessage: 'Define the rights given to the role',
132
+ })}
133
+ navigationAction={
134
+ <Link startIcon={<ArrowLeft />} to="/settings/roles">
135
+ {formatMessage({
136
+ id: 'global.back',
137
+ defaultMessage: 'Back',
138
+ })}
139
+ </Link>
140
+ }
141
+ />
142
+ <ContentLayout>
143
+ <Stack spacing={6}>
144
+ <RoleForm
145
+ isLoading={isRoleLoading}
146
+ disabled={isFormDisabled}
147
+ errors={errors}
148
+ values={values}
149
+ onChange={handleChange}
150
+ onBlur={handleBlur}
151
+ role={role}
152
+ />
153
+ {!isLayoutLoading && !isRoleLoading ? (
154
+ <Box shadow="filterShadow" hasRadius>
155
+ <Permissions
156
+ isFormDisabled={isFormDisabled}
157
+ permissions={rolePermissions}
158
+ ref={permissionsRef}
159
+ layout={permissionsLayout}
160
+ />
161
+ </Box>
162
+ ) : (
163
+ <Box background="neutral0" padding={6} shadow="filterShadow" hasRadius>
164
+ <LoadingIndicatorPage />
165
+ </Box>
166
+ )}
167
+ </Stack>
168
+ </ContentLayout>
171
169
  </form>
172
170
  )}
173
171
  </Formik>
@@ -40,14 +40,14 @@ const useRoleActions = () => {
40
40
  const { push } = useHistory();
41
41
 
42
42
  const handleGoTo = useCallback(
43
- id => {
43
+ (id) => {
44
44
  push(`/settings/roles/${id}`);
45
45
  },
46
46
  [push]
47
47
  );
48
48
 
49
49
  const handleToggle = useCallback(() => {
50
- setIsModalOpen(prev => !prev);
50
+ setIsModalOpen((prev) => !prev);
51
51
  }, []);
52
52
 
53
53
  const handleToggleModalForCreatingRole = useCallback(() => {
@@ -56,7 +56,7 @@ const useRoleActions = () => {
56
56
  }, [trackUsage]);
57
57
 
58
58
  const getIcons = useCallback(
59
- role => [
59
+ (role) => [
60
60
  {
61
61
  onClick: handleToggle,
62
62
  label: formatMessage({ id: 'app.utils.duplicate', defaultMessage: 'Duplicate' }),
@@ -89,12 +89,8 @@ const RoleListPage = () => {
89
89
  useFocusWhenNavigate();
90
90
 
91
91
  const { sortedRoles, isLoading } = useSortedRoles();
92
- const {
93
- isModalOpen,
94
- handleToggle,
95
- handleToggleModalForCreatingRole,
96
- getIcons,
97
- } = useRoleActions();
92
+ const { isModalOpen, handleToggle, handleToggleModalForCreatingRole, getIcons } =
93
+ useRoleActions();
98
94
 
99
95
  const rowCount = sortedRoles.length + 1;
100
96
  const colCount = 5;
@@ -172,7 +168,7 @@ const RoleListPage = () => {
172
168
  </Tr>
173
169
  </Thead>
174
170
  <Tbody>
175
- {sortedRoles?.map(role => (
171
+ {sortedRoles?.map((role) => (
176
172
  <RoleRow
177
173
  key={role.id}
178
174
  id={role.id}
@@ -53,7 +53,7 @@ const EditPage = ({ canUpdate }) => {
53
53
  retry: false,
54
54
  keepPreviousData: false,
55
55
  staleTime: 1000 * 20,
56
- onError: err => {
56
+ onError(err) {
57
57
  const status = err.response.status;
58
58
 
59
59
  // Redirect the use to the homepage if is not allowed to read
@@ -223,8 +223,8 @@ const EditPage = ({ canUpdate }) => {
223
223
  })}
224
224
  </Typography>
225
225
  <Grid gap={5}>
226
- {layout.map(row => {
227
- return row.map(input => {
226
+ {layout.map((row) => {
227
+ return row.map((input) => {
228
228
  return (
229
229
  <GridItem key={input.name} {...input.size}>
230
230
  <GenericInput
@@ -1,6 +1,6 @@
1
1
  import { axiosInstance } from '../../../../../../core/utils';
2
2
 
3
- const fetchUser = async id => {
3
+ const fetchUser = async (id) => {
4
4
  const { data } = await axiosInstance.get(`/admin/users/${id}`);
5
5
 
6
6
  return data.data;
@@ -31,8 +31,8 @@ const TableRows = ({
31
31
 
32
32
  return (
33
33
  <Tbody>
34
- {rows.map(data => {
35
- const isChecked = entriesToDelete.findIndex(id => id === data.id) !== -1;
34
+ {rows.map((data) => {
35
+ const isChecked = entriesToDelete.findIndex((id) => id === data.id) !== -1;
36
36
 
37
37
  return (
38
38
  <Tr
@@ -110,8 +110,8 @@ const TableRows = ({
110
110
  TableRows.defaultProps = {
111
111
  canDelete: false,
112
112
  entriesToDelete: [],
113
- onClickDelete: () => {},
114
- onSelectRow: () => {},
113
+ onClickDelete() {},
114
+ onSelectRow() {},
115
115
  rows: [],
116
116
  withBulkActions: false,
117
117
  withMainAction: false,
@@ -12,7 +12,7 @@ const Filters = ({ displayedFilters }) => {
12
12
  const buttonRef = useRef();
13
13
 
14
14
  const handleToggle = () => {
15
- setIsVisible(prev => !prev);
15
+ setIsVisible((prev) => !prev);
16
16
  };
17
17
 
18
18
  return (
@@ -34,14 +34,14 @@ const ModalForm = ({ queryName, onToggle }) => {
34
34
  const { formatMessage } = useIntl();
35
35
  const toggleNotification = useNotification();
36
36
  const { lockApp, unlockApp } = useOverlayBlocker();
37
- const postMutation = useMutation(body => axiosInstance.post('/admin/users', body), {
38
- onSuccess: async ({ data }) => {
37
+ const postMutation = useMutation((body) => axiosInstance.post('/admin/users', body), {
38
+ async onSuccess({ data }) {
39
39
  setRegistrationToken(data.data.registrationToken);
40
40
  await queryClient.invalidateQueries(queryName);
41
41
  goNext();
42
42
  setIsSubmitting(false);
43
43
  },
44
- onError: err => {
44
+ onError(err) {
45
45
  setIsSubmitting(false);
46
46
 
47
47
  toggleNotification({
@@ -51,7 +51,7 @@ const ModalForm = ({ queryName, onToggle }) => {
51
51
 
52
52
  throw err;
53
53
  },
54
- onSettled: () => {
54
+ onSettled() {
55
55
  unlockApp();
56
56
  },
57
57
  });
@@ -124,8 +124,8 @@ const ModalForm = ({ queryName, onToggle }) => {
124
124
  <Box paddingTop={4}>
125
125
  <Stack spacing={1}>
126
126
  <Grid gap={5}>
127
- {layout.map(row => {
128
- return row.map(input => {
127
+ {layout.map((row) => {
128
+ return row.map((input) => {
129
129
  return (
130
130
  <GridItem key={input.name} {...input.size}>
131
131
  <GenericInput
@@ -160,8 +160,8 @@ const ModalForm = ({ queryName, onToggle }) => {
160
160
  value={values.roles}
161
161
  />
162
162
  </GridItem>
163
- {roleSettingsForm.map(row => {
164
- return row.map(input => {
163
+ {roleSettingsForm.map((row) => {
164
+ return row.map((input) => {
165
165
  return (
166
166
  <GridItem key={input.name} {...input.size}>
167
167
  <GenericInput
@@ -4,14 +4,8 @@ import { translatedErrors } from '@strapi/helper-plugin';
4
4
  const schema = yup.object().shape({
5
5
  firstname: yup.string().required(translatedErrors.required),
6
6
  lastname: yup.string(),
7
- email: yup
8
- .string()
9
- .email(translatedErrors.email)
10
- .required(translatedErrors.required),
11
- roles: yup
12
- .array()
13
- .min(1, translatedErrors.required)
14
- .required(translatedErrors.required),
7
+ email: yup.string().email(translatedErrors.email).required(translatedErrors.required),
8
+ roles: yup.array().min(1, translatedErrors.required).required(translatedErrors.required),
15
9
  });
16
10
 
17
11
  export default schema;
@@ -38,6 +38,14 @@ const ListPage = () => {
38
38
  const { notifyStatus } = useNotifyAT();
39
39
  const queryName = ['users', search];
40
40
 
41
+ const headers = tableHeaders.map((header) => ({
42
+ ...header,
43
+ metadatas: {
44
+ ...header.metadatas,
45
+ label: formatMessage(header.metadatas.label),
46
+ },
47
+ }));
48
+
41
49
  const title = formatMessage({
42
50
  id: 'global.users',
43
51
  defaultMessage: 'Users',
@@ -60,7 +68,7 @@ const ListPage = () => {
60
68
  keepPreviousData: true,
61
69
  retry: false,
62
70
  staleTime: 1000 * 20,
63
- onError: () => {
71
+ onError() {
64
72
  toggleNotification({
65
73
  type: 'warning',
66
74
  message: { id: 'notification.error', defaultMessage: 'An error occured' },
@@ -69,14 +77,14 @@ const ListPage = () => {
69
77
  });
70
78
 
71
79
  const handleToggle = () => {
72
- setIsModalOpen(prev => !prev);
80
+ setIsModalOpen((prev) => !prev);
73
81
  };
74
82
 
75
- const deleteAllMutation = useMutation(ids => deleteData(ids), {
76
- onSuccess: async () => {
83
+ const deleteAllMutation = useMutation((ids) => deleteData(ids), {
84
+ async onSuccess() {
77
85
  await queryClient.invalidateQueries(queryName);
78
86
  },
79
- onError: err => {
87
+ onError(err) {
80
88
  if (err?.response?.data?.data) {
81
89
  toggleNotification({ type: 'warning', message: err.response.data.data });
82
90
  } else {
@@ -104,9 +112,7 @@ const ListPage = () => {
104
112
  defaultMessage: 'Invite new user',
105
113
  })}
106
114
  </Button>
107
- ) : (
108
- undefined
109
- );
115
+ ) : undefined;
110
116
 
111
117
  return (
112
118
  <Main aria-busy={isLoading}>
@@ -144,15 +150,15 @@ const ListPage = () => {
144
150
  contentType="Users"
145
151
  isLoading={isLoading}
146
152
  onConfirmDeleteAll={deleteAllMutation.mutateAsync}
147
- onConfirmDelete={id => deleteAllMutation.mutateAsync([id])}
148
- headers={tableHeaders}
153
+ onConfirmDelete={(id) => deleteAllMutation.mutateAsync([id])}
154
+ headers={headers}
149
155
  rows={data?.results}
150
156
  withBulkActions
151
157
  withMainAction={canDelete}
152
158
  >
153
159
  <TableRows
154
160
  canDelete={canDelete}
155
- headers={tableHeaders}
161
+ headers={headers}
156
162
  rows={data?.results || []}
157
163
  withBulkActions
158
164
  withMainAction={canDelete}
@@ -10,7 +10,7 @@ const fetchData = async (search, notify) => {
10
10
  return data;
11
11
  };
12
12
 
13
- const deleteData = async ids => {
13
+ const deleteData = async (ids) => {
14
14
  await axiosInstance.post('/admin/users/batch-delete', { ids });
15
15
  };
16
16
 
@@ -7,30 +7,50 @@ const tableHeaders = [
7
7
  {
8
8
  name: 'firstname',
9
9
  key: 'firstname',
10
- metadatas: { label: 'Firstname', sortable: true },
10
+ metadatas: {
11
+ label: {
12
+ id: 'Settings.permissions.users.firstname',
13
+ defaultMessage: 'Firstname',
14
+ },
15
+ sortable: true,
16
+ },
11
17
  },
12
18
  {
13
19
  name: 'lastname',
14
20
  key: 'lastname',
15
- metadatas: { label: 'Lastname', sortable: true },
21
+ metadatas: {
22
+ label: {
23
+ id: 'Settings.permissions.users.lastname',
24
+ defaultMessage: 'Lastname',
25
+ },
26
+ sortable: true,
27
+ },
16
28
  },
17
29
  {
18
30
  key: 'email',
19
31
  name: 'email',
20
- metadatas: { label: 'Email', sortable: true },
32
+ metadatas: {
33
+ label: { id: 'Settings.permissions.users.email', defaultMessage: 'Email' },
34
+ sortable: true,
35
+ },
21
36
  },
22
37
  {
23
38
  key: 'roles',
24
39
  name: 'roles',
25
- metadatas: { label: 'Roles', sortable: false },
26
- /* eslint-disable react/prop-types */
27
- cellFormatter: ({ roles }, { formatMessage }) => {
40
+ metadatas: {
41
+ label: {
42
+ id: 'Settings.permissions.users.roles',
43
+ defaultMessage: 'Roles',
44
+ },
45
+ sortable: false,
46
+ },
47
+ cellFormatter({ roles }, { formatMessage }) {
28
48
  return (
29
49
  <Typography textColor="neutral800">
30
50
  {roles
31
- .map(role =>
51
+ .map((role) =>
32
52
  formatMessage({
33
- id: `global.${role.code}`,
53
+ id: `Settings.permissions.users.${role.code}`,
34
54
  defaultMessage: role.name,
35
55
  })
36
56
  )
@@ -38,25 +58,37 @@ const tableHeaders = [
38
58
  </Typography>
39
59
  );
40
60
  },
41
- /* eslint-enable react/prop-types */
42
61
  },
43
62
  {
44
63
  key: 'username',
45
64
  name: 'username',
46
- metadatas: { label: 'Username', sortable: true },
65
+ metadatas: {
66
+ label: {
67
+ id: 'Settings.permissions.users.username',
68
+ defaultMessage: 'Username',
69
+ },
70
+ sortable: true,
71
+ },
47
72
  },
48
73
  {
49
74
  key: 'isActive',
50
75
  name: 'isActive',
51
- metadatas: { label: 'User status', sortable: false },
52
- // eslint-disable-next-line react/prop-types
53
- cellFormatter: ({ isActive }, { formatMessage }) => {
76
+ metadatas: {
77
+ label: {
78
+ id: 'Settings.permissions.users.user-status',
79
+ defaultMessage: 'User status',
80
+ },
81
+ sortable: false,
82
+ },
83
+ cellFormatter({ isActive }, { formatMessage }) {
54
84
  return (
55
85
  <Flex>
56
86
  <Status isActive={isActive} variant={isActive ? 'success' : 'danger'} />
57
87
  <Typography textColor="neutral800">
58
88
  {formatMessage({
59
- id: isActive ? 'global.active' : 'global.inactive',
89
+ id: isActive
90
+ ? 'Settings.permissions.users.active'
91
+ : 'Settings.permissions.users.inactive',
60
92
  defaultMessage: isActive ? 'Active' : 'Inactive',
61
93
  })}
62
94
  </Typography>
@@ -60,7 +60,7 @@ const SelectRoles = ({ disabled, error, onChange, value }) => {
60
60
  hint={hint}
61
61
  label={label}
62
62
  name="roles"
63
- onChange={v => {
63
+ onChange={(v) => {
64
64
  onChange({ target: { name: 'roles', value: v } });
65
65
  }}
66
66
  placeholder={placeholder}
@@ -70,7 +70,7 @@ const SelectRoles = ({ disabled, error, onChange, value }) => {
70
70
  withTags
71
71
  required
72
72
  >
73
- {(data || []).map(role => {
73
+ {(data || []).map((role) => {
74
74
  return (
75
75
  <Option key={role.id} value={role.id}>
76
76
  {formatMessage({
@@ -4,11 +4,7 @@ import { translatedErrors } from '@strapi/helper-plugin';
4
4
  export const commonUserSchema = {
5
5
  firstname: yup.mixed().required(translatedErrors.required),
6
6
  lastname: yup.mixed(),
7
- email: yup
8
- .string()
9
- .email(translatedErrors.email)
10
- .lowercase()
11
- .required(translatedErrors.required),
7
+ email: yup.string().email(translatedErrors.email).lowercase().required(translatedErrors.required),
12
8
  username: yup.string().nullable(),
13
9
  password: yup
14
10
  .string()
@@ -2,10 +2,7 @@ import * as yup from 'yup';
2
2
  import { translatedErrors } from '@strapi/helper-plugin';
3
3
 
4
4
  const schema = {
5
- roles: yup
6
- .array()
7
- .min(1, translatedErrors.required)
8
- .required(translatedErrors.required),
5
+ roles: yup.array().min(1, translatedErrors.required).required(translatedErrors.required),
9
6
  };
10
7
 
11
8
  export default schema;
@@ -5,7 +5,7 @@ import { Checkbox } from '@strapi/design-system/Checkbox';
5
5
  import upperFirst from 'lodash/upperFirst';
6
6
 
7
7
  const EventRow = ({ disabledEvents, name, events, inputValue, handleChange, handleChangeAll }) => {
8
- const enabledCheckboxes = events.filter(event => {
8
+ const enabledCheckboxes = events.filter((event) => {
9
9
  return !disabledEvents.includes(event);
10
10
  });
11
11
 
@@ -34,7 +34,7 @@ const EventRow = ({ disabledEvents, name, events, inputValue, handleChange, hand
34
34
  </Checkbox>
35
35
  </td>
36
36
 
37
- {events.map(event => {
37
+ {events.map((event) => {
38
38
  return (
39
39
  <td key={event}>
40
40
  <BaseCheckbox
@@ -42,7 +42,7 @@ const EventRow = ({ disabledEvents, name, events, inputValue, handleChange, hand
42
42
  aria-label={event}
43
43
  name={event}
44
44
  value={inputValue.includes(event)}
45
- onValueChange={value => handleChange({ target: { name: event, value } })}
45
+ onValueChange={(value) => handleChange({ target: { name: event, value } })}
46
46
  />
47
47
  </td>
48
48
  );
@@ -55,8 +55,8 @@ EventRow.defaultProps = {
55
55
  disabledEvents: [],
56
56
  events: [],
57
57
  inputValue: [],
58
- handleChange: () => {},
59
- handleChangeAll: () => {},
58
+ handleChange() {},
59
+ handleChangeAll() {},
60
60
  };
61
61
 
62
62
  EventRow.propTypes = {