@webiny/app-file-manager 5.34.8 → 5.35.0-beta.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/FileManagerFileTypePlugin.d.ts +20 -0
- package/FileManagerFileTypePlugin.js +48 -0
- package/FileManagerFileTypePlugin.js.map +1 -0
- package/app.d.ts +2 -0
- package/app.js +16 -0
- package/app.js.map +1 -0
- package/components/FileDetails/Aliases.d.ts +3 -0
- package/components/FileDetails/Aliases.js +228 -0
- package/components/FileDetails/Aliases.js.map +1 -0
- package/components/FileDetails/DeleteImageAction.d.ts +2 -0
- package/components/FileDetails/DeleteImageAction.js +82 -0
- package/components/FileDetails/DeleteImageAction.js.map +1 -0
- package/components/FileDetails/FileProvider.d.ts +13 -0
- package/components/FileDetails/FileProvider.js +29 -0
- package/components/FileDetails/FileProvider.js.map +1 -0
- package/components/FileDetails/Name.d.ts +3 -0
- package/components/FileDetails/Name.js +81 -0
- package/components/FileDetails/Name.js.map +1 -0
- package/components/FileDetails/Tags.d.ts +3 -0
- package/components/FileDetails/Tags.js +176 -0
- package/components/FileDetails/Tags.js.map +1 -0
- package/components/FileDetails.d.ts +20 -0
- package/components/FileDetails.js +243 -0
- package/components/FileDetails.js.map +1 -0
- package/getFileTypePlugin.d.ts +4 -0
- package/getFileTypePlugin.js +51 -0
- package/getFileTypePlugin.js.map +1 -0
- package/index.d.ts +4 -2
- package/index.js +37 -31
- package/index.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.d.ts +37 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js +293 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js.map +1 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.d.ts +2 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js +15 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js.map +1 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/index.d.ts +2 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/index.js +19 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/index.js.map +1 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.d.ts +3 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.js +16 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.js.map +1 -0
- package/modules/FileManagerApiProvider/graphql.d.ts +103 -0
- package/modules/FileManagerApiProvider/graphql.js +24 -0
- package/modules/FileManagerApiProvider/graphql.js.map +1 -0
- package/modules/FileManagerApiProvider/index.d.ts +2 -0
- package/modules/FileManagerApiProvider/index.js +22 -0
- package/modules/FileManagerApiProvider/index.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.d.ts +6 -0
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.js +41 -0
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.d.ts +6 -0
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.js +51 -0
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.d.ts +5 -0
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.js +48 -0
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.d.ts +11 -0
- package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.js +68 -0
- package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.d.ts +7 -0
- package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.js +32 -0
- package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/File.d.ts +16 -0
- package/modules/FileManagerRenderer/DefaultRenderer/File.js +131 -0
- package/modules/FileManagerRenderer/DefaultRenderer/File.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.d.ts +18 -0
- package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.js +443 -0
- package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.d.ts +6 -0
- package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.js +96 -0
- package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.d.ts +3 -0
- package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.js +74 -0
- package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/NoResults.d.ts +3 -0
- package/modules/FileManagerRenderer/DefaultRenderer/NoResults.js +22 -0
- package/modules/FileManagerRenderer/DefaultRenderer/NoResults.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/index.d.ts +2 -0
- package/modules/FileManagerRenderer/DefaultRenderer/index.js +70 -0
- package/modules/FileManagerRenderer/DefaultRenderer/index.js.map +1 -0
- package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.d.ts +2 -0
- package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.js +40 -0
- package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +47 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +448 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/index.d.ts +2 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/index.js +27 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/index.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.d.ts +63 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.js +100 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.d.ts +3 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.js +15 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.js.map +1 -0
- package/modules/FileManagerRenderer/index.d.ts +2 -0
- package/modules/FileManagerRenderer/index.js +13 -0
- package/modules/FileManagerRenderer/index.js.map +1 -0
- package/modules/FileTypes/fileDefault.d.ts +2 -0
- package/modules/FileTypes/fileDefault.js +28 -0
- package/modules/FileTypes/fileDefault.js.map +1 -0
- package/modules/FileTypes/fileImage/EditAction.d.ts +7 -0
- package/modules/FileTypes/fileImage/EditAction.js +123 -0
- package/modules/FileTypes/fileImage/EditAction.js.map +1 -0
- package/modules/FileTypes/fileImage/index.d.ts +2 -0
- package/modules/FileTypes/fileImage/index.js +37 -0
- package/modules/FileTypes/fileImage/index.js.map +1 -0
- package/modules/FileTypes/icons/edit.svg +17 -0
- package/modules/FileTypes/icons/round-description-24px.svg +1 -0
- package/modules/FileTypes/index.d.ts +1 -0
- package/modules/FileTypes/index.js +32 -0
- package/modules/FileTypes/index.js.map +1 -0
- package/modules/Settings/assets/icons/folder-open.svg +1 -0
- package/modules/Settings/graphql.d.ts +5 -0
- package/modules/Settings/graphql.js +17 -0
- package/modules/Settings/graphql.js.map +1 -0
- package/modules/Settings/index.d.ts +2 -0
- package/modules/Settings/index.js +35 -0
- package/modules/Settings/index.js.map +1 -0
- package/modules/Settings/plugins/installation.d.ts +3 -0
- package/modules/Settings/plugins/installation.js +103 -0
- package/modules/Settings/plugins/installation.js.map +1 -0
- package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.d.ts +14 -0
- package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js +217 -0
- package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js.map +1 -0
- package/modules/Settings/plugins/permissionRenderer/index.d.ts +3 -0
- package/modules/Settings/plugins/permissionRenderer/index.js +28 -0
- package/modules/Settings/plugins/permissionRenderer/index.js.map +1 -0
- package/modules/Settings/views/FileManagerSettings.d.ts +2 -0
- package/modules/Settings/views/FileManagerSettings.js +132 -0
- package/modules/Settings/views/FileManagerSettings.js.map +1 -0
- package/package.json +28 -16
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.stateReducer = exports.initializeState = exports.getWhere = exports.ListFilesSort = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var ListFilesSort;
|
|
10
|
+
exports.ListFilesSort = ListFilesSort;
|
|
11
|
+
(function (ListFilesSort) {
|
|
12
|
+
ListFilesSort[ListFilesSort["CREATED_ON_ASC"] = 0] = "CREATED_ON_ASC";
|
|
13
|
+
ListFilesSort[ListFilesSort["CREATED_ON_DESC"] = 1] = "CREATED_ON_DESC";
|
|
14
|
+
ListFilesSort[ListFilesSort["SIZE_ASC"] = 2] = "SIZE_ASC";
|
|
15
|
+
ListFilesSort[ListFilesSort["SIZE_DESC"] = 3] = "SIZE_DESC";
|
|
16
|
+
})(ListFilesSort || (exports.ListFilesSort = ListFilesSort = {}));
|
|
17
|
+
var DEFAULT_SCOPE = "scope:";
|
|
18
|
+
var getWhere = function getWhere(scope) {
|
|
19
|
+
if (!scope) {
|
|
20
|
+
return {
|
|
21
|
+
tag_not_startsWith: DEFAULT_SCOPE
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
tag_startsWith: scope
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
exports.getWhere = getWhere;
|
|
29
|
+
var initializeState = function initializeState(_ref) {
|
|
30
|
+
var accept = _ref.accept,
|
|
31
|
+
tags = _ref.tags,
|
|
32
|
+
scope = _ref.scope,
|
|
33
|
+
own = _ref.own,
|
|
34
|
+
identity = _ref.identity;
|
|
35
|
+
return {
|
|
36
|
+
showingFileDetails: null,
|
|
37
|
+
selected: [],
|
|
38
|
+
hasPreviouslyUploadedFiles: null,
|
|
39
|
+
queryParams: {
|
|
40
|
+
scope: scope,
|
|
41
|
+
limit: 50,
|
|
42
|
+
sort: ListFilesSort.CREATED_ON_DESC,
|
|
43
|
+
types: accept !== null && accept !== void 0 && accept.length ? accept : undefined,
|
|
44
|
+
tags: tags !== null && tags !== void 0 && tags.length ? tags : undefined,
|
|
45
|
+
createdBy: own ? identity.id : undefined
|
|
46
|
+
},
|
|
47
|
+
dragging: false,
|
|
48
|
+
uploading: false
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
exports.initializeState = initializeState;
|
|
52
|
+
var stateReducer = function stateReducer(state, action) {
|
|
53
|
+
var next = (0, _objectSpread2.default)({}, state);
|
|
54
|
+
switch (action.type) {
|
|
55
|
+
case "toggleSelected":
|
|
56
|
+
{
|
|
57
|
+
var existingIndex = state.selected.findIndex(function (item) {
|
|
58
|
+
return item.src === action.file.src;
|
|
59
|
+
});
|
|
60
|
+
if (existingIndex < 0) {
|
|
61
|
+
next.selected.push(action.file);
|
|
62
|
+
} else {
|
|
63
|
+
next.selected.splice(existingIndex, 1);
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
case "queryParams":
|
|
68
|
+
{
|
|
69
|
+
next.selected = [];
|
|
70
|
+
next.queryParams = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.queryParams), action.queryParams), {}, {
|
|
71
|
+
types: state.queryParams.types,
|
|
72
|
+
limit: 50,
|
|
73
|
+
sort: ListFilesSort.CREATED_ON_DESC
|
|
74
|
+
});
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
case "showFileDetails":
|
|
78
|
+
{
|
|
79
|
+
next.showingFileDetails = action.id;
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
case "dragging":
|
|
83
|
+
{
|
|
84
|
+
next.dragging = action.state;
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
case "hasPreviouslyUploadedFiles":
|
|
88
|
+
{
|
|
89
|
+
next.hasPreviouslyUploadedFiles = action.state;
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
case "uploading":
|
|
93
|
+
{
|
|
94
|
+
next.uploading = action.state;
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return next;
|
|
99
|
+
};
|
|
100
|
+
exports.stateReducer = stateReducer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ListFilesSort","DEFAULT_SCOPE","getWhere","scope","tag_not_startsWith","tag_startsWith","initializeState","accept","tags","own","identity","showingFileDetails","selected","hasPreviouslyUploadedFiles","queryParams","limit","sort","CREATED_ON_DESC","types","length","undefined","createdBy","id","dragging","uploading","stateReducer","state","action","next","type","existingIndex","findIndex","item","src","file","push","splice"],"sources":["stateReducer.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\n\nexport enum ListFilesSort {\n CREATED_ON_ASC,\n CREATED_ON_DESC,\n SIZE_ASC,\n SIZE_DESC\n}\n\nexport interface StateQueryParams {\n createdBy?: string;\n search?: string;\n types?: string[];\n limit?: number;\n sort?: number;\n tags?: string[];\n scope?: string;\n}\n\nexport interface State {\n showingFileDetails: string | null;\n selected: FileItem[];\n hasPreviouslyUploadedFiles: boolean | null;\n queryParams: StateQueryParams;\n dragging: boolean;\n uploading: boolean;\n}\n\nexport type Action =\n | {\n type: \"toggleSelected\";\n file: FileItem;\n }\n | {\n type: \"queryParams\";\n queryParams: StateQueryParams;\n }\n | {\n type: \"showFileDetails\";\n id: string | null;\n }\n | {\n type: \"dragging\";\n state: boolean;\n }\n | {\n type: \"hasPreviouslyUploadedFiles\";\n state: boolean;\n }\n | {\n type: \"uploading\";\n state: boolean;\n };\n\ninterface Reducer {\n (prev: State, action: Action): State;\n}\n\ninterface InitParams {\n accept?: string[];\n tags?: string[];\n scope?: string;\n own?: boolean;\n identity: any;\n}\n\nconst DEFAULT_SCOPE = \"scope:\";\n\nexport const getWhere = (scope: string | undefined) => {\n if (!scope) {\n return {\n tag_not_startsWith: DEFAULT_SCOPE\n };\n }\n return {\n tag_startsWith: scope\n };\n};\n\nexport const initializeState = ({ accept, tags, scope, own, identity }: InitParams): State => {\n return {\n showingFileDetails: null,\n selected: [],\n hasPreviouslyUploadedFiles: null,\n queryParams: {\n scope,\n limit: 50,\n sort: ListFilesSort.CREATED_ON_DESC,\n types: accept?.length ? accept : undefined,\n tags: tags?.length ? tags : undefined,\n createdBy: own ? identity.id : undefined\n },\n dragging: false,\n uploading: false\n };\n};\n\nexport const stateReducer: Reducer = (state: State, action) => {\n const next: State = {\n ...state\n };\n switch (action.type) {\n case \"toggleSelected\": {\n const existingIndex = state.selected.findIndex(item => item.src === action.file.src);\n if (existingIndex < 0) {\n next.selected.push(action.file);\n } else {\n next.selected.splice(existingIndex, 1);\n }\n break;\n }\n case \"queryParams\": {\n next.selected = [];\n next.queryParams = {\n ...state.queryParams,\n ...action.queryParams,\n types: state.queryParams.types,\n limit: 50,\n sort: ListFilesSort.CREATED_ON_DESC\n };\n break;\n }\n case \"showFileDetails\": {\n next.showingFileDetails = action.id;\n break;\n }\n case \"dragging\": {\n next.dragging = action.state;\n break;\n }\n case \"hasPreviouslyUploadedFiles\": {\n next.hasPreviouslyUploadedFiles = action.state;\n break;\n }\n case \"uploading\": {\n next.uploading = action.state;\n break;\n }\n }\n\n return next;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useFileManagerView = useFileManagerView;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _FileManagerViewContext = require("./FileManagerViewContext");
|
|
9
|
+
function useFileManagerView() {
|
|
10
|
+
var context = (0, _react.useContext)(_FileManagerViewContext.FileManagerViewContext);
|
|
11
|
+
if (!context) {
|
|
12
|
+
throw new Error("useFileManagerView() must be used within a FileManagerViewProvider");
|
|
13
|
+
}
|
|
14
|
+
return context;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useFileManagerView","context","useContext","FileManagerViewContext","Error"],"sources":["useFileManagerView.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { FileManagerViewContext, FileManagerViewContextData } from \"./FileManagerViewContext\";\nimport { FileItem } from \"@webiny/app-admin/types\";\n\nexport function useFileManagerView<TFileItem extends FileItem = FileItem>() {\n const context = useContext<FileManagerViewContextData<TFileItem>>(\n FileManagerViewContext as unknown as React.Context<FileManagerViewContextData<TFileItem>>\n );\n if (!context) {\n throw new Error(\"useFileManagerView() must be used within a FileManagerViewProvider\");\n }\n\n return context;\n}\n"],"mappings":";;;;;;AAAA;AACA;AAGO,SAASA,kBAAkB,GAA0C;EACxE,IAAMC,OAAO,GAAG,IAAAC,iBAAU,EACtBC,8CAAsB,CACzB;EACD,IAAI,CAACF,OAAO,EAAE;IACV,MAAM,IAAIG,KAAK,CAAC,oEAAoE,CAAC;EACzF;EAEA,OAAOH,OAAO;AAClB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FileManagerRendererModule = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _DefaultRenderer = require("./DefaultRenderer");
|
|
10
|
+
var FileManagerRendererModule = function FileManagerRendererModule() {
|
|
11
|
+
return /*#__PURE__*/_react.default.createElement(_DefaultRenderer.DefaultRenderer, null);
|
|
12
|
+
};
|
|
13
|
+
exports.FileManagerRendererModule = FileManagerRendererModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FileManagerRendererModule"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { DefaultRenderer } from \"./DefaultRenderer\";\n\nexport const FileManagerRendererModule = () => {\n return <DefaultRenderer />;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAAyB,GAAS;EAC3C,oBAAO,6BAAC,gCAAe,OAAG;AAC9B,CAAC;AAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.defaultFileTypePlugin = void 0;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _description = require("@material-design-icons/svg/outlined/description.svg");
|
|
10
|
+
var _emotion = require("emotion");
|
|
11
|
+
var _FileManagerFileTypePlugin = require("../../FileManagerFileTypePlugin");
|
|
12
|
+
var style = {
|
|
13
|
+
centering: /*#__PURE__*/(0, _emotion.css)({
|
|
14
|
+
display: "flex",
|
|
15
|
+
justifyContent: "center",
|
|
16
|
+
alignItems: "center",
|
|
17
|
+
height: 200
|
|
18
|
+
}, "label:centering;")
|
|
19
|
+
};
|
|
20
|
+
var defaultFileTypePlugin = new _FileManagerFileTypePlugin.FileManagerFileTypePlugin({
|
|
21
|
+
types: ["*/*"],
|
|
22
|
+
render: function render() {
|
|
23
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
24
|
+
className: style.centering
|
|
25
|
+
}, /*#__PURE__*/React.createElement(_description.ReactComponent, null));
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
exports.defaultFileTypePlugin = defaultFileTypePlugin;
|
|
@@ -0,0 +1 @@
|
|
|
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 \"@material-design-icons/svg/outlined/description.svg\";\nimport { css } from \"emotion\";\nimport { FileManagerFileTypePlugin } from \"~/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,YAAG,EAAC;IACXC,OAAO,EAAE,MAAM;IACfC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE;EACZ,CAAC;AACL,CAAC;AAEM,IAAMC,qBAAqB,GAAG,IAAIC,oDAAyB,CAAC;EAC/DC,KAAK,EAAE,CAAC,KAAK,CAAC;EACdC,MAAM,oBAAoB;IACtB,oBACI;MAAK,SAAS,EAAEV,KAAK,CAACC;IAAU,gBAC5B,oBAAC,2BAAQ,OAAG,CACV;EAEd;AACJ,CAAC,CAAC;AAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.EditAction = void 0;
|
|
8
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
var _reactHotkeyz = require("react-hotkeyz");
|
|
14
|
+
var _dataurlToBlob = _interopRequireDefault(require("dataurl-to-blob"));
|
|
15
|
+
var _ImageUpload = require("@webiny/ui/ImageUpload");
|
|
16
|
+
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
17
|
+
var _Button = require("@webiny/ui/Button");
|
|
18
|
+
var _edit = require("@material-design-icons/svg/outlined/edit.svg");
|
|
19
|
+
var _ = require("../../..");
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
|
|
24
|
+
function toDataUrl(url) {
|
|
25
|
+
return new Promise(function (resolve) {
|
|
26
|
+
var xhr = new window.XMLHttpRequest();
|
|
27
|
+
xhr.onload = function () {
|
|
28
|
+
var reader = new window.FileReader();
|
|
29
|
+
reader.onloadend = function () {
|
|
30
|
+
resolve(reader.result);
|
|
31
|
+
};
|
|
32
|
+
reader.readAsDataURL(xhr.response);
|
|
33
|
+
};
|
|
34
|
+
xhr.open("GET", url);
|
|
35
|
+
xhr.responseType = "blob";
|
|
36
|
+
xhr.send();
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
var initialState = {
|
|
40
|
+
showImageEditor: false,
|
|
41
|
+
dataUrl: null
|
|
42
|
+
};
|
|
43
|
+
var reducer = function reducer(state, action) {
|
|
44
|
+
var next = (0, _objectSpread2.default)({}, state);
|
|
45
|
+
switch (action.type) {
|
|
46
|
+
case "setDataUrl":
|
|
47
|
+
next.dataUrl = action.dataUrl;
|
|
48
|
+
next.showImageEditor = true;
|
|
49
|
+
break;
|
|
50
|
+
case "hideImageEditor":
|
|
51
|
+
next.dataUrl = null;
|
|
52
|
+
next.showImageEditor = false;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
return next;
|
|
56
|
+
};
|
|
57
|
+
var EditAction = function EditAction(props) {
|
|
58
|
+
var file = props.file;
|
|
59
|
+
var _useFileManagerApi = (0, _.useFileManagerApi)(),
|
|
60
|
+
canEdit = _useFileManagerApi.canEdit;
|
|
61
|
+
var _useFileManagerView = (0, _.useFileManagerView)(),
|
|
62
|
+
uploadFile = _useFileManagerView.uploadFile;
|
|
63
|
+
var _React$useReducer = _react.default.useReducer(reducer, initialState),
|
|
64
|
+
_React$useReducer2 = (0, _slicedToArray2.default)(_React$useReducer, 2),
|
|
65
|
+
state = _React$useReducer2[0],
|
|
66
|
+
dispatch = _React$useReducer2[1];
|
|
67
|
+
// Render nothing if the user don't have required permission for "edit".
|
|
68
|
+
if (!canEdit(file)) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
72
|
+
content: /*#__PURE__*/_react.default.createElement("span", null, "Edit image"),
|
|
73
|
+
placement: "bottom"
|
|
74
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
75
|
+
"data-testid": "fm-edit-image-button",
|
|
76
|
+
icon: /*#__PURE__*/_react.default.createElement(_edit.ReactComponent, {
|
|
77
|
+
style: {
|
|
78
|
+
margin: "0 8px 0 0"
|
|
79
|
+
}
|
|
80
|
+
}),
|
|
81
|
+
onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
82
|
+
var dataUrl;
|
|
83
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
84
|
+
while (1) switch (_context.prev = _context.next) {
|
|
85
|
+
case 0:
|
|
86
|
+
_context.next = 2;
|
|
87
|
+
return toDataUrl(file.src);
|
|
88
|
+
case 2:
|
|
89
|
+
dataUrl = _context.sent;
|
|
90
|
+
dispatch({
|
|
91
|
+
type: "setDataUrl",
|
|
92
|
+
dataUrl: dataUrl
|
|
93
|
+
});
|
|
94
|
+
case 4:
|
|
95
|
+
case "end":
|
|
96
|
+
return _context.stop();
|
|
97
|
+
}
|
|
98
|
+
}, _callee);
|
|
99
|
+
}))
|
|
100
|
+
})), /*#__PURE__*/_react.default.createElement(_reactHotkeyz.Hotkeys, {
|
|
101
|
+
zIndex: 60,
|
|
102
|
+
disabled: !state.dataUrl
|
|
103
|
+
}, /*#__PURE__*/_react.default.createElement(_ImageUpload.ImageEditorDialog, {
|
|
104
|
+
"data-testid": "fm-image-editor-dialog",
|
|
105
|
+
dialogZIndex: 100,
|
|
106
|
+
open: state.showImageEditor,
|
|
107
|
+
src: state.dataUrl,
|
|
108
|
+
onClose: function onClose() {
|
|
109
|
+
return dispatch({
|
|
110
|
+
type: "hideImageEditor"
|
|
111
|
+
});
|
|
112
|
+
},
|
|
113
|
+
onAccept: function onAccept(src) {
|
|
114
|
+
var blob = (0, _dataurlToBlob.default)(src);
|
|
115
|
+
blob.name = file.name;
|
|
116
|
+
uploadFile(blob);
|
|
117
|
+
dispatch({
|
|
118
|
+
type: "hideImageEditor"
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
})));
|
|
122
|
+
};
|
|
123
|
+
exports.EditAction = EditAction;
|
|
@@ -0,0 +1 @@
|
|
|
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","useFileManagerApi","canEdit","useFileManagerView","uploadFile","React","useReducer","dispatch","margin","src","blob","dataURLtoBlob","name"],"sources":["EditAction.tsx"],"sourcesContent":["import React from \"react\";\n// @ts-ignore\nimport { Hotkeys } from \"react-hotkeyz\";\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 { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { useFileManagerApi, useFileManagerView } from \"~/index\";\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}\n\ninterface State {\n showImageEditor: boolean;\n dataUrl: string | null;\n}\n\ninterface Action {\n type: \"setDataUrl\" | \"hideImageEditor\";\n dataUrl?: string | null;\n}\n\nconst initialState: State = {\n showImageEditor: false,\n dataUrl: null\n};\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}\n\nexport const EditAction: React.FC<EditActionProps> = props => {\n const { file } = props;\n const { canEdit } = useFileManagerApi();\n const { uploadFile } = useFileManagerView();\n const [state, dispatch] = React.useReducer(reducer, initialState);\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 blob.name = file.name;\n uploadFile(blob);\n dispatch({ type: \"hideImageEditor\" });\n }}\n />\n </Hotkeys>\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.imageFileTypePlugin = void 0;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _emotion = require("emotion");
|
|
10
|
+
var _components = require("@webiny/app/components");
|
|
11
|
+
var _EditAction = require("./EditAction");
|
|
12
|
+
var _FileManagerFileTypePlugin = require("../../../FileManagerFileTypePlugin");
|
|
13
|
+
var styles = /*#__PURE__*/(0, _emotion.css)({
|
|
14
|
+
maxHeight: 200,
|
|
15
|
+
maxWidth: 200,
|
|
16
|
+
width: "auto",
|
|
17
|
+
position: "absolute",
|
|
18
|
+
top: "50%",
|
|
19
|
+
left: "50%",
|
|
20
|
+
transform: "translateX(-50%) translateY(-50%)"
|
|
21
|
+
}, "label:styles;");
|
|
22
|
+
var imageFileTypePlugin = new _FileManagerFileTypePlugin.FileManagerFileTypePlugin({
|
|
23
|
+
types: ["image/*"],
|
|
24
|
+
actions: [_EditAction.EditAction],
|
|
25
|
+
render: function render(_ref) {
|
|
26
|
+
var file = _ref.file;
|
|
27
|
+
return /*#__PURE__*/React.createElement(_components.Image, {
|
|
28
|
+
className: styles,
|
|
29
|
+
src: file.src,
|
|
30
|
+
alt: file.name,
|
|
31
|
+
transform: {
|
|
32
|
+
width: 300
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
exports.imageFileTypePlugin = imageFileTypePlugin;
|
|
@@ -0,0 +1 @@
|
|
|
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\";\nimport { EditAction } from \"./EditAction\";\nimport { FileManagerFileTypePlugin } from \"~/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;AACA;AACA;AAEA,IAAMA,MAAM,gBAAG,IAAAC,YAAG,EAAC;EACfC,SAAS,EAAE,GAAG;EACdC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,MAAM;EACbC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE,KAAK;EACXC,SAAS,EAAE;AACf,CAAC,kBAAC;AAEK,IAAMC,mBAAmB,GAAG,IAAIC,oDAAyB,CAAC;EAC7DC,KAAK,EAAE,CAAC,SAAS,CAAC;EAClBC,OAAO,EAAE,CAACC,sBAAU,CAAC;EACrBC,MAAM,wBAAW;IAAA,IAARC,IAAI,QAAJA,IAAI;IACT,oBACI,oBAAC,iBAAK;MAAC,SAAS,EAAEf,MAAO;MAAC,GAAG,EAAEe,IAAI,CAACC,GAAI;MAAC,GAAG,EAAED,IAAI,CAACE,IAAK;MAAC,SAAS,EAAE;QAAEb,KAAK,EAAE;MAAI;IAAE,EAAG;EAE9F;AACJ,CAAC,CAAC;AAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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>
|
|
@@ -0,0 +1 @@
|
|
|
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>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FileTypesModule: () => null;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FileTypesModule = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _plugins = require("@webiny/plugins");
|
|
10
|
+
var _FileManagerFileTypePlugin = require("../../FileManagerFileTypePlugin");
|
|
11
|
+
var _fileDefault = require("./fileDefault");
|
|
12
|
+
var _fileImage = require("./fileImage");
|
|
13
|
+
function registerFileTypePlugins() {
|
|
14
|
+
// This is an ugly hack, which we will replace when we implement file thumbnail rendering via the Composition API.
|
|
15
|
+
var fileTypePlugins = _plugins.plugins.byType(_FileManagerFileTypePlugin.FileManagerFileTypePlugin.type);
|
|
16
|
+
|
|
17
|
+
// First we need to unregister already registered plugins.
|
|
18
|
+
fileTypePlugins.forEach(function (pl) {
|
|
19
|
+
return _plugins.plugins.unregister(pl.name);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Then, we need to register the default plugins first, then register user's plugins again, to generate new names.
|
|
23
|
+
_plugins.plugins.register([_fileDefault.defaultFileTypePlugin, _fileImage.imageFileTypePlugin].concat((0, _toConsumableArray2.default)(fileTypePlugins.map(function (pl) {
|
|
24
|
+
pl.name = undefined;
|
|
25
|
+
return pl;
|
|
26
|
+
}))));
|
|
27
|
+
}
|
|
28
|
+
var FileTypesModule = function FileTypesModule() {
|
|
29
|
+
registerFileTypePlugins();
|
|
30
|
+
return null;
|
|
31
|
+
};
|
|
32
|
+
exports.FileTypesModule = FileTypesModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["registerFileTypePlugins","fileTypePlugins","plugins","byType","FileManagerFileTypePlugin","type","forEach","pl","unregister","name","register","defaultFileTypePlugin","imageFileTypePlugin","map","undefined","FileTypesModule"],"sources":["index.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { FileManagerFileTypePlugin } from \"~/FileManagerFileTypePlugin\";\nimport { defaultFileTypePlugin } from \"./fileDefault\";\nimport { imageFileTypePlugin } from \"./fileImage\";\n\nfunction registerFileTypePlugins() {\n // This is an ugly hack, which we will replace when we implement file thumbnail rendering via the Composition API.\n const fileTypePlugins = plugins.byType(FileManagerFileTypePlugin.type);\n\n // First we need to unregister already registered plugins.\n fileTypePlugins.forEach(pl => plugins.unregister(pl.name as string));\n\n // Then, we need to register the default plugins first, then register user's plugins again, to generate new names.\n plugins.register([\n defaultFileTypePlugin,\n imageFileTypePlugin,\n ...fileTypePlugins.map(pl => {\n pl.name = undefined;\n return pl;\n })\n ]);\n}\n\nexport const FileTypesModule = () => {\n registerFileTypePlugins();\n\n return null;\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AAEA,SAASA,uBAAuB,GAAG;EAC/B;EACA,IAAMC,eAAe,GAAGC,gBAAO,CAACC,MAAM,CAACC,oDAAyB,CAACC,IAAI,CAAC;;EAEtE;EACAJ,eAAe,CAACK,OAAO,CAAC,UAAAC,EAAE;IAAA,OAAIL,gBAAO,CAACM,UAAU,CAACD,EAAE,CAACE,IAAI,CAAW;EAAA,EAAC;;EAEpE;EACAP,gBAAO,CAACQ,QAAQ,EACZC,kCAAqB,EACrBC,8BAAmB,0CAChBX,eAAe,CAACY,GAAG,CAAC,UAAAN,EAAE,EAAI;IACzBA,EAAE,CAACE,IAAI,GAAGK,SAAS;IACnB,OAAOP,EAAE;EACb,CAAC,CAAC,GACJ;AACN;AAEO,IAAMQ,eAAe,GAAG,SAAlBA,eAAe,GAAS;EACjCf,uBAAuB,EAAE;EAEzB,OAAO,IAAI;AACf,CAAC;AAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M20 6h-8l-1.41-1.41C10.21 4.21 9.7 4 9.17 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-1 12H5c-.55 0-1-.45-1-1V9c0-.55.45-1 1-1h14c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1z"/></svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
10
|
+
var _templateObject, _templateObject2;
|
|
11
|
+
var fields = /* GraphQL */"\n {\n data {\n uploadMinFileSize\n uploadMaxFileSize\n srcPrefix\n }\n }\n";
|
|
12
|
+
var graphql = {
|
|
13
|
+
GET_SETTINGS: (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n query GetFileManagerSettings {\n fileManager {\n getSettings", "\n }\n }\n "])), fields),
|
|
14
|
+
UPDATE_SETTINGS: (0, _graphqlTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n mutation UpdateFileManagerSettings($data: FileManagerSettingsInput) {\n fileManager {\n updateSettings(data: $data) ", "\n }\n }\n "])), fields)
|
|
15
|
+
};
|
|
16
|
+
var _default = graphql;
|
|
17
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fields","graphql","GET_SETTINGS","gql","UPDATE_SETTINGS"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nconst fields = /* GraphQL */ `\n {\n data {\n uploadMinFileSize\n uploadMaxFileSize\n srcPrefix\n }\n }\n`;\n\nconst graphql = {\n GET_SETTINGS: gql`\n query GetFileManagerSettings {\n fileManager {\n getSettings${fields}\n }\n }\n `,\n UPDATE_SETTINGS: gql`\n mutation UpdateFileManagerSettings($data: FileManagerSettingsInput) {\n fileManager {\n updateSettings(data: $data) ${fields}\n }\n }\n `\n};\n\nexport default graphql;\n"],"mappings":";;;;;;;;AAAA;AAA8B;AAE9B,IAAMA,MAAM,GAAG,+IAQd;AAED,IAAMC,OAAO,GAAG;EACZC,YAAY,MAAEC,mBAAG,iPAGYH,MAAM,CAG9B;EACLI,eAAe,MAAED,mBAAG,mRAGsBH,MAAM;AAIpD,CAAC;AAAC,eAEaC,OAAO;AAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.SettingsModule = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _plugins = require("@webiny/plugins");
|
|
10
|
+
var _app = require("@webiny/app");
|
|
11
|
+
var _appSecurity = require("@webiny/app-security");
|
|
12
|
+
var _appAdmin = require("@webiny/app-admin");
|
|
13
|
+
var _installation = _interopRequireDefault(require("./plugins/installation"));
|
|
14
|
+
var _permissionRenderer = _interopRequireDefault(require("./plugins/permissionRenderer"));
|
|
15
|
+
var _FileManagerSettings = require("./views/FileManagerSettings");
|
|
16
|
+
var SettingsModule = function SettingsModule() {
|
|
17
|
+
_plugins.plugins.register(_installation.default, _permissionRenderer.default);
|
|
18
|
+
return /*#__PURE__*/_react.default.createElement(_app.Plugin, null, /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
|
|
19
|
+
name: "fm.settings"
|
|
20
|
+
}, /*#__PURE__*/_react.default.createElement(_app.AddRoute, {
|
|
21
|
+
path: "/settings/file-manager/general"
|
|
22
|
+
}, /*#__PURE__*/_react.default.createElement(_appAdmin.Layout, {
|
|
23
|
+
title: "File Manager - General Settings"
|
|
24
|
+
}, /*#__PURE__*/_react.default.createElement(_FileManagerSettings.FileManagerSettings, null))), /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
|
|
25
|
+
name: "settings"
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
|
|
27
|
+
name: "settings.fileManager",
|
|
28
|
+
label: "File Manager"
|
|
29
|
+
}, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
|
|
30
|
+
name: "settings.fileManager.general",
|
|
31
|
+
label: "General",
|
|
32
|
+
path: "/settings/file-manager/general"
|
|
33
|
+
})))));
|
|
34
|
+
};
|
|
35
|
+
exports.SettingsModule = SettingsModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SettingsModule","plugins","register","installation","permissionRenderer"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AddRoute, Plugin } from \"@webiny/app\";\nimport { HasPermission } from \"@webiny/app-security\";\nimport { AddMenu, Layout } from \"@webiny/app-admin\";\nimport installation from \"./plugins/installation\";\nimport permissionRenderer from \"./plugins/permissionRenderer\";\nimport { FileManagerSettings } from \"./views/FileManagerSettings\";\n\nexport const SettingsModule: React.FC = () => {\n plugins.register(installation, permissionRenderer);\n\n return (\n <Plugin>\n <HasPermission name={\"fm.settings\"}>\n <AddRoute path=\"/settings/file-manager/general\">\n <Layout title={\"File Manager - General Settings\"}>\n <FileManagerSettings />\n </Layout>\n </AddRoute>\n <AddMenu name={\"settings\"}>\n <AddMenu name={\"settings.fileManager\"} label={\"File Manager\"}>\n <AddMenu\n name={\"settings.fileManager.general\"}\n label={\"General\"}\n path={\"/settings/file-manager/general\"}\n />\n </AddMenu>\n </AddMenu>\n </HasPermission>\n </Plugin>\n );\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,IAAMA,cAAwB,GAAG,SAA3BA,cAAwB,GAAS;EAC1CC,gBAAO,CAACC,QAAQ,CAACC,qBAAY,EAAEC,2BAAkB,CAAC;EAElD,oBACI,6BAAC,WAAM,qBACH,6BAAC,0BAAa;IAAC,IAAI,EAAE;EAAc,gBAC/B,6BAAC,aAAQ;IAAC,IAAI,EAAC;EAAgC,gBAC3C,6BAAC,gBAAM;IAAC,KAAK,EAAE;EAAkC,gBAC7C,6BAAC,wCAAmB,OAAG,CAClB,CACF,eACX,6BAAC,iBAAO;IAAC,IAAI,EAAE;EAAW,gBACtB,6BAAC,iBAAO;IAAC,IAAI,EAAE,sBAAuB;IAAC,KAAK,EAAE;EAAe,gBACzD,6BAAC,iBAAO;IACJ,IAAI,EAAE,8BAA+B;IACrC,KAAK,EAAE,SAAU;IACjB,IAAI,EAAE;EAAiC,EACzC,CACI,CACJ,CACE,CACX;AAEjB,CAAC;AAAC"}
|