@payloadcms/next 3.81.0-internal-debug.1a0f4d0 → 3.81.0-internal.181753b

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 (462) 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 +27 -65
  8. package/dist/cjs/withPayload.cjs.map +3 -3
  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.d.ts +4 -2
  64. package/dist/layouts/Root/index.d.ts.map +1 -1
  65. package/dist/layouts/Root/index.js +125 -128
  66. package/dist/layouts/Root/index.js.map +1 -1
  67. package/dist/prod/styles.css +1 -5
  68. package/dist/routes/graphql/handler.js +122 -114
  69. package/dist/routes/graphql/handler.js.map +1 -1
  70. package/dist/routes/graphql/index.js +0 -1
  71. package/dist/routes/graphql/index.js.map +1 -1
  72. package/dist/routes/graphql/playground.js +27 -28
  73. package/dist/routes/graphql/playground.js.map +1 -1
  74. package/dist/routes/index.js +0 -1
  75. package/dist/routes/index.js.map +1 -1
  76. package/dist/routes/rest/index.js +22 -23
  77. package/dist/routes/rest/index.js.map +1 -1
  78. package/dist/routes/rest/og/image.js +79 -103
  79. package/dist/routes/rest/og/image.js.map +1 -1
  80. package/dist/routes/rest/og/index.js +54 -59
  81. package/dist/routes/rest/og/index.js.map +1 -1
  82. package/dist/templates/Default/NavHamburger/index.js +20 -12
  83. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  84. package/dist/templates/Default/Wrapper/index.js +44 -20
  85. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  86. package/dist/templates/Default/index.js +116 -147
  87. package/dist/templates/Default/index.js.map +1 -1
  88. package/dist/templates/Minimal/index.js +17 -26
  89. package/dist/templates/Minimal/index.js.map +1 -1
  90. package/dist/utilities/getExistingAuthToken.js +2 -3
  91. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  92. package/dist/utilities/getNextRequestI18n.js +13 -12
  93. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  94. package/dist/utilities/getPayloadHMR.js +5 -5
  95. package/dist/utilities/getPayloadHMR.js.map +1 -1
  96. package/dist/utilities/getPreferences.js +22 -27
  97. package/dist/utilities/getPreferences.js.map +1 -1
  98. package/dist/utilities/getRequestLocale.js +14 -13
  99. package/dist/utilities/getRequestLocale.js.map +1 -1
  100. package/dist/utilities/getRequestTheme.js +19 -19
  101. package/dist/utilities/getRequestTheme.js.map +1 -1
  102. package/dist/utilities/getRouteWithoutAdmin.js +5 -3
  103. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  104. package/dist/utilities/handleAuthRedirect.js +36 -22
  105. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  106. package/dist/utilities/handleServerFunctions.js +43 -33
  107. package/dist/utilities/handleServerFunctions.js.map +1 -1
  108. package/dist/utilities/initReq.js +96 -78
  109. package/dist/utilities/initReq.js.map +1 -1
  110. package/dist/utilities/isCustomAdminView.js +26 -22
  111. package/dist/utilities/isCustomAdminView.js.map +1 -1
  112. package/dist/utilities/isPublicAdminRoute.js +20 -26
  113. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  114. package/dist/utilities/meta.js +63 -68
  115. package/dist/utilities/meta.js.map +1 -1
  116. package/dist/utilities/selectiveCache.js +26 -25
  117. package/dist/utilities/selectiveCache.js.map +1 -1
  118. package/dist/utilities/setPayloadAuthCookie.js +22 -19
  119. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  120. package/dist/utilities/slugify.js +33 -24
  121. package/dist/utilities/slugify.js.map +1 -1
  122. package/dist/utilities/timestamp.js +6 -7
  123. package/dist/utilities/timestamp.js.map +1 -1
  124. package/dist/views/API/LocaleSelector/index.js +39 -17
  125. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  126. package/dist/views/API/RenderJSON/index.js +126 -171
  127. package/dist/views/API/RenderJSON/index.js.map +1 -1
  128. package/dist/views/API/index.client.d.ts.map +1 -1
  129. package/dist/views/API/index.client.js +205 -290
  130. package/dist/views/API/index.client.js.map +1 -1
  131. package/dist/views/API/index.js +2 -7
  132. package/dist/views/API/index.js.map +1 -1
  133. package/dist/views/API/metadata.js +23 -18
  134. package/dist/views/API/metadata.js.map +1 -1
  135. package/dist/views/Account/ResetPreferences/index.js +100 -76
  136. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  137. package/dist/views/Account/Settings/LanguageSelector.js +47 -18
  138. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  139. package/dist/views/Account/Settings/index.js +25 -60
  140. package/dist/views/Account/Settings/index.js.map +1 -1
  141. package/dist/views/Account/ToggleTheme/index.js +55 -38
  142. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  143. package/dist/views/Account/index.client.js +32 -16
  144. package/dist/views/Account/index.client.js.map +1 -1
  145. package/dist/views/Account/index.js +162 -149
  146. package/dist/views/Account/index.js.map +1 -1
  147. package/dist/views/Account/metadata.js +12 -8
  148. package/dist/views/Account/metadata.js.map +1 -1
  149. package/dist/views/BrowseByFolder/buildView.js +157 -138
  150. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  151. package/dist/views/BrowseByFolder/index.js +16 -16
  152. package/dist/views/BrowseByFolder/index.js.map +1 -1
  153. package/dist/views/BrowseByFolder/metadata.js +15 -13
  154. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  155. package/dist/views/CollectionFolders/buildView.js +142 -122
  156. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  157. package/dist/views/CollectionFolders/index.js +16 -16
  158. package/dist/views/CollectionFolders/index.js.map +1 -1
  159. package/dist/views/CollectionFolders/metadata.js +21 -18
  160. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  161. package/dist/views/CollectionFolders/renderFolderViewSlots.js +61 -58
  162. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  163. package/dist/views/CollectionTrash/index.js +17 -17
  164. package/dist/views/CollectionTrash/index.js.map +1 -1
  165. package/dist/views/CollectionTrash/metadata.js +21 -18
  166. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  167. package/dist/views/CreateFirstUser/index.client.js +103 -117
  168. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  169. package/dist/views/CreateFirstUser/index.js +81 -87
  170. package/dist/views/CreateFirstUser/index.js.map +1 -1
  171. package/dist/views/CreateFirstUser/metadata.js +12 -8
  172. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  173. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +170 -145
  174. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  175. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +118 -144
  176. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  177. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +72 -59
  178. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  179. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +414 -435
  180. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  181. package/dist/views/Dashboard/Default/ModularDashboard/index.js +63 -54
  182. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  183. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +96 -65
  184. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  185. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +54 -44
  186. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  187. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +72 -65
  188. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  189. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +175 -193
  190. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  191. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +30 -31
  192. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  193. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js +17 -18
  194. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js.map +1 -1
  195. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js +5 -6
  196. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  197. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js +74 -69
  198. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -1
  199. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +234 -228
  200. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  201. package/dist/views/Dashboard/Default/index.js +45 -59
  202. package/dist/views/Dashboard/Default/index.js.map +1 -1
  203. package/dist/views/Dashboard/index.js +42 -46
  204. package/dist/views/Dashboard/index.js.map +1 -1
  205. package/dist/views/Dashboard/metadata.js +14 -10
  206. package/dist/views/Dashboard/metadata.js.map +1 -1
  207. package/dist/views/Document/getCustomDocumentViewByKey.js +2 -3
  208. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  209. package/dist/views/Document/getCustomViewByRoute.js +30 -27
  210. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  211. package/dist/views/Document/getDocPreferences.js +41 -40
  212. package/dist/views/Document/getDocPreferences.js.map +1 -1
  213. package/dist/views/Document/getDocumentData.js +55 -44
  214. package/dist/views/Document/getDocumentData.js.map +1 -1
  215. package/dist/views/Document/getDocumentPermissions.js +117 -114
  216. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  217. package/dist/views/Document/getDocumentView.js +283 -313
  218. package/dist/views/Document/getDocumentView.js.map +1 -1
  219. package/dist/views/Document/getIsLocked.js +73 -73
  220. package/dist/views/Document/getIsLocked.js.map +1 -1
  221. package/dist/views/Document/getMetaBySegment.js +136 -130
  222. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  223. package/dist/views/Document/getVersions.js +213 -220
  224. package/dist/views/Document/getVersions.js.map +1 -1
  225. package/dist/views/Document/handleServerFunction.js +127 -100
  226. package/dist/views/Document/handleServerFunction.js.map +1 -1
  227. package/dist/views/Document/index.js +359 -319
  228. package/dist/views/Document/index.js.map +1 -1
  229. package/dist/views/Document/metadata.js +1 -2
  230. package/dist/views/Document/metadata.js.map +1 -1
  231. package/dist/views/Document/renderDocumentSlots.js +155 -141
  232. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  233. package/dist/views/Edit/index.js +6 -10
  234. package/dist/views/Edit/index.js.map +1 -1
  235. package/dist/views/Edit/metadata.js +46 -36
  236. package/dist/views/Edit/metadata.js.map +1 -1
  237. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +164 -130
  238. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  239. package/dist/views/ForgotPassword/index.js +62 -79
  240. package/dist/views/ForgotPassword/index.js.map +1 -1
  241. package/dist/views/ForgotPassword/metadata.js +12 -8
  242. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  243. package/dist/views/List/createSerializableValue.js +11 -12
  244. package/dist/views/List/createSerializableValue.js.map +1 -1
  245. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  246. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  247. package/dist/views/List/extractRelationshipDisplayValue.js +14 -15
  248. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  249. package/dist/views/List/extractValueOrRelationshipID.js +15 -16
  250. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  251. package/dist/views/List/handleGroupBy.js +150 -133
  252. package/dist/views/List/handleGroupBy.js.map +1 -1
  253. package/dist/views/List/handleServerFunction.js +122 -96
  254. package/dist/views/List/handleServerFunction.js.map +1 -1
  255. package/dist/views/List/index.js +325 -306
  256. package/dist/views/List/index.js.map +1 -1
  257. package/dist/views/List/metadata.js +20 -17
  258. package/dist/views/List/metadata.js.map +1 -1
  259. package/dist/views/List/renderListViewSlots.js +75 -82
  260. package/dist/views/List/renderListViewSlots.js.map +1 -1
  261. package/dist/views/List/resolveAllFilterOptions.js +45 -43
  262. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  263. package/dist/views/List/transformColumnsToSelect.js +8 -9
  264. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  265. package/dist/views/Login/LoginField/index.js +89 -57
  266. package/dist/views/Login/LoginField/index.js.map +1 -1
  267. package/dist/views/Login/LoginForm/index.js +160 -107
  268. package/dist/views/Login/LoginForm/index.js.map +1 -1
  269. package/dist/views/Login/index.js +85 -82
  270. package/dist/views/Login/index.js.map +1 -1
  271. package/dist/views/Login/metadata.js +12 -8
  272. package/dist/views/Login/metadata.js.map +1 -1
  273. package/dist/views/Logout/LogoutClient.js +120 -84
  274. package/dist/views/Logout/LogoutClient.js.map +1 -1
  275. package/dist/views/Logout/index.js +29 -29
  276. package/dist/views/Logout/index.js.map +1 -1
  277. package/dist/views/Logout/metadata.js +11 -7
  278. package/dist/views/Logout/metadata.js.map +1 -1
  279. package/dist/views/NotFound/index.client.js +82 -71
  280. package/dist/views/NotFound/index.client.js.map +1 -1
  281. package/dist/views/NotFound/index.js +73 -72
  282. package/dist/views/NotFound/index.js.map +1 -1
  283. package/dist/views/NotFound/metadata.js +9 -7
  284. package/dist/views/NotFound/metadata.js.map +1 -1
  285. package/dist/views/ResetPassword/ResetPasswordForm/index.js +108 -97
  286. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  287. package/dist/views/ResetPassword/index.js +73 -93
  288. package/dist/views/ResetPassword/index.js.map +1 -1
  289. package/dist/views/ResetPassword/metadata.js +12 -8
  290. package/dist/views/ResetPassword/metadata.js.map +1 -1
  291. package/dist/views/Root/attachViewActions.js +23 -18
  292. package/dist/views/Root/attachViewActions.js.map +1 -1
  293. package/dist/views/Root/generateCustomViewMetadata.js +21 -19
  294. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  295. package/dist/views/Root/getCustomViewByKey.js +14 -12
  296. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  297. package/dist/views/Root/getCustomViewByRoute.js +42 -31
  298. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  299. package/dist/views/Root/getDocumentViewInfo.js +23 -24
  300. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  301. package/dist/views/Root/getRouteData.js +325 -333
  302. package/dist/views/Root/getRouteData.js.map +1 -1
  303. package/dist/views/Root/index.js +270 -248
  304. package/dist/views/Root/index.js.map +1 -1
  305. package/dist/views/Root/isPathMatchingRoute.js +26 -21
  306. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  307. package/dist/views/Root/metadata.js +181 -176
  308. package/dist/views/Root/metadata.js.map +1 -1
  309. package/dist/views/Unauthorized/index.js +46 -54
  310. package/dist/views/Unauthorized/index.js.map +1 -1
  311. package/dist/views/Unauthorized/metadata.js +12 -8
  312. package/dist/views/Unauthorized/metadata.js.map +1 -1
  313. package/dist/views/Verify/index.client.js +43 -25
  314. package/dist/views/Verify/index.client.js.map +1 -1
  315. package/dist/views/Verify/index.js +64 -69
  316. package/dist/views/Verify/index.js.map +1 -1
  317. package/dist/views/Verify/metadata.js +12 -8
  318. package/dist/views/Verify/metadata.js.map +1 -1
  319. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  320. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  321. package/dist/views/Version/Default/SetStepNav.js +127 -86
  322. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  323. package/dist/views/Version/Default/index.js +236 -380
  324. package/dist/views/Version/Default/index.js.map +1 -1
  325. package/dist/views/Version/Default/types.js +1 -2
  326. package/dist/views/Version/Default/types.js.map +1 -1
  327. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +119 -102
  328. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  329. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +73 -78
  330. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  331. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +408 -363
  332. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  333. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +51 -40
  334. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  335. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +70 -38
  336. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  337. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +56 -59
  338. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  339. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +117 -139
  340. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  341. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +61 -56
  342. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  343. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +206 -224
  344. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  345. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +11 -17
  346. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  347. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +74 -49
  348. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  349. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +146 -135
  350. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  351. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +82 -57
  352. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  353. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +211 -252
  354. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  355. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +22 -23
  356. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  357. package/dist/views/Version/RenderFieldsToDiff/index.js +9 -12
  358. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  359. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +228 -213
  360. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  361. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +826 -1005
  362. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  363. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +1 -2
  364. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  365. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +43 -44
  366. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  367. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +36 -32
  368. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  369. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +129 -145
  370. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  371. package/dist/views/Version/Restore/index.js +92 -117
  372. package/dist/views/Version/Restore/index.js.map +1 -1
  373. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -33
  374. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  375. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +226 -170
  376. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  377. package/dist/views/Version/SelectComparison/index.js +50 -73
  378. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  379. package/dist/views/Version/SelectComparison/types.js +1 -2
  380. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  381. package/dist/views/Version/SelectLocales/index.js +32 -34
  382. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  383. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +100 -106
  384. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  385. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +35 -30
  386. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  387. package/dist/views/Version/fetchVersions.js +138 -113
  388. package/dist/views/Version/fetchVersions.js.map +1 -1
  389. package/dist/views/Version/index.js +326 -328
  390. package/dist/views/Version/index.js.map +1 -1
  391. package/dist/views/Version/metadata.js +50 -43
  392. package/dist/views/Version/metadata.js.map +1 -1
  393. package/dist/views/Versions/buildColumns.js +79 -95
  394. package/dist/views/Versions/buildColumns.js.map +1 -1
  395. package/dist/views/Versions/cells/AutosaveCell/index.js +38 -34
  396. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  397. package/dist/views/Versions/cells/CreatedAt/index.js +53 -32
  398. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  399. package/dist/views/Versions/cells/ID/index.js +8 -10
  400. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  401. package/dist/views/Versions/index.client.js +83 -106
  402. package/dist/views/Versions/index.client.js.map +1 -1
  403. package/dist/views/Versions/index.js +164 -164
  404. package/dist/views/Versions/index.js.map +1 -1
  405. package/dist/views/Versions/metadata.js +44 -37
  406. package/dist/views/Versions/metadata.js.map +1 -1
  407. package/dist/views/Versions/types.js +1 -2
  408. package/dist/views/Versions/types.js.map +1 -1
  409. package/dist/withPayload/withPayload.d.ts.map +1 -1
  410. package/dist/withPayload/withPayload.js +180 -236
  411. package/dist/withPayload/withPayload.js.map +1 -1
  412. package/dist/withPayload/withPayload.spec.js +35 -36
  413. package/dist/withPayload/withPayload.spec.js.map +1 -1
  414. package/dist/withPayload/withPayload.utils.js +73 -65
  415. package/dist/withPayload/withPayload.utils.js.map +1 -1
  416. package/dist/withPayload/withPayloadLegacy.js +40 -41
  417. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  418. package/package.json +6 -6
  419. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +0 -38
  420. package/dist/elements/DocumentHeader/Tabs/index.scss +0 -54
  421. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +0 -10
  422. package/dist/elements/DocumentHeader/index.scss +0 -64
  423. package/dist/elements/FormHeader/index.scss +0 -8
  424. package/dist/elements/Nav/NavWrapper/index.scss +0 -27
  425. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  426. package/dist/elements/Nav/index.scss +0 -173
  427. package/dist/esbuildEntry.d.ts +0 -5
  428. package/dist/esbuildEntry.d.ts.map +0 -1
  429. package/dist/esbuildEntry.js +0 -6
  430. package/dist/esbuildEntry.js.map +0 -1
  431. package/dist/templates/Default/Wrapper/index.scss +0 -58
  432. package/dist/templates/Default/index.scss +0 -79
  433. package/dist/templates/Minimal/index.scss +0 -30
  434. package/dist/views/API/RenderJSON/index.scss +0 -129
  435. package/dist/views/API/index.scss +0 -119
  436. package/dist/views/Account/Settings/index.scss +0 -48
  437. package/dist/views/CreateFirstUser/index.scss +0 -21
  438. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +0 -318
  439. package/dist/views/Login/LoginForm/index.scss +0 -10
  440. package/dist/views/Login/index.scss +0 -10
  441. package/dist/views/Logout/index.scss +0 -25
  442. package/dist/views/NotFound/index.scss +0 -57
  443. package/dist/views/ResetPassword/index.scss +0 -11
  444. package/dist/views/Unauthorized/index.scss +0 -14
  445. package/dist/views/Verify/index.scss +0 -16
  446. package/dist/views/Version/Default/index.scss +0 -170
  447. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +0 -81
  448. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +0 -12
  449. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +0 -9
  450. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +0 -59
  451. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -91
  452. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -4
  453. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +0 -9
  454. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -4
  455. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +0 -121
  456. package/dist/views/Version/RenderFieldsToDiff/index.scss +0 -24
  457. package/dist/views/Version/Restore/index.scss +0 -84
  458. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  459. package/dist/views/Version/SelectComparison/index.scss +0 -9
  460. package/dist/views/Version/VersionPillLabel/index.scss +0 -26
  461. package/dist/views/Versions/cells/AutosaveCell/index.scss +0 -9
  462. 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