@webiny/app-admin 5.35.0 → 5.35.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/package.json +28 -28
- package/assets/images/icons.png +0 -0
- package/assets/images/icons_retina.png +0 -0
- package/assets/images/swich.png +0 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +0 -6
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +0 -55
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +0 -1
- package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +0 -6
- package/components/FileManager/BottomInfoBar/UploadStatus.js +0 -60
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +0 -1
- package/components/FileManager/BottomInfoBar.d.ts +0 -5
- package/components/FileManager/BottomInfoBar.js +0 -60
- package/components/FileManager/BottomInfoBar.js.map +0 -1
- package/components/FileManager/DropFilesHere.d.ts +0 -10
- package/components/FileManager/DropFilesHere.js +0 -76
- package/components/FileManager/DropFilesHere.js.map +0 -1
- package/components/FileManager/File.d.ts +0 -17
- package/components/FileManager/File.js +0 -155
- package/components/FileManager/File.js.map +0 -1
- package/components/FileManager/FileDetails/Name.d.ts +0 -8
- package/components/FileManager/FileDetails/Name.js +0 -138
- package/components/FileManager/FileDetails/Name.js.map +0 -1
- package/components/FileManager/FileDetails/Tags.d.ts +0 -10
- package/components/FileManager/FileDetails/Tags.js +0 -339
- package/components/FileManager/FileDetails/Tags.js.map +0 -1
- package/components/FileManager/FileDetails.d.ts +0 -24
- package/components/FileManager/FileDetails.js +0 -474
- package/components/FileManager/FileDetails.js.map +0 -1
- package/components/FileManager/FileManagerContext.d.ts +0 -42
- package/components/FileManager/FileManagerContext.js +0 -224
- package/components/FileManager/FileManagerContext.js.map +0 -1
- package/components/FileManager/FileManagerView.d.ts +0 -18
- package/components/FileManager/FileManagerView.js +0 -721
- package/components/FileManager/FileManagerView.js.map +0 -1
- package/components/FileManager/LeftSidebar.d.ts +0 -10
- package/components/FileManager/LeftSidebar.js +0 -127
- package/components/FileManager/LeftSidebar.js.map +0 -1
- package/components/FileManager/NoPermissionView.d.ts +0 -3
- package/components/FileManager/NoPermissionView.js +0 -87
- package/components/FileManager/NoPermissionView.js.map +0 -1
- package/components/FileManager/NoResults.d.ts +0 -3
- package/components/FileManager/NoResults.js +0 -28
- package/components/FileManager/NoResults.js.map +0 -1
- package/components/FileManager/getFileTypePlugin.d.ts +0 -4
- package/components/FileManager/getFileTypePlugin.js +0 -57
- package/components/FileManager/getFileTypePlugin.js.map +0 -1
- package/components/FileManager/getFileUploader.d.ts +0 -3
- package/components/FileManager/getFileUploader.js +0 -20
- package/components/FileManager/getFileUploader.js.map +0 -1
- package/components/FileManager/graphql.d.ts +0 -96
- package/components/FileManager/graphql.js +0 -58
- package/components/FileManager/graphql.js.map +0 -1
- package/components/FileManager/icons/content_copy-black-24px.svg +0 -1
- package/components/FileManager/icons/delete.svg +0 -12
- package/components/FileManager/icons/privacy_tip-24px.svg +0 -10
- package/components/FileManager/icons/round-check_box-24px.svg +0 -4
- package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +0 -4
- package/components/FileManager/icons/round-cloud_download-24px.svg +0 -4
- package/components/FileManager/icons/round-cloud_upload-24px.svg +0 -4
- package/components/FileManager/icons/round-description-24px.svg +0 -4
- package/components/FileManager/icons/round-edit-24px.svg +0 -4
- package/components/FileManager/icons/round-info-24px.svg +0 -4
- package/components/FileManager/icons/round-label-24px.svg +0 -4
- package/components/FileManager/icons/round-more_vert-24px.svg +0 -4
- package/components/FileManager/icons/round-search-24px.svg +0 -20
- package/components/FileManager/outputFileSelectionError.d.ts +0 -7
- package/components/FileManager/outputFileSelectionError.js +0 -54
- package/components/FileManager/outputFileSelectionError.js.map +0 -1
- package/components/FileManager/types.d.ts +0 -21
- package/components/FileManager/types.js +0 -5
- package/components/FileManager/types.js.map +0 -1
- package/components/FileManager.d.ts +0 -67
- package/components/FileManager.js +0 -144
- package/components/FileManager.js.map +0 -1
- package/plugins/FileManagerFileTypePlugin.d.ts +0 -33
- package/plugins/FileManagerFileTypePlugin.js +0 -63
- package/plugins/FileManagerFileTypePlugin.js.map +0 -1
- package/plugins/fileManager/fileDefault.d.ts +0 -2
- package/plugins/fileManager/fileDefault.js +0 -34
- package/plugins/fileManager/fileDefault.js.map +0 -1
- package/plugins/fileManager/fileImage/DeleteAction.d.ts +0 -7
- package/plugins/fileManager/fileImage/DeleteAction.js +0 -83
- package/plugins/fileManager/fileImage/DeleteAction.js.map +0 -1
- package/plugins/fileManager/fileImage/EditAction.d.ts +0 -10
- package/plugins/fileManager/fileImage/EditAction.js +0 -179
- package/plugins/fileManager/fileImage/EditAction.js.map +0 -1
- package/plugins/fileManager/fileImage/index.d.ts +0 -2
- package/plugins/fileManager/fileImage/index.js +0 -46
- package/plugins/fileManager/fileImage/index.js.map +0 -1
- package/plugins/fileManager/icons/edit.svg +0 -17
- package/plugins/fileManager/icons/round-description-24px.svg +0 -1
- package/plugins/fileManager/index.d.ts +0 -2
- package/plugins/fileManager/index.js +0 -21
- package/plugins/fileManager/index.js.map +0 -1
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.defaultFileTypePlugin = void 0;
|
|
9
|
-
|
|
10
|
-
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
|
-
var _roundDescription24px = require("./icons/round-description-24px.svg");
|
|
13
|
-
|
|
14
|
-
var _emotion = require("emotion");
|
|
15
|
-
|
|
16
|
-
var _FileManagerFileTypePlugin = require("../FileManagerFileTypePlugin");
|
|
17
|
-
|
|
18
|
-
var style = {
|
|
19
|
-
centering: /*#__PURE__*/(0, _emotion.css)({
|
|
20
|
-
display: "flex",
|
|
21
|
-
justifyContent: "center",
|
|
22
|
-
alignItems: "center",
|
|
23
|
-
height: 200
|
|
24
|
-
}, "label:centering;")
|
|
25
|
-
};
|
|
26
|
-
var defaultFileTypePlugin = new _FileManagerFileTypePlugin.FileManagerFileTypePlugin({
|
|
27
|
-
types: ["*/*"],
|
|
28
|
-
render: function render() {
|
|
29
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
30
|
-
className: style.centering
|
|
31
|
-
}, /*#__PURE__*/React.createElement(_roundDescription24px.ReactComponent, null));
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
exports.defaultFileTypePlugin = defaultFileTypePlugin;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["style","centering","css","display","justifyContent","alignItems","height","defaultFileTypePlugin","FileManagerFileTypePlugin","types","render"],"sources":["fileDefault.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ReactComponent as FileIcon } from \"./icons/round-description-24px.svg\";\nimport { css } from \"emotion\";\nimport { FileManagerFileTypePlugin } from \"~/plugins/FileManagerFileTypePlugin\";\n\nconst style = {\n centering: css({\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: 200\n })\n};\n\nexport const defaultFileTypePlugin = new FileManagerFileTypePlugin({\n types: [\"*/*\"],\n render(): React.ReactNode {\n return (\n <div className={style.centering}>\n <FileIcon />\n </div>\n );\n }\n});\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,IAAMA,KAAK,GAAG;EACVC,SAAS,eAAE,IAAAC,YAAA,EAAI;IACXC,OAAO,EAAE,MADE;IAEXC,cAAc,EAAE,QAFL;IAGXC,UAAU,EAAE,QAHD;IAIXC,MAAM,EAAE;EAJG,CAAJ;AADD,CAAd;AASO,IAAMC,qBAAqB,GAAG,IAAIC,oDAAJ,CAA8B;EAC/DC,KAAK,EAAE,CAAC,KAAD,CADwD;EAE/DC,MAF+D,oBAErC;IACtB,oBACI;MAAK,SAAS,EAAEV,KAAK,CAACC;IAAtB,gBACI,oBAAC,oCAAD,OADJ,CADJ;EAKH;AAR8D,CAA9B,CAA9B"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
11
|
-
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
|
-
var _react = _interopRequireDefault(require("react"));
|
|
19
|
-
|
|
20
|
-
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
21
|
-
|
|
22
|
-
var _Button = require("@webiny/ui/Button");
|
|
23
|
-
|
|
24
|
-
var _useSnackbar2 = require("../../../hooks/useSnackbar");
|
|
25
|
-
|
|
26
|
-
var _reactHooks = require("@apollo/react-hooks");
|
|
27
|
-
|
|
28
|
-
var _i18n = require("@webiny/app/i18n");
|
|
29
|
-
|
|
30
|
-
var _delete = require("../../../components/FileManager/icons/delete.svg");
|
|
31
|
-
|
|
32
|
-
var _graphql = require("../../../components/FileManager/graphql");
|
|
33
|
-
|
|
34
|
-
var _templateObject;
|
|
35
|
-
|
|
36
|
-
var t = _i18n.i18n.ns("app-admin/file-manager/files/delete-action");
|
|
37
|
-
|
|
38
|
-
var DeleteAction = function DeleteAction(props) {
|
|
39
|
-
var file = props.file;
|
|
40
|
-
|
|
41
|
-
var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
|
|
42
|
-
showSnackbar = _useSnackbar.showSnackbar;
|
|
43
|
-
|
|
44
|
-
var _useMutation = (0, _reactHooks.useMutation)(_graphql.DELETE_FILE, {
|
|
45
|
-
variables: {
|
|
46
|
-
id: file.id
|
|
47
|
-
}
|
|
48
|
-
}),
|
|
49
|
-
_useMutation2 = (0, _slicedToArray2.default)(_useMutation, 1),
|
|
50
|
-
deleteFile = _useMutation2[0];
|
|
51
|
-
|
|
52
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
53
|
-
content: /*#__PURE__*/_react.default.createElement("span", null, "Edit image"),
|
|
54
|
-
placement: "bottom"
|
|
55
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
56
|
-
icon: /*#__PURE__*/_react.default.createElement(_delete.ReactComponent, {
|
|
57
|
-
style: {
|
|
58
|
-
margin: "0 8px 0 0"
|
|
59
|
-
}
|
|
60
|
-
}),
|
|
61
|
-
onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
62
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
63
|
-
while (1) {
|
|
64
|
-
switch (_context.prev = _context.next) {
|
|
65
|
-
case 0:
|
|
66
|
-
_context.next = 2;
|
|
67
|
-
return deleteFile();
|
|
68
|
-
|
|
69
|
-
case 2:
|
|
70
|
-
showSnackbar(t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["File deleted."]))));
|
|
71
|
-
|
|
72
|
-
case 3:
|
|
73
|
-
case "end":
|
|
74
|
-
return _context.stop();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}, _callee);
|
|
78
|
-
}))
|
|
79
|
-
})));
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
var _default = DeleteAction;
|
|
83
|
-
exports.default = _default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","DeleteAction","props","file","useSnackbar","showSnackbar","useMutation","DELETE_FILE","variables","id","deleteFile","margin"],"sources":["DeleteAction.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { useMutation } from \"@apollo/react-hooks\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { FileManagerFileItem } from \"~/components/FileManager\";\nconst t = i18n.ns(\"app-admin/file-manager/files/delete-action\");\n\nimport { ReactComponent as DeleteIcon } from \"../../../components/FileManager/icons/delete.svg\";\nimport { DELETE_FILE } from \"~/components/FileManager/graphql\";\n\ninterface DeleteActionProps {\n file: FileManagerFileItem;\n}\nconst DeleteAction: React.FC<DeleteActionProps> = props => {\n const { file } = props;\n const { showSnackbar } = useSnackbar();\n const [deleteFile] = useMutation(DELETE_FILE, {\n variables: {\n id: file.id\n }\n });\n\n return (\n <>\n <Tooltip content={<span>Edit image</span>} placement={\"bottom\"}>\n <IconButton\n icon={<DeleteIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={async () => {\n await deleteFile();\n showSnackbar(t`File deleted.`);\n }}\n />\n </Tooltip>\n </>\n );\n};\n\nexport default DeleteAction;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;;;AAHA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,4CAAR,CAAV;;AAQA,IAAMC,YAAyC,GAAG,SAA5CA,YAA4C,CAAAC,KAAK,EAAI;EACvD,IAAQC,IAAR,GAAiBD,KAAjB,CAAQC,IAAR;;EACA,mBAAyB,IAAAC,yBAAA,GAAzB;EAAA,IAAQC,YAAR,gBAAQA,YAAR;;EACA,mBAAqB,IAAAC,uBAAA,EAAYC,oBAAZ,EAAyB;IAC1CC,SAAS,EAAE;MACPC,EAAE,EAAEN,IAAI,CAACM;IADF;EAD+B,CAAzB,CAArB;EAAA;EAAA,IAAOC,UAAP;;EAMA,oBACI,yEACI,6BAAC,gBAAD;IAAS,OAAO,eAAE,2CAAM,YAAN,CAAlB;IAA2C,SAAS,EAAE;EAAtD,gBACI,6BAAC,kBAAD;IACI,IAAI,eAAE,6BAAC,sBAAD;MAAY,KAAK,EAAE;QAAEC,MAAM,EAAE;MAAV;IAAnB,EADV;IAEI,OAAO,sGAAE;MAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OACCD,UAAU,EADX;;YAAA;cAELL,YAAY,CAACP,CAAD,iGAAZ;;YAFK;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAAF;EAFX,EADJ,CADJ,CADJ;AAaH,CAtBD;;eAwBeG,Y"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { FileItem } from "../../../components/FileManager/types";
|
|
3
|
-
interface EditActionProps {
|
|
4
|
-
file: FileItem;
|
|
5
|
-
uploadFile: (file: FileItem) => void;
|
|
6
|
-
validateFiles: (blobs: any[]) => Error[];
|
|
7
|
-
canEdit: (file: FileItem) => boolean;
|
|
8
|
-
}
|
|
9
|
-
declare const EditAction: React.FC<EditActionProps>;
|
|
10
|
-
export default EditAction;
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
|
|
5
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.default = void 0;
|
|
11
|
-
|
|
12
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
13
|
-
|
|
14
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
19
|
-
|
|
20
|
-
var React = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
|
-
var _reactHotkeyz = require("react-hotkeyz");
|
|
23
|
-
|
|
24
|
-
var _dataurlToBlob = _interopRequireDefault(require("dataurl-to-blob"));
|
|
25
|
-
|
|
26
|
-
var _ImageUpload = require("@webiny/ui/ImageUpload");
|
|
27
|
-
|
|
28
|
-
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
29
|
-
|
|
30
|
-
var _Button = require("@webiny/ui/Button");
|
|
31
|
-
|
|
32
|
-
var _outputFileSelectionError = require("../../../components/FileManager/outputFileSelectionError");
|
|
33
|
-
|
|
34
|
-
var _useSnackbar2 = require("../../../hooks/useSnackbar");
|
|
35
|
-
|
|
36
|
-
var _edit = require("../icons/edit.svg");
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Package react-hotkeyz has no types.
|
|
40
|
-
*/
|
|
41
|
-
// @ts-ignore
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Package dataurl-to-blob has no types.
|
|
45
|
-
*/
|
|
46
|
-
// @ts-ignore
|
|
47
|
-
function toDataUrl(url) {
|
|
48
|
-
return new Promise(function (resolve) {
|
|
49
|
-
var xhr = new window.XMLHttpRequest();
|
|
50
|
-
|
|
51
|
-
xhr.onload = function () {
|
|
52
|
-
var reader = new window.FileReader();
|
|
53
|
-
|
|
54
|
-
reader.onloadend = function () {
|
|
55
|
-
resolve(reader.result);
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
reader.readAsDataURL(xhr.response);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
xhr.open("GET", url);
|
|
62
|
-
xhr.responseType = "blob";
|
|
63
|
-
xhr.send();
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
var initialState = {
|
|
68
|
-
showImageEditor: false,
|
|
69
|
-
dataUrl: null
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
var reducer = function reducer(state, action) {
|
|
73
|
-
var next = (0, _objectSpread2.default)({}, state);
|
|
74
|
-
|
|
75
|
-
switch (action.type) {
|
|
76
|
-
case "setDataUrl":
|
|
77
|
-
next.dataUrl = action.dataUrl;
|
|
78
|
-
next.showImageEditor = true;
|
|
79
|
-
break;
|
|
80
|
-
|
|
81
|
-
case "hideImageEditor":
|
|
82
|
-
next.dataUrl = null;
|
|
83
|
-
next.showImageEditor = false;
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return next;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
var EditAction = function EditAction(props) {
|
|
91
|
-
var file = props.file,
|
|
92
|
-
uploadFile = props.uploadFile,
|
|
93
|
-
validateFiles = props.validateFiles,
|
|
94
|
-
canEdit = props.canEdit;
|
|
95
|
-
|
|
96
|
-
var _React$useReducer = React.useReducer(reducer, initialState),
|
|
97
|
-
_React$useReducer2 = (0, _slicedToArray2.default)(_React$useReducer, 2),
|
|
98
|
-
state = _React$useReducer2[0],
|
|
99
|
-
dispatch = _React$useReducer2[1];
|
|
100
|
-
|
|
101
|
-
var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
|
|
102
|
-
showSnackbar = _useSnackbar.showSnackbar; // Render nothing if the user don't have required permission for "edit".
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (!canEdit(file)) {
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Tooltip.Tooltip, {
|
|
110
|
-
content: /*#__PURE__*/React.createElement("span", null, "Edit image"),
|
|
111
|
-
placement: "bottom"
|
|
112
|
-
}, /*#__PURE__*/React.createElement(_Button.IconButton, {
|
|
113
|
-
"data-testid": "fm-edit-image-button",
|
|
114
|
-
icon: /*#__PURE__*/React.createElement(_edit.ReactComponent, {
|
|
115
|
-
style: {
|
|
116
|
-
margin: "0 8px 0 0"
|
|
117
|
-
}
|
|
118
|
-
}),
|
|
119
|
-
onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
120
|
-
var dataUrl;
|
|
121
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
122
|
-
while (1) {
|
|
123
|
-
switch (_context.prev = _context.next) {
|
|
124
|
-
case 0:
|
|
125
|
-
_context.next = 2;
|
|
126
|
-
return toDataUrl(file.src);
|
|
127
|
-
|
|
128
|
-
case 2:
|
|
129
|
-
dataUrl = _context.sent;
|
|
130
|
-
dispatch({
|
|
131
|
-
type: "setDataUrl",
|
|
132
|
-
dataUrl: dataUrl
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
case 4:
|
|
136
|
-
case "end":
|
|
137
|
-
return _context.stop();
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}, _callee);
|
|
141
|
-
}))
|
|
142
|
-
})), /*#__PURE__*/React.createElement(_reactHotkeyz.Hotkeys, {
|
|
143
|
-
zIndex: 60,
|
|
144
|
-
disabled: !state.dataUrl
|
|
145
|
-
}, /*#__PURE__*/React.createElement(_ImageUpload.ImageEditorDialog, {
|
|
146
|
-
"data-testid": "fm-image-editor-dialog",
|
|
147
|
-
dialogZIndex: 100,
|
|
148
|
-
open: state.showImageEditor,
|
|
149
|
-
src: state.dataUrl,
|
|
150
|
-
onClose: function onClose() {
|
|
151
|
-
return dispatch({
|
|
152
|
-
type: "hideImageEditor"
|
|
153
|
-
});
|
|
154
|
-
},
|
|
155
|
-
onAccept: function onAccept(src) {
|
|
156
|
-
var blob = (0, _dataurlToBlob.default)(src);
|
|
157
|
-
var errors = validateFiles([blob]);
|
|
158
|
-
|
|
159
|
-
if (errors.length) {
|
|
160
|
-
/**
|
|
161
|
-
* TODO @ts-refactor
|
|
162
|
-
* Figure out if incoming errors var is wrong or the one in the outputFileSelectionError
|
|
163
|
-
*/
|
|
164
|
-
// @ts-ignore
|
|
165
|
-
showSnackbar((0, _outputFileSelectionError.outputFileSelectionError)(errors));
|
|
166
|
-
} else {
|
|
167
|
-
blob.name = file.name;
|
|
168
|
-
uploadFile(blob);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
dispatch({
|
|
172
|
-
type: "hideImageEditor"
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
})));
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
var _default = EditAction;
|
|
179
|
-
exports.default = _default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["toDataUrl","url","Promise","resolve","xhr","window","XMLHttpRequest","onload","reader","FileReader","onloadend","result","readAsDataURL","response","open","responseType","send","initialState","showImageEditor","dataUrl","reducer","state","action","next","type","EditAction","props","file","uploadFile","validateFiles","canEdit","React","useReducer","dispatch","useSnackbar","showSnackbar","margin","src","blob","dataURLtoBlob","errors","length","outputFileSelectionError","name"],"sources":["EditAction.tsx"],"sourcesContent":["import * as React from \"react\";\n/**\n * Package react-hotkeyz has no types.\n */\n// @ts-ignore\nimport { Hotkeys } from \"react-hotkeyz\";\n/**\n * Package dataurl-to-blob has no types.\n */\n// @ts-ignore\nimport dataURLtoBlob from \"dataurl-to-blob\";\nimport { ImageEditorDialog } from \"@webiny/ui/ImageUpload\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { outputFileSelectionError } from \"~/components/FileManager/outputFileSelectionError\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { ReactComponent as EditIcon } from \"../icons/edit.svg\";\nimport { FileItem } from \"~/components/FileManager/types\";\n\nfunction toDataUrl(url: string): Promise<string> {\n return new Promise((resolve: (value: string) => void) => {\n const xhr = new window.XMLHttpRequest();\n xhr.onload = function () {\n const reader = new window.FileReader();\n reader.onloadend = function () {\n resolve(reader.result as string);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.send();\n });\n}\ninterface State {\n showImageEditor: boolean;\n dataUrl: string | null;\n}\ninterface Action {\n type: \"setDataUrl\" | \"hideImageEditor\";\n dataUrl?: string | null;\n}\nconst initialState: State = {\n showImageEditor: false,\n dataUrl: null\n};\nconst reducer = (state: State, action: Action): State => {\n const next: State = { ...state };\n\n switch (action.type) {\n case \"setDataUrl\":\n next.dataUrl = action.dataUrl as string;\n next.showImageEditor = true;\n break;\n case \"hideImageEditor\":\n next.dataUrl = null;\n next.showImageEditor = false;\n break;\n }\n\n return next;\n};\n\ninterface EditActionProps {\n file: FileItem;\n uploadFile: (file: FileItem) => void;\n validateFiles: (blobs: any[]) => Error[];\n canEdit: (file: FileItem) => boolean;\n}\n\nconst EditAction: React.FC<EditActionProps> = props => {\n const { file, uploadFile, validateFiles, canEdit } = props;\n const [state, dispatch] = React.useReducer(reducer, initialState);\n const { showSnackbar } = useSnackbar();\n // Render nothing if the user don't have required permission for \"edit\".\n if (!canEdit(file)) {\n return null;\n }\n\n return (\n <>\n <Tooltip content={<span>Edit image</span>} placement={\"bottom\"}>\n <IconButton\n data-testid={\"fm-edit-image-button\"}\n icon={<EditIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={async () => {\n const dataUrl = await toDataUrl(file.src);\n dispatch({ type: \"setDataUrl\", dataUrl });\n }}\n />\n </Tooltip>\n <Hotkeys zIndex={60} disabled={!state.dataUrl}>\n <ImageEditorDialog\n data-testid={\"fm-image-editor-dialog\"}\n dialogZIndex={100}\n open={state.showImageEditor}\n src={state.dataUrl as string}\n onClose={() => dispatch({ type: \"hideImageEditor\" })}\n onAccept={src => {\n const blob = dataURLtoBlob(src);\n const errors = validateFiles([blob]);\n\n if (errors.length) {\n /**\n * TODO @ts-refactor\n * Figure out if incoming errors var is wrong or the one in the outputFileSelectionError\n */\n // @ts-ignore\n showSnackbar(outputFileSelectionError(errors));\n } else {\n blob.name = file.name;\n uploadFile(blob);\n }\n\n dispatch({ type: \"hideImageEditor\" });\n }}\n />\n </Hotkeys>\n </>\n );\n};\n\nexport default EditAction;\n"],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.imageFileTypePlugin = void 0;
|
|
11
|
-
|
|
12
|
-
var React = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
|
-
var _emotion = require("emotion");
|
|
15
|
-
|
|
16
|
-
var _components = require("@webiny/app/components");
|
|
17
|
-
|
|
18
|
-
var _EditAction = _interopRequireDefault(require("./EditAction"));
|
|
19
|
-
|
|
20
|
-
var _FileManagerFileTypePlugin = require("../../FileManagerFileTypePlugin");
|
|
21
|
-
|
|
22
|
-
var styles = /*#__PURE__*/(0, _emotion.css)({
|
|
23
|
-
maxHeight: 200,
|
|
24
|
-
maxWidth: 200,
|
|
25
|
-
width: "auto",
|
|
26
|
-
position: "absolute",
|
|
27
|
-
top: "50%",
|
|
28
|
-
left: "50%",
|
|
29
|
-
transform: "translateX(-50%) translateY(-50%)"
|
|
30
|
-
}, "label:styles;");
|
|
31
|
-
var imageFileTypePlugin = new _FileManagerFileTypePlugin.FileManagerFileTypePlugin({
|
|
32
|
-
types: ["image/*"],
|
|
33
|
-
actions: [_EditAction.default],
|
|
34
|
-
render: function render(_ref) {
|
|
35
|
-
var file = _ref.file;
|
|
36
|
-
return /*#__PURE__*/React.createElement(_components.Image, {
|
|
37
|
-
className: styles,
|
|
38
|
-
src: file.src,
|
|
39
|
-
alt: file.name,
|
|
40
|
-
transform: {
|
|
41
|
-
width: 300
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
exports.imageFileTypePlugin = imageFileTypePlugin;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["styles","css","maxHeight","maxWidth","width","position","top","left","transform","imageFileTypePlugin","FileManagerFileTypePlugin","types","actions","EditAction","render","file","src","name"],"sources":["index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { css } from \"emotion\";\nimport { Image } from \"@webiny/app/components\";\n\nimport EditAction from \"./EditAction\";\nimport { FileManagerFileTypePlugin } from \"~/plugins/FileManagerFileTypePlugin\";\n\nconst styles = css({\n maxHeight: 200,\n maxWidth: 200,\n width: \"auto\",\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translateX(-50%) translateY(-50%)\"\n});\n\nexport const imageFileTypePlugin = new FileManagerFileTypePlugin({\n types: [\"image/*\"],\n actions: [EditAction],\n render({ file }) {\n return (\n <Image className={styles} src={file.src} alt={file.name} transform={{ width: 300 }} />\n );\n }\n});\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,MAAM,gBAAG,IAAAC,YAAA,EAAI;EACfC,SAAS,EAAE,GADI;EAEfC,QAAQ,EAAE,GAFK;EAGfC,KAAK,EAAE,MAHQ;EAIfC,QAAQ,EAAE,UAJK;EAKfC,GAAG,EAAE,KALU;EAMfC,IAAI,EAAE,KANS;EAOfC,SAAS,EAAE;AAPI,CAAJ,kBAAf;AAUO,IAAMC,mBAAmB,GAAG,IAAIC,oDAAJ,CAA8B;EAC7DC,KAAK,EAAE,CAAC,SAAD,CADsD;EAE7DC,OAAO,EAAE,CAACC,mBAAD,CAFoD;EAG7DC,MAH6D,wBAG5C;IAAA,IAARC,IAAQ,QAARA,IAAQ;IACb,oBACI,oBAAC,iBAAD;MAAO,SAAS,EAAEf,MAAlB;MAA0B,GAAG,EAAEe,IAAI,CAACC,GAApC;MAAyC,GAAG,EAAED,IAAI,CAACE,IAAnD;MAAyD,SAAS,EAAE;QAAEb,KAAK,EAAE;MAAT;IAApE,EADJ;EAGH;AAP4D,CAA9B,CAA5B"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
-
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px"
|
|
4
|
-
height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
5
|
-
<g id="Bounding_Boxes">
|
|
6
|
-
<g id="ui_x5F_spec_x5F_header_copy_3">
|
|
7
|
-
</g>
|
|
8
|
-
<path fill="none" d="M0,0h24v24H0V0z"/>
|
|
9
|
-
</g>
|
|
10
|
-
<g id="Rounded">
|
|
11
|
-
<g id="ui_x5F_spec_x5F_header_copy_7">
|
|
12
|
-
</g>
|
|
13
|
-
<path d="M3,17.46v3.04C3,20.78,3.22,21,3.5,21h3.04c0.13,0,0.26-0.05,0.35-0.15L17.81,9.94l-3.75-3.75L3.15,17.1
|
|
14
|
-
C3.05,17.2,3,17.32,3,17.46z M20.71,7.04c0.39-0.39,0.39-1.02,0-1.41l-2.34-2.34c-0.39-0.39-1.02-0.39-1.41,0l-1.83,1.83l3.75,3.75
|
|
15
|
-
L20.71,7.04z"/>
|
|
16
|
-
</g>
|
|
17
|
-
</svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M14.59 2.59c-.38-.38-.89-.59-1.42-.59H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8.83c0-.53-.21-1.04-.59-1.41l-4.82-4.83zM15 18H9c-.55 0-1-.45-1-1s.45-1 1-1h6c.55 0 1 .45 1 1s-.45 1-1 1zm0-4H9c-.55 0-1-.45-1-1s.45-1 1-1h6c.55 0 1 .45 1 1s-.45 1-1 1zm-2-6V3.5L18.5 9H14c-.55 0-1-.45-1-1z"/></svg>
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "defaultFileTypePlugin", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _fileDefault.defaultFileTypePlugin;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "imageFileTypePlugin", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function get() {
|
|
15
|
-
return _fileImage.imageFileTypePlugin;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
var _fileDefault = require("./fileDefault");
|
|
20
|
-
|
|
21
|
-
var _fileImage = require("./fileImage");
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { defaultFileTypePlugin } from \"./fileDefault\";\nexport { imageFileTypePlugin } from \"./fileImage\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA"}
|