@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.
- package/BatchFileUploader.d.ts +0 -1
- package/BatchFileUploader.js +44 -95
- package/BatchFileUploader.js.map +1 -1
- package/app.d.ts +2 -2
- package/app.js +2 -1
- package/app.js.map +1 -1
- package/components/BottomInfoBar/BottomInfoBar.d.ts +4 -2
- package/components/BottomInfoBar/BottomInfoBar.js.map +1 -1
- package/components/BottomInfoBar/ListStatus.d.ts +2 -2
- package/components/BottomInfoBar/ListStatus.js.map +1 -1
- package/components/BottomInfoBar/SupportedFileTypes.d.ts +2 -2
- package/components/BottomInfoBar/SupportedFileTypes.js.map +1 -1
- package/components/BottomInfoBar/styled.d.ts +0 -2
- package/components/BulkActions/ActionDelete.js +24 -61
- package/components/BulkActions/ActionDelete.js.map +1 -1
- package/components/BulkActions/ActionEdit/ActionEdit.js +22 -111
- package/components/BulkActions/ActionEdit/ActionEdit.js.map +1 -1
- package/components/BulkActions/ActionEdit/ActionEdit.styled.d.ts +0 -2
- package/components/BulkActions/ActionEdit/ActionEditPresenter.d.ts +4 -3
- package/components/BulkActions/ActionEdit/ActionEditPresenter.js +45 -28
- package/components/BulkActions/ActionEdit/ActionEditPresenter.js.map +1 -1
- package/components/BulkActions/ActionEdit/ActionEditPresenter.test.js +3 -3
- package/components/BulkActions/ActionEdit/ActionEditPresenter.test.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.js +3 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.js +9 -4
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.d.ts +3 -3
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.js +43 -46
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.test.js +11 -11
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.test.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.d.ts +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.js +17 -17
- package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.js +2 -2
- package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.js.map +1 -1
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.d.ts +36 -2
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.js +11 -9
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.js.map +1 -1
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.test.js +223 -25
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.test.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/Batch.d.ts +6 -6
- package/components/BulkActions/ActionEdit/domain/BatchMapper.js +1 -1
- package/components/BulkActions/ActionEdit/domain/BatchMapper.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/Field.js +1 -1
- package/components/BulkActions/ActionEdit/domain/Field.js.map +1 -1
- package/components/BulkActions/ActionEdit/useActionEditWorker.d.ts +7 -0
- package/components/BulkActions/ActionEdit/useActionEditWorker.js +77 -0
- package/components/BulkActions/ActionEdit/useActionEditWorker.js.map +1 -0
- package/components/BulkActions/ActionMove.js +27 -75
- package/components/BulkActions/ActionMove.js.map +1 -1
- package/components/BulkActions/BulkActions.styled.d.ts +0 -2
- package/components/DropFilesHere/DropFilesHere.d.ts +1 -2
- package/components/DropFilesHere/DropFilesHere.js.map +1 -1
- package/components/DropFilesHere/styled.d.ts +0 -2
- package/components/EditFileUsingUrl/EditFileUsingUrl.d.ts +15 -0
- package/components/EditFileUsingUrl/EditFileUsingUrl.js +70 -0
- package/components/EditFileUsingUrl/EditFileUsingUrl.js.map +1 -0
- package/components/EditFileUsingUrl/EditFileUsingUrlPresenter.d.ts +18 -0
- package/components/EditFileUsingUrl/EditFileUsingUrlPresenter.js +56 -0
- package/components/EditFileUsingUrl/EditFileUsingUrlPresenter.js.map +1 -0
- package/components/EditFileUsingUrl/EditFileUsingUrlRepository.d.ts +17 -0
- package/components/EditFileUsingUrl/EditFileUsingUrlRepository.js +58 -0
- package/components/EditFileUsingUrl/EditFileUsingUrlRepository.js.map +1 -0
- package/components/EditFileUsingUrl/GetFileByUrl.d.ts +10 -0
- package/components/EditFileUsingUrl/GetFileByUrl.js +41 -0
- package/components/EditFileUsingUrl/GetFileByUrl.js.map +1 -0
- package/components/EditFileUsingUrl/Loading.d.ts +18 -0
- package/components/EditFileUsingUrl/Loading.js +68 -0
- package/components/EditFileUsingUrl/Loading.js.map +1 -0
- package/components/EditFileUsingUrl/UpdateFile.d.ts +10 -0
- package/components/EditFileUsingUrl/UpdateFile.js +25 -0
- package/components/EditFileUsingUrl/UpdateFile.js.map +1 -0
- package/components/EditFileUsingUrl/getFileByUrl.graphql.d.ts +2 -0
- package/components/EditFileUsingUrl/getFileByUrl.graphql.js +17 -0
- package/components/EditFileUsingUrl/getFileByUrl.graphql.js.map +1 -0
- package/components/EditFileUsingUrl/index.d.ts +1 -0
- package/components/EditFileUsingUrl/index.js +18 -0
- package/components/EditFileUsingUrl/index.js.map +1 -0
- package/components/Empty/Empty.d.ts +2 -2
- package/components/Empty/Empty.js.map +1 -1
- package/components/FileDetails/FileDetails.d.ts +6 -3
- package/components/FileDetails/FileDetails.js +81 -89
- package/components/FileDetails/FileDetails.js.map +1 -1
- package/components/FileDetails/components/Actions.d.ts +14 -1
- package/components/FileDetails/components/Actions.js +6 -7
- package/components/FileDetails/components/Actions.js.map +1 -1
- package/components/FileDetails/components/BaseFields.js +6 -1
- package/components/FileDetails/components/BaseFields.js.map +1 -1
- package/components/FileDetails/components/Content.d.ts +2 -1
- package/components/FileDetails/components/Content.js +11 -6
- package/components/FileDetails/components/Content.js.map +1 -1
- package/components/FileDetails/components/Extensions.js +15 -19
- package/components/FileDetails/components/Extensions.js.map +1 -1
- package/components/FileDetails/components/actions/DeleteImage.d.ts +2 -6
- package/components/FileDetails/components/actions/DeleteImage.js.map +1 -1
- package/components/Grid/File.d.ts +6 -5
- package/components/Grid/File.js +1 -1
- package/components/Grid/File.js.map +1 -1
- package/components/Grid/Grid.d.ts +4 -4
- package/components/Grid/Grid.js.map +1 -1
- package/components/Grid/styled.d.ts +0 -2
- package/components/NoPermission/NoPermission.d.ts +2 -2
- package/components/NoPermission/NoPermission.js.map +1 -1
- package/components/NoPermission/styled.d.ts +0 -6
- package/components/NoResults/NoResults.d.ts +2 -2
- package/components/NoResults/NoResults.js.map +1 -1
- package/components/NoResults/styled.d.ts +0 -2
- package/components/Table/Actions/CopyFile.d.ts +2 -0
- package/components/Table/Actions/CopyFile.js +30 -0
- package/components/Table/Actions/CopyFile.js.map +1 -0
- package/components/Table/Actions/DeleteFile.d.ts +2 -0
- package/components/Table/Actions/DeleteFile.js +36 -0
- package/components/Table/Actions/DeleteFile.js.map +1 -0
- package/components/Table/Actions/EditFile.d.ts +2 -0
- package/components/Table/Actions/EditFile.js +30 -0
- package/components/Table/Actions/EditFile.js.map +1 -0
- package/components/Table/Actions/MoveFile.d.ts +2 -0
- package/components/Table/Actions/MoveFile.js +27 -0
- package/components/Table/Actions/MoveFile.js.map +1 -0
- package/components/Table/Actions/index.d.ts +4 -0
- package/components/Table/Actions/index.js +51 -0
- package/components/Table/Actions/index.js.map +1 -0
- package/components/Table/Cells/CellActions.d.ts +2 -0
- package/components/Table/Cells/CellActions.js +43 -0
- package/components/Table/Cells/CellActions.js.map +1 -0
- package/components/Table/Cells/CellAuthor.d.ts +2 -0
- package/components/Table/Cells/CellAuthor.js +18 -0
- package/components/Table/Cells/CellAuthor.js.map +1 -0
- package/components/Table/Cells/CellCreated.d.ts +2 -0
- package/components/Table/Cells/CellCreated.js +21 -0
- package/components/Table/Cells/CellCreated.js.map +1 -0
- package/components/Table/Cells/CellModified.d.ts +2 -0
- package/components/Table/Cells/CellModified.js +21 -0
- package/components/Table/Cells/CellModified.js.map +1 -0
- package/components/Table/Cells/CellName.d.ts +16 -0
- package/components/Table/Cells/CellName.js +66 -0
- package/components/Table/Cells/CellName.js.map +1 -0
- package/components/Table/Cells/CellSize.d.ts +2 -0
- package/components/Table/Cells/CellSize.js +26 -0
- package/components/Table/Cells/CellSize.js.map +1 -0
- package/components/Table/Cells/CellType.d.ts +2 -0
- package/components/Table/Cells/CellType.js +23 -0
- package/components/Table/Cells/CellType.js.map +1 -0
- package/components/Table/{styled.d.ts → Cells/Cells.styled.d.ts} +0 -8
- package/components/Table/{styled.js → Cells/Cells.styled.js} +5 -14
- package/components/Table/Cells/Cells.styled.js.map +1 -0
- package/components/Table/Cells/index.d.ts +7 -0
- package/components/Table/Cells/index.js +84 -0
- package/components/Table/Cells/index.js.map +1 -0
- package/components/Table/Table.d.ts +3 -35
- package/components/Table/Table.js +13 -231
- package/components/Table/Table.js.map +1 -1
- package/components/Table/index.d.ts +2 -0
- package/components/Table/index.js +22 -0
- package/components/Table/index.js.map +1 -1
- package/components/Title/Title.d.ts +2 -2
- package/components/Title/Title.js.map +1 -1
- package/components/Title/styled.d.ts +0 -3
- package/components/UploadStatus/UploadStatus.d.ts +2 -2
- package/components/UploadStatus/UploadStatus.js.map +1 -1
- package/components/UploadStatus/styled.d.ts +0 -2
- package/components/fields/AccessControl.d.ts +7 -0
- package/components/fields/AccessControl.js +50 -0
- package/components/fields/AccessControl.js.map +1 -0
- package/components/{FileDetails/components → fields}/Aliases.js +6 -6
- package/components/{FileDetails/components → fields}/Aliases.js.map +1 -1
- package/components/{FileDetails/components → fields}/Name.js +1 -1
- package/components/{FileDetails/components → fields}/Name.js.map +1 -1
- package/components/{FileDetails/components → fields}/Tags.js +5 -4
- package/components/fields/Tags.js.map +1 -0
- package/components/fields/index.d.ts +4 -0
- package/components/fields/index.js +51 -0
- package/components/fields/index.js.map +1 -0
- package/components/fields/useAccessControlField.d.ts +7 -0
- package/components/fields/useAccessControlField.js +39 -0
- package/components/fields/useAccessControlField.js.map +1 -0
- package/components/fields/useFileOrUndefined.d.ts +3 -0
- package/components/fields/useFileOrUndefined.js +18 -0
- package/components/fields/useFileOrUndefined.js.map +1 -0
- package/hooks/useCopyFile.js +1 -1
- package/hooks/useCopyFile.js.map +1 -1
- package/hooks/useDeleteFile.js +7 -19
- package/hooks/useDeleteFile.js.map +1 -1
- package/hooks/useMoveFileToFolder.js +4 -20
- package/hooks/useMoveFileToFolder.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +16 -1
- package/index.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.d.ts +0 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js +95 -252
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileGraphQLSelection.d.ts +2 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileGraphQLSelection.js +18 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileGraphQLSelection.js.map +1 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/index.d.ts +1 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/index.js +7 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js +76 -128
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.d.ts +33 -5
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js +5 -4
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.d.ts +1 -1
- package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.d.ts +2 -2
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.d.ts +2 -2
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.d.ts +2 -2
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.d.ts +0 -2
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.d.ts +2 -2
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js +3 -20
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkEditField.d.ts +10 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkEditField.js +33 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkEditField.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FileAction.d.ts +8 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FileAction.js +29 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FileAction.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.d.ts +4 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderAction.d.ts +7 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderAction.js +28 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderAction.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Column.d.ts +9 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Column.js +29 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Column.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/index.d.ts +13 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/index.js +13 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/index.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.d.ts +30 -3
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js +9 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Field.d.ts +4 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.d.ts +5 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.js +23 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.d.ts +2 -2
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.d.ts +7 -2
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js +2 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/index.d.ts +12 -1
- package/modules/FileManagerRenderer/FileManagerView/index.js +22 -9
- package/modules/FileManagerRenderer/FileManagerView/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +4 -5
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +151 -307
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.d.ts +1 -2
- package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.js +8 -7
- package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.d.ts +0 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.js +0 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js +43 -60
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js +10 -4
- package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js.map +1 -1
- package/modules/FileManagerRenderer/index.js +81 -6
- package/modules/FileManagerRenderer/index.js.map +1 -1
- package/modules/FileTypes/fileImage/EditAction.d.ts +2 -2
- package/modules/FileTypes/fileImage/EditAction.js +10 -23
- package/modules/FileTypes/fileImage/EditAction.js.map +1 -1
- package/modules/FileTypes/fileImage/index.js +1 -1
- package/modules/FileTypes/fileImage/index.js.map +1 -1
- package/modules/HeadlessCms/fileField.d.ts +2 -0
- package/modules/HeadlessCms/fileField.js +49 -0
- package/modules/HeadlessCms/fileField.js.map +1 -0
- package/modules/HeadlessCms/fileRenderer/File.d.ts +16 -0
- package/modules/HeadlessCms/fileRenderer/File.js +97 -0
- package/modules/HeadlessCms/fileRenderer/File.js.map +1 -0
- package/modules/HeadlessCms/fileRenderer/fileField.d.ts +2 -0
- package/modules/HeadlessCms/fileRenderer/fileField.js +109 -0
- package/modules/HeadlessCms/fileRenderer/fileField.js.map +1 -0
- package/modules/HeadlessCms/fileRenderer/fileFields.d.ts +2 -0
- package/modules/HeadlessCms/fileRenderer/fileFields.js +154 -0
- package/modules/HeadlessCms/fileRenderer/fileFields.js.map +1 -0
- package/modules/HeadlessCms/fileRenderer/utils.d.ts +12 -0
- package/modules/HeadlessCms/fileRenderer/utils.js +59 -0
- package/modules/HeadlessCms/fileRenderer/utils.js.map +1 -0
- package/modules/HeadlessCms/index.d.ts +1 -0
- package/modules/HeadlessCms/index.js +20 -0
- package/modules/HeadlessCms/index.js.map +1 -0
- package/modules/Settings/graphql.d.ts +7 -0
- package/modules/Settings/graphql.js.map +1 -1
- package/modules/Settings/index.d.ts +2 -2
- package/modules/Settings/index.js.map +1 -1
- package/modules/Settings/plugins/installation.js +7 -23
- package/modules/Settings/plugins/installation.js.map +1 -1
- package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.d.ts +2 -2
- package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js.map +1 -1
- package/modules/Settings/views/FileManagerSettings.d.ts +2 -2
- package/modules/Settings/views/FileManagerSettings.js +27 -41
- package/modules/Settings/views/FileManagerSettings.js.map +1 -1
- package/package.json +19 -17
- package/tagsHelpers.js +1 -1
- package/tagsHelpers.js.map +1 -1
- package/types.d.ts +4 -0
- package/types.js.map +1 -1
- package/components/FileDetails/components/Tags.js.map +0 -1
- package/components/Table/FolderActionDelete.d.ts +0 -6
- package/components/Table/FolderActionDelete.js +0 -27
- package/components/Table/FolderActionDelete.js.map +0 -1
- package/components/Table/FolderActionEdit.d.ts +0 -6
- package/components/Table/FolderActionEdit.js +0 -27
- package/components/Table/FolderActionEdit.js.map +0 -1
- package/components/Table/FolderActionManagePermissions.d.ts +0 -6
- package/components/Table/FolderActionManagePermissions.js +0 -27
- package/components/Table/FolderActionManagePermissions.js.map +0 -1
- package/components/Table/Name.d.ts +0 -16
- package/components/Table/Name.js +0 -48
- package/components/Table/Name.js.map +0 -1
- package/components/Table/RecordActionCopy.d.ts +0 -8
- package/components/Table/RecordActionCopy.js +0 -32
- package/components/Table/RecordActionCopy.js.map +0 -1
- package/components/Table/RecordActionDelete.d.ts +0 -8
- package/components/Table/RecordActionDelete.js +0 -34
- package/components/Table/RecordActionDelete.js.map +0 -1
- package/components/Table/RecordActionEdit.d.ts +0 -7
- package/components/Table/RecordActionEdit.js +0 -30
- package/components/Table/RecordActionEdit.js.map +0 -1
- package/components/Table/RecordActionMove.d.ts +0 -2
- package/components/Table/RecordActionMove.js +0 -30
- package/components/Table/RecordActionMove.js.map +0 -1
- package/components/Table/styled.js.map +0 -1
- /package/components/{FileDetails/components → fields}/Aliases.d.ts +0 -0
- /package/components/{FileDetails/components → fields}/Name.d.ts +0 -0
- /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
|
|
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
|
-
|
|
28
|
-
var
|
|
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
|
|
40
|
-
|
|
41
|
-
|
|
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(
|
|
47
|
-
}, [
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
35
|
+
show: this.fields.length > 0,
|
|
55
36
|
currentBatch: this.currentBatch,
|
|
56
|
-
fields: this.
|
|
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","
|
|
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:
|
|
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:
|
|
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={
|
|
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
|
-
|
|
27
|
-
|
|
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","
|
|
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
|
}
|