@payloadcms/next 3.70.0-canary.9 → 3.71.0-internal-debug.80dab4c

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 (448) 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 +61 -23
  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 +9 -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 +148 -127
  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 +34 -41
  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 +290 -197
  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 +147 -158
  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 +147 -138
  190. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  191. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
  192. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  193. package/dist/views/Dashboard/Default/ModularDashboard/index.js +72 -75
  194. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  195. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
  196. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
  197. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  198. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +40 -47
  199. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  200. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +64 -65
  201. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  202. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +164 -147
  203. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  204. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
  205. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  206. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
  207. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  208. package/dist/views/Dashboard/Default/index.js +59 -45
  209. package/dist/views/Dashboard/Default/index.js.map +1 -1
  210. package/dist/views/Dashboard/index.js +46 -42
  211. package/dist/views/Dashboard/index.js.map +1 -1
  212. package/dist/views/Dashboard/metadata.js +10 -14
  213. package/dist/views/Dashboard/metadata.js.map +1 -1
  214. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  215. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  216. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  217. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  218. package/dist/views/Document/getDocPreferences.js +40 -41
  219. package/dist/views/Document/getDocPreferences.js.map +1 -1
  220. package/dist/views/Document/getDocumentData.js +44 -55
  221. package/dist/views/Document/getDocumentData.js.map +1 -1
  222. package/dist/views/Document/getDocumentPermissions.js +77 -80
  223. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  224. package/dist/views/Document/getDocumentView.js +313 -283
  225. package/dist/views/Document/getDocumentView.js.map +1 -1
  226. package/dist/views/Document/getIsLocked.js +66 -66
  227. package/dist/views/Document/getIsLocked.js.map +1 -1
  228. package/dist/views/Document/getMetaBySegment.js +130 -136
  229. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  230. package/dist/views/Document/getVersions.js +205 -195
  231. package/dist/views/Document/getVersions.js.map +1 -1
  232. package/dist/views/Document/handleServerFunction.js +103 -128
  233. package/dist/views/Document/handleServerFunction.js.map +1 -1
  234. package/dist/views/Document/index.js +316 -355
  235. package/dist/views/Document/index.js.map +1 -1
  236. package/dist/views/Document/metadata.js +2 -1
  237. package/dist/views/Document/metadata.js.map +1 -1
  238. package/dist/views/Document/renderDocumentSlots.js +121 -132
  239. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  240. package/dist/views/Edit/index.js +10 -6
  241. package/dist/views/Edit/index.js.map +1 -1
  242. package/dist/views/Edit/metadata.js +36 -46
  243. package/dist/views/Edit/metadata.js.map +1 -1
  244. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  245. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  246. package/dist/views/ForgotPassword/index.js +79 -62
  247. package/dist/views/ForgotPassword/index.js.map +1 -1
  248. package/dist/views/ForgotPassword/metadata.js +8 -12
  249. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  250. package/dist/views/List/createSerializableValue.js +12 -11
  251. package/dist/views/List/createSerializableValue.js.map +1 -1
  252. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  253. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  254. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  255. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  256. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  257. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  258. package/dist/views/List/handleGroupBy.js +133 -150
  259. package/dist/views/List/handleGroupBy.js.map +1 -1
  260. package/dist/views/List/handleServerFunction.js +98 -121
  261. package/dist/views/List/handleServerFunction.js.map +1 -1
  262. package/dist/views/List/index.js +305 -323
  263. package/dist/views/List/index.js.map +1 -1
  264. package/dist/views/List/metadata.js +17 -20
  265. package/dist/views/List/metadata.js.map +1 -1
  266. package/dist/views/List/renderListViewSlots.js +82 -75
  267. package/dist/views/List/renderListViewSlots.js.map +1 -1
  268. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  269. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  270. package/dist/views/List/transformColumnsToSelect.js +9 -8
  271. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  272. package/dist/views/Login/LoginField/index.js +57 -89
  273. package/dist/views/Login/LoginField/index.js.map +1 -1
  274. package/dist/views/Login/LoginForm/index.js +107 -160
  275. package/dist/views/Login/LoginForm/index.js.map +1 -1
  276. package/dist/views/Login/LoginForm/index.scss +10 -0
  277. package/dist/views/Login/index.js +82 -85
  278. package/dist/views/Login/index.js.map +1 -1
  279. package/dist/views/Login/index.scss +10 -0
  280. package/dist/views/Login/metadata.js +8 -12
  281. package/dist/views/Login/metadata.js.map +1 -1
  282. package/dist/views/Logout/LogoutClient.js +84 -120
  283. package/dist/views/Logout/LogoutClient.js.map +1 -1
  284. package/dist/views/Logout/index.js +29 -29
  285. package/dist/views/Logout/index.js.map +1 -1
  286. package/dist/views/Logout/index.scss +25 -0
  287. package/dist/views/Logout/metadata.js +7 -11
  288. package/dist/views/Logout/metadata.js.map +1 -1
  289. package/dist/views/NotFound/index.client.js +71 -82
  290. package/dist/views/NotFound/index.client.js.map +1 -1
  291. package/dist/views/NotFound/index.js +72 -73
  292. package/dist/views/NotFound/index.js.map +1 -1
  293. package/dist/views/NotFound/index.scss +57 -0
  294. package/dist/views/NotFound/metadata.js +7 -9
  295. package/dist/views/NotFound/metadata.js.map +1 -1
  296. package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
  297. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  298. package/dist/views/ResetPassword/index.js +93 -73
  299. package/dist/views/ResetPassword/index.js.map +1 -1
  300. package/dist/views/ResetPassword/index.scss +11 -0
  301. package/dist/views/ResetPassword/metadata.js +8 -12
  302. package/dist/views/ResetPassword/metadata.js.map +1 -1
  303. package/dist/views/Root/attachViewActions.js +18 -23
  304. package/dist/views/Root/attachViewActions.js.map +1 -1
  305. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  306. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  307. package/dist/views/Root/getCustomViewByKey.js +12 -14
  308. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  309. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  310. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  311. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  312. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  313. package/dist/views/Root/getRouteData.js +333 -325
  314. package/dist/views/Root/getRouteData.js.map +1 -1
  315. package/dist/views/Root/index.js +248 -270
  316. package/dist/views/Root/index.js.map +1 -1
  317. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  318. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  319. package/dist/views/Root/metadata.js +176 -181
  320. package/dist/views/Root/metadata.js.map +1 -1
  321. package/dist/views/Unauthorized/index.js +54 -46
  322. package/dist/views/Unauthorized/index.js.map +1 -1
  323. package/dist/views/Unauthorized/index.scss +14 -0
  324. package/dist/views/Unauthorized/metadata.js +8 -12
  325. package/dist/views/Unauthorized/metadata.js.map +1 -1
  326. package/dist/views/Verify/index.client.js +25 -43
  327. package/dist/views/Verify/index.client.js.map +1 -1
  328. package/dist/views/Verify/index.js +69 -64
  329. package/dist/views/Verify/index.js.map +1 -1
  330. package/dist/views/Verify/index.scss +16 -0
  331. package/dist/views/Verify/metadata.js +8 -12
  332. package/dist/views/Verify/metadata.js.map +1 -1
  333. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  334. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  335. package/dist/views/Version/Default/SetStepNav.js +86 -127
  336. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  337. package/dist/views/Version/Default/index.js +380 -236
  338. package/dist/views/Version/Default/index.js.map +1 -1
  339. package/dist/views/Version/Default/index.scss +170 -0
  340. package/dist/views/Version/Default/types.js +2 -1
  341. package/dist/views/Version/Default/types.js.map +1 -1
  342. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  343. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  344. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
  345. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  346. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  347. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  348. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  349. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  350. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  351. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  352. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  353. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
  354. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  355. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  356. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
  357. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  358. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  359. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
  360. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +36 -41
  361. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  362. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
  363. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  364. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
  365. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  366. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  367. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -210
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
  379. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  380. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  381. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  382. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  383. package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
  384. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  385. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  386. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  387. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  388. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  389. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  390. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  391. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  392. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +25 -22
  393. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  395. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  396. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  397. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  398. package/dist/views/Version/Restore/index.js +117 -93
  399. package/dist/views/Version/Restore/index.js.map +1 -1
  400. package/dist/views/Version/Restore/index.scss +84 -0
  401. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  402. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  403. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  404. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  405. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
  406. package/dist/views/Version/SelectComparison/index.js +73 -50
  407. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  408. package/dist/views/Version/SelectComparison/index.scss +9 -0
  409. package/dist/views/Version/SelectComparison/types.js +2 -1
  410. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  411. package/dist/views/Version/SelectLocales/index.js +34 -32
  412. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  413. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
  414. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  415. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
  416. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  417. package/dist/views/Version/VersionPillLabel/index.scss +26 -0
  418. package/dist/views/Version/fetchVersions.js +113 -138
  419. package/dist/views/Version/fetchVersions.js.map +1 -1
  420. package/dist/views/Version/index.js +325 -323
  421. package/dist/views/Version/index.js.map +1 -1
  422. package/dist/views/Version/metadata.js +43 -50
  423. package/dist/views/Version/metadata.js.map +1 -1
  424. package/dist/views/Versions/buildColumns.js +95 -79
  425. package/dist/views/Versions/buildColumns.js.map +1 -1
  426. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  427. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  428. package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
  429. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  430. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  431. package/dist/views/Versions/cells/ID/index.js +10 -8
  432. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  433. package/dist/views/Versions/index.client.js +106 -83
  434. package/dist/views/Versions/index.client.js.map +1 -1
  435. package/dist/views/Versions/index.js +143 -143
  436. package/dist/views/Versions/index.js.map +1 -1
  437. package/dist/views/Versions/index.scss +110 -0
  438. package/dist/views/Versions/metadata.js +37 -44
  439. package/dist/views/Versions/metadata.js.map +1 -1
  440. package/dist/views/Versions/types.js +2 -1
  441. package/dist/views/Versions/types.js.map +1 -1
  442. package/dist/withPayload/withPayload.js +198 -143
  443. package/dist/withPayload/withPayload.js.map +1 -1
  444. package/dist/withPayload/withPayload.utils.js +92 -95
  445. package/dist/withPayload/withPayload.utils.js.map +1 -1
  446. package/dist/withPayload/withPayloadLegacy.js +42 -40
  447. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  448. package/package.json +9 -9
@@ -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