@payloadcms/next 3.74.0-canary.6 → 3.74.0-internal-debug.1b84a48

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