@webiny/app-file-manager 5.39.0-beta.1 → 5.39.0-beta.3

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 (330) hide show
  1. package/BatchFileUploader.d.ts +0 -1
  2. package/BatchFileUploader.js +44 -95
  3. package/BatchFileUploader.js.map +1 -1
  4. package/app.d.ts +2 -2
  5. package/app.js +2 -1
  6. package/app.js.map +1 -1
  7. package/components/BottomInfoBar/BottomInfoBar.d.ts +4 -2
  8. package/components/BottomInfoBar/BottomInfoBar.js.map +1 -1
  9. package/components/BottomInfoBar/ListStatus.d.ts +2 -2
  10. package/components/BottomInfoBar/ListStatus.js.map +1 -1
  11. package/components/BottomInfoBar/SupportedFileTypes.d.ts +2 -2
  12. package/components/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  13. package/components/BottomInfoBar/styled.d.ts +0 -2
  14. package/components/BulkActions/ActionDelete.js +24 -61
  15. package/components/BulkActions/ActionDelete.js.map +1 -1
  16. package/components/BulkActions/ActionEdit/ActionEdit.js +22 -111
  17. package/components/BulkActions/ActionEdit/ActionEdit.js.map +1 -1
  18. package/components/BulkActions/ActionEdit/ActionEdit.styled.d.ts +0 -2
  19. package/components/BulkActions/ActionEdit/ActionEditPresenter.d.ts +4 -3
  20. package/components/BulkActions/ActionEdit/ActionEditPresenter.js +45 -28
  21. package/components/BulkActions/ActionEdit/ActionEditPresenter.js.map +1 -1
  22. package/components/BulkActions/ActionEdit/ActionEditPresenter.test.js +3 -3
  23. package/components/BulkActions/ActionEdit/ActionEditPresenter.test.js.map +1 -1
  24. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.js +3 -1
  25. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.js.map +1 -1
  26. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.js +9 -4
  27. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.js.map +1 -1
  28. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.d.ts +3 -3
  29. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.js +43 -46
  30. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.js.map +1 -1
  31. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.test.js +11 -11
  32. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.test.js.map +1 -1
  33. package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.d.ts +1 -1
  34. package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.js +17 -17
  35. package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.js.map +1 -1
  36. package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.js +2 -2
  37. package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.js.map +1 -1
  38. package/components/BulkActions/ActionEdit/GraphQLInputMapper.d.ts +36 -2
  39. package/components/BulkActions/ActionEdit/GraphQLInputMapper.js +11 -9
  40. package/components/BulkActions/ActionEdit/GraphQLInputMapper.js.map +1 -1
  41. package/components/BulkActions/ActionEdit/GraphQLInputMapper.test.js +223 -25
  42. package/components/BulkActions/ActionEdit/GraphQLInputMapper.test.js.map +1 -1
  43. package/components/BulkActions/ActionEdit/domain/Batch.d.ts +6 -6
  44. package/components/BulkActions/ActionEdit/domain/BatchMapper.js +1 -1
  45. package/components/BulkActions/ActionEdit/domain/BatchMapper.js.map +1 -1
  46. package/components/BulkActions/ActionEdit/domain/Field.js +1 -1
  47. package/components/BulkActions/ActionEdit/domain/Field.js.map +1 -1
  48. package/components/BulkActions/ActionEdit/useActionEditWorker.d.ts +7 -0
  49. package/components/BulkActions/ActionEdit/useActionEditWorker.js +77 -0
  50. package/components/BulkActions/ActionEdit/useActionEditWorker.js.map +1 -0
  51. package/components/BulkActions/ActionMove.js +27 -75
  52. package/components/BulkActions/ActionMove.js.map +1 -1
  53. package/components/BulkActions/BulkActions.styled.d.ts +0 -2
  54. package/components/DropFilesHere/DropFilesHere.d.ts +1 -2
  55. package/components/DropFilesHere/DropFilesHere.js.map +1 -1
  56. package/components/DropFilesHere/styled.d.ts +0 -2
  57. package/components/EditFileUsingUrl/EditFileUsingUrl.d.ts +15 -0
  58. package/components/EditFileUsingUrl/EditFileUsingUrl.js +70 -0
  59. package/components/EditFileUsingUrl/EditFileUsingUrl.js.map +1 -0
  60. package/components/EditFileUsingUrl/EditFileUsingUrlPresenter.d.ts +18 -0
  61. package/components/EditFileUsingUrl/EditFileUsingUrlPresenter.js +56 -0
  62. package/components/EditFileUsingUrl/EditFileUsingUrlPresenter.js.map +1 -0
  63. package/components/EditFileUsingUrl/EditFileUsingUrlRepository.d.ts +17 -0
  64. package/components/EditFileUsingUrl/EditFileUsingUrlRepository.js +58 -0
  65. package/components/EditFileUsingUrl/EditFileUsingUrlRepository.js.map +1 -0
  66. package/components/EditFileUsingUrl/GetFileByUrl.d.ts +10 -0
  67. package/components/EditFileUsingUrl/GetFileByUrl.js +41 -0
  68. package/components/EditFileUsingUrl/GetFileByUrl.js.map +1 -0
  69. package/components/EditFileUsingUrl/Loading.d.ts +18 -0
  70. package/components/EditFileUsingUrl/Loading.js +68 -0
  71. package/components/EditFileUsingUrl/Loading.js.map +1 -0
  72. package/components/EditFileUsingUrl/UpdateFile.d.ts +10 -0
  73. package/components/EditFileUsingUrl/UpdateFile.js +25 -0
  74. package/components/EditFileUsingUrl/UpdateFile.js.map +1 -0
  75. package/components/EditFileUsingUrl/getFileByUrl.graphql.d.ts +2 -0
  76. package/components/EditFileUsingUrl/getFileByUrl.graphql.js +17 -0
  77. package/components/EditFileUsingUrl/getFileByUrl.graphql.js.map +1 -0
  78. package/components/EditFileUsingUrl/index.d.ts +1 -0
  79. package/components/EditFileUsingUrl/index.js +18 -0
  80. package/components/EditFileUsingUrl/index.js.map +1 -0
  81. package/components/Empty/Empty.d.ts +2 -2
  82. package/components/Empty/Empty.js.map +1 -1
  83. package/components/FileDetails/FileDetails.d.ts +6 -3
  84. package/components/FileDetails/FileDetails.js +81 -89
  85. package/components/FileDetails/FileDetails.js.map +1 -1
  86. package/components/FileDetails/components/Actions.d.ts +14 -1
  87. package/components/FileDetails/components/Actions.js +6 -7
  88. package/components/FileDetails/components/Actions.js.map +1 -1
  89. package/components/FileDetails/components/BaseFields.js +6 -1
  90. package/components/FileDetails/components/BaseFields.js.map +1 -1
  91. package/components/FileDetails/components/Content.d.ts +2 -1
  92. package/components/FileDetails/components/Content.js +11 -6
  93. package/components/FileDetails/components/Content.js.map +1 -1
  94. package/components/FileDetails/components/Extensions.js +15 -19
  95. package/components/FileDetails/components/Extensions.js.map +1 -1
  96. package/components/FileDetails/components/actions/DeleteImage.d.ts +2 -6
  97. package/components/FileDetails/components/actions/DeleteImage.js.map +1 -1
  98. package/components/Grid/File.d.ts +6 -5
  99. package/components/Grid/File.js +1 -1
  100. package/components/Grid/File.js.map +1 -1
  101. package/components/Grid/Grid.d.ts +4 -4
  102. package/components/Grid/Grid.js.map +1 -1
  103. package/components/Grid/styled.d.ts +0 -2
  104. package/components/NoPermission/NoPermission.d.ts +2 -2
  105. package/components/NoPermission/NoPermission.js.map +1 -1
  106. package/components/NoPermission/styled.d.ts +0 -6
  107. package/components/NoResults/NoResults.d.ts +2 -2
  108. package/components/NoResults/NoResults.js.map +1 -1
  109. package/components/NoResults/styled.d.ts +0 -2
  110. package/components/Table/Actions/CopyFile.d.ts +2 -0
  111. package/components/Table/Actions/CopyFile.js +30 -0
  112. package/components/Table/Actions/CopyFile.js.map +1 -0
  113. package/components/Table/Actions/DeleteFile.d.ts +2 -0
  114. package/components/Table/Actions/DeleteFile.js +36 -0
  115. package/components/Table/Actions/DeleteFile.js.map +1 -0
  116. package/components/Table/Actions/EditFile.d.ts +2 -0
  117. package/components/Table/Actions/EditFile.js +30 -0
  118. package/components/Table/Actions/EditFile.js.map +1 -0
  119. package/components/Table/Actions/MoveFile.d.ts +2 -0
  120. package/components/Table/Actions/MoveFile.js +27 -0
  121. package/components/Table/Actions/MoveFile.js.map +1 -0
  122. package/components/Table/Actions/index.d.ts +4 -0
  123. package/components/Table/Actions/index.js +51 -0
  124. package/components/Table/Actions/index.js.map +1 -0
  125. package/components/Table/Cells/CellActions.d.ts +2 -0
  126. package/components/Table/Cells/CellActions.js +43 -0
  127. package/components/Table/Cells/CellActions.js.map +1 -0
  128. package/components/Table/Cells/CellAuthor.d.ts +2 -0
  129. package/components/Table/Cells/CellAuthor.js +18 -0
  130. package/components/Table/Cells/CellAuthor.js.map +1 -0
  131. package/components/Table/Cells/CellCreated.d.ts +2 -0
  132. package/components/Table/Cells/CellCreated.js +21 -0
  133. package/components/Table/Cells/CellCreated.js.map +1 -0
  134. package/components/Table/Cells/CellModified.d.ts +2 -0
  135. package/components/Table/Cells/CellModified.js +21 -0
  136. package/components/Table/Cells/CellModified.js.map +1 -0
  137. package/components/Table/Cells/CellName.d.ts +16 -0
  138. package/components/Table/Cells/CellName.js +66 -0
  139. package/components/Table/Cells/CellName.js.map +1 -0
  140. package/components/Table/Cells/CellSize.d.ts +2 -0
  141. package/components/Table/Cells/CellSize.js +26 -0
  142. package/components/Table/Cells/CellSize.js.map +1 -0
  143. package/components/Table/Cells/CellType.d.ts +2 -0
  144. package/components/Table/Cells/CellType.js +23 -0
  145. package/components/Table/Cells/CellType.js.map +1 -0
  146. package/components/Table/{styled.d.ts → Cells/Cells.styled.d.ts} +0 -8
  147. package/components/Table/{styled.js → Cells/Cells.styled.js} +5 -14
  148. package/components/Table/Cells/Cells.styled.js.map +1 -0
  149. package/components/Table/Cells/index.d.ts +7 -0
  150. package/components/Table/Cells/index.js +84 -0
  151. package/components/Table/Cells/index.js.map +1 -0
  152. package/components/Table/Table.d.ts +3 -35
  153. package/components/Table/Table.js +13 -231
  154. package/components/Table/Table.js.map +1 -1
  155. package/components/Table/index.d.ts +2 -0
  156. package/components/Table/index.js +22 -0
  157. package/components/Table/index.js.map +1 -1
  158. package/components/Title/Title.d.ts +2 -2
  159. package/components/Title/Title.js.map +1 -1
  160. package/components/Title/styled.d.ts +0 -3
  161. package/components/UploadStatus/UploadStatus.d.ts +2 -2
  162. package/components/UploadStatus/UploadStatus.js.map +1 -1
  163. package/components/UploadStatus/styled.d.ts +0 -2
  164. package/components/fields/AccessControl.d.ts +7 -0
  165. package/components/fields/AccessControl.js +50 -0
  166. package/components/fields/AccessControl.js.map +1 -0
  167. package/components/{FileDetails/components → fields}/Aliases.js +6 -6
  168. package/components/{FileDetails/components → fields}/Aliases.js.map +1 -1
  169. package/components/{FileDetails/components → fields}/Name.js +1 -1
  170. package/components/{FileDetails/components → fields}/Name.js.map +1 -1
  171. package/components/{FileDetails/components → fields}/Tags.js +5 -4
  172. package/components/fields/Tags.js.map +1 -0
  173. package/components/fields/index.d.ts +4 -0
  174. package/components/fields/index.js +51 -0
  175. package/components/fields/index.js.map +1 -0
  176. package/components/fields/useAccessControlField.d.ts +7 -0
  177. package/components/fields/useAccessControlField.js +39 -0
  178. package/components/fields/useAccessControlField.js.map +1 -0
  179. package/components/fields/useFileOrUndefined.d.ts +3 -0
  180. package/components/fields/useFileOrUndefined.js +18 -0
  181. package/components/fields/useFileOrUndefined.js.map +1 -0
  182. package/hooks/useCopyFile.js +1 -1
  183. package/hooks/useCopyFile.js.map +1 -1
  184. package/hooks/useDeleteFile.js +7 -19
  185. package/hooks/useDeleteFile.js.map +1 -1
  186. package/hooks/useMoveFileToFolder.js +4 -20
  187. package/hooks/useMoveFileToFolder.js.map +1 -1
  188. package/index.d.ts +2 -1
  189. package/index.js +16 -1
  190. package/index.js.map +1 -1
  191. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.d.ts +0 -1
  192. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js +95 -252
  193. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js.map +1 -1
  194. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileGraphQLSelection.d.ts +2 -0
  195. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileGraphQLSelection.js +18 -0
  196. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileGraphQLSelection.js.map +1 -0
  197. package/modules/FileManagerApiProvider/FileManagerApiContext/index.d.ts +1 -0
  198. package/modules/FileManagerApiProvider/FileManagerApiContext/index.js +7 -0
  199. package/modules/FileManagerApiProvider/FileManagerApiContext/index.js.map +1 -1
  200. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js +76 -128
  201. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js.map +1 -1
  202. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.d.ts +33 -5
  203. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js +5 -4
  204. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js.map +1 -1
  205. package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.d.ts +1 -1
  206. package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js.map +1 -1
  207. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.d.ts +2 -2
  208. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.js.map +1 -1
  209. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.d.ts +2 -2
  210. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js.map +1 -1
  211. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.d.ts +2 -2
  212. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js.map +1 -1
  213. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.d.ts +0 -2
  214. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.d.ts +2 -2
  215. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js +3 -20
  216. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js.map +1 -1
  217. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkEditField.d.ts +10 -0
  218. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkEditField.js +33 -0
  219. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkEditField.js.map +1 -0
  220. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FileAction.d.ts +8 -0
  221. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FileAction.js +29 -0
  222. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FileAction.js.map +1 -0
  223. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.d.ts +4 -1
  224. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderAction.d.ts +7 -0
  225. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderAction.js +28 -0
  226. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderAction.js.map +1 -0
  227. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Column.d.ts +9 -0
  228. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Column.js +29 -0
  229. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Column.js.map +1 -0
  230. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/index.d.ts +13 -0
  231. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/index.js +13 -0
  232. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/index.js.map +1 -0
  233. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.d.ts +30 -3
  234. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js +9 -1
  235. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js.map +1 -1
  236. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Field.d.ts +4 -1
  237. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.d.ts +5 -0
  238. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.js +23 -0
  239. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.js.map +1 -0
  240. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.d.ts +2 -2
  241. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.js.map +1 -1
  242. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.d.ts +7 -2
  243. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js +2 -0
  244. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js.map +1 -1
  245. package/modules/FileManagerRenderer/FileManagerView/index.d.ts +12 -1
  246. package/modules/FileManagerRenderer/FileManagerView/index.js +22 -9
  247. package/modules/FileManagerRenderer/FileManagerView/index.js.map +1 -1
  248. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +4 -5
  249. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +151 -307
  250. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
  251. package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.d.ts +1 -2
  252. package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.js +8 -7
  253. package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.js.map +1 -1
  254. package/modules/FileManagerRenderer/FileManagerViewProvider/state.d.ts +0 -1
  255. package/modules/FileManagerRenderer/FileManagerViewProvider/state.js +0 -1
  256. package/modules/FileManagerRenderer/FileManagerViewProvider/state.js.map +1 -1
  257. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js +43 -60
  258. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js.map +1 -1
  259. package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js +10 -4
  260. package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js.map +1 -1
  261. package/modules/FileManagerRenderer/index.js +81 -6
  262. package/modules/FileManagerRenderer/index.js.map +1 -1
  263. package/modules/FileTypes/fileImage/EditAction.d.ts +2 -2
  264. package/modules/FileTypes/fileImage/EditAction.js +10 -23
  265. package/modules/FileTypes/fileImage/EditAction.js.map +1 -1
  266. package/modules/FileTypes/fileImage/index.js +1 -1
  267. package/modules/FileTypes/fileImage/index.js.map +1 -1
  268. package/modules/HeadlessCms/fileField.d.ts +2 -0
  269. package/modules/HeadlessCms/fileField.js +49 -0
  270. package/modules/HeadlessCms/fileField.js.map +1 -0
  271. package/modules/HeadlessCms/fileRenderer/File.d.ts +16 -0
  272. package/modules/HeadlessCms/fileRenderer/File.js +97 -0
  273. package/modules/HeadlessCms/fileRenderer/File.js.map +1 -0
  274. package/modules/HeadlessCms/fileRenderer/fileField.d.ts +2 -0
  275. package/modules/HeadlessCms/fileRenderer/fileField.js +109 -0
  276. package/modules/HeadlessCms/fileRenderer/fileField.js.map +1 -0
  277. package/modules/HeadlessCms/fileRenderer/fileFields.d.ts +2 -0
  278. package/modules/HeadlessCms/fileRenderer/fileFields.js +154 -0
  279. package/modules/HeadlessCms/fileRenderer/fileFields.js.map +1 -0
  280. package/modules/HeadlessCms/fileRenderer/utils.d.ts +12 -0
  281. package/modules/HeadlessCms/fileRenderer/utils.js +59 -0
  282. package/modules/HeadlessCms/fileRenderer/utils.js.map +1 -0
  283. package/modules/HeadlessCms/index.d.ts +1 -0
  284. package/modules/HeadlessCms/index.js +20 -0
  285. package/modules/HeadlessCms/index.js.map +1 -0
  286. package/modules/Settings/graphql.d.ts +7 -0
  287. package/modules/Settings/graphql.js.map +1 -1
  288. package/modules/Settings/index.d.ts +2 -2
  289. package/modules/Settings/index.js.map +1 -1
  290. package/modules/Settings/plugins/installation.js +7 -23
  291. package/modules/Settings/plugins/installation.js.map +1 -1
  292. package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.d.ts +2 -2
  293. package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js.map +1 -1
  294. package/modules/Settings/views/FileManagerSettings.d.ts +2 -2
  295. package/modules/Settings/views/FileManagerSettings.js +27 -41
  296. package/modules/Settings/views/FileManagerSettings.js.map +1 -1
  297. package/package.json +19 -17
  298. package/tagsHelpers.js +1 -1
  299. package/tagsHelpers.js.map +1 -1
  300. package/types.d.ts +4 -0
  301. package/types.js.map +1 -1
  302. package/components/FileDetails/components/Tags.js.map +0 -1
  303. package/components/Table/FolderActionDelete.d.ts +0 -6
  304. package/components/Table/FolderActionDelete.js +0 -27
  305. package/components/Table/FolderActionDelete.js.map +0 -1
  306. package/components/Table/FolderActionEdit.d.ts +0 -6
  307. package/components/Table/FolderActionEdit.js +0 -27
  308. package/components/Table/FolderActionEdit.js.map +0 -1
  309. package/components/Table/FolderActionManagePermissions.d.ts +0 -6
  310. package/components/Table/FolderActionManagePermissions.js +0 -27
  311. package/components/Table/FolderActionManagePermissions.js.map +0 -1
  312. package/components/Table/Name.d.ts +0 -16
  313. package/components/Table/Name.js +0 -48
  314. package/components/Table/Name.js.map +0 -1
  315. package/components/Table/RecordActionCopy.d.ts +0 -8
  316. package/components/Table/RecordActionCopy.js +0 -32
  317. package/components/Table/RecordActionCopy.js.map +0 -1
  318. package/components/Table/RecordActionDelete.d.ts +0 -8
  319. package/components/Table/RecordActionDelete.js +0 -34
  320. package/components/Table/RecordActionDelete.js.map +0 -1
  321. package/components/Table/RecordActionEdit.d.ts +0 -7
  322. package/components/Table/RecordActionEdit.js +0 -30
  323. package/components/Table/RecordActionEdit.js.map +0 -1
  324. package/components/Table/RecordActionMove.d.ts +0 -2
  325. package/components/Table/RecordActionMove.js +0 -30
  326. package/components/Table/RecordActionMove.js.map +0 -1
  327. package/components/Table/styled.js.map +0 -1
  328. /package/components/{FileDetails/components → fields}/Aliases.d.ts +0 -0
  329. /package/components/{FileDetails/components → fields}/Name.d.ts +0 -0
  330. /package/components/{FileDetails/components → fields}/Tags.d.ts +0 -0
@@ -1,139 +1,50 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.ActionEdit = void 0;
9
- var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
8
  var _react = _interopRequireWildcard(require("react"));
13
- var _edit = require("@material-design-icons/svg/outlined/edit.svg");
14
- var _appHeadlessCmsCommon = require("@webiny/app-headless-cms-common");
15
9
  var _mobxReactLite = require("mobx-react-lite");
16
- var _omit = _interopRequireDefault(require("lodash/omit"));
10
+ var _edit = require("@material-design-icons/svg/outlined/edit.svg");
17
11
  var _FileManagerViewConfig = require("../../../modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig");
18
- var _FileManagerApiContext = require("../../../modules/FileManagerApiProvider/FileManagerApiContext");
19
- var _FileManagerViewProvider = require("../../../modules/FileManagerRenderer/FileManagerViewProvider");
20
12
  var _useFileModel2 = require("../../../hooks/useFileModel");
21
- var _ = require("./..");
22
- var _GraphQLInputMapper = require("./GraphQLInputMapper");
23
13
  var _BatchEditorDialog = require("./BatchEditorDialog");
24
14
  var _ActionEditPresenter = require("./ActionEditPresenter");
15
+ var _useActionEditWorker = require("./useActionEditWorker");
16
+ var useButtons = _FileManagerViewConfig.FileManagerViewConfig.Browser.BulkAction.useButtons;
25
17
  var ActionEdit = (0, _mobxReactLite.observer)(function () {
26
18
  var _useFileModel = (0, _useFileModel2.useFileModel)(),
27
- defaultFields = _useFileModel.fields;
28
- var _FileManagerViewConfi = _FileManagerViewConfig.FileManagerViewConfig.Browser.BulkAction,
29
- useWorker = _FileManagerViewConfi.useWorker,
30
- useButtons = _FileManagerViewConfi.useButtons,
31
- useBulkActionDialog = _FileManagerViewConfi.useDialog;
32
- var worker = useWorker();
33
- var _useFileManagerView = (0, _FileManagerViewProvider.useFileManagerView)(),
34
- updateFile = _useFileManagerView.updateFile;
35
- var _useFileManagerApi = (0, _FileManagerApiContext.useFileManagerApi)(),
36
- canEdit = _useFileManagerApi.canEdit;
19
+ allModelFields = _useFileModel.fields;
20
+ var config = (0, _FileManagerViewConfig.useFileManagerViewConfig)();
37
21
  var _useButtons = useButtons(),
38
22
  IconButton = _useButtons.IconButton;
39
- var _useBulkActionDialog = useBulkActionDialog(),
40
- showConfirmationDialog = _useBulkActionDialog.showConfirmationDialog,
41
- showResultsDialog = _useBulkActionDialog.showResultsDialog;
23
+ var fields = (0, _react.useMemo)(function () {
24
+ if (!config.fileDetails.fields.find(function (field) {
25
+ return field.name === "tags";
26
+ })) {
27
+ return allModelFields.filter(function (field) {
28
+ return field.fieldId !== "tags";
29
+ });
30
+ }
31
+ return allModelFields;
32
+ }, [config, allModelFields]);
33
+ var worker = (0, _useActionEditWorker.useActionEditWorker)(fields);
42
34
  var presenter = (0, _react.useMemo)(function () {
43
35
  return new _ActionEditPresenter.ActionEditPresenter();
44
36
  }, []);
45
37
  (0, _react.useEffect)(function () {
46
- presenter.load(defaultFields);
47
- }, [defaultFields]);
48
- var filesLabel = (0, _react.useMemo)(function () {
49
- return (0, _.getFilesLabel)(worker.items.length);
50
- }, [worker.items.length]);
51
- var canEditAll = (0, _react.useMemo)(function () {
52
- return worker.items.every(function (item) {
53
- return canEdit(item);
54
- });
55
- }, [worker.items]);
56
- var openWorkerDialog = function openWorkerDialog(batch) {
57
- showConfirmationDialog({
58
- title: "Edit files",
59
- message: "You are about to edit ".concat(filesLabel, ". Are you sure you want to continue?"),
60
- loadingLabel: "Processing ".concat(filesLabel),
61
- execute: function () {
62
- var _execute = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
63
- return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
64
- while (1) switch (_context2.prev = _context2.next) {
65
- case 0:
66
- _context2.next = 2;
67
- return worker.processInSeries( /*#__PURE__*/function () {
68
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(_ref) {
69
- var item, report, _extensions$settings, extensions, extensionsData, output, fileData;
70
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
71
- while (1) switch (_context.prev = _context.next) {
72
- case 0:
73
- item = _ref.item, report = _ref.report;
74
- _context.prev = 1;
75
- extensions = defaultFields.find(function (field) {
76
- return field.fieldId === "extensions";
77
- });
78
- extensionsData = _GraphQLInputMapper.GraphQLInputMapper.toGraphQLExtensions(item.extensions, batch);
79
- output = (0, _omit.default)(item, ["id", "createdBy", "createdOn", "src"]);
80
- fileData = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, output), {}, {
81
- extensions: (0, _appHeadlessCmsCommon.prepareFormData)(extensionsData, (extensions === null || extensions === void 0 ? void 0 : (_extensions$settings = extensions.settings) === null || _extensions$settings === void 0 ? void 0 : _extensions$settings.fields) || [])
82
- });
83
- _context.next = 8;
84
- return updateFile(item.id, fileData);
85
- case 8:
86
- report.success({
87
- title: "".concat(item.name),
88
- message: "File successfully edited."
89
- });
90
- _context.next = 14;
91
- break;
92
- case 11:
93
- _context.prev = 11;
94
- _context.t0 = _context["catch"](1);
95
- report.error({
96
- title: "".concat(item.name),
97
- message: _context.t0.message
98
- });
99
- case 14:
100
- case "end":
101
- return _context.stop();
102
- }
103
- }, _callee, null, [[1, 11]]);
104
- }));
105
- return function (_x) {
106
- return _ref2.apply(this, arguments);
107
- };
108
- }());
109
- case 2:
110
- worker.resetItems();
111
- showResultsDialog({
112
- results: worker.results,
113
- title: "Edit files",
114
- message: "Finished editing files! See full report below:"
115
- });
116
- case 4:
117
- case "end":
118
- return _context2.stop();
119
- }
120
- }, _callee2);
121
- }));
122
- function execute() {
123
- return _execute.apply(this, arguments);
124
- }
125
- return execute;
126
- }()
127
- });
128
- };
38
+ presenter.load(fields);
39
+ }, [fields]);
129
40
  var onBatchEditorSubmit = (0, _react.useCallback)(function (batch) {
130
41
  presenter.closeEditor();
131
- openWorkerDialog(batch);
132
- }, [openWorkerDialog]);
42
+ worker.openWorkerDialog(batch);
43
+ }, [worker.openWorkerDialog]);
133
44
  if (!presenter.vm.show) {
134
45
  return null;
135
46
  }
136
- if (!canEditAll) {
47
+ if (!worker.canEditAll) {
137
48
  console.log("You don't have permissions to edit files.");
138
49
  return null;
139
50
  }
@@ -142,7 +53,7 @@ var ActionEdit = (0, _mobxReactLite.observer)(function () {
142
53
  onAction: function onAction() {
143
54
  return presenter.openEditor();
144
55
  },
145
- label: "Edit ".concat(filesLabel),
56
+ label: "Edit ".concat(worker.filesLabel),
146
57
  tooltipPlacement: "bottom"
147
58
  }), /*#__PURE__*/_react.default.createElement(_BatchEditorDialog.BatchEditorDialog, {
148
59
  onClose: function onClose() {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_edit","_appHeadlessCmsCommon","_mobxReactLite","_omit","_interopRequireDefault","_FileManagerViewConfig","_FileManagerApiContext","_FileManagerViewProvider","_useFileModel2","_","_GraphQLInputMapper","_BatchEditorDialog","_ActionEditPresenter","ActionEdit","observer","_useFileModel","useFileModel","defaultFields","fields","_FileManagerViewConfi","FileManagerViewConfig","Browser","BulkAction","useWorker","useButtons","useBulkActionDialog","useDialog","worker","_useFileManagerView","useFileManagerView","updateFile","_useFileManagerApi","useFileManagerApi","canEdit","_useButtons","IconButton","_useBulkActionDialog","showConfirmationDialog","showResultsDialog","presenter","useMemo","ActionEditPresenter","useEffect","load","filesLabel","getFilesLabel","items","length","canEditAll","every","item","openWorkerDialog","batch","title","message","concat","loadingLabel","execute","_execute","_asyncToGenerator2","default","_regeneratorRuntime2","mark","_callee2","wrap","_callee2$","_context2","prev","next","processInSeries","_ref2","_callee","_ref","report","_extensions$settings","extensions","extensionsData","output","fileData","_callee$","_context","find","field","fieldId","GraphQLInputMapper","toGraphQLExtensions","omit","_objectSpread2","prepareFormData","settings","id","success","name","t0","error","stop","_x","apply","arguments","resetItems","results","onBatchEditorSubmit","useCallback","closeEditor","vm","show","console","log","createElement","Fragment","icon","ReactComponent","onAction","openEditor","label","tooltipPlacement","BatchEditorDialog","onClose","currentBatch","editorVm","onApply","exports"],"sources":["ActionEdit.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from \"react\";\nimport { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport { prepareFormData } from \"@webiny/app-headless-cms-common\";\nimport { observer } from \"mobx-react-lite\";\nimport omit from \"lodash/omit\";\n\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { useFileManagerApi } from \"~/modules/FileManagerApiProvider/FileManagerApiContext\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\n\nimport { useFileModel } from \"~/hooks/useFileModel\";\nimport { getFilesLabel } from \"~/components/BulkActions\";\nimport { GraphQLInputMapper } from \"~/components/BulkActions/ActionEdit/GraphQLInputMapper\";\nimport { BatchDTO } from \"~/components/BulkActions/ActionEdit/domain\";\n\nimport { BatchEditorDialog } from \"./BatchEditorDialog\";\nimport { ActionEditPresenter } from \"./ActionEditPresenter\";\n\nexport const ActionEdit = observer(() => {\n const { fields: defaultFields } = useFileModel();\n const {\n useWorker,\n useButtons,\n useDialog: useBulkActionDialog\n } = FileManagerViewConfig.Browser.BulkAction;\n const worker = useWorker();\n const { updateFile } = useFileManagerView();\n const { canEdit } = useFileManagerApi();\n const { IconButton } = useButtons();\n const { showConfirmationDialog, showResultsDialog } = useBulkActionDialog();\n\n const presenter = useMemo<ActionEditPresenter>(() => {\n return new ActionEditPresenter();\n }, []);\n\n useEffect(() => {\n presenter.load(defaultFields);\n }, [defaultFields]);\n\n const filesLabel = useMemo(() => {\n return getFilesLabel(worker.items.length);\n }, [worker.items.length]);\n\n const canEditAll = useMemo(() => {\n return worker.items.every(item => canEdit(item));\n }, [worker.items]);\n\n const openWorkerDialog = (batch: BatchDTO) => {\n showConfirmationDialog({\n title: \"Edit files\",\n message: `You are about to edit ${filesLabel}. Are you sure you want to continue?`,\n loadingLabel: `Processing ${filesLabel}`,\n execute: async () => {\n await worker.processInSeries(async ({ item, report }) => {\n try {\n const extensions = defaultFields.find(\n field => field.fieldId === \"extensions\"\n );\n\n const extensionsData = GraphQLInputMapper.toGraphQLExtensions(\n item.extensions,\n batch\n );\n\n const output = omit(item, [\"id\", \"createdBy\", \"createdOn\", \"src\"]);\n\n const fileData = {\n ...output,\n extensions: prepareFormData(\n extensionsData,\n extensions?.settings?.fields || []\n )\n };\n\n await updateFile(item.id, fileData);\n\n report.success({\n title: `${item.name}`,\n message: \"File successfully edited.\"\n });\n } catch (e) {\n report.error({\n title: `${item.name}`,\n message: e.message\n });\n }\n });\n\n worker.resetItems();\n\n showResultsDialog({\n results: worker.results,\n title: \"Edit files\",\n message: \"Finished editing files! See full report below:\"\n });\n }\n });\n };\n\n const onBatchEditorSubmit = useCallback(\n (batch: BatchDTO) => {\n presenter.closeEditor();\n openWorkerDialog(batch);\n },\n [openWorkerDialog]\n );\n\n if (!presenter.vm.show) {\n return null;\n }\n\n if (!canEditAll) {\n console.log(\"You don't have permissions to edit files.\");\n return null;\n }\n\n return (\n <>\n <IconButton\n icon={<EditIcon />}\n onAction={() => presenter.openEditor()}\n label={`Edit ${filesLabel}`}\n tooltipPlacement={\"bottom\"}\n />\n <BatchEditorDialog\n onClose={() => presenter.closeEditor()}\n fields={presenter.vm.fields}\n batch={presenter.vm.currentBatch}\n vm={presenter.vm.editorVm}\n onApply={onBatchEditorSubmit}\n />\n </>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_edit","_FileManagerViewConfig","_useFileModel2","_BatchEditorDialog","_ActionEditPresenter","_useActionEditWorker","useButtons","FileManagerViewConfig","Browser","BulkAction","ActionEdit","observer","_useFileModel","useFileModel","allModelFields","fields","config","useFileManagerViewConfig","_useButtons","IconButton","useMemo","fileDetails","find","field","name","filter","fieldId","worker","useActionEditWorker","presenter","ActionEditPresenter","useEffect","load","onBatchEditorSubmit","useCallback","batch","closeEditor","openWorkerDialog","vm","show","canEditAll","console","log","default","createElement","Fragment","icon","ReactComponent","onAction","openEditor","label","concat","filesLabel","tooltipPlacement","BatchEditorDialog","onClose","currentBatch","editorVm","onApply","exports"],"sources":["ActionEdit.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport {\n FileManagerViewConfig,\n useFileManagerViewConfig\n} from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { useFileModel } from \"~/hooks/useFileModel\";\nimport { BatchDTO } from \"~/components/BulkActions/ActionEdit/domain\";\nimport { BatchEditorDialog } from \"./BatchEditorDialog\";\nimport { ActionEditPresenter } from \"./ActionEditPresenter\";\nimport { useActionEditWorker } from \"~/components/BulkActions/ActionEdit/useActionEditWorker\";\n\nconst { useButtons } = FileManagerViewConfig.Browser.BulkAction;\n\nexport const ActionEdit = observer(() => {\n const { fields: allModelFields } = useFileModel();\n const config = useFileManagerViewConfig();\n const { IconButton } = useButtons();\n\n const fields = useMemo(() => {\n if (!config.fileDetails.fields.find(field => field.name === \"tags\")) {\n return allModelFields.filter(field => field.fieldId !== \"tags\");\n }\n\n return allModelFields;\n }, [config, allModelFields]);\n\n const worker = useActionEditWorker(fields);\n\n const presenter = useMemo<ActionEditPresenter>(() => {\n return new ActionEditPresenter();\n }, []);\n\n useEffect(() => {\n presenter.load(fields);\n }, [fields]);\n\n const onBatchEditorSubmit = useCallback(\n (batch: BatchDTO) => {\n presenter.closeEditor();\n worker.openWorkerDialog(batch);\n },\n [worker.openWorkerDialog]\n );\n\n if (!presenter.vm.show) {\n return null;\n }\n\n if (!worker.canEditAll) {\n console.log(\"You don't have permissions to edit files.\");\n return null;\n }\n\n return (\n <>\n <IconButton\n icon={<EditIcon />}\n onAction={() => presenter.openEditor()}\n label={`Edit ${worker.filesLabel}`}\n tooltipPlacement={\"bottom\"}\n />\n <BatchEditorDialog\n onClose={() => presenter.closeEditor()}\n fields={presenter.vm.fields}\n batch={presenter.vm.currentBatch}\n vm={presenter.vm.editorVm}\n onApply={onBatchEditorSubmit}\n />\n </>\n );\n});\n"],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  /// <reference types="react" />
2
- /// <reference types="react" />
3
- /// <reference types="web" />
4
2
  import { Dialog } from "@webiny/ui/Dialog";
5
3
  export declare const ActionEditFormContainer: import("@emotion/styled").StyledComponent<{
6
4
  theme?: import("@emotion/react").Theme | undefined;
@@ -15,11 +15,9 @@ interface IActionEditPresenter {
15
15
  export declare class ActionEditPresenter implements IActionEditPresenter {
16
16
  private showEditor;
17
17
  private readonly currentBatch;
18
- private extensionFields;
18
+ private fields;
19
19
  constructor();
20
20
  load(fields: FieldRaw[]): void;
21
- private getExtensionFields;
22
- private get editorVm();
23
21
  get vm(): {
24
22
  show: boolean;
25
23
  currentBatch: BatchDTO;
@@ -30,5 +28,8 @@ export declare class ActionEditPresenter implements IActionEditPresenter {
30
28
  };
31
29
  openEditor(): void;
32
30
  closeEditor(): void;
31
+ private getBuiltInFields;
32
+ private getExtensionFields;
33
+ private get editorVm();
33
34
  }
34
35
  export {};
@@ -5,55 +5,36 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ActionEditPresenter = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
  var _mobx = require("mobx");
12
14
  var _domain = require("./domain");
15
+ function isBulkEditableField(field) {
16
+ return field.tags && field.tags.includes("$bulk-edit");
17
+ }
13
18
  var ActionEditPresenter = /*#__PURE__*/function () {
14
19
  function ActionEditPresenter() {
15
20
  (0, _classCallCheck2.default)(this, ActionEditPresenter);
16
21
  (0, _defineProperty2.default)(this, "showEditor", false);
17
- this.extensionFields = [];
22
+ this.fields = [];
18
23
  this.currentBatch = _domain.BatchMapper.toDTO(_domain.Batch.createEmpty());
19
24
  (0, _mobx.makeAutoObservable)(this);
20
25
  }
21
26
  (0, _createClass2.default)(ActionEditPresenter, [{
22
27
  key: "load",
23
28
  value: function load(fields) {
24
- this.extensionFields = this.getExtensionFields(fields);
25
- }
26
- }, {
27
- key: "getExtensionFields",
28
- value: function getExtensionFields(fields) {
29
- var _extensions$settings;
30
- var extensions = fields.find(function (field) {
31
- return field.fieldId === "extensions";
32
- });
33
- if (!(extensions !== null && extensions !== void 0 && (_extensions$settings = extensions.settings) !== null && _extensions$settings !== void 0 && _extensions$settings.fields)) {
34
- return [];
35
- }
36
- var extensionFields = extensions.settings.fields.filter(function (field) {
37
- return field.tags && field.tags.includes("$bulk-edit");
38
- }) || [];
39
- return _domain.FieldMapper.toDTO(extensionFields.map(function (field) {
40
- return _domain.Field.createFromRaw(field);
41
- }));
42
- }
43
- }, {
44
- key: "editorVm",
45
- get: function get() {
46
- return {
47
- isOpen: this.showEditor
48
- };
29
+ this.fields = [].concat((0, _toConsumableArray2.default)(this.getBuiltInFields(fields)), (0, _toConsumableArray2.default)(this.getExtensionFields(fields)));
49
30
  }
50
31
  }, {
51
32
  key: "vm",
52
33
  get: function get() {
53
34
  return {
54
- show: this.extensionFields.length > 0,
35
+ show: this.fields.length > 0,
55
36
  currentBatch: this.currentBatch,
56
- fields: this.extensionFields,
37
+ fields: this.fields,
57
38
  editorVm: this.editorVm
58
39
  };
59
40
  }
@@ -67,6 +48,42 @@ var ActionEditPresenter = /*#__PURE__*/function () {
67
48
  value: function closeEditor() {
68
49
  this.showEditor = false;
69
50
  }
51
+ }, {
52
+ key: "getBuiltInFields",
53
+ value: function getBuiltInFields(fields) {
54
+ var builtInFields = fields.filter(function (field) {
55
+ return field.fieldId !== "extensions";
56
+ }).filter(isBulkEditableField);
57
+ return _domain.FieldMapper.toDTO(builtInFields.map(function (field) {
58
+ return _domain.Field.createFromRaw(field);
59
+ }));
60
+ }
61
+ }, {
62
+ key: "getExtensionFields",
63
+ value: function getExtensionFields(fields) {
64
+ var extensions = fields.find(function (field) {
65
+ return field.fieldId === "extensions";
66
+ });
67
+ if (!extensions?.settings?.fields) {
68
+ return [];
69
+ }
70
+ var extensionFields = extensions.settings.fields.filter(isBulkEditableField) || [];
71
+ var extFields = _domain.FieldMapper.toDTO(extensionFields.map(function (field) {
72
+ return _domain.Field.createFromRaw(field);
73
+ }));
74
+ return extFields.map(function (field) {
75
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
76
+ value: "extensions.".concat(field.value)
77
+ });
78
+ });
79
+ }
80
+ }, {
81
+ key: "editorVm",
82
+ get: function get() {
83
+ return {
84
+ isOpen: this.showEditor
85
+ };
86
+ }
70
87
  }]);
71
88
  return ActionEditPresenter;
72
89
  }();
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_domain","ActionEditPresenter","_classCallCheck2","default","_defineProperty2","extensionFields","currentBatch","BatchMapper","toDTO","Batch","createEmpty","makeAutoObservable","_createClass2","key","value","load","fields","getExtensionFields","_extensions$settings","extensions","find","field","fieldId","settings","filter","tags","includes","FieldMapper","map","Field","createFromRaw","get","isOpen","showEditor","show","length","editorVm","openEditor","closeEditor","exports"],"sources":["ActionEditPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nimport {\n Batch,\n BatchDTO,\n BatchMapper,\n Field,\n FieldDTO,\n FieldMapper,\n FieldRaw\n} from \"~/components/BulkActions/ActionEdit/domain\";\n\ninterface IActionEditPresenter {\n load: (fields: FieldRaw[]) => void;\n openEditor: () => void;\n closeEditor: () => void;\n get vm(): {\n show: boolean;\n currentBatch: BatchDTO;\n fields: FieldDTO[];\n editorVm: {\n isOpen: boolean;\n };\n };\n}\n\nexport class ActionEditPresenter implements IActionEditPresenter {\n private showEditor = false;\n private readonly currentBatch: BatchDTO;\n private extensionFields: FieldDTO[];\n\n constructor() {\n this.extensionFields = [];\n this.currentBatch = BatchMapper.toDTO(Batch.createEmpty());\n makeAutoObservable(this);\n }\n\n load(fields: FieldRaw[]) {\n this.extensionFields = this.getExtensionFields(fields);\n }\n\n private getExtensionFields(fields: FieldRaw[]) {\n const extensions = fields.find(field => field.fieldId === \"extensions\");\n\n if (!extensions?.settings?.fields) {\n return [];\n }\n\n const extensionFields =\n extensions.settings.fields.filter(\n field => field.tags && field.tags.includes(\"$bulk-edit\")\n ) || [];\n\n return FieldMapper.toDTO(extensionFields.map(field => Field.createFromRaw(field)));\n }\n\n private get editorVm() {\n return {\n isOpen: this.showEditor\n };\n }\n\n get vm() {\n return {\n show: this.extensionFields.length > 0,\n currentBatch: this.currentBatch,\n fields: this.extensionFields,\n editorVm: this.editorVm\n };\n }\n\n openEditor() {\n this.showEditor = true;\n }\n\n closeEditor() {\n this.showEditor = false;\n }\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAQoD,IAgBvCE,mBAAmB;EAK5B,SAAAA,oBAAA,EAAc;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,mBAAA;IAAA,IAAAG,gBAAA,CAAAD,OAAA,sBAJO,KAAK;IAKtB,IAAI,CAACE,eAAe,GAAG,EAAE;IACzB,IAAI,CAACC,YAAY,GAAGC,mBAAW,CAACC,KAAK,CAACC,aAAK,CAACC,WAAW,CAAC,CAAC,CAAC;IAC1D,IAAAC,wBAAkB,EAAC,IAAI,CAAC;EAC5B;EAAC,IAAAC,aAAA,CAAAT,OAAA,EAAAF,mBAAA;IAAAY,GAAA;IAAAC,KAAA,EAED,SAAAC,KAAKC,MAAkB,EAAE;MACrB,IAAI,CAACX,eAAe,GAAG,IAAI,CAACY,kBAAkB,CAACD,MAAM,CAAC;IAC1D;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,mBAA2BD,MAAkB,EAAE;MAAA,IAAAE,oBAAA;MAC3C,IAAMC,UAAU,GAAGH,MAAM,CAACI,IAAI,CAAC,UAAAC,KAAK;QAAA,OAAIA,KAAK,CAACC,OAAO,KAAK,YAAY;MAAA,EAAC;MAEvE,IAAI,EAACH,UAAU,aAAVA,UAAU,gBAAAD,oBAAA,GAAVC,UAAU,CAAEI,QAAQ,cAAAL,oBAAA,eAApBA,oBAAA,CAAsBF,MAAM,GAAE;QAC/B,OAAO,EAAE;MACb;MAEA,IAAMX,eAAe,GACjBc,UAAU,CAACI,QAAQ,CAACP,MAAM,CAACQ,MAAM,CAC7B,UAAAH,KAAK;QAAA,OAAIA,KAAK,CAACI,IAAI,IAAIJ,KAAK,CAACI,IAAI,CAACC,QAAQ,CAAC,YAAY,CAAC;MAAA,CAC5D,CAAC,IAAI,EAAE;MAEX,OAAOC,mBAAW,CAACnB,KAAK,CAACH,eAAe,CAACuB,GAAG,CAAC,UAAAP,KAAK;QAAA,OAAIQ,aAAK,CAACC,aAAa,CAACT,KAAK,CAAC;MAAA,EAAC,CAAC;IACtF;EAAC;IAAAR,GAAA;IAAAkB,GAAA,EAED,SAAAA,IAAA,EAAuB;MACnB,OAAO;QACHC,MAAM,EAAE,IAAI,CAACC;MACjB,CAAC;IACL;EAAC;IAAApB,GAAA;IAAAkB,GAAA,EAED,SAAAA,IAAA,EAAS;MACL,OAAO;QACHG,IAAI,EAAE,IAAI,CAAC7B,eAAe,CAAC8B,MAAM,GAAG,CAAC;QACrC7B,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BU,MAAM,EAAE,IAAI,CAACX,eAAe;QAC5B+B,QAAQ,EAAE,IAAI,CAACA;MACnB,CAAC;IACL;EAAC;IAAAvB,GAAA;IAAAC,KAAA,EAED,SAAAuB,WAAA,EAAa;MACT,IAAI,CAACJ,UAAU,GAAG,IAAI;IAC1B;EAAC;IAAApB,GAAA;IAAAC,KAAA,EAED,SAAAwB,YAAA,EAAc;MACV,IAAI,CAACL,UAAU,GAAG,KAAK;IAC3B;EAAC;EAAA,OAAAhC,mBAAA;AAAA;AAAAsC,OAAA,CAAAtC,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"names":["_mobx","require","_domain","isBulkEditableField","field","tags","includes","ActionEditPresenter","_classCallCheck2","default","_defineProperty2","fields","currentBatch","BatchMapper","toDTO","Batch","createEmpty","makeAutoObservable","_createClass2","key","value","load","concat","_toConsumableArray2","getBuiltInFields","getExtensionFields","get","show","length","editorVm","openEditor","showEditor","closeEditor","builtInFields","filter","fieldId","FieldMapper","map","Field","createFromRaw","extensions","find","settings","extensionFields","extFields","_objectSpread2","isOpen","exports"],"sources":["ActionEditPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nimport {\n Batch,\n BatchDTO,\n BatchMapper,\n Field,\n FieldDTO,\n FieldMapper,\n FieldRaw\n} from \"~/components/BulkActions/ActionEdit/domain\";\n\nfunction isBulkEditableField(field: FieldRaw) {\n return field.tags && field.tags.includes(\"$bulk-edit\");\n}\n\ninterface IActionEditPresenter {\n load: (fields: FieldRaw[]) => void;\n openEditor: () => void;\n closeEditor: () => void;\n get vm(): {\n show: boolean;\n currentBatch: BatchDTO;\n fields: FieldDTO[];\n editorVm: {\n isOpen: boolean;\n };\n };\n}\n\nexport class ActionEditPresenter implements IActionEditPresenter {\n private showEditor = false;\n private readonly currentBatch: BatchDTO;\n private fields: FieldDTO[];\n\n constructor() {\n this.fields = [];\n this.currentBatch = BatchMapper.toDTO(Batch.createEmpty());\n makeAutoObservable(this);\n }\n\n load(fields: FieldRaw[]) {\n this.fields = [...this.getBuiltInFields(fields), ...this.getExtensionFields(fields)];\n }\n\n get vm() {\n return {\n show: this.fields.length > 0,\n currentBatch: this.currentBatch,\n fields: this.fields,\n editorVm: this.editorVm\n };\n }\n\n openEditor() {\n this.showEditor = true;\n }\n\n closeEditor() {\n this.showEditor = false;\n }\n\n private getBuiltInFields(fields: FieldRaw[]) {\n const builtInFields = fields\n .filter(field => field.fieldId !== \"extensions\")\n .filter(isBulkEditableField);\n\n return FieldMapper.toDTO(builtInFields.map(field => Field.createFromRaw(field)));\n }\n\n private getExtensionFields(fields: FieldRaw[]) {\n const extensions = fields.find(field => field.fieldId === \"extensions\");\n\n if (!extensions?.settings?.fields) {\n return [];\n }\n\n const extensionFields = extensions.settings.fields.filter(isBulkEditableField) || [];\n\n const extFields = FieldMapper.toDTO(\n extensionFields.map(field => Field.createFromRaw(field))\n );\n\n return extFields.map(field => {\n return { ...field, value: `extensions.${field.value}` };\n });\n }\n\n private get editorVm() {\n return {\n isOpen: this.showEditor\n };\n }\n}\n"],"mappings":"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"}
@@ -100,14 +100,14 @@ describe("ActionEditPresenter", function () {
100
100
  operations: [{
101
101
  field: "",
102
102
  operator: "",
103
- value: {}
103
+ value: undefined
104
104
  }]
105
105
  });
106
106
 
107
107
  // I should receive the `fields` available for bulk edit
108
108
  expect(presenter.vm.fields).toEqual([{
109
109
  label: "Field 1",
110
- value: "field1",
110
+ value: "extensions.field1",
111
111
  operators: [{
112
112
  label: "Override existing values",
113
113
  value: "OVERRIDE"
@@ -118,7 +118,7 @@ describe("ActionEditPresenter", function () {
118
118
  raw: extensionFields[0]
119
119
  }, {
120
120
  label: "Field 2",
121
- value: "field2",
121
+ value: "extensions.field2",
122
122
  operators: [{
123
123
  label: "Override existing values",
124
124
  value: "OVERRIDE"
@@ -1 +1 @@
1
- {"version":3,"names":["_ActionEditPresenter","require","describe","extensionFields","id","fieldId","label","type","renderer","name","tags","storageId","multipleValues","settings","models","modelId","createFields","listValidation","validation","message","predefinedValues","values","enabled","layout","map","field","fields","presenter","beforeEach","jest","clearAllMocks","ActionEditPresenter","it","load","expect","vm","show","toEqual","currentBatch","operations","operator","value","operators","raw","editorVm","isOpen","toBe","openEditor","closeEditor"],"sources":["ActionEditPresenter.test.ts"],"sourcesContent":["import { ActionEditPresenter } from \"./ActionEditPresenter\";\nimport { FieldRaw } from \"~/components/BulkActions/ActionEdit/domain\";\n\ndescribe(\"ActionEditPresenter\", () => {\n const extensionFields = [\n {\n id: \"field1\",\n fieldId: \"field1\",\n label: \"Field 1\",\n type: \"text\",\n renderer: {\n name: \"text-input\"\n },\n tags: [\"$bulk-edit\"],\n storageId: \"text@field1\"\n },\n {\n id: \"field2\",\n fieldId: \"field2\",\n label: \"Field 2\",\n type: \"ref\",\n renderer: {\n name: \"ref-inputs\"\n },\n multipleValues: true,\n settings: {\n models: [\n {\n modelId: \"any-model\"\n }\n ]\n },\n tags: [\"$bulk-edit\"],\n storageId: \"ref@field2\"\n },\n {\n id: \"field3\",\n fieldId: \"field3\",\n label: \"Field 3\",\n type: \"number\",\n renderer: {\n name: \"number-input\"\n },\n tags: [],\n storageId: \"number@field3\"\n }\n ];\n\n const createFields = (extensionFields: FieldRaw[]) => {\n return [\n {\n id: \"name\",\n storageId: \"text@name\",\n fieldId: \"name\",\n label: \"Name\",\n type: \"text\",\n settings: {},\n listValidation: [],\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ],\n multipleValues: false,\n predefinedValues: {\n values: [],\n enabled: false\n },\n renderer: {\n name: \"text-input\"\n }\n },\n {\n id: \"extensions\",\n storageId: \"object@extensions\",\n fieldId: \"extensions\",\n label: \"Extensions\",\n type: \"object\",\n settings: {\n layout: extensionFields.map(field => [field.id]),\n fields: extensionFields\n },\n listValidation: [],\n validation: [],\n multipleValues: false,\n predefinedValues: {\n values: [],\n enabled: false\n },\n renderer: {\n name: \"any\"\n }\n }\n ];\n };\n\n let presenter: ActionEditPresenter;\n\n beforeEach(() => {\n jest.clearAllMocks();\n presenter = new ActionEditPresenter();\n });\n\n it(\"should create a presenter and load extensions fields\", () => {\n presenter.load(createFields(extensionFields));\n\n // I should see the bulk edit action\n expect(presenter.vm.show).toEqual(true);\n\n // I should receive a `currentBatch`\n expect(presenter.vm.currentBatch).toEqual({\n operations: [\n {\n field: \"\",\n operator: \"\",\n value: {}\n }\n ]\n });\n\n // I should receive the `fields` available for bulk edit\n expect(presenter.vm.fields).toEqual([\n {\n label: \"Field 1\",\n value: \"field1\",\n operators: [\n {\n label: \"Override existing values\",\n value: \"OVERRIDE\"\n },\n {\n label: \"Clear all existing values\",\n value: \"REMOVE\"\n }\n ],\n raw: extensionFields[0]\n },\n {\n label: \"Field 2\",\n value: \"field2\",\n operators: [\n {\n label: \"Override existing values\",\n value: \"OVERRIDE\"\n },\n {\n label: \"Clear all existing values\",\n value: \"REMOVE\"\n },\n {\n label: \"Append to existing values\",\n value: \"APPEND\"\n }\n ],\n raw: extensionFields[1]\n }\n ]);\n\n // I should receive the editor.vm\n expect(presenter.vm.editorVm).toEqual({\n isOpen: false\n });\n });\n\n it(\"should not show the bulk action if no `extensions` fields are defined\", () => {\n presenter.load(createFields([]));\n\n // The editor action should not be rendered\n expect(presenter.vm.show).toBe(false);\n });\n\n it(\"should open / close the editor\", () => {\n presenter.load(createFields(extensionFields));\n\n // The editor should be closed by default\n expect(presenter.vm.editorVm.isOpen).toBe(false);\n\n // Let's open the editor\n presenter.openEditor();\n expect(presenter.vm.editorVm.isOpen).toBe(true);\n\n // Let's open the editor\n presenter.closeEditor();\n expect(presenter.vm.editorVm.isOpen).toBe(false);\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_ActionEditPresenter","require","describe","extensionFields","id","fieldId","label","type","renderer","name","tags","storageId","multipleValues","settings","models","modelId","createFields","listValidation","validation","message","predefinedValues","values","enabled","layout","map","field","fields","presenter","beforeEach","jest","clearAllMocks","ActionEditPresenter","it","load","expect","vm","show","toEqual","currentBatch","operations","operator","value","undefined","operators","raw","editorVm","isOpen","toBe","openEditor","closeEditor"],"sources":["ActionEditPresenter.test.ts"],"sourcesContent":["import { ActionEditPresenter } from \"./ActionEditPresenter\";\nimport { FieldRaw } from \"~/components/BulkActions/ActionEdit/domain\";\n\ndescribe(\"ActionEditPresenter\", () => {\n const extensionFields = [\n {\n id: \"field1\",\n fieldId: \"field1\",\n label: \"Field 1\",\n type: \"text\",\n renderer: {\n name: \"text-input\"\n },\n tags: [\"$bulk-edit\"],\n storageId: \"text@field1\"\n },\n {\n id: \"field2\",\n fieldId: \"field2\",\n label: \"Field 2\",\n type: \"ref\",\n renderer: {\n name: \"ref-inputs\"\n },\n multipleValues: true,\n settings: {\n models: [\n {\n modelId: \"any-model\"\n }\n ]\n },\n tags: [\"$bulk-edit\"],\n storageId: \"ref@field2\"\n },\n {\n id: \"field3\",\n fieldId: \"field3\",\n label: \"Field 3\",\n type: \"number\",\n renderer: {\n name: \"number-input\"\n },\n tags: [],\n storageId: \"number@field3\"\n }\n ];\n\n const createFields = (extensionFields: FieldRaw[]) => {\n return [\n {\n id: \"name\",\n storageId: \"text@name\",\n fieldId: \"name\",\n label: \"Name\",\n type: \"text\",\n settings: {},\n listValidation: [],\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ],\n multipleValues: false,\n predefinedValues: {\n values: [],\n enabled: false\n },\n renderer: {\n name: \"text-input\"\n }\n },\n {\n id: \"extensions\",\n storageId: \"object@extensions\",\n fieldId: \"extensions\",\n label: \"Extensions\",\n type: \"object\",\n settings: {\n layout: extensionFields.map(field => [field.id]),\n fields: extensionFields\n },\n listValidation: [],\n validation: [],\n multipleValues: false,\n predefinedValues: {\n values: [],\n enabled: false\n },\n renderer: {\n name: \"any\"\n }\n }\n ];\n };\n\n let presenter: ActionEditPresenter;\n\n beforeEach(() => {\n jest.clearAllMocks();\n presenter = new ActionEditPresenter();\n });\n\n it(\"should create a presenter and load extensions fields\", () => {\n presenter.load(createFields(extensionFields));\n\n // I should see the bulk edit action\n expect(presenter.vm.show).toEqual(true);\n\n // I should receive a `currentBatch`\n expect(presenter.vm.currentBatch).toEqual({\n operations: [\n {\n field: \"\",\n operator: \"\",\n value: undefined\n }\n ]\n });\n\n // I should receive the `fields` available for bulk edit\n expect(presenter.vm.fields).toEqual([\n {\n label: \"Field 1\",\n value: \"extensions.field1\",\n operators: [\n {\n label: \"Override existing values\",\n value: \"OVERRIDE\"\n },\n {\n label: \"Clear all existing values\",\n value: \"REMOVE\"\n }\n ],\n raw: extensionFields[0]\n },\n {\n label: \"Field 2\",\n value: \"extensions.field2\",\n operators: [\n {\n label: \"Override existing values\",\n value: \"OVERRIDE\"\n },\n {\n label: \"Clear all existing values\",\n value: \"REMOVE\"\n },\n {\n label: \"Append to existing values\",\n value: \"APPEND\"\n }\n ],\n raw: extensionFields[1]\n }\n ]);\n\n // I should receive the editor.vm\n expect(presenter.vm.editorVm).toEqual({\n isOpen: false\n });\n });\n\n it(\"should not show the bulk action if no `extensions` fields are defined\", () => {\n presenter.load(createFields([]));\n\n // The editor action should not be rendered\n expect(presenter.vm.show).toBe(false);\n });\n\n it(\"should open / close the editor\", () => {\n presenter.load(createFields(extensionFields));\n\n // The editor should be closed by default\n expect(presenter.vm.editorVm.isOpen).toBe(false);\n\n // Let's open the editor\n presenter.openEditor();\n expect(presenter.vm.editorVm.isOpen).toBe(true);\n\n // Let's open the editor\n presenter.closeEditor();\n expect(presenter.vm.editorVm.isOpen).toBe(false);\n });\n});\n"],"mappings":"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"}
@@ -24,7 +24,9 @@ var BatchEditor = (0, _mobxReactLite.observer)(function (props) {
24
24
  ref: formRef,
25
25
  data: props.vm.data,
26
26
  onChange: props.onChange,
27
- onSubmit: props.onSubmit,
27
+ onSubmit: function onSubmit(data) {
28
+ console.log("data", data);
29
+ },
28
30
  invalidFields: props.vm.invalidFields
29
31
  }, function () {
30
32
  return /*#__PURE__*/_react.default.createElement(_ActionEdit.BatchEditorContainer, null, /*#__PURE__*/_react.default.createElement(_Accordion.Accordion, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_delete_outline","_form","_Accordion","_AddOperation","_Operation","_ActionEdit","BatchEditor","observer","props","formRef","React","createRef","useEffect","current","onForm","default","createElement","Form","ref","data","vm","onChange","onSubmit","invalidFields","BatchEditorContainer","Accordion","elevation","operations","map","operation","operationIndex","AccordionItem","key","concat","title","open","actions","Actions","Action","icon","ReactComponent","onClick","onDelete","disabled","canDelete","Operation","name","onSetOperationFieldData","AddOperation","canAddOperation","onAdd","exports"],"sources":["BatchEditor.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\n\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { Form, FormAPI, FormOnSubmit } from \"@webiny/form\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\n\nimport { AddOperation } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/AddOperation\";\nimport { Operation } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/Operation\";\nimport {\n BatchEditorDialogViewModel,\n BatchEditorFormData\n} from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter\";\nimport { BatchEditorContainer } from \"~/components/BulkActions/ActionEdit/ActionEdit.styled\";\n\nexport interface BatchEditorProps {\n onForm: (form: FormAPI) => void;\n onAdd: () => void;\n onDelete: (operationIndex: number) => void;\n onChange: (data: BatchEditorFormData) => void;\n onSetOperationFieldData: (operationIndex: number, data: string) => void;\n onSubmit: FormOnSubmit<BatchEditorFormData>;\n vm: BatchEditorDialogViewModel;\n}\n\nexport const BatchEditor = observer((props: BatchEditorProps) => {\n const formRef = React.createRef<FormAPI>();\n\n useEffect(() => {\n if (formRef.current) {\n props.onForm(formRef.current);\n }\n }, []);\n\n return (\n <Form\n ref={formRef}\n data={props.vm.data}\n onChange={props.onChange}\n onSubmit={props.onSubmit}\n invalidFields={props.vm.invalidFields}\n >\n {() => (\n <BatchEditorContainer>\n <Accordion elevation={1}>\n {props.vm.data.operations.map((operation, operationIndex) => (\n <AccordionItem\n key={`operation-${operationIndex}`}\n title={operation.title}\n open={operation.open}\n actions={\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<DeleteIcon />}\n onClick={() => props.onDelete(operationIndex)}\n disabled={!operation.canDelete}\n />\n </AccordionItem.Actions>\n }\n >\n <Operation\n name={`operations.${operationIndex}`}\n operation={operation}\n onDelete={() => props.onDelete(operationIndex)}\n onSetOperationFieldData={data =>\n props.onSetOperationFieldData(operationIndex, data)\n }\n />\n </AccordionItem>\n ))}\n </Accordion>\n <AddOperation\n disabled={!props.vm.canAddOperation}\n onClick={() => props.onAdd()}\n />\n </BatchEditorContainer>\n )}\n </Form>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_delete_outline","_form","_Accordion","_AddOperation","_Operation","_ActionEdit","BatchEditor","observer","props","formRef","React","createRef","useEffect","current","onForm","default","createElement","Form","ref","data","vm","onChange","onSubmit","console","log","invalidFields","BatchEditorContainer","Accordion","elevation","operations","map","operation","operationIndex","AccordionItem","key","concat","title","open","actions","Actions","Action","icon","ReactComponent","onClick","onDelete","disabled","canDelete","Operation","name","onSetOperationFieldData","AddOperation","canAddOperation","onAdd","exports"],"sources":["BatchEditor.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\n\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { Form, FormAPI, FormOnSubmit } from \"@webiny/form\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\n\nimport { AddOperation } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/AddOperation\";\nimport { Operation } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/Operation\";\nimport {\n BatchEditorDialogViewModel,\n BatchEditorFormData\n} from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter\";\nimport { BatchEditorContainer } from \"~/components/BulkActions/ActionEdit/ActionEdit.styled\";\n\nexport interface BatchEditorProps {\n onForm: (form: FormAPI) => void;\n onAdd: () => void;\n onDelete: (operationIndex: number) => void;\n onChange: (data: BatchEditorFormData) => void;\n onSetOperationFieldData: (operationIndex: number, data: string) => void;\n onSubmit: FormOnSubmit<BatchEditorFormData>;\n vm: BatchEditorDialogViewModel;\n}\n\nexport const BatchEditor = observer((props: BatchEditorProps) => {\n const formRef = React.createRef<FormAPI>();\n\n useEffect(() => {\n if (formRef.current) {\n props.onForm(formRef.current);\n }\n }, []);\n\n return (\n <Form\n ref={formRef}\n data={props.vm.data}\n onChange={props.onChange}\n onSubmit={data => {\n console.log(\"data\", data);\n }}\n invalidFields={props.vm.invalidFields}\n >\n {() => (\n <BatchEditorContainer>\n <Accordion elevation={1}>\n {props.vm.data.operations.map((operation, operationIndex) => (\n <AccordionItem\n key={`operation-${operationIndex}`}\n title={operation.title}\n open={operation.open}\n actions={\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<DeleteIcon />}\n onClick={() => props.onDelete(operationIndex)}\n disabled={!operation.canDelete}\n />\n </AccordionItem.Actions>\n }\n >\n <Operation\n name={`operations.${operationIndex}`}\n operation={operation}\n onDelete={() => props.onDelete(operationIndex)}\n onSetOperationFieldData={data =>\n props.onSetOperationFieldData(operationIndex, data)\n }\n />\n </AccordionItem>\n ))}\n </Accordion>\n <AddOperation\n disabled={!props.vm.canAddOperation}\n onClick={() => props.onAdd()}\n />\n </BatchEditorContainer>\n )}\n </Form>\n );\n});\n"],"mappings":"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"}
@@ -16,6 +16,7 @@ var BatchEditorDialog = (0, _mobxReactLite.observer)(function (props) {
16
16
  var presenter = (0, _react.useMemo)(function () {
17
17
  return new _BatchEditorDialogPresenter.BatchEditorDialogPresenter();
18
18
  }, []);
19
+ var ref = (0, _react.useRef)(null);
19
20
  (0, _react.useEffect)(function () {
20
21
  presenter.load(props.batch, props.fields);
21
22
  }, [props.batch, props.fields]);
@@ -23,14 +24,18 @@ var BatchEditorDialog = (0, _mobxReactLite.observer)(function (props) {
23
24
  presenter.setBatch(data);
24
25
  };
25
26
  var onApply = function onApply() {
26
- presenter.onApply(function (batch) {
27
- props.onApply(batch);
27
+ ref.current?.validate().then(function (isValid) {
28
+ if (isValid) {
29
+ presenter.onApply(function (batch) {
30
+ props.onApply(batch);
31
+ });
32
+ }
28
33
  });
29
34
  };
30
- var ref = (0, _react.useRef)(null);
31
35
  return /*#__PURE__*/_react.default.createElement(_ActionEdit.DialogContainer, {
32
36
  open: props.vm.isOpen,
33
- onClose: props.onClose
37
+ onClose: props.onClose,
38
+ preventOutsideDismiss: true
34
39
  }, props.vm.isOpen ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Dialog.DialogTitle, null, "Edit items"), /*#__PURE__*/_react.default.createElement(_Dialog.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ActionEdit.ActionEditFormContainer, null, /*#__PURE__*/_react.default.createElement(_BatchEditor.BatchEditor, {
35
40
  onForm: function onForm(form) {
36
41
  return ref.current = form;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_Button","_Dialog","_BatchEditorDialogPresenter","_BatchEditor","_ActionEdit","BatchEditorDialog","observer","props","presenter","useMemo","BatchEditorDialogPresenter","useEffect","load","batch","fields","onChange","data","setBatch","onApply","ref","useRef","default","createElement","DialogContainer","open","vm","isOpen","onClose","Fragment","DialogTitle","DialogContent","ActionEditFormContainer","BatchEditor","onForm","form","current","onSubmit","onDelete","operationIndex","deleteOperation","onAdd","addOperation","onSetOperationFieldData","setOperationFieldData","DialogActions","DialogCancel","onClick","ButtonPrimary","exports"],"sources":["BatchEditorDialog.tsx"],"sourcesContent":["import React, { useMemo, useEffect, useRef } from \"react\";\n\nimport { observer } from \"mobx-react-lite\";\nimport { FormAPI } from \"@webiny/form\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { DialogActions, DialogCancel, DialogContent, DialogTitle } from \"@webiny/ui/Dialog\";\n\nimport { BatchEditorDialogPresenter, BatchEditorFormData } from \"./BatchEditorDialogPresenter\";\nimport { BatchEditor } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor\";\nimport { ActionEditFormContainer, DialogContainer } from \"../ActionEdit.styled\";\nimport { BatchDTO, FieldDTO } from \"~/components/BulkActions/ActionEdit/domain\";\n\ninterface BatchEditorDialogProps {\n fields: FieldDTO[];\n batch: BatchDTO;\n vm: {\n isOpen: boolean;\n };\n onApply: (batch: BatchDTO) => void;\n onClose: () => void;\n}\n\nexport const BatchEditorDialog = observer((props: BatchEditorDialogProps) => {\n const presenter = useMemo<BatchEditorDialogPresenter>(() => {\n return new BatchEditorDialogPresenter();\n }, []);\n\n useEffect(() => {\n presenter.load(props.batch, props.fields);\n }, [props.batch, props.fields]);\n\n const onChange = (data: BatchEditorFormData) => {\n presenter.setBatch(data);\n };\n\n const onApply = () => {\n presenter.onApply(batch => {\n props.onApply(batch);\n });\n };\n\n const ref = useRef<FormAPI | null>(null);\n\n return (\n <DialogContainer open={props.vm.isOpen} onClose={props.onClose}>\n {props.vm.isOpen ? (\n <>\n <DialogTitle>{\"Edit items\"}</DialogTitle>\n <DialogContent>\n <ActionEditFormContainer>\n <BatchEditor\n onForm={form => (ref.current = form)}\n onChange={data => onChange(data)}\n onSubmit={onApply}\n onDelete={operationIndex =>\n presenter.deleteOperation(operationIndex)\n }\n onAdd={() => presenter.addOperation()}\n onSetOperationFieldData={(operationIndex, data) =>\n presenter.setOperationFieldData(operationIndex, data)\n }\n vm={presenter.vm}\n />\n </ActionEditFormContainer>\n </DialogContent>\n <DialogActions>\n <DialogCancel onClick={props.onClose}>{\"Cancel\"}</DialogCancel>\n <ButtonPrimary onClick={onApply}>{\"Submit\"}</ButtonPrimary>\n </DialogActions>\n </>\n ) : null}\n </DialogContainer>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_Button","_Dialog","_BatchEditorDialogPresenter","_BatchEditor","_ActionEdit","BatchEditorDialog","observer","props","presenter","useMemo","BatchEditorDialogPresenter","ref","useRef","useEffect","load","batch","fields","onChange","data","setBatch","onApply","current","validate","then","isValid","default","createElement","DialogContainer","open","vm","isOpen","onClose","preventOutsideDismiss","Fragment","DialogTitle","DialogContent","ActionEditFormContainer","BatchEditor","onForm","form","onSubmit","onDelete","operationIndex","deleteOperation","onAdd","addOperation","onSetOperationFieldData","setOperationFieldData","DialogActions","DialogCancel","onClick","ButtonPrimary","exports"],"sources":["BatchEditorDialog.tsx"],"sourcesContent":["import React, { useMemo, useEffect, useRef } from \"react\";\n\nimport { observer } from \"mobx-react-lite\";\nimport { FormAPI } from \"@webiny/form\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { DialogActions, DialogCancel, DialogContent, DialogTitle } from \"@webiny/ui/Dialog\";\n\nimport { BatchEditorDialogPresenter, BatchEditorFormData } from \"./BatchEditorDialogPresenter\";\nimport { BatchEditor } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor\";\nimport { ActionEditFormContainer, DialogContainer } from \"../ActionEdit.styled\";\nimport { BatchDTO, FieldDTO } from \"~/components/BulkActions/ActionEdit/domain\";\n\ninterface BatchEditorDialogProps {\n fields: FieldDTO[];\n batch: BatchDTO;\n vm: {\n isOpen: boolean;\n };\n onApply: (batch: BatchDTO) => void;\n onClose: () => void;\n}\n\nexport const BatchEditorDialog = observer((props: BatchEditorDialogProps) => {\n const presenter = useMemo<BatchEditorDialogPresenter>(() => {\n return new BatchEditorDialogPresenter();\n }, []);\n\n const ref = useRef<FormAPI | null>(null);\n\n useEffect(() => {\n presenter.load(props.batch, props.fields);\n }, [props.batch, props.fields]);\n\n const onChange = (data: BatchEditorFormData) => {\n presenter.setBatch(data);\n };\n\n const onApply = () => {\n ref.current?.validate().then(isValid => {\n if (isValid) {\n presenter.onApply(batch => {\n props.onApply(batch);\n });\n }\n });\n };\n\n return (\n <DialogContainer\n open={props.vm.isOpen}\n onClose={props.onClose}\n preventOutsideDismiss={true}\n >\n {props.vm.isOpen ? (\n <>\n <DialogTitle>{\"Edit items\"}</DialogTitle>\n <DialogContent>\n <ActionEditFormContainer>\n <BatchEditor\n onForm={form => (ref.current = form)}\n onChange={data => onChange(data)}\n onSubmit={onApply}\n onDelete={operationIndex =>\n presenter.deleteOperation(operationIndex)\n }\n onAdd={() => presenter.addOperation()}\n onSetOperationFieldData={(operationIndex, data) =>\n presenter.setOperationFieldData(operationIndex, data)\n }\n vm={presenter.vm}\n />\n </ActionEditFormContainer>\n </DialogContent>\n <DialogActions>\n <DialogCancel onClick={props.onClose}>{\"Cancel\"}</DialogCancel>\n <ButtonPrimary onClick={onApply}>{\"Submit\"}</ButtonPrimary>\n </DialogActions>\n </>\n ) : null}\n </DialogContainer>\n );\n});\n"],"mappings":"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"}
@@ -54,13 +54,13 @@ export declare class BatchEditorDialogPresenter implements IBatchEditorDialogPre
54
54
  }[];
55
55
  };
56
56
  };
57
- private getOperations;
58
- private getOperationTitle;
59
- private getFieldOptions;
60
57
  addOperation(): void;
61
58
  deleteOperation(operationIndex: number): void;
62
59
  setOperationFieldData(batchIndex: number, data: string): void;
63
60
  setBatch(data: BatchEditorFormData): void;
64
61
  onApply(onSuccess?: (batch: BatchDTO) => void, onError?: (batch: BatchDTO, invalidFields: BatchEditorDialogViewModel["invalidFields"]) => void): void;
62
+ private getOperations;
63
+ private getOperationTitle;
64
+ private getFieldOptions;
65
65
  private validateBatch;
66
66
  }