@webiny/app-file-manager 5.38.0 → 5.38.1
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/components/BulkActions/ActionEdit/ActionEdit.d.ts +4 -0
- package/components/BulkActions/ActionEdit/ActionEdit.js +159 -0
- package/components/BulkActions/ActionEdit/ActionEdit.js.map +1 -0
- package/components/BulkActions/ActionEdit/ActionEdit.styled.d.ts +32 -0
- package/components/BulkActions/ActionEdit/ActionEdit.styled.js +39 -0
- package/components/BulkActions/ActionEdit/ActionEdit.styled.js.map +1 -0
- package/components/BulkActions/ActionEdit/ActionEdit.types.d.ts +2 -0
- package/components/BulkActions/ActionEdit/ActionEdit.types.js +7 -0
- package/components/BulkActions/ActionEdit/ActionEdit.types.js.map +1 -0
- package/components/BulkActions/ActionEdit/ActionEditPresenter.d.ts +34 -0
- package/components/BulkActions/ActionEdit/ActionEditPresenter.js +75 -0
- package/components/BulkActions/ActionEdit/ActionEditPresenter.js.map +1 -0
- package/components/BulkActions/ActionEdit/ActionEditPresenter.test.d.ts +1 -0
- package/components/BulkActions/ActionEdit/ActionEditPresenter.test.js +162 -0
- package/components/BulkActions/ActionEdit/ActionEditPresenter.test.js.map +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/AddOperation.d.ts +7 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/AddOperation.js +23 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/AddOperation.js.map +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.d.ts +15 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.js +64 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.js.map +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.d.ts +15 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.js +60 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.js.map +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.d.ts +66 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.js +193 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.js.map +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.test.d.ts +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.test.js +328 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.test.js.map +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.d.ts +8 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.js +42 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.js.map +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.d.ts +11 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.js +54 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.js.map +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/RemoveOperation.d.ts +7 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/RemoveOperation.js +27 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/RemoveOperation.js.map +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/index.d.ts +1 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/index.js +18 -0
- package/components/BulkActions/ActionEdit/BatchEditorDialog/index.js.map +1 -0
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.d.ts +7 -0
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.js +54 -0
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.js.map +1 -0
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.test.d.ts +1 -0
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.test.js +59 -0
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.test.js.map +1 -0
- package/components/BulkActions/ActionEdit/domain/Batch.d.ts +53 -0
- package/components/BulkActions/ActionEdit/domain/Batch.js +48 -0
- package/components/BulkActions/ActionEdit/domain/Batch.js.map +1 -0
- package/components/BulkActions/ActionEdit/domain/BatchMapper.d.ts +4 -0
- package/components/BulkActions/ActionEdit/domain/BatchMapper.js +32 -0
- package/components/BulkActions/ActionEdit/domain/BatchMapper.js.map +1 -0
- package/components/BulkActions/ActionEdit/domain/Field.d.ts +32 -0
- package/components/BulkActions/ActionEdit/domain/Field.js +74 -0
- package/components/BulkActions/ActionEdit/domain/Field.js.map +1 -0
- package/components/BulkActions/ActionEdit/domain/FieldMapper.d.ts +7 -0
- package/components/BulkActions/ActionEdit/domain/FieldMapper.js +49 -0
- package/components/BulkActions/ActionEdit/domain/FieldMapper.js.map +1 -0
- package/components/BulkActions/ActionEdit/domain/index.d.ts +4 -0
- package/components/BulkActions/ActionEdit/domain/index.js +51 -0
- package/components/BulkActions/ActionEdit/domain/index.js.map +1 -0
- package/components/BulkActions/ActionEdit/index.d.ts +1 -0
- package/components/BulkActions/ActionEdit/index.js +18 -0
- package/components/BulkActions/ActionEdit/index.js.map +1 -0
- package/components/BulkActions/index.d.ts +1 -0
- package/components/BulkActions/index.js +8 -0
- package/components/BulkActions/index.js.map +1 -1
- package/modules/FileManagerRenderer/index.js +3 -0
- package/modules/FileManagerRenderer/index.js.map +1 -1
- package/package.json +19 -18
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
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
|
+
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
|
+
var _mobxReactLite = require("mobx-react-lite");
|
|
16
|
+
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
17
|
+
var _FileManagerViewConfig = require("../../../modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig");
|
|
18
|
+
var _FileManagerApiContext = require("../../../modules/FileManagerApiProvider/FileManagerApiContext");
|
|
19
|
+
var _FileManagerViewProvider = require("../../../modules/FileManagerRenderer/FileManagerViewProvider");
|
|
20
|
+
var _useFileModel2 = require("../../../hooks/useFileModel");
|
|
21
|
+
var _ = require("./..");
|
|
22
|
+
var _GraphQLInputMapper = require("./GraphQLInputMapper");
|
|
23
|
+
var _BatchEditorDialog = require("./BatchEditorDialog");
|
|
24
|
+
var _ActionEditPresenter = require("./ActionEditPresenter");
|
|
25
|
+
var ActionEdit = (0, _mobxReactLite.observer)(function () {
|
|
26
|
+
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;
|
|
37
|
+
var _useButtons = useButtons(),
|
|
38
|
+
IconButton = _useButtons.IconButton;
|
|
39
|
+
var _useBulkActionDialog = useBulkActionDialog(),
|
|
40
|
+
showConfirmationDialog = _useBulkActionDialog.showConfirmationDialog,
|
|
41
|
+
showResultsDialog = _useBulkActionDialog.showResultsDialog;
|
|
42
|
+
var presenter = (0, _react.useMemo)(function () {
|
|
43
|
+
return new _ActionEditPresenter.ActionEditPresenter();
|
|
44
|
+
}, []);
|
|
45
|
+
(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
|
+
};
|
|
129
|
+
var onBatchEditorSubmit = (0, _react.useCallback)(function (batch) {
|
|
130
|
+
presenter.closeEditor();
|
|
131
|
+
openWorkerDialog(batch);
|
|
132
|
+
}, [openWorkerDialog]);
|
|
133
|
+
if (!presenter.vm.show) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
if (!canEditAll) {
|
|
137
|
+
console.log("You don't have permissions to edit files.");
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(IconButton, {
|
|
141
|
+
icon: /*#__PURE__*/_react.default.createElement(_edit.ReactComponent, null),
|
|
142
|
+
onAction: function onAction() {
|
|
143
|
+
return presenter.openEditor();
|
|
144
|
+
},
|
|
145
|
+
label: "Edit ".concat(filesLabel),
|
|
146
|
+
tooltipPlacement: "bottom"
|
|
147
|
+
}), /*#__PURE__*/_react.default.createElement(_BatchEditorDialog.BatchEditorDialog, {
|
|
148
|
+
onClose: function onClose() {
|
|
149
|
+
return presenter.closeEditor();
|
|
150
|
+
},
|
|
151
|
+
fields: presenter.vm.fields,
|
|
152
|
+
batch: presenter.vm.currentBatch,
|
|
153
|
+
vm: presenter.vm.editorVm,
|
|
154
|
+
onApply: onBatchEditorSubmit
|
|
155
|
+
}));
|
|
156
|
+
});
|
|
157
|
+
exports.ActionEdit = ActionEdit;
|
|
158
|
+
|
|
159
|
+
//# sourceMappingURL=ActionEdit.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
/// <reference types="react" />
|
|
3
|
+
/// <reference types="web" />
|
|
4
|
+
import { Dialog } from "@webiny/ui/Dialog";
|
|
5
|
+
export declare const ActionEditFormContainer: import("@emotion/styled").StyledComponent<{
|
|
6
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
7
|
+
as?: import("react").ElementType<any> | undefined;
|
|
8
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
9
|
+
export declare const DialogContainer: import("@emotion/styled").StyledComponent<import("@webiny/ui/Dialog").DialogProps & {
|
|
10
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
11
|
+
}, {}, {
|
|
12
|
+
ref?: import("react").Ref<Dialog> | undefined;
|
|
13
|
+
}>;
|
|
14
|
+
export declare const BatchEditorContainer: import("@emotion/styled").StyledComponent<{
|
|
15
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
16
|
+
as?: import("react").ElementType<any> | undefined;
|
|
17
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
18
|
+
export declare const AddOperationInner: import("@emotion/styled").StyledComponent<{
|
|
19
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
20
|
+
as?: import("react").ElementType<any> | undefined;
|
|
21
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
22
|
+
interface ButtonIconProps {
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare const ButtonIcon: import("@emotion/styled").StyledComponent<import("react").SVGProps<SVGSVGElement> & {
|
|
26
|
+
alt?: string | undefined;
|
|
27
|
+
} & {
|
|
28
|
+
children?: import("react").ReactNode;
|
|
29
|
+
} & {
|
|
30
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
31
|
+
} & ButtonIconProps, {}, {}>;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.DialogContainer = exports.ButtonIcon = exports.BatchEditorContainer = exports.AddOperationInner = exports.ActionEditFormContainer = void 0;
|
|
8
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
9
|
+
var _add = require("@material-design-icons/svg/round/add.svg");
|
|
10
|
+
var _Dialog = require("@webiny/ui/Dialog");
|
|
11
|
+
var ActionEditFormContainer = /*#__PURE__*/(0, _styled.default)("div", {
|
|
12
|
+
label: "ActionEditFormContainer",
|
|
13
|
+
target: "e8q9yhg0"
|
|
14
|
+
})("margin:-24px !important;");
|
|
15
|
+
exports.ActionEditFormContainer = ActionEditFormContainer;
|
|
16
|
+
var DialogContainer = /*#__PURE__*/(0, _styled.default)(_Dialog.Dialog, {
|
|
17
|
+
label: "DialogContainer",
|
|
18
|
+
target: "e8q9yhg1"
|
|
19
|
+
})("z-index:22;.mdc-dialog__surface{width:800px;min-width:800px;}");
|
|
20
|
+
exports.DialogContainer = DialogContainer;
|
|
21
|
+
var BatchEditorContainer = /*#__PURE__*/(0, _styled.default)("div", {
|
|
22
|
+
label: "BatchEditorContainer",
|
|
23
|
+
target: "e8q9yhg2"
|
|
24
|
+
})("padding:24px;");
|
|
25
|
+
exports.BatchEditorContainer = BatchEditorContainer;
|
|
26
|
+
var AddOperationInner = /*#__PURE__*/(0, _styled.default)("div", {
|
|
27
|
+
label: "AddOperationInner",
|
|
28
|
+
target: "e8q9yhg3"
|
|
29
|
+
})("padding:24px 0 0;text-align:center;");
|
|
30
|
+
exports.AddOperationInner = AddOperationInner;
|
|
31
|
+
var ButtonIcon = /*#__PURE__*/(0, _styled.default)(_add.ReactComponent, {
|
|
32
|
+
label: "ButtonIcon",
|
|
33
|
+
target: "e8q9yhg4"
|
|
34
|
+
})("fill:", function (props) {
|
|
35
|
+
return props.disabled ? "var(--mdc-theme-text-hint-on-light)" : "var(--mdc-theme-primary)";
|
|
36
|
+
}, ";width:18px;margin-right:8px;");
|
|
37
|
+
exports.ButtonIcon = ButtonIcon;
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=ActionEdit.styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_styled","_interopRequireDefault","require","_add","_Dialog","ActionEditFormContainer","styled","label","target","exports","DialogContainer","Dialog","BatchEditorContainer","AddOperationInner","ButtonIcon","AddIcon","props","disabled"],"sources":["ActionEdit.styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { ReactComponent as AddIcon } from \"@material-design-icons/svg/round/add.svg\";\nimport { Dialog } from \"@webiny/ui/Dialog\";\n\nexport const ActionEditFormContainer = styled.div`\n margin: -24px !important;\n`;\n\nexport const DialogContainer = styled(Dialog)`\n z-index: 22;\n\n .mdc-dialog__surface {\n width: 800px;\n min-width: 800px;\n }\n`;\n\nexport const BatchEditorContainer = styled.div`\n padding: 24px;\n`;\n\nexport const AddOperationInner = styled.div`\n padding: 24px 0 0;\n text-align: center;\n`;\n\ninterface ButtonIconProps {\n disabled?: boolean;\n}\n\nexport const ButtonIcon = styled(AddIcon)<ButtonIconProps>`\n fill: ${props =>\n props.disabled ? \"var(--mdc-theme-text-hint-on-light)\" : \"var(--mdc-theme-primary)\"};\n width: 18px;\n margin-right: 8px;\n`;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEO,IAAMG,uBAAuB,oBAAGC,eAAM;EAAAC,KAAA;EAAAC,MAAA;AAAA,8BAE5C;AAACC,OAAA,CAAAJ,uBAAA,GAAAA,uBAAA;AAEK,IAAMK,eAAe,oBAAGJ,eAAM,EAACK,cAAM;EAAAJ,KAAA;EAAAC,MAAA;AAAA,mEAO3C;AAACC,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAEK,IAAME,oBAAoB,oBAAGN,eAAM;EAAAC,KAAA;EAAAC,MAAA;AAAA,mBAEzC;AAACC,OAAA,CAAAG,oBAAA,GAAAA,oBAAA;AAEK,IAAMC,iBAAiB,oBAAGP,eAAM;EAAAC,KAAA;EAAAC,MAAA;AAAA,yCAGtC;AAACC,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAMK,IAAMC,UAAU,oBAAGR,eAAM,EAACS,mBAAO;EAAAR,KAAA;EAAAC,MAAA;AAAA,YAC5B,UAAAQ,KAAK;EAAA,OACTA,KAAK,CAACC,QAAQ,GAAG,qCAAqC,GAAG,0BAA0B;AAAA,mCAG1F;AAACR,OAAA,CAAAK,UAAA,GAAAA,UAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["ActionEdit.types.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\n\nexport type ActionFormData = Partial<Omit<FileItem, \"id\">>;\n"],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { BatchDTO, FieldDTO, FieldRaw } from "./domain";
|
|
2
|
+
interface IActionEditPresenter {
|
|
3
|
+
load: (fields: FieldRaw[]) => void;
|
|
4
|
+
openEditor: () => void;
|
|
5
|
+
closeEditor: () => void;
|
|
6
|
+
get vm(): {
|
|
7
|
+
show: boolean;
|
|
8
|
+
currentBatch: BatchDTO;
|
|
9
|
+
fields: FieldDTO[];
|
|
10
|
+
editorVm: {
|
|
11
|
+
isOpen: boolean;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare class ActionEditPresenter implements IActionEditPresenter {
|
|
16
|
+
private showEditor;
|
|
17
|
+
private readonly currentBatch;
|
|
18
|
+
private extensionFields;
|
|
19
|
+
constructor();
|
|
20
|
+
load(fields: FieldRaw[]): void;
|
|
21
|
+
private getExtensionFields;
|
|
22
|
+
private get editorVm();
|
|
23
|
+
get vm(): {
|
|
24
|
+
show: boolean;
|
|
25
|
+
currentBatch: BatchDTO;
|
|
26
|
+
fields: FieldDTO[];
|
|
27
|
+
editorVm: {
|
|
28
|
+
isOpen: boolean;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
openEditor(): void;
|
|
32
|
+
closeEditor(): void;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ActionEditPresenter = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _mobx = require("mobx");
|
|
12
|
+
var _domain = require("./domain");
|
|
13
|
+
var ActionEditPresenter = /*#__PURE__*/function () {
|
|
14
|
+
function ActionEditPresenter() {
|
|
15
|
+
(0, _classCallCheck2.default)(this, ActionEditPresenter);
|
|
16
|
+
(0, _defineProperty2.default)(this, "showEditor", false);
|
|
17
|
+
this.extensionFields = [];
|
|
18
|
+
this.currentBatch = _domain.BatchMapper.toDTO(_domain.Batch.createEmpty());
|
|
19
|
+
(0, _mobx.makeAutoObservable)(this);
|
|
20
|
+
}
|
|
21
|
+
(0, _createClass2.default)(ActionEditPresenter, [{
|
|
22
|
+
key: "load",
|
|
23
|
+
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
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}, {
|
|
51
|
+
key: "vm",
|
|
52
|
+
get: function get() {
|
|
53
|
+
return {
|
|
54
|
+
show: this.extensionFields.length > 0,
|
|
55
|
+
currentBatch: this.currentBatch,
|
|
56
|
+
fields: this.extensionFields,
|
|
57
|
+
editorVm: this.editorVm
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}, {
|
|
61
|
+
key: "openEditor",
|
|
62
|
+
value: function openEditor() {
|
|
63
|
+
this.showEditor = true;
|
|
64
|
+
}
|
|
65
|
+
}, {
|
|
66
|
+
key: "closeEditor",
|
|
67
|
+
value: function closeEditor() {
|
|
68
|
+
this.showEditor = false;
|
|
69
|
+
}
|
|
70
|
+
}]);
|
|
71
|
+
return ActionEditPresenter;
|
|
72
|
+
}();
|
|
73
|
+
exports.ActionEditPresenter = ActionEditPresenter;
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=ActionEditPresenter.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _ActionEditPresenter = require("./ActionEditPresenter");
|
|
4
|
+
describe("ActionEditPresenter", function () {
|
|
5
|
+
var extensionFields = [{
|
|
6
|
+
id: "field1",
|
|
7
|
+
fieldId: "field1",
|
|
8
|
+
label: "Field 1",
|
|
9
|
+
type: "text",
|
|
10
|
+
renderer: {
|
|
11
|
+
name: "text-input"
|
|
12
|
+
},
|
|
13
|
+
tags: ["$bulk-edit"],
|
|
14
|
+
storageId: "text@field1"
|
|
15
|
+
}, {
|
|
16
|
+
id: "field2",
|
|
17
|
+
fieldId: "field2",
|
|
18
|
+
label: "Field 2",
|
|
19
|
+
type: "ref",
|
|
20
|
+
renderer: {
|
|
21
|
+
name: "ref-inputs"
|
|
22
|
+
},
|
|
23
|
+
multipleValues: true,
|
|
24
|
+
settings: {
|
|
25
|
+
models: [{
|
|
26
|
+
modelId: "any-model"
|
|
27
|
+
}]
|
|
28
|
+
},
|
|
29
|
+
tags: ["$bulk-edit"],
|
|
30
|
+
storageId: "ref@field2"
|
|
31
|
+
}, {
|
|
32
|
+
id: "field3",
|
|
33
|
+
fieldId: "field3",
|
|
34
|
+
label: "Field 3",
|
|
35
|
+
type: "number",
|
|
36
|
+
renderer: {
|
|
37
|
+
name: "number-input"
|
|
38
|
+
},
|
|
39
|
+
tags: [],
|
|
40
|
+
storageId: "number@field3"
|
|
41
|
+
}];
|
|
42
|
+
var createFields = function createFields(extensionFields) {
|
|
43
|
+
return [{
|
|
44
|
+
id: "name",
|
|
45
|
+
storageId: "text@name",
|
|
46
|
+
fieldId: "name",
|
|
47
|
+
label: "Name",
|
|
48
|
+
type: "text",
|
|
49
|
+
settings: {},
|
|
50
|
+
listValidation: [],
|
|
51
|
+
validation: [{
|
|
52
|
+
name: "required",
|
|
53
|
+
message: "Value is required."
|
|
54
|
+
}],
|
|
55
|
+
multipleValues: false,
|
|
56
|
+
predefinedValues: {
|
|
57
|
+
values: [],
|
|
58
|
+
enabled: false
|
|
59
|
+
},
|
|
60
|
+
renderer: {
|
|
61
|
+
name: "text-input"
|
|
62
|
+
}
|
|
63
|
+
}, {
|
|
64
|
+
id: "extensions",
|
|
65
|
+
storageId: "object@extensions",
|
|
66
|
+
fieldId: "extensions",
|
|
67
|
+
label: "Extensions",
|
|
68
|
+
type: "object",
|
|
69
|
+
settings: {
|
|
70
|
+
layout: extensionFields.map(function (field) {
|
|
71
|
+
return [field.id];
|
|
72
|
+
}),
|
|
73
|
+
fields: extensionFields
|
|
74
|
+
},
|
|
75
|
+
listValidation: [],
|
|
76
|
+
validation: [],
|
|
77
|
+
multipleValues: false,
|
|
78
|
+
predefinedValues: {
|
|
79
|
+
values: [],
|
|
80
|
+
enabled: false
|
|
81
|
+
},
|
|
82
|
+
renderer: {
|
|
83
|
+
name: "any"
|
|
84
|
+
}
|
|
85
|
+
}];
|
|
86
|
+
};
|
|
87
|
+
var presenter;
|
|
88
|
+
beforeEach(function () {
|
|
89
|
+
jest.clearAllMocks();
|
|
90
|
+
presenter = new _ActionEditPresenter.ActionEditPresenter();
|
|
91
|
+
});
|
|
92
|
+
it("should create a presenter and load extensions fields", function () {
|
|
93
|
+
presenter.load(createFields(extensionFields));
|
|
94
|
+
|
|
95
|
+
// I should see the bulk edit action
|
|
96
|
+
expect(presenter.vm.show).toEqual(true);
|
|
97
|
+
|
|
98
|
+
// I should receive a `currentBatch`
|
|
99
|
+
expect(presenter.vm.currentBatch).toEqual({
|
|
100
|
+
operations: [{
|
|
101
|
+
field: "",
|
|
102
|
+
operator: "",
|
|
103
|
+
value: {}
|
|
104
|
+
}]
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
// I should receive the `fields` available for bulk edit
|
|
108
|
+
expect(presenter.vm.fields).toEqual([{
|
|
109
|
+
label: "Field 1",
|
|
110
|
+
value: "field1",
|
|
111
|
+
operators: [{
|
|
112
|
+
label: "Override existing values",
|
|
113
|
+
value: "OVERRIDE"
|
|
114
|
+
}, {
|
|
115
|
+
label: "Clear all existing values",
|
|
116
|
+
value: "REMOVE"
|
|
117
|
+
}],
|
|
118
|
+
raw: extensionFields[0]
|
|
119
|
+
}, {
|
|
120
|
+
label: "Field 2",
|
|
121
|
+
value: "field2",
|
|
122
|
+
operators: [{
|
|
123
|
+
label: "Override existing values",
|
|
124
|
+
value: "OVERRIDE"
|
|
125
|
+
}, {
|
|
126
|
+
label: "Clear all existing values",
|
|
127
|
+
value: "REMOVE"
|
|
128
|
+
}, {
|
|
129
|
+
label: "Append to existing values",
|
|
130
|
+
value: "APPEND"
|
|
131
|
+
}],
|
|
132
|
+
raw: extensionFields[1]
|
|
133
|
+
}]);
|
|
134
|
+
|
|
135
|
+
// I should receive the editor.vm
|
|
136
|
+
expect(presenter.vm.editorVm).toEqual({
|
|
137
|
+
isOpen: false
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
it("should not show the bulk action if no `extensions` fields are defined", function () {
|
|
141
|
+
presenter.load(createFields([]));
|
|
142
|
+
|
|
143
|
+
// The editor action should not be rendered
|
|
144
|
+
expect(presenter.vm.show).toBe(false);
|
|
145
|
+
});
|
|
146
|
+
it("should open / close the editor", function () {
|
|
147
|
+
presenter.load(createFields(extensionFields));
|
|
148
|
+
|
|
149
|
+
// The editor should be closed by default
|
|
150
|
+
expect(presenter.vm.editorVm.isOpen).toBe(false);
|
|
151
|
+
|
|
152
|
+
// Let's open the editor
|
|
153
|
+
presenter.openEditor();
|
|
154
|
+
expect(presenter.vm.editorVm.isOpen).toBe(true);
|
|
155
|
+
|
|
156
|
+
// Let's open the editor
|
|
157
|
+
presenter.closeEditor();
|
|
158
|
+
expect(presenter.vm.editorVm.isOpen).toBe(false);
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
//# sourceMappingURL=ActionEditPresenter.test.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.AddOperation = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _Button = require("@webiny/ui/Button");
|
|
10
|
+
var _ActionEdit = require("../ActionEdit.styled");
|
|
11
|
+
var AddOperation = function AddOperation(_ref) {
|
|
12
|
+
var disabled = _ref.disabled,
|
|
13
|
+
onClick = _ref.onClick;
|
|
14
|
+
return /*#__PURE__*/_react.default.createElement(_ActionEdit.AddOperationInner, null, /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
|
|
15
|
+
disabled: disabled,
|
|
16
|
+
onClick: onClick
|
|
17
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionEdit.ButtonIcon, {
|
|
18
|
+
disabled: disabled
|
|
19
|
+
}), " ", "Add new operation"));
|
|
20
|
+
};
|
|
21
|
+
exports.AddOperation = AddOperation;
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=AddOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Button","_ActionEdit","AddOperation","_ref","disabled","onClick","default","createElement","AddOperationInner","ButtonDefault","ButtonIcon","exports"],"sources":["AddOperation.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { ButtonDefault } from \"@webiny/ui/Button\";\n\nimport {\n AddOperationInner,\n ButtonIcon\n} from \"~/components/BulkActions/ActionEdit/ActionEdit.styled\";\n\ninterface AddOperationProps {\n disabled: boolean;\n onClick: () => void;\n}\n\nexport const AddOperation = ({ disabled, onClick }: AddOperationProps) => {\n return (\n <AddOperationInner>\n <ButtonDefault disabled={disabled} onClick={onClick}>\n <ButtonIcon disabled={disabled} /> {\"Add new operation\"}\n </ButtonDefault>\n </AddOperationInner>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAUO,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAiD;EAAA,IAA3CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EAC5C,oBACIR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACN,WAAA,CAAAO,iBAAiB,qBACdX,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAS,aAAa;IAACL,QAAQ,EAAEA,QAAS;IAACC,OAAO,EAAEA;EAAQ,gBAChDR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACN,WAAA,CAAAS,UAAU;IAACN,QAAQ,EAAEA;EAAS,CAAE,CAAC,KAAC,EAAC,mBACzB,CACA,CAAC;AAE5B,CAAC;AAACO,OAAA,CAAAT,YAAA,GAAAA,YAAA"}
|