@payloadcms/next 3.78.0-internal-debug.f663370 → 3.78.0-internal.ab11ffa

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 (487) hide show
  1. package/dist/auth/login.js +58 -52
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +44 -39
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +47 -45
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/cjs/withPayload.cjs +24 -65
  8. package/dist/cjs/withPayload.cjs.map +2 -2
  9. package/dist/config.js +0 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
  12. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +71 -40
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +59 -65
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/index.js +70 -80
  18. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +23 -16
  20. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +69 -61
  22. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/index.js +28 -48
  24. package/dist/elements/DocumentHeader/index.js.map +1 -1
  25. package/dist/elements/FormHeader/index.js +16 -30
  26. package/dist/elements/FormHeader/index.js.map +1 -1
  27. package/dist/elements/Logo/index.js +34 -19
  28. package/dist/elements/Logo/index.js.map +1 -1
  29. package/dist/elements/Nav/NavHamburger/index.js +44 -23
  30. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  31. package/dist/elements/Nav/NavWrapper/index.js +54 -28
  32. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  33. package/dist/elements/Nav/SettingsMenuButton/index.js +39 -33
  34. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  35. package/dist/elements/Nav/getNavPrefs.js +22 -27
  36. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  37. package/dist/elements/Nav/index.client.js +118 -97
  38. package/dist/elements/Nav/index.client.js.map +1 -1
  39. package/dist/elements/Nav/index.js +170 -191
  40. package/dist/elements/Nav/index.js.map +1 -1
  41. package/dist/exports/auth.js +0 -1
  42. package/dist/exports/auth.js.map +1 -1
  43. package/dist/exports/client.js +1 -1
  44. package/dist/exports/client.js.map +1 -1
  45. package/dist/exports/layouts.js +0 -1
  46. package/dist/exports/layouts.js.map +1 -1
  47. package/dist/exports/routes.js +0 -1
  48. package/dist/exports/routes.js.map +1 -1
  49. package/dist/exports/rsc.js +0 -1
  50. package/dist/exports/rsc.js.map +1 -1
  51. package/dist/exports/templates.js +0 -1
  52. package/dist/exports/templates.js.map +1 -1
  53. package/dist/exports/utilities.js +12 -7
  54. package/dist/exports/utilities.js.map +1 -1
  55. package/dist/exports/views.js +0 -1
  56. package/dist/exports/views.js.map +1 -1
  57. package/dist/index.js +0 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/layouts/Root/NestProviders.js +20 -21
  60. package/dist/layouts/Root/NestProviders.js.map +1 -1
  61. package/dist/layouts/Root/checkDependencies.js +41 -49
  62. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  63. package/dist/layouts/Root/index.js +103 -128
  64. package/dist/layouts/Root/index.js.map +1 -1
  65. package/dist/prod/styles.css +1 -5
  66. package/dist/routes/graphql/handler.js +122 -114
  67. package/dist/routes/graphql/handler.js.map +1 -1
  68. package/dist/routes/graphql/index.js +0 -1
  69. package/dist/routes/graphql/index.js.map +1 -1
  70. package/dist/routes/graphql/playground.js +27 -28
  71. package/dist/routes/graphql/playground.js.map +1 -1
  72. package/dist/routes/index.js +0 -1
  73. package/dist/routes/index.js.map +1 -1
  74. package/dist/routes/rest/index.js +22 -23
  75. package/dist/routes/rest/index.js.map +1 -1
  76. package/dist/routes/rest/og/image.js +79 -103
  77. package/dist/routes/rest/og/image.js.map +1 -1
  78. package/dist/routes/rest/og/index.js +54 -59
  79. package/dist/routes/rest/og/index.js.map +1 -1
  80. package/dist/templates/Default/NavHamburger/index.js +20 -12
  81. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  82. package/dist/templates/Default/Wrapper/index.js +44 -20
  83. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  84. package/dist/templates/Default/index.js +116 -147
  85. package/dist/templates/Default/index.js.map +1 -1
  86. package/dist/templates/Minimal/index.js +17 -26
  87. package/dist/templates/Minimal/index.js.map +1 -1
  88. package/dist/utilities/getExistingAuthToken.js +2 -3
  89. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  90. package/dist/utilities/getNextRequestI18n.js +13 -12
  91. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  92. package/dist/utilities/getPayloadHMR.js +5 -5
  93. package/dist/utilities/getPayloadHMR.js.map +1 -1
  94. package/dist/utilities/getPreferences.js +22 -27
  95. package/dist/utilities/getPreferences.js.map +1 -1
  96. package/dist/utilities/getRequestLocale.js +14 -13
  97. package/dist/utilities/getRequestLocale.js.map +1 -1
  98. package/dist/utilities/getRequestTheme.js +19 -19
  99. package/dist/utilities/getRequestTheme.js.map +1 -1
  100. package/dist/utilities/getRouteWithoutAdmin.js +5 -3
  101. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  102. package/dist/utilities/handleAuthRedirect.js +36 -22
  103. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  104. package/dist/utilities/handleServerFunctions.js +43 -33
  105. package/dist/utilities/handleServerFunctions.js.map +1 -1
  106. package/dist/utilities/initReq.js +96 -78
  107. package/dist/utilities/initReq.js.map +1 -1
  108. package/dist/utilities/isCustomAdminView.js +26 -22
  109. package/dist/utilities/isCustomAdminView.js.map +1 -1
  110. package/dist/utilities/isPublicAdminRoute.js +20 -26
  111. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  112. package/dist/utilities/meta.js +63 -68
  113. package/dist/utilities/meta.js.map +1 -1
  114. package/dist/utilities/selectiveCache.js +26 -25
  115. package/dist/utilities/selectiveCache.js.map +1 -1
  116. package/dist/utilities/setPayloadAuthCookie.js +22 -19
  117. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  118. package/dist/utilities/slugify.js +33 -24
  119. package/dist/utilities/slugify.js.map +1 -1
  120. package/dist/utilities/timestamp.js +6 -7
  121. package/dist/utilities/timestamp.js.map +1 -1
  122. package/dist/views/API/LocaleSelector/index.js +39 -17
  123. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  124. package/dist/views/API/RenderJSON/index.js +126 -171
  125. package/dist/views/API/RenderJSON/index.js.map +1 -1
  126. package/dist/views/API/index.client.js +199 -291
  127. package/dist/views/API/index.client.js.map +1 -1
  128. package/dist/views/API/index.js +2 -7
  129. package/dist/views/API/index.js.map +1 -1
  130. package/dist/views/API/metadata.js +23 -18
  131. package/dist/views/API/metadata.js.map +1 -1
  132. package/dist/views/Account/ResetPreferences/index.js +102 -78
  133. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  134. package/dist/views/Account/Settings/LanguageSelector.js +47 -18
  135. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  136. package/dist/views/Account/Settings/index.js +25 -60
  137. package/dist/views/Account/Settings/index.js.map +1 -1
  138. package/dist/views/Account/ToggleTheme/index.js +55 -38
  139. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  140. package/dist/views/Account/index.client.js +32 -16
  141. package/dist/views/Account/index.client.js.map +1 -1
  142. package/dist/views/Account/index.d.ts.map +1 -1
  143. package/dist/views/Account/index.js +162 -147
  144. package/dist/views/Account/index.js.map +1 -1
  145. package/dist/views/Account/metadata.js +12 -8
  146. package/dist/views/Account/metadata.js.map +1 -1
  147. package/dist/views/BrowseByFolder/buildView.js +157 -138
  148. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  149. package/dist/views/BrowseByFolder/index.js +16 -16
  150. package/dist/views/BrowseByFolder/index.js.map +1 -1
  151. package/dist/views/BrowseByFolder/metadata.js +15 -13
  152. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  153. package/dist/views/CollectionFolders/buildView.js +142 -122
  154. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  155. package/dist/views/CollectionFolders/index.js +16 -16
  156. package/dist/views/CollectionFolders/index.js.map +1 -1
  157. package/dist/views/CollectionFolders/metadata.js +21 -18
  158. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  159. package/dist/views/CollectionFolders/renderFolderViewSlots.js +61 -58
  160. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  161. package/dist/views/CollectionTrash/index.js +17 -17
  162. package/dist/views/CollectionTrash/index.js.map +1 -1
  163. package/dist/views/CollectionTrash/metadata.js +21 -18
  164. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  165. package/dist/views/CreateFirstUser/index.client.js +103 -117
  166. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  167. package/dist/views/CreateFirstUser/index.js +81 -87
  168. package/dist/views/CreateFirstUser/index.js.map +1 -1
  169. package/dist/views/CreateFirstUser/metadata.js +12 -8
  170. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  171. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +174 -151
  172. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  173. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts +11 -0
  174. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -0
  175. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +128 -0
  176. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -0
  177. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts +8 -0
  178. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -0
  179. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +78 -0
  180. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -0
  181. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts +1 -0
  182. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  183. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +415 -423
  184. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  185. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  186. package/dist/views/Dashboard/Default/ModularDashboard/index.js +66 -82
  187. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  188. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts +1 -0
  189. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts.map +1 -1
  190. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +95 -61
  191. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  192. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  193. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +54 -43
  194. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  195. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts +1 -0
  196. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  197. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +73 -67
  198. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  199. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -0
  200. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  201. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +173 -173
  202. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  203. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +30 -31
  204. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  205. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.d.ts +4 -0
  206. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.d.ts.map +1 -0
  207. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js +21 -0
  208. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js.map +1 -0
  209. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +4 -0
  210. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -0
  211. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js +10 -0
  212. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -0
  213. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.d.ts +23 -0
  214. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.d.ts.map +1 -0
  215. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js +103 -0
  216. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -0
  217. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +229 -223
  218. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  219. package/dist/views/Dashboard/Default/index.js +45 -59
  220. package/dist/views/Dashboard/Default/index.js.map +1 -1
  221. package/dist/views/Dashboard/index.js +42 -46
  222. package/dist/views/Dashboard/index.js.map +1 -1
  223. package/dist/views/Dashboard/metadata.js +14 -10
  224. package/dist/views/Dashboard/metadata.js.map +1 -1
  225. package/dist/views/Document/getCustomDocumentViewByKey.js +2 -3
  226. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  227. package/dist/views/Document/getCustomViewByRoute.js +30 -27
  228. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  229. package/dist/views/Document/getDocPreferences.js +41 -40
  230. package/dist/views/Document/getDocPreferences.js.map +1 -1
  231. package/dist/views/Document/getDocumentData.js +55 -44
  232. package/dist/views/Document/getDocumentData.js.map +1 -1
  233. package/dist/views/Document/getDocumentPermissions.d.ts +2 -0
  234. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  235. package/dist/views/Document/getDocumentPermissions.js +117 -77
  236. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  237. package/dist/views/Document/getDocumentView.js +283 -313
  238. package/dist/views/Document/getDocumentView.js.map +1 -1
  239. package/dist/views/Document/getIsLocked.js +73 -73
  240. package/dist/views/Document/getIsLocked.js.map +1 -1
  241. package/dist/views/Document/getMetaBySegment.js +136 -130
  242. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  243. package/dist/views/Document/getVersions.js +213 -220
  244. package/dist/views/Document/getVersions.js.map +1 -1
  245. package/dist/views/Document/handleServerFunction.js +127 -100
  246. package/dist/views/Document/handleServerFunction.js.map +1 -1
  247. package/dist/views/Document/index.d.ts.map +1 -1
  248. package/dist/views/Document/index.js +359 -317
  249. package/dist/views/Document/index.js.map +1 -1
  250. package/dist/views/Document/metadata.js +1 -2
  251. package/dist/views/Document/metadata.js.map +1 -1
  252. package/dist/views/Document/renderDocumentSlots.js +155 -141
  253. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  254. package/dist/views/Edit/index.js +6 -10
  255. package/dist/views/Edit/index.js.map +1 -1
  256. package/dist/views/Edit/metadata.js +46 -36
  257. package/dist/views/Edit/metadata.js.map +1 -1
  258. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +164 -130
  259. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  260. package/dist/views/ForgotPassword/index.js +62 -79
  261. package/dist/views/ForgotPassword/index.js.map +1 -1
  262. package/dist/views/ForgotPassword/metadata.js +12 -8
  263. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  264. package/dist/views/List/createSerializableValue.js +11 -12
  265. package/dist/views/List/createSerializableValue.js.map +1 -1
  266. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  267. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  268. package/dist/views/List/extractRelationshipDisplayValue.js +14 -15
  269. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  270. package/dist/views/List/extractValueOrRelationshipID.js +15 -16
  271. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  272. package/dist/views/List/handleGroupBy.js +150 -133
  273. package/dist/views/List/handleGroupBy.js.map +1 -1
  274. package/dist/views/List/handleServerFunction.js +122 -96
  275. package/dist/views/List/handleServerFunction.js.map +1 -1
  276. package/dist/views/List/index.d.ts.map +1 -1
  277. package/dist/views/List/index.js +328 -302
  278. package/dist/views/List/index.js.map +1 -1
  279. package/dist/views/List/metadata.js +20 -17
  280. package/dist/views/List/metadata.js.map +1 -1
  281. package/dist/views/List/renderListViewSlots.js +75 -82
  282. package/dist/views/List/renderListViewSlots.js.map +1 -1
  283. package/dist/views/List/resolveAllFilterOptions.js +45 -43
  284. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  285. package/dist/views/List/transformColumnsToSelect.js +8 -9
  286. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  287. package/dist/views/Login/LoginField/index.js +89 -57
  288. package/dist/views/Login/LoginField/index.js.map +1 -1
  289. package/dist/views/Login/LoginForm/index.js +160 -107
  290. package/dist/views/Login/LoginForm/index.js.map +1 -1
  291. package/dist/views/Login/index.js +85 -82
  292. package/dist/views/Login/index.js.map +1 -1
  293. package/dist/views/Login/metadata.js +12 -8
  294. package/dist/views/Login/metadata.js.map +1 -1
  295. package/dist/views/Logout/LogoutClient.js +120 -84
  296. package/dist/views/Logout/LogoutClient.js.map +1 -1
  297. package/dist/views/Logout/index.js +29 -29
  298. package/dist/views/Logout/index.js.map +1 -1
  299. package/dist/views/Logout/metadata.js +11 -7
  300. package/dist/views/Logout/metadata.js.map +1 -1
  301. package/dist/views/NotFound/index.client.js +82 -71
  302. package/dist/views/NotFound/index.client.js.map +1 -1
  303. package/dist/views/NotFound/index.js +73 -72
  304. package/dist/views/NotFound/index.js.map +1 -1
  305. package/dist/views/NotFound/metadata.js +9 -7
  306. package/dist/views/NotFound/metadata.js.map +1 -1
  307. package/dist/views/ResetPassword/ResetPasswordForm/index.js +108 -97
  308. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  309. package/dist/views/ResetPassword/index.js +73 -93
  310. package/dist/views/ResetPassword/index.js.map +1 -1
  311. package/dist/views/ResetPassword/metadata.js +12 -8
  312. package/dist/views/ResetPassword/metadata.js.map +1 -1
  313. package/dist/views/Root/attachViewActions.js +23 -18
  314. package/dist/views/Root/attachViewActions.js.map +1 -1
  315. package/dist/views/Root/generateCustomViewMetadata.js +21 -19
  316. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  317. package/dist/views/Root/getCustomViewByKey.js +14 -12
  318. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  319. package/dist/views/Root/getCustomViewByRoute.js +42 -31
  320. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  321. package/dist/views/Root/getDocumentViewInfo.js +23 -24
  322. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  323. package/dist/views/Root/getRouteData.js +325 -333
  324. package/dist/views/Root/getRouteData.js.map +1 -1
  325. package/dist/views/Root/index.js +270 -248
  326. package/dist/views/Root/index.js.map +1 -1
  327. package/dist/views/Root/isPathMatchingRoute.js +26 -21
  328. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  329. package/dist/views/Root/metadata.js +181 -176
  330. package/dist/views/Root/metadata.js.map +1 -1
  331. package/dist/views/Unauthorized/index.js +46 -54
  332. package/dist/views/Unauthorized/index.js.map +1 -1
  333. package/dist/views/Unauthorized/metadata.js +12 -8
  334. package/dist/views/Unauthorized/metadata.js.map +1 -1
  335. package/dist/views/Verify/index.client.js +43 -25
  336. package/dist/views/Verify/index.client.js.map +1 -1
  337. package/dist/views/Verify/index.js +64 -69
  338. package/dist/views/Verify/index.js.map +1 -1
  339. package/dist/views/Verify/metadata.js +12 -8
  340. package/dist/views/Verify/metadata.js.map +1 -1
  341. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  342. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  343. package/dist/views/Version/Default/SetStepNav.js +127 -86
  344. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  345. package/dist/views/Version/Default/index.js +236 -380
  346. package/dist/views/Version/Default/index.js.map +1 -1
  347. package/dist/views/Version/Default/types.js +1 -2
  348. package/dist/views/Version/Default/types.js.map +1 -1
  349. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +119 -102
  350. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  351. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +73 -78
  352. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  353. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +408 -363
  354. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  355. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +51 -40
  356. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  357. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -1
  358. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +71 -36
  359. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  360. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +56 -59
  361. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  362. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +117 -139
  363. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  364. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +61 -56
  365. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  366. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +206 -224
  367. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +11 -17
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +75 -49
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +146 -135
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +83 -57
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +211 -252
  379. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  380. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +22 -23
  381. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  382. package/dist/views/Version/RenderFieldsToDiff/index.js +9 -12
  383. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  384. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +228 -213
  385. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  386. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +826 -1005
  387. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  388. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +1 -2
  389. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  390. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +43 -44
  391. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  392. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +36 -32
  393. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +129 -145
  395. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  396. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  397. package/dist/views/Version/Restore/index.js +92 -117
  398. package/dist/views/Version/Restore/index.js.map +1 -1
  399. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -33
  400. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  401. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +226 -170
  402. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  403. package/dist/views/Version/SelectComparison/index.js +50 -73
  404. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  405. package/dist/views/Version/SelectComparison/types.js +1 -2
  406. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  407. package/dist/views/Version/SelectLocales/index.js +32 -34
  408. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  409. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +100 -106
  410. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  411. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +35 -30
  412. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  413. package/dist/views/Version/fetchVersions.js +138 -113
  414. package/dist/views/Version/fetchVersions.js.map +1 -1
  415. package/dist/views/Version/index.js +326 -328
  416. package/dist/views/Version/index.js.map +1 -1
  417. package/dist/views/Version/metadata.js +50 -43
  418. package/dist/views/Version/metadata.js.map +1 -1
  419. package/dist/views/Versions/buildColumns.js +79 -95
  420. package/dist/views/Versions/buildColumns.js.map +1 -1
  421. package/dist/views/Versions/cells/AutosaveCell/index.js +38 -34
  422. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  423. package/dist/views/Versions/cells/CreatedAt/index.js +53 -32
  424. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  425. package/dist/views/Versions/cells/ID/index.js +8 -10
  426. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  427. package/dist/views/Versions/index.client.js +83 -106
  428. package/dist/views/Versions/index.client.js.map +1 -1
  429. package/dist/views/Versions/index.js +164 -164
  430. package/dist/views/Versions/index.js.map +1 -1
  431. package/dist/views/Versions/metadata.js +44 -37
  432. package/dist/views/Versions/metadata.js.map +1 -1
  433. package/dist/views/Versions/types.js +1 -2
  434. package/dist/views/Versions/types.js.map +1 -1
  435. package/dist/withPayload/withPayload.js +177 -236
  436. package/dist/withPayload/withPayload.js.map +1 -1
  437. package/dist/withPayload/withPayload.spec.js +35 -36
  438. package/dist/withPayload/withPayload.spec.js.map +1 -1
  439. package/dist/withPayload/withPayload.utils.js +73 -65
  440. package/dist/withPayload/withPayload.utils.js.map +1 -1
  441. package/dist/withPayload/withPayloadLegacy.js +40 -41
  442. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  443. package/package.json +8 -8
  444. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +0 -38
  445. package/dist/elements/DocumentHeader/Tabs/index.scss +0 -54
  446. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +0 -10
  447. package/dist/elements/DocumentHeader/index.scss +0 -64
  448. package/dist/elements/FormHeader/index.scss +0 -8
  449. package/dist/elements/Nav/NavWrapper/index.scss +0 -27
  450. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  451. package/dist/elements/Nav/index.scss +0 -173
  452. package/dist/esbuildEntry.d.ts +0 -5
  453. package/dist/esbuildEntry.d.ts.map +0 -1
  454. package/dist/esbuildEntry.js +0 -6
  455. package/dist/esbuildEntry.js.map +0 -1
  456. package/dist/templates/Default/Wrapper/index.scss +0 -58
  457. package/dist/templates/Default/index.scss +0 -79
  458. package/dist/templates/Minimal/index.scss +0 -30
  459. package/dist/views/API/RenderJSON/index.scss +0 -129
  460. package/dist/views/API/index.scss +0 -119
  461. package/dist/views/Account/Settings/index.scss +0 -48
  462. package/dist/views/CreateFirstUser/index.scss +0 -21
  463. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +0 -316
  464. package/dist/views/Login/LoginForm/index.scss +0 -10
  465. package/dist/views/Login/index.scss +0 -10
  466. package/dist/views/Logout/index.scss +0 -25
  467. package/dist/views/NotFound/index.scss +0 -57
  468. package/dist/views/ResetPassword/index.scss +0 -11
  469. package/dist/views/Unauthorized/index.scss +0 -14
  470. package/dist/views/Verify/index.scss +0 -16
  471. package/dist/views/Version/Default/index.scss +0 -170
  472. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +0 -81
  473. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +0 -12
  474. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +0 -9
  475. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +0 -59
  476. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -91
  477. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -4
  478. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +0 -9
  479. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -4
  480. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +0 -121
  481. package/dist/views/Version/RenderFieldsToDiff/index.scss +0 -24
  482. package/dist/views/Version/Restore/index.scss +0 -84
  483. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  484. package/dist/views/Version/SelectComparison/index.scss +0 -9
  485. package/dist/views/Version/VersionPillLabel/index.scss +0 -26
  486. package/dist/views/Versions/cells/AutosaveCell/index.scss +0 -9
  487. package/dist/views/Versions/index.scss +0 -110
@@ -1,1040 +1,861 @@
1
1
  import { describe, it, expect } from 'vitest';
2
2
  import { countChangedFields, countChangedFieldsInRows } from './countChangedFields.js';
3
- describe('countChangedFields', ()=>{
4
- // locales can be undefined when not configured in payload.config.js
5
- const locales = undefined;
6
- it('should return 0 when no fields have changed', ()=>{
7
- const fields = [
8
- {
9
- name: 'a',
10
- type: 'text'
11
- },
12
- {
13
- name: 'b',
14
- type: 'number'
15
- }
16
- ];
17
- const valueFrom = {
18
- a: 'original',
19
- b: 123
20
- };
21
- const valueTo = {
22
- a: 'original',
23
- b: 123
24
- };
25
- const result = countChangedFields({
26
- valueFrom,
27
- fields,
28
- valueTo,
29
- locales
30
- });
31
- expect(result).toBe(0);
3
+ describe('countChangedFields', () => {
4
+ // locales can be undefined when not configured in payload.config.js
5
+ const locales = undefined;
6
+ it('should return 0 when no fields have changed', () => {
7
+ const fields = [{
8
+ name: 'a',
9
+ type: 'text'
10
+ }, {
11
+ name: 'b',
12
+ type: 'number'
13
+ }];
14
+ const valueFrom = {
15
+ a: 'original',
16
+ b: 123
17
+ };
18
+ const valueTo = {
19
+ a: 'original',
20
+ b: 123
21
+ };
22
+ const result = countChangedFields({
23
+ valueFrom,
24
+ fields,
25
+ valueTo,
26
+ locales
32
27
  });
33
- it('should count simple changed fields', ()=>{
34
- const fields = [
35
- {
36
- name: 'a',
37
- type: 'text'
38
- },
39
- {
40
- name: 'b',
41
- type: 'number'
42
- }
43
- ];
44
- const valueFrom = {
45
- a: 'original',
46
- b: 123
47
- };
48
- const valueTo = {
49
- a: 'changed',
50
- b: 123
51
- };
52
- const result = countChangedFields({
53
- valueFrom,
54
- fields,
55
- valueTo,
56
- locales
57
- });
58
- expect(result).toBe(1);
28
+ expect(result).toBe(0);
29
+ });
30
+ it('should count simple changed fields', () => {
31
+ const fields = [{
32
+ name: 'a',
33
+ type: 'text'
34
+ }, {
35
+ name: 'b',
36
+ type: 'number'
37
+ }];
38
+ const valueFrom = {
39
+ a: 'original',
40
+ b: 123
41
+ };
42
+ const valueTo = {
43
+ a: 'changed',
44
+ b: 123
45
+ };
46
+ const result = countChangedFields({
47
+ valueFrom,
48
+ fields,
49
+ valueTo,
50
+ locales
51
+ });
52
+ expect(result).toBe(1);
53
+ });
54
+ it('should count previously undefined fields', () => {
55
+ const fields = [{
56
+ name: 'a',
57
+ type: 'text'
58
+ }, {
59
+ name: 'b',
60
+ type: 'number'
61
+ }];
62
+ const valueFrom = {};
63
+ const valueTo = {
64
+ a: 'new',
65
+ b: 123
66
+ };
67
+ const result = countChangedFields({
68
+ valueFrom,
69
+ fields,
70
+ valueTo,
71
+ locales
72
+ });
73
+ expect(result).toBe(2);
74
+ });
75
+ it('should not count the id field because it is not displayed in the version view', () => {
76
+ const fields = [{
77
+ name: 'id',
78
+ type: 'text'
79
+ }, {
80
+ name: 'a',
81
+ type: 'text'
82
+ }];
83
+ const valueFrom = {
84
+ id: 'original',
85
+ a: 'original'
86
+ };
87
+ const valueTo = {
88
+ id: 'changed',
89
+ a: 'original'
90
+ };
91
+ const result = countChangedFields({
92
+ valueFrom,
93
+ fields,
94
+ valueTo,
95
+ locales
96
+ });
97
+ expect(result).toBe(0);
98
+ });
99
+ it('should count changed fields inside collapsible fields', () => {
100
+ const fields = [{
101
+ type: 'collapsible',
102
+ label: 'A collapsible field',
103
+ fields: [{
104
+ name: 'a',
105
+ type: 'text'
106
+ }, {
107
+ name: 'b',
108
+ type: 'text'
109
+ }, {
110
+ name: 'c',
111
+ type: 'text'
112
+ }]
113
+ }];
114
+ const valueFrom = {
115
+ a: 'original',
116
+ b: 'original',
117
+ c: 'original'
118
+ };
119
+ const valueTo = {
120
+ a: 'changed',
121
+ b: 'changed',
122
+ c: 'original'
123
+ };
124
+ const result = countChangedFields({
125
+ valueFrom,
126
+ fields,
127
+ valueTo,
128
+ locales
129
+ });
130
+ expect(result).toBe(2);
131
+ });
132
+ it('should count changed fields inside row fields', () => {
133
+ const fields = [{
134
+ type: 'row',
135
+ fields: [{
136
+ name: 'a',
137
+ type: 'text'
138
+ }, {
139
+ name: 'b',
140
+ type: 'text'
141
+ }, {
142
+ name: 'c',
143
+ type: 'text'
144
+ }]
145
+ }];
146
+ const valueFrom = {
147
+ a: 'original',
148
+ b: 'original',
149
+ c: 'original'
150
+ };
151
+ const valueTo = {
152
+ a: 'changed',
153
+ b: 'changed',
154
+ c: 'original'
155
+ };
156
+ const result = countChangedFields({
157
+ valueFrom,
158
+ fields,
159
+ valueTo,
160
+ locales
161
+ });
162
+ expect(result).toBe(2);
163
+ });
164
+ it('should count changed fields inside group fields', () => {
165
+ const fields = [{
166
+ type: 'group',
167
+ name: 'group',
168
+ fields: [{
169
+ name: 'a',
170
+ type: 'text'
171
+ }, {
172
+ name: 'b',
173
+ type: 'text'
174
+ }, {
175
+ name: 'c',
176
+ type: 'text'
177
+ }]
178
+ }];
179
+ const valueFrom = {
180
+ group: {
181
+ a: 'original',
182
+ b: 'original',
183
+ c: 'original'
184
+ }
185
+ };
186
+ const valueTo = {
187
+ group: {
188
+ a: 'changed',
189
+ b: 'changed',
190
+ c: 'original'
191
+ }
192
+ };
193
+ const result = countChangedFields({
194
+ valueFrom,
195
+ fields,
196
+ valueTo,
197
+ locales
198
+ });
199
+ expect(result).toBe(2);
200
+ });
201
+ it('should count changed fields inside unnamed tabs ', () => {
202
+ const fields = [{
203
+ type: 'tabs',
204
+ tabs: [{
205
+ label: 'Unnamed tab',
206
+ fields: [{
207
+ name: 'a',
208
+ type: 'text'
209
+ }, {
210
+ name: 'b',
211
+ type: 'text'
212
+ }, {
213
+ name: 'c',
214
+ type: 'text'
215
+ }]
216
+ }]
217
+ }];
218
+ const valueFrom = {
219
+ a: 'original',
220
+ b: 'original',
221
+ c: 'original'
222
+ };
223
+ const valueTo = {
224
+ a: 'changed',
225
+ b: 'changed',
226
+ c: 'original'
227
+ };
228
+ const result = countChangedFields({
229
+ valueFrom,
230
+ fields,
231
+ valueTo,
232
+ locales
233
+ });
234
+ expect(result).toBe(2);
235
+ });
236
+ it('should count changed fields inside named tabs ', () => {
237
+ const fields = [{
238
+ type: 'tabs',
239
+ tabs: [{
240
+ name: 'namedTab',
241
+ fields: [{
242
+ name: 'a',
243
+ type: 'text'
244
+ }, {
245
+ name: 'b',
246
+ type: 'text'
247
+ }, {
248
+ name: 'c',
249
+ type: 'text'
250
+ }]
251
+ }]
252
+ }];
253
+ const valueFrom = {
254
+ namedTab: {
255
+ a: 'original',
256
+ b: 'original',
257
+ c: 'original'
258
+ }
259
+ };
260
+ const valueTo = {
261
+ namedTab: {
262
+ a: 'changed',
263
+ b: 'changed',
264
+ c: 'original'
265
+ }
266
+ };
267
+ const result = countChangedFields({
268
+ valueFrom,
269
+ fields,
270
+ valueTo,
271
+ locales
272
+ });
273
+ expect(result).toBe(2);
274
+ });
275
+ it('should ignore UI fields', () => {
276
+ const fields = [{
277
+ name: 'a',
278
+ type: 'text'
279
+ }, {
280
+ name: 'b',
281
+ type: 'ui',
282
+ admin: {}
283
+ }];
284
+ const valueFrom = {
285
+ a: 'original',
286
+ b: 'original'
287
+ };
288
+ const valueTo = {
289
+ a: 'original',
290
+ b: 'changed'
291
+ };
292
+ const result = countChangedFields({
293
+ valueFrom,
294
+ fields,
295
+ valueTo,
296
+ locales
297
+ });
298
+ expect(result).toBe(0);
299
+ });
300
+ it('should count changed fields inside array fields', () => {
301
+ const fields = [{
302
+ name: 'arrayField',
303
+ type: 'array',
304
+ fields: [{
305
+ name: 'a',
306
+ type: 'text'
307
+ }, {
308
+ name: 'b',
309
+ type: 'text'
310
+ }, {
311
+ name: 'c',
312
+ type: 'text'
313
+ }]
314
+ }];
315
+ const valueFrom = {
316
+ arrayField: [{
317
+ a: 'original',
318
+ b: 'original',
319
+ c: 'original'
320
+ }, {
321
+ a: 'original',
322
+ b: 'original'
323
+ }]
324
+ };
325
+ const valueTo = {
326
+ arrayField: [{
327
+ a: 'changed',
328
+ b: 'changed',
329
+ c: 'original'
330
+ }, {
331
+ a: 'changed',
332
+ b: 'changed',
333
+ c: 'changed'
334
+ }]
335
+ };
336
+ const result = countChangedFields({
337
+ valueFrom,
338
+ fields,
339
+ valueTo,
340
+ locales
59
341
  });
60
- it('should count previously undefined fields', ()=>{
61
- const fields = [
62
- {
63
- name: 'a',
64
- type: 'text'
65
- },
66
- {
67
- name: 'b',
68
- type: 'number'
69
- }
70
- ];
71
- const valueFrom = {};
72
- const valueTo = {
73
- a: 'new',
74
- b: 123
75
- };
76
- const result = countChangedFields({
77
- valueFrom,
78
- fields,
79
- valueTo,
80
- locales
81
- });
82
- expect(result).toBe(2);
342
+ expect(result).toBe(5);
343
+ });
344
+ it('should count changed fields inside arrays nested inside of collapsibles', () => {
345
+ const fields = [{
346
+ type: 'collapsible',
347
+ label: 'A collapsible field',
348
+ fields: [{
349
+ name: 'arrayField',
350
+ type: 'array',
351
+ fields: [{
352
+ name: 'a',
353
+ type: 'text'
354
+ }, {
355
+ name: 'b',
356
+ type: 'text'
357
+ }, {
358
+ name: 'c',
359
+ type: 'text'
360
+ }]
361
+ }]
362
+ }];
363
+ const valueFrom = {
364
+ arrayField: [{
365
+ a: 'original',
366
+ b: 'original',
367
+ c: 'original'
368
+ }]
369
+ };
370
+ const valueTo = {
371
+ arrayField: [{
372
+ a: 'changed',
373
+ b: 'changed',
374
+ c: 'original'
375
+ }]
376
+ };
377
+ const result = countChangedFields({
378
+ valueFrom,
379
+ fields,
380
+ valueTo,
381
+ locales
83
382
  });
84
- it('should not count the id field because it is not displayed in the version view', ()=>{
85
- const fields = [
86
- {
87
- name: 'id',
88
- type: 'text'
89
- },
90
- {
91
- name: 'a',
92
- type: 'text'
93
- }
94
- ];
95
- const valueFrom = {
96
- id: 'original',
97
- a: 'original'
98
- };
99
- const valueTo = {
100
- id: 'changed',
101
- a: 'original'
102
- };
103
- const result = countChangedFields({
104
- valueFrom,
105
- fields,
106
- valueTo,
107
- locales
108
- });
109
- expect(result).toBe(0);
383
+ expect(result).toBe(2);
384
+ });
385
+ it('should count changed fields inside blocks fields', () => {
386
+ const fields = [{
387
+ name: 'blocks',
388
+ type: 'blocks',
389
+ blocks: [{
390
+ slug: 'blockA',
391
+ fields: [{
392
+ name: 'a',
393
+ type: 'text'
394
+ }, {
395
+ name: 'b',
396
+ type: 'text'
397
+ }, {
398
+ name: 'c',
399
+ type: 'text'
400
+ }]
401
+ }]
402
+ }];
403
+ const valueFrom = {
404
+ blocks: [{
405
+ blockType: 'blockA',
406
+ a: 'original',
407
+ b: 'original',
408
+ c: 'original'
409
+ }, {
410
+ blockType: 'blockA',
411
+ a: 'original',
412
+ b: 'original'
413
+ }]
414
+ };
415
+ const valueTo = {
416
+ blocks: [{
417
+ blockType: 'blockA',
418
+ a: 'changed',
419
+ b: 'changed',
420
+ c: 'original'
421
+ }, {
422
+ blockType: 'blockA',
423
+ a: 'changed',
424
+ b: 'changed',
425
+ c: 'changed'
426
+ }]
427
+ };
428
+ const result = countChangedFields({
429
+ valueFrom,
430
+ fields,
431
+ valueTo,
432
+ locales
110
433
  });
111
- it('should count changed fields inside collapsible fields', ()=>{
112
- const fields = [
113
- {
114
- type: 'collapsible',
115
- label: 'A collapsible field',
116
- fields: [
117
- {
118
- name: 'a',
119
- type: 'text'
120
- },
121
- {
122
- name: 'b',
123
- type: 'text'
124
- },
125
- {
126
- name: 'c',
127
- type: 'text'
128
- }
129
- ]
130
- }
131
- ];
132
- const valueFrom = {
434
+ expect(result).toBe(5);
435
+ });
436
+ it('should count changed fields between blocks with different slugs', () => {
437
+ const fields = [{
438
+ name: 'blocks',
439
+ type: 'blocks',
440
+ blocks: [{
441
+ slug: 'blockA',
442
+ fields: [{
443
+ name: 'a',
444
+ type: 'text'
445
+ }, {
446
+ name: 'b',
447
+ type: 'text'
448
+ }, {
449
+ name: 'c',
450
+ type: 'text'
451
+ }]
452
+ }, {
453
+ slug: 'blockB',
454
+ fields: [{
455
+ name: 'b',
456
+ type: 'text'
457
+ }, {
458
+ name: 'c',
459
+ type: 'text'
460
+ }, {
461
+ name: 'd',
462
+ type: 'text'
463
+ }]
464
+ }]
465
+ }];
466
+ const valueFrom = {
467
+ blocks: [{
468
+ blockType: 'blockA',
469
+ a: 'removed',
470
+ b: 'original',
471
+ c: 'original'
472
+ }]
473
+ };
474
+ const valueTo = {
475
+ blocks: [{
476
+ blockType: 'blockB',
477
+ b: 'original',
478
+ c: 'changed',
479
+ d: 'new'
480
+ }]
481
+ };
482
+ const result = countChangedFields({
483
+ valueFrom,
484
+ fields,
485
+ valueTo,
486
+ locales
487
+ });
488
+ expect(result).toBe(3);
489
+ });
490
+ describe('localized fields', () => {
491
+ const locales = ['en', 'de'];
492
+ it('should count simple localized fields', () => {
493
+ const fields = [{
494
+ name: 'a',
495
+ type: 'text',
496
+ localized: true
497
+ }, {
498
+ name: 'b',
499
+ type: 'text',
500
+ localized: true
501
+ }];
502
+ const valueFrom = {
503
+ a: {
504
+ en: 'original',
505
+ de: 'original'
506
+ },
507
+ b: {
508
+ en: 'original',
509
+ de: 'original'
510
+ }
511
+ };
512
+ const valueTo = {
513
+ a: {
514
+ en: 'changed',
515
+ de: 'original'
516
+ },
517
+ b: {
518
+ en: 'original',
519
+ de: 'original'
520
+ }
521
+ };
522
+ const result = countChangedFields({
523
+ valueFrom,
524
+ fields,
525
+ valueTo,
526
+ locales
527
+ });
528
+ expect(result).toBe(1);
529
+ });
530
+ it('should count multiple locales of the same localized field', () => {
531
+ const locales = ['en', 'de'];
532
+ const fields = [{
533
+ name: 'a',
534
+ type: 'text',
535
+ localized: true
536
+ }, {
537
+ name: 'b',
538
+ type: 'text',
539
+ localized: true
540
+ }];
541
+ const valueFrom = {
542
+ a: {
543
+ en: 'original',
544
+ de: 'original'
545
+ },
546
+ b: {
547
+ en: 'original',
548
+ de: 'original'
549
+ }
550
+ };
551
+ const valueTo = {
552
+ a: {
553
+ en: 'changed',
554
+ de: 'changed'
555
+ },
556
+ b: {
557
+ en: 'original',
558
+ de: 'original'
559
+ }
560
+ };
561
+ const result = countChangedFields({
562
+ valueFrom,
563
+ fields,
564
+ valueTo,
565
+ locales
566
+ });
567
+ expect(result).toBe(2);
568
+ });
569
+ it('should count changed fields inside localized groups fields', () => {
570
+ const fields = [{
571
+ type: 'group',
572
+ name: 'group',
573
+ localized: true,
574
+ fields: [{
575
+ name: 'a',
576
+ type: 'text'
577
+ }, {
578
+ name: 'b',
579
+ type: 'text'
580
+ }, {
581
+ name: 'c',
582
+ type: 'text'
583
+ }]
584
+ }];
585
+ const valueFrom = {
586
+ group: {
587
+ en: {
133
588
  a: 'original',
134
589
  b: 'original',
135
590
  c: 'original'
136
- };
137
- const valueTo = {
591
+ },
592
+ de: {
593
+ a: 'original',
594
+ b: 'original',
595
+ c: 'original'
596
+ }
597
+ }
598
+ };
599
+ const valueTo = {
600
+ group: {
601
+ en: {
138
602
  a: 'changed',
139
603
  b: 'changed',
140
604
  c: 'original'
141
- };
142
- const result = countChangedFields({
143
- valueFrom,
144
- fields,
145
- valueTo,
146
- locales
147
- });
148
- expect(result).toBe(2);
605
+ },
606
+ de: {
607
+ a: 'original',
608
+ b: 'changed',
609
+ c: 'original'
610
+ }
611
+ }
612
+ };
613
+ const result = countChangedFields({
614
+ valueFrom,
615
+ fields,
616
+ valueTo,
617
+ locales
618
+ });
619
+ expect(result).toBe(3);
149
620
  });
150
- it('should count changed fields inside row fields', ()=>{
151
- const fields = [
152
- {
153
- type: 'row',
154
- fields: [
155
- {
156
- name: 'a',
157
- type: 'text'
158
- },
159
- {
160
- name: 'b',
161
- type: 'text'
162
- },
163
- {
164
- name: 'c',
165
- type: 'text'
166
- }
167
- ]
168
- }
169
- ];
170
- const valueFrom = {
621
+ it('should count changed fields inside localized tabs', () => {
622
+ const fields = [{
623
+ type: 'tabs',
624
+ tabs: [{
625
+ name: 'tab',
626
+ localized: true,
627
+ fields: [{
628
+ name: 'a',
629
+ type: 'text'
630
+ }, {
631
+ name: 'b',
632
+ type: 'text'
633
+ }, {
634
+ name: 'c',
635
+ type: 'text'
636
+ }]
637
+ }]
638
+ }];
639
+ const valueFrom = {
640
+ tab: {
641
+ en: {
642
+ a: 'original',
643
+ b: 'original',
644
+ c: 'original'
645
+ },
646
+ de: {
171
647
  a: 'original',
172
648
  b: 'original',
173
649
  c: 'original'
174
- };
175
- const valueTo = {
650
+ }
651
+ }
652
+ };
653
+ const valueTo = {
654
+ tab: {
655
+ en: {
176
656
  a: 'changed',
177
657
  b: 'changed',
178
658
  c: 'original'
179
- };
180
- const result = countChangedFields({
181
- valueFrom,
182
- fields,
183
- valueTo,
184
- locales
185
- });
186
- expect(result).toBe(2);
187
- });
188
- it('should count changed fields inside group fields', ()=>{
189
- const fields = [
190
- {
191
- type: 'group',
192
- name: 'group',
193
- fields: [
194
- {
195
- name: 'a',
196
- type: 'text'
197
- },
198
- {
199
- name: 'b',
200
- type: 'text'
201
- },
202
- {
203
- name: 'c',
204
- type: 'text'
205
- }
206
- ]
207
- }
208
- ];
209
- const valueFrom = {
210
- group: {
211
- a: 'original',
212
- b: 'original',
213
- c: 'original'
214
- }
215
- };
216
- const valueTo = {
217
- group: {
218
- a: 'changed',
219
- b: 'changed',
220
- c: 'original'
221
- }
222
- };
223
- const result = countChangedFields({
224
- valueFrom,
225
- fields,
226
- valueTo,
227
- locales
228
- });
229
- expect(result).toBe(2);
659
+ },
660
+ de: {
661
+ a: 'original',
662
+ b: 'changed',
663
+ c: 'original'
664
+ }
665
+ }
666
+ };
667
+ const result = countChangedFields({
668
+ valueFrom,
669
+ fields,
670
+ valueTo,
671
+ locales
672
+ });
673
+ expect(result).toBe(3);
230
674
  });
231
- it('should count changed fields inside unnamed tabs ', ()=>{
232
- const fields = [
233
- {
234
- type: 'tabs',
235
- tabs: [
236
- {
237
- label: 'Unnamed tab',
238
- fields: [
239
- {
240
- name: 'a',
241
- type: 'text'
242
- },
243
- {
244
- name: 'b',
245
- type: 'text'
246
- },
247
- {
248
- name: 'c',
249
- type: 'text'
250
- }
251
- ]
252
- }
253
- ]
254
- }
255
- ];
256
- const valueFrom = {
675
+ it('should count changed fields inside localized array fields', () => {
676
+ const fields = [{
677
+ name: 'arrayField',
678
+ type: 'array',
679
+ localized: true,
680
+ fields: [{
681
+ name: 'a',
682
+ type: 'text'
683
+ }, {
684
+ name: 'b',
685
+ type: 'text'
686
+ }, {
687
+ name: 'c',
688
+ type: 'text'
689
+ }]
690
+ }];
691
+ const valueFrom = {
692
+ arrayField: {
693
+ en: [{
257
694
  a: 'original',
258
695
  b: 'original',
259
696
  c: 'original'
260
- };
261
- const valueTo = {
697
+ }],
698
+ de: [{
699
+ a: 'original',
700
+ b: 'original',
701
+ c: 'original'
702
+ }]
703
+ }
704
+ };
705
+ const valueTo = {
706
+ arrayField: {
707
+ en: [{
262
708
  a: 'changed',
263
709
  b: 'changed',
264
710
  c: 'original'
265
- };
266
- const result = countChangedFields({
267
- valueFrom,
268
- fields,
269
- valueTo,
270
- locales
271
- });
272
- expect(result).toBe(2);
273
- });
274
- it('should count changed fields inside named tabs ', ()=>{
275
- const fields = [
276
- {
277
- type: 'tabs',
278
- tabs: [
279
- {
280
- name: 'namedTab',
281
- fields: [
282
- {
283
- name: 'a',
284
- type: 'text'
285
- },
286
- {
287
- name: 'b',
288
- type: 'text'
289
- },
290
- {
291
- name: 'c',
292
- type: 'text'
293
- }
294
- ]
295
- }
296
- ]
297
- }
298
- ];
299
- const valueFrom = {
300
- namedTab: {
301
- a: 'original',
302
- b: 'original',
303
- c: 'original'
304
- }
305
- };
306
- const valueTo = {
307
- namedTab: {
308
- a: 'changed',
309
- b: 'changed',
310
- c: 'original'
311
- }
312
- };
313
- const result = countChangedFields({
314
- valueFrom,
315
- fields,
316
- valueTo,
317
- locales
318
- });
319
- expect(result).toBe(2);
711
+ }],
712
+ de: [{
713
+ a: 'original',
714
+ b: 'changed',
715
+ c: 'original'
716
+ }]
717
+ }
718
+ };
719
+ const result = countChangedFields({
720
+ valueFrom,
721
+ fields,
722
+ valueTo,
723
+ locales
724
+ });
725
+ expect(result).toBe(3);
320
726
  });
321
- it('should ignore UI fields', ()=>{
322
- const fields = [
323
- {
324
- name: 'a',
325
- type: 'text'
326
- },
327
- {
328
- name: 'b',
329
- type: 'ui',
330
- admin: {}
331
- }
332
- ];
333
- const valueFrom = {
727
+ it('should count changed fields inside localized blocks fields', () => {
728
+ const fields = [{
729
+ name: 'blocks',
730
+ type: 'blocks',
731
+ localized: true,
732
+ blocks: [{
733
+ slug: 'blockA',
734
+ fields: [{
735
+ name: 'a',
736
+ type: 'text'
737
+ }, {
738
+ name: 'b',
739
+ type: 'text'
740
+ }, {
741
+ name: 'c',
742
+ type: 'text'
743
+ }]
744
+ }]
745
+ }];
746
+ const valueFrom = {
747
+ blocks: {
748
+ en: [{
749
+ blockType: 'blockA',
334
750
  a: 'original',
335
- b: 'original'
336
- };
337
- const valueTo = {
751
+ b: 'original',
752
+ c: 'original'
753
+ }],
754
+ de: [{
755
+ blockType: 'blockA',
338
756
  a: 'original',
339
- b: 'changed'
340
- };
341
- const result = countChangedFields({
342
- valueFrom,
343
- fields,
344
- valueTo,
345
- locales
346
- });
347
- expect(result).toBe(0);
348
- });
349
- it('should count changed fields inside array fields', ()=>{
350
- const fields = [
351
- {
352
- name: 'arrayField',
353
- type: 'array',
354
- fields: [
355
- {
356
- name: 'a',
357
- type: 'text'
358
- },
359
- {
360
- name: 'b',
361
- type: 'text'
362
- },
363
- {
364
- name: 'c',
365
- type: 'text'
366
- }
367
- ]
368
- }
369
- ];
370
- const valueFrom = {
371
- arrayField: [
372
- {
373
- a: 'original',
374
- b: 'original',
375
- c: 'original'
376
- },
377
- {
378
- a: 'original',
379
- b: 'original'
380
- }
381
- ]
382
- };
383
- const valueTo = {
384
- arrayField: [
385
- {
386
- a: 'changed',
387
- b: 'changed',
388
- c: 'original'
389
- },
390
- {
391
- a: 'changed',
392
- b: 'changed',
393
- c: 'changed'
394
- }
395
- ]
396
- };
397
- const result = countChangedFields({
398
- valueFrom,
399
- fields,
400
- valueTo,
401
- locales
402
- });
403
- expect(result).toBe(5);
404
- });
405
- it('should count changed fields inside arrays nested inside of collapsibles', ()=>{
406
- const fields = [
407
- {
408
- type: 'collapsible',
409
- label: 'A collapsible field',
410
- fields: [
411
- {
412
- name: 'arrayField',
413
- type: 'array',
414
- fields: [
415
- {
416
- name: 'a',
417
- type: 'text'
418
- },
419
- {
420
- name: 'b',
421
- type: 'text'
422
- },
423
- {
424
- name: 'c',
425
- type: 'text'
426
- }
427
- ]
428
- }
429
- ]
430
- }
431
- ];
432
- const valueFrom = {
433
- arrayField: [
434
- {
435
- a: 'original',
436
- b: 'original',
437
- c: 'original'
438
- }
439
- ]
440
- };
441
- const valueTo = {
442
- arrayField: [
443
- {
444
- a: 'changed',
445
- b: 'changed',
446
- c: 'original'
447
- }
448
- ]
449
- };
450
- const result = countChangedFields({
451
- valueFrom,
452
- fields,
453
- valueTo,
454
- locales
455
- });
456
- expect(result).toBe(2);
457
- });
458
- it('should count changed fields inside blocks fields', ()=>{
459
- const fields = [
460
- {
461
- name: 'blocks',
462
- type: 'blocks',
463
- blocks: [
464
- {
465
- slug: 'blockA',
466
- fields: [
467
- {
468
- name: 'a',
469
- type: 'text'
470
- },
471
- {
472
- name: 'b',
473
- type: 'text'
474
- },
475
- {
476
- name: 'c',
477
- type: 'text'
478
- }
479
- ]
480
- }
481
- ]
482
- }
483
- ];
484
- const valueFrom = {
485
- blocks: [
486
- {
487
- blockType: 'blockA',
488
- a: 'original',
489
- b: 'original',
490
- c: 'original'
491
- },
492
- {
493
- blockType: 'blockA',
494
- a: 'original',
495
- b: 'original'
496
- }
497
- ]
498
- };
499
- const valueTo = {
500
- blocks: [
501
- {
502
- blockType: 'blockA',
503
- a: 'changed',
504
- b: 'changed',
505
- c: 'original'
506
- },
507
- {
508
- blockType: 'blockA',
509
- a: 'changed',
510
- b: 'changed',
511
- c: 'changed'
512
- }
513
- ]
514
- };
515
- const result = countChangedFields({
516
- valueFrom,
517
- fields,
518
- valueTo,
519
- locales
520
- });
521
- expect(result).toBe(5);
522
- });
523
- it('should count changed fields between blocks with different slugs', ()=>{
524
- const fields = [
525
- {
526
- name: 'blocks',
527
- type: 'blocks',
528
- blocks: [
529
- {
530
- slug: 'blockA',
531
- fields: [
532
- {
533
- name: 'a',
534
- type: 'text'
535
- },
536
- {
537
- name: 'b',
538
- type: 'text'
539
- },
540
- {
541
- name: 'c',
542
- type: 'text'
543
- }
544
- ]
545
- },
546
- {
547
- slug: 'blockB',
548
- fields: [
549
- {
550
- name: 'b',
551
- type: 'text'
552
- },
553
- {
554
- name: 'c',
555
- type: 'text'
556
- },
557
- {
558
- name: 'd',
559
- type: 'text'
560
- }
561
- ]
562
- }
563
- ]
564
- }
565
- ];
566
- const valueFrom = {
567
- blocks: [
568
- {
569
- blockType: 'blockA',
570
- a: 'removed',
571
- b: 'original',
572
- c: 'original'
573
- }
574
- ]
575
- };
576
- const valueTo = {
577
- blocks: [
578
- {
579
- blockType: 'blockB',
580
- b: 'original',
581
- c: 'changed',
582
- d: 'new'
583
- }
584
- ]
585
- };
586
- const result = countChangedFields({
587
- valueFrom,
588
- fields,
589
- valueTo,
590
- locales
591
- });
592
- expect(result).toBe(3);
593
- });
594
- describe('localized fields', ()=>{
595
- const locales = [
596
- 'en',
597
- 'de'
598
- ];
599
- it('should count simple localized fields', ()=>{
600
- const fields = [
601
- {
602
- name: 'a',
603
- type: 'text',
604
- localized: true
605
- },
606
- {
607
- name: 'b',
608
- type: 'text',
609
- localized: true
610
- }
611
- ];
612
- const valueFrom = {
613
- a: {
614
- en: 'original',
615
- de: 'original'
616
- },
617
- b: {
618
- en: 'original',
619
- de: 'original'
620
- }
621
- };
622
- const valueTo = {
623
- a: {
624
- en: 'changed',
625
- de: 'original'
626
- },
627
- b: {
628
- en: 'original',
629
- de: 'original'
630
- }
631
- };
632
- const result = countChangedFields({
633
- valueFrom,
634
- fields,
635
- valueTo,
636
- locales
637
- });
638
- expect(result).toBe(1);
639
- });
640
- it('should count multiple locales of the same localized field', ()=>{
641
- const locales = [
642
- 'en',
643
- 'de'
644
- ];
645
- const fields = [
646
- {
647
- name: 'a',
648
- type: 'text',
649
- localized: true
650
- },
651
- {
652
- name: 'b',
653
- type: 'text',
654
- localized: true
655
- }
656
- ];
657
- const valueFrom = {
658
- a: {
659
- en: 'original',
660
- de: 'original'
661
- },
662
- b: {
663
- en: 'original',
664
- de: 'original'
665
- }
666
- };
667
- const valueTo = {
668
- a: {
669
- en: 'changed',
670
- de: 'changed'
671
- },
672
- b: {
673
- en: 'original',
674
- de: 'original'
675
- }
676
- };
677
- const result = countChangedFields({
678
- valueFrom,
679
- fields,
680
- valueTo,
681
- locales
682
- });
683
- expect(result).toBe(2);
684
- });
685
- it('should count changed fields inside localized groups fields', ()=>{
686
- const fields = [
687
- {
688
- type: 'group',
689
- name: 'group',
690
- localized: true,
691
- fields: [
692
- {
693
- name: 'a',
694
- type: 'text'
695
- },
696
- {
697
- name: 'b',
698
- type: 'text'
699
- },
700
- {
701
- name: 'c',
702
- type: 'text'
703
- }
704
- ]
705
- }
706
- ];
707
- const valueFrom = {
708
- group: {
709
- en: {
710
- a: 'original',
711
- b: 'original',
712
- c: 'original'
713
- },
714
- de: {
715
- a: 'original',
716
- b: 'original',
717
- c: 'original'
718
- }
719
- }
720
- };
721
- const valueTo = {
722
- group: {
723
- en: {
724
- a: 'changed',
725
- b: 'changed',
726
- c: 'original'
727
- },
728
- de: {
729
- a: 'original',
730
- b: 'changed',
731
- c: 'original'
732
- }
733
- }
734
- };
735
- const result = countChangedFields({
736
- valueFrom,
737
- fields,
738
- valueTo,
739
- locales
740
- });
741
- expect(result).toBe(3);
742
- });
743
- it('should count changed fields inside localized tabs', ()=>{
744
- const fields = [
745
- {
746
- type: 'tabs',
747
- tabs: [
748
- {
749
- name: 'tab',
750
- localized: true,
751
- fields: [
752
- {
753
- name: 'a',
754
- type: 'text'
755
- },
756
- {
757
- name: 'b',
758
- type: 'text'
759
- },
760
- {
761
- name: 'c',
762
- type: 'text'
763
- }
764
- ]
765
- }
766
- ]
767
- }
768
- ];
769
- const valueFrom = {
770
- tab: {
771
- en: {
772
- a: 'original',
773
- b: 'original',
774
- c: 'original'
775
- },
776
- de: {
777
- a: 'original',
778
- b: 'original',
779
- c: 'original'
780
- }
781
- }
782
- };
783
- const valueTo = {
784
- tab: {
785
- en: {
786
- a: 'changed',
787
- b: 'changed',
788
- c: 'original'
789
- },
790
- de: {
791
- a: 'original',
792
- b: 'changed',
793
- c: 'original'
794
- }
795
- }
796
- };
797
- const result = countChangedFields({
798
- valueFrom,
799
- fields,
800
- valueTo,
801
- locales
802
- });
803
- expect(result).toBe(3);
804
- });
805
- it('should count changed fields inside localized array fields', ()=>{
806
- const fields = [
807
- {
808
- name: 'arrayField',
809
- type: 'array',
810
- localized: true,
811
- fields: [
812
- {
813
- name: 'a',
814
- type: 'text'
815
- },
816
- {
817
- name: 'b',
818
- type: 'text'
819
- },
820
- {
821
- name: 'c',
822
- type: 'text'
823
- }
824
- ]
825
- }
826
- ];
827
- const valueFrom = {
828
- arrayField: {
829
- en: [
830
- {
831
- a: 'original',
832
- b: 'original',
833
- c: 'original'
834
- }
835
- ],
836
- de: [
837
- {
838
- a: 'original',
839
- b: 'original',
840
- c: 'original'
841
- }
842
- ]
843
- }
844
- };
845
- const valueTo = {
846
- arrayField: {
847
- en: [
848
- {
849
- a: 'changed',
850
- b: 'changed',
851
- c: 'original'
852
- }
853
- ],
854
- de: [
855
- {
856
- a: 'original',
857
- b: 'changed',
858
- c: 'original'
859
- }
860
- ]
861
- }
862
- };
863
- const result = countChangedFields({
864
- valueFrom,
865
- fields,
866
- valueTo,
867
- locales
868
- });
869
- expect(result).toBe(3);
870
- });
871
- it('should count changed fields inside localized blocks fields', ()=>{
872
- const fields = [
873
- {
874
- name: 'blocks',
875
- type: 'blocks',
876
- localized: true,
877
- blocks: [
878
- {
879
- slug: 'blockA',
880
- fields: [
881
- {
882
- name: 'a',
883
- type: 'text'
884
- },
885
- {
886
- name: 'b',
887
- type: 'text'
888
- },
889
- {
890
- name: 'c',
891
- type: 'text'
892
- }
893
- ]
894
- }
895
- ]
896
- }
897
- ];
898
- const valueFrom = {
899
- blocks: {
900
- en: [
901
- {
902
- blockType: 'blockA',
903
- a: 'original',
904
- b: 'original',
905
- c: 'original'
906
- }
907
- ],
908
- de: [
909
- {
910
- blockType: 'blockA',
911
- a: 'original',
912
- b: 'original',
913
- c: 'original'
914
- }
915
- ]
916
- }
917
- };
918
- const valueTo = {
919
- blocks: {
920
- en: [
921
- {
922
- blockType: 'blockA',
923
- a: 'changed',
924
- b: 'changed',
925
- c: 'original'
926
- }
927
- ],
928
- de: [
929
- {
930
- blockType: 'blockA',
931
- a: 'original',
932
- b: 'changed',
933
- c: 'original'
934
- }
935
- ]
936
- }
937
- };
938
- const result = countChangedFields({
939
- valueFrom,
940
- fields,
941
- valueTo,
942
- locales
943
- });
944
- expect(result).toBe(3);
945
- });
757
+ b: 'original',
758
+ c: 'original'
759
+ }]
760
+ }
761
+ };
762
+ const valueTo = {
763
+ blocks: {
764
+ en: [{
765
+ blockType: 'blockA',
766
+ a: 'changed',
767
+ b: 'changed',
768
+ c: 'original'
769
+ }],
770
+ de: [{
771
+ blockType: 'blockA',
772
+ a: 'original',
773
+ b: 'changed',
774
+ c: 'original'
775
+ }]
776
+ }
777
+ };
778
+ const result = countChangedFields({
779
+ valueFrom,
780
+ fields,
781
+ valueTo,
782
+ locales
783
+ });
784
+ expect(result).toBe(3);
946
785
  });
786
+ });
947
787
  });
948
- describe('countChangedFieldsInRows', ()=>{
949
- it('should count fields in array rows', ()=>{
950
- const field = {
951
- name: 'myArray',
952
- type: 'array',
953
- fields: [
954
- {
955
- name: 'a',
956
- type: 'text'
957
- },
958
- {
959
- name: 'b',
960
- type: 'text'
961
- },
962
- {
963
- name: 'c',
964
- type: 'text'
965
- }
966
- ]
967
- };
968
- const valueFromRows = [
969
- {
970
- a: 'original',
971
- b: 'original',
972
- c: 'original'
973
- }
974
- ];
975
- const valueToRows = [
976
- {
977
- a: 'changed',
978
- b: 'changed',
979
- c: 'original'
980
- }
981
- ];
982
- const result = countChangedFieldsInRows({
983
- valueFromRows,
984
- field,
985
- locales: undefined,
986
- valueToRows: valueToRows
987
- });
988
- expect(result).toBe(2);
788
+ describe('countChangedFieldsInRows', () => {
789
+ it('should count fields in array rows', () => {
790
+ const field = {
791
+ name: 'myArray',
792
+ type: 'array',
793
+ fields: [{
794
+ name: 'a',
795
+ type: 'text'
796
+ }, {
797
+ name: 'b',
798
+ type: 'text'
799
+ }, {
800
+ name: 'c',
801
+ type: 'text'
802
+ }]
803
+ };
804
+ const valueFromRows = [{
805
+ a: 'original',
806
+ b: 'original',
807
+ c: 'original'
808
+ }];
809
+ const valueToRows = [{
810
+ a: 'changed',
811
+ b: 'changed',
812
+ c: 'original'
813
+ }];
814
+ const result = countChangedFieldsInRows({
815
+ valueFromRows,
816
+ field,
817
+ locales: undefined,
818
+ valueToRows: valueToRows
989
819
  });
990
- it('should count fields in blocks', ()=>{
991
- const field = {
992
- name: 'myBlocks',
993
- type: 'blocks',
994
- blocks: [
995
- {
996
- slug: 'blockA',
997
- fields: [
998
- {
999
- name: 'a',
1000
- type: 'text'
1001
- },
1002
- {
1003
- name: 'b',
1004
- type: 'text'
1005
- },
1006
- {
1007
- name: 'c',
1008
- type: 'text'
1009
- }
1010
- ]
1011
- }
1012
- ]
1013
- };
1014
- const valueFromRows = [
1015
- {
1016
- blockType: 'blockA',
1017
- a: 'original',
1018
- b: 'original',
1019
- c: 'original'
1020
- }
1021
- ];
1022
- const valueToRows = [
1023
- {
1024
- blockType: 'blockA',
1025
- a: 'changed',
1026
- b: 'changed',
1027
- c: 'original'
1028
- }
1029
- ];
1030
- const result = countChangedFieldsInRows({
1031
- valueFromRows,
1032
- field,
1033
- locales: undefined,
1034
- valueToRows
1035
- });
1036
- expect(result).toBe(2);
820
+ expect(result).toBe(2);
821
+ });
822
+ it('should count fields in blocks', () => {
823
+ const field = {
824
+ name: 'myBlocks',
825
+ type: 'blocks',
826
+ blocks: [{
827
+ slug: 'blockA',
828
+ fields: [{
829
+ name: 'a',
830
+ type: 'text'
831
+ }, {
832
+ name: 'b',
833
+ type: 'text'
834
+ }, {
835
+ name: 'c',
836
+ type: 'text'
837
+ }]
838
+ }]
839
+ };
840
+ const valueFromRows = [{
841
+ blockType: 'blockA',
842
+ a: 'original',
843
+ b: 'original',
844
+ c: 'original'
845
+ }];
846
+ const valueToRows = [{
847
+ blockType: 'blockA',
848
+ a: 'changed',
849
+ b: 'changed',
850
+ c: 'original'
851
+ }];
852
+ const result = countChangedFieldsInRows({
853
+ valueFromRows,
854
+ field,
855
+ locales: undefined,
856
+ valueToRows
1037
857
  });
858
+ expect(result).toBe(2);
859
+ });
1038
860
  });
1039
-
1040
861
  //# sourceMappingURL=countChangedFields.spec.js.map