@payloadcms/next 3.80.0-canary.4 → 3.80.0-internal-debug.daef79f

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