@strapi/admin 4.5.4 → 4.6.0-beta.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 (90) hide show
  1. package/admin/src/components/AuthenticatedApp/index.js +2 -13
  2. package/admin/src/content-manager/components/ComponentInitializer/index.js +1 -7
  3. package/admin/src/content-manager/components/{RepeatableComponent/DragPreview.js → DragLayer/ComponentDragPreview.js} +25 -12
  4. package/admin/src/content-manager/components/DragLayer/RelationDragPreview.js +75 -0
  5. package/admin/src/content-manager/components/DragLayer/index.js +23 -7
  6. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +130 -84
  7. package/admin/src/content-manager/components/DynamicZone/index.js +99 -24
  8. package/admin/src/content-manager/components/DynamicZone/utils/select.js +9 -5
  9. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +37 -11
  10. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +18 -22
  11. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +24 -5
  12. package/admin/src/content-manager/components/RelationInput/RelationInput.js +209 -64
  13. package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +134 -21
  14. package/admin/src/content-manager/components/RelationInput/components/RelationList.js +1 -2
  15. package/admin/src/content-manager/components/RelationInput/constants.js +1 -0
  16. package/admin/src/content-manager/components/RelationInputDataManager/RelationInputDataManager.js +131 -9
  17. package/admin/src/content-manager/components/RepeatableComponent/components/Accordion.js +77 -0
  18. package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +262 -0
  19. package/admin/src/content-manager/components/RepeatableComponent/{DraggedItem → components}/Preview.js +0 -0
  20. package/admin/src/content-manager/components/RepeatableComponent/index.js +147 -87
  21. package/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js +1 -1
  22. package/admin/src/content-manager/hooks/index.js +2 -0
  23. package/admin/src/content-manager/hooks/useDragAndDrop.js +120 -0
  24. package/admin/src/content-manager/hooks/useKeyboardDragAndDrop.js +98 -0
  25. package/admin/src/content-manager/utils/ItemTypes.js +1 -1
  26. package/admin/src/content-manager/utils/composeRefs.js +28 -0
  27. package/admin/src/content-manager/utils/getMaxTempKey.js +1 -1
  28. package/admin/src/content-manager/utils/index.js +7 -0
  29. package/admin/src/pages/App/index.js +13 -20
  30. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +3 -2
  31. package/admin/src/translations/en.json +6 -0
  32. package/admin/src/translations/tr.json +5 -485
  33. package/admin/src/utils/index.js +0 -1
  34. package/build/4318.80bdf035.chunk.js +30 -0
  35. package/build/{8176.e929d326.chunk.js → 8176.b19bc128.chunk.js} +32 -32
  36. package/build/{1233.802422fa.chunk.js → 8186.55910742.chunk.js} +96 -96
  37. package/build/{8633.43ec9042.chunk.js → 8633.59223842.chunk.js} +1 -1
  38. package/build/Admin-authenticatedApp.f9e74dc0.chunk.js +80 -0
  39. package/build/{Admin_profilePage.60ab80bb.chunk.js → Admin_profilePage.c07bdf08.chunk.js} +1 -1
  40. package/build/{Admin_settingsPage.6ef8acc9.chunk.js → Admin_settingsPage.50a8765b.chunk.js} +1 -1
  41. package/build/admin-app.2861b6d2.chunk.js +112 -0
  42. package/build/admin-edit-users.85231e4c.chunk.js +10 -0
  43. package/build/{admin-users.e64fb0f1.chunk.js → admin-users.a2707644.chunk.js} +2 -2
  44. package/build/api-tokens-create-page.dd4ddfcb.chunk.js +1 -0
  45. package/build/api-tokens-edit-page.821c5a6c.chunk.js +1 -0
  46. package/build/content-manager.ee948f75.chunk.js +1186 -0
  47. package/build/content-type-builder-translation-tr-json.2e52bc60.chunk.js +1 -0
  48. package/build/email-settings-page.db0d98d1.chunk.js +15 -0
  49. package/build/email-translation-tr-json.87f2feb3.chunk.js +1 -0
  50. package/build/{en-json.7dd57947.chunk.js → en-json.4a56dca7.chunk.js} +1 -1
  51. package/build/index.html +1 -1
  52. package/build/main.faac89ee.js +2025 -0
  53. package/build/runtime~main.75a15b8e.js +2 -0
  54. package/build/sso-settings-page.adb12ac3.chunk.js +1 -0
  55. package/build/tr-json.9c44ea0c.chunk.js +1 -0
  56. package/build/{upload.74540aab.chunk.js → upload.e2034370.chunk.js} +3 -3
  57. package/build/users-permissions-translation-tr-json.cdc49a3c.chunk.js +1 -0
  58. package/package.json +9 -9
  59. package/server/controllers/admin.js +0 -2
  60. package/server/routes/admin.js +1 -1
  61. package/server/services/metrics.js +2 -5
  62. package/admin/src/content-manager/components/RepeatableComponent/AccordionGroupCustom/index.js +0 -122
  63. package/admin/src/content-manager/components/RepeatableComponent/AddFieldButton.js +0 -58
  64. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/DraggingSibling.js +0 -72
  65. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/IconButtonCustoms.js +0 -32
  66. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/index.js +0 -326
  67. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/connect.js +0 -11
  68. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/index.js +0 -2
  69. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/select.js +0 -30
  70. package/admin/src/content-manager/components/RepeatableComponent/utils/connect.js +0 -11
  71. package/admin/src/content-manager/components/RepeatableComponent/utils/select.js +0 -12
  72. package/admin/src/content-manager/hooks/__test__/usePrev.test.js +0 -26
  73. package/admin/src/utils/uniqueAdminHash.js +0 -22
  74. package/build/4318.9283c350.chunk.js +0 -30
  75. package/build/Admin-authenticatedApp.0da578b8.chunk.js +0 -80
  76. package/build/admin-app.a3277e72.chunk.js +0 -112
  77. package/build/admin-edit-users.5547b126.chunk.js +0 -10
  78. package/build/api-tokens-create-page.93dd0689.chunk.js +0 -1
  79. package/build/api-tokens-edit-page.b0adac81.chunk.js +0 -1
  80. package/build/content-manager.f9630c3b.chunk.js +0 -1197
  81. package/build/content-type-builder-translation-tr-json.949e22eb.chunk.js +0 -1
  82. package/build/email-settings-page.c6e62f6b.chunk.js +0 -15
  83. package/build/email-translation-tr-json.8aa034bb.chunk.js +0 -1
  84. package/build/i18n-translation-tr-json.34ca9d61.chunk.js +0 -1
  85. package/build/main.71f24343.js +0 -2034
  86. package/build/runtime~main.1115f82b.js +0 -2
  87. package/build/sso-settings-page.feed2f45.chunk.js +0 -1
  88. package/build/tr-json.eac8bd79.chunk.js +0 -1
  89. package/build/upload-translation-tr-json.b173223a.chunk.js +0 -1
  90. package/build/users-permissions-translation-tr-json.9bebc250.chunk.js +0 -1
@@ -25,7 +25,7 @@ import NotFoundPage from '../NotFoundPage';
25
25
  import UseCasePage from '../UseCasePage';
26
26
  import { getUID } from './utils';
27
27
  import routes from './utils/routes';
28
- import { useConfigurations, useFetchClient } from '../../hooks';
28
+ import { useConfigurations } from '../../hooks';
29
29
 
30
30
  const AuthenticatedApp = lazy(() =>
31
31
  import(/* webpackChunkName: "Admin-authenticatedApp" */ '../../components/AuthenticatedApp')
@@ -35,12 +35,8 @@ function App() {
35
35
  const toggleNotification = useNotification();
36
36
  const { updateProjectSettings } = useConfigurations();
37
37
  const { formatMessage } = useIntl();
38
- const [{ isLoading, hasAdmin, uuid, deviceId }, setState] = useState({
39
- isLoading: true,
40
- hasAdmin: false,
41
- });
38
+ const [{ isLoading, hasAdmin, uuid }, setState] = useState({ isLoading: true, hasAdmin: false });
42
39
  const appInfo = useAppInfos();
43
- const { get } = useFetchClient();
44
40
 
45
41
  const authRoutes = useMemo(() => {
46
42
  return makeUniqueRoutes(
@@ -84,29 +80,27 @@ function App() {
84
80
  } = await axios.get(`${strapi.backendURL}/admin/init`);
85
81
 
86
82
  updateProjectSettings({ menuLogo: prefixFileUrlWithBackendUrl(menuLogo) });
87
- const deviceId = await getUID();
88
83
 
89
84
  if (uuid) {
90
85
  const {
91
86
  data: { data: properties },
92
- } = await get(`/admin/telemetry-properties`, {
93
- // NOTE: needed because the interceptors of the fetchClient redirect to /login when receive a 401 and it would end up in an infinite loop when the user doesn't have a session.
94
- validateStatus: (status) => status < 500,
95
- });
87
+ } = await axios.get(`${strapi.backendURL}/admin/telemetry-properties`);
96
88
 
97
89
  setTelemetryProperties(properties);
98
90
 
99
91
  try {
100
- await fetch('https://analytics.strapi.io/api/v2/track', {
92
+ const deviceId = await getUID();
93
+
94
+ await fetch('https://analytics.strapi.io/track', {
101
95
  method: 'POST',
102
96
  body: JSON.stringify({
103
- // This event is anonymous
104
97
  event: 'didInitializeAdministration',
105
- userId: '',
98
+ uuid,
106
99
  deviceId,
107
- eventPropeties: {},
108
- userProperties: { environment: appInfo.currentEnvironment },
109
- groupProperties: { ...properties, projectId: uuid },
100
+ properties: {
101
+ ...properties,
102
+ environment: appInfo.currentEnvironment,
103
+ },
110
104
  }),
111
105
  headers: {
112
106
  'Content-Type': 'application/json',
@@ -117,7 +111,7 @@ function App() {
117
111
  }
118
112
  }
119
113
 
120
- setState({ isLoading: false, hasAdmin, uuid, deviceId });
114
+ setState({ isLoading: false, hasAdmin, uuid });
121
115
  } catch (err) {
122
116
  toggleNotification({
123
117
  type: 'warning',
@@ -136,9 +130,8 @@ function App() {
136
130
  () => ({
137
131
  uuid,
138
132
  telemetryProperties,
139
- deviceId,
140
133
  }),
141
- [uuid, telemetryProperties, deviceId]
134
+ [uuid, telemetryProperties]
142
135
  );
143
136
 
144
137
  if (isLoading) {
@@ -12,6 +12,7 @@ import {
12
12
  } from '@strapi/helper-plugin';
13
13
  import { Main } from '@strapi/design-system/Main';
14
14
  import { Formik } from 'formik';
15
+ import { get } from 'lodash';
15
16
  import { useRouteMatch, useHistory } from 'react-router-dom';
16
17
  import { useQuery } from 'react-query';
17
18
  import { formatAPIErrors } from '../../../../../utils';
@@ -204,12 +205,12 @@ const ApiTokenCreateView = () => {
204
205
  if (err?.response?.data?.error?.message === MSG_ERROR_NAME_TAKEN) {
205
206
  toggleNotification({
206
207
  type: 'warning',
207
- message: err.response.data.message || 'notification.error.tokennamenotunique',
208
+ message: get(err, 'response.data.message', 'notification.error.tokennamenotunique'),
208
209
  });
209
210
  } else {
210
211
  toggleNotification({
211
212
  type: 'warning',
212
- message: err?.response?.data?.message || 'notification.error',
213
+ message: get(err, 'response.data.message', 'notification.error'),
213
214
  });
214
215
  }
215
216
  unlockApp();
@@ -570,6 +570,7 @@
570
570
  "content-manager.components.LeftMenu.single-types": "Single Types",
571
571
  "content-manager.components.LimitSelect.itemsPerPage": "Items per page",
572
572
  "content-manager.components.NotAllowedInput.text": "No permissions to see this field",
573
+ "content-manager.components.RelationInput.icon-button-aria-label": "Drag",
573
574
  "content-manager.components.RepeatableComponent.error-message": "The component(s) contain error(s)",
574
575
  "content-manager.components.Search.placeholder": "Search for an entry...",
575
576
  "content-manager.components.Select.draft-info-title": "State: Draft",
@@ -647,6 +648,11 @@
647
648
  "content-manager.containers.SettingsPage.pluginHeaderDescription": "Configure the settings for all your Collection types and Groups",
648
649
  "content-manager.containers.SettingsView.list.subtitle": "Configure the layout and display of your Collection types and groups",
649
650
  "content-manager.containers.SettingsView.list.title": "Display configurations",
651
+ "content-manager.dnd.instructions": "Press spacebar to grab and re-order",
652
+ "content-manager.dnd.reorder": "{item}, moved. New position in list: {position}.",
653
+ "content-manager.dnd.grab-item": "{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel.",
654
+ "content-manager.dnd.drop-item": "{item}, dropped. Final position in list: {position}.",
655
+ "content-manager.dnd.cancel-item": "{item}, dropped. Re-order cancelled.",
650
656
  "content-manager.edit-settings-view.link-to-ctb.components": "Edit the component",
651
657
  "content-manager.edit-settings-view.link-to-ctb.content-types": "Edit the content type",
652
658
  "content-manager.emptyAttributes.button": "Go to collection type builder",