@webiny/app-file-manager 0.0.0-mt-3 → 0.0.0-unstable.2af142b57e
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/admin/graphql.js +13 -9
- package/admin/graphql.js.map +1 -0
- package/admin/index.d.ts +1 -1
- package/admin/index.js +12 -4
- package/admin/index.js.map +1 -0
- package/admin/plugins/index.d.ts +1 -1
- package/admin/plugins/index.js +13 -6
- package/admin/plugins/index.js.map +1 -0
- package/admin/plugins/installation.js +60 -68
- package/admin/plugins/installation.js.map +1 -0
- package/admin/plugins/permissionRenderer/FileManagerPermissions.d.ts +14 -5
- package/admin/plugins/permissionRenderer/FileManagerPermissions.js +73 -82
- package/admin/plugins/permissionRenderer/FileManagerPermissions.js.map +1 -0
- package/admin/plugins/permissionRenderer/index.js +21 -15
- package/admin/plugins/permissionRenderer/index.js.map +1 -0
- package/admin/views/FileManagerSettings.d.ts +2 -2
- package/admin/views/FileManagerSettings.js +115 -77
- package/admin/views/FileManagerSettings.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.js +30 -0
- package/index.js.map +1 -0
- package/package.json +29 -28
- package/types.d.ts +13 -0
- package/types.js +5 -1
- package/types.js.map +1 -0
- package/admin/plugins/menus.d.ts +0 -5
- package/admin/plugins/menus.js +0 -101
- package/admin/plugins/upgrades/v5.0.0.d.ts +0 -5
- package/admin/plugins/upgrades/v5.0.0.js +0 -85
package/admin/graphql.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
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"));
|
|
3
10
|
var _templateObject, _templateObject2;
|
|
4
|
-
|
|
5
|
-
import gql from "graphql-tag";
|
|
6
|
-
var fields =
|
|
7
|
-
/* GraphQL */
|
|
8
|
-
"\n {\n data {\n uploadMinFileSize\n uploadMaxFileSize\n }\n }\n";
|
|
11
|
+
var fields = /* GraphQL */"\n {\n data {\n uploadMinFileSize\n uploadMaxFileSize\n srcPrefix\n }\n }\n";
|
|
9
12
|
var graphql = {
|
|
10
|
-
GET_SETTINGS:
|
|
11
|
-
UPDATE_SETTINGS:
|
|
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)
|
|
12
15
|
};
|
|
13
|
-
|
|
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"}
|
package/admin/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: () => (() => (import("@webiny/app-admin/types").AdminInstallationPlugin | import("@webiny/app-admin/types").AdminAppPermissionRendererPlugin
|
|
1
|
+
declare const _default: () => (() => (import("@webiny/app-admin/types").AdminInstallationPlugin | import("@webiny/app-admin/types").AdminAppPermissionRendererPlugin)[])[];
|
|
2
2
|
export default _default;
|
package/admin/index.js
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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 _plugins = _interopRequireDefault(require("./plugins"));
|
|
9
|
+
var _default = function _default() {
|
|
10
|
+
return [_plugins.default];
|
|
11
|
+
};
|
|
12
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["plugins"],"sources":["index.ts"],"sourcesContent":["import plugins from \"./plugins\";\n\nexport default () => [plugins];\n"],"mappings":";;;;;;;AAAA;AAAgC,eAEjB;EAAA,OAAM,CAACA,gBAAO,CAAC;AAAA;AAAA"}
|
package/admin/plugins/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: () => (import("@webiny/app-admin/types").AdminInstallationPlugin | import("@webiny/app-admin/types").AdminAppPermissionRendererPlugin
|
|
1
|
+
declare const _default: () => (import("@webiny/app-admin/types").AdminInstallationPlugin | import("@webiny/app-admin/types").AdminAppPermissionRendererPlugin)[];
|
|
2
2
|
export default _default;
|
package/admin/plugins/index.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
});
|
|
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 _installation = _interopRequireDefault(require("./installation"));
|
|
9
|
+
var _permissionRenderer = _interopRequireDefault(require("./permissionRenderer"));
|
|
10
|
+
var _default = function _default() {
|
|
11
|
+
return [_installation.default, _permissionRenderer.default];
|
|
12
|
+
};
|
|
13
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["installation","permissionRenderer"],"sources":["index.ts"],"sourcesContent":["import installation from \"./installation\";\nimport permissionRenderer from \"./permissionRenderer\";\n\nexport default () => [installation, permissionRenderer];\n"],"mappings":";;;;;;;AAAA;AACA;AAAsD,eAEvC;EAAA,OAAM,CAACA,qBAAY,EAAEC,2BAAkB,CAAC;AAAA;AAAA"}
|
|
@@ -1,112 +1,104 @@
|
|
|
1
|
-
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
1
|
+
"use strict";
|
|
4
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
15
|
+
var _reactHooks = require("@apollo/react-hooks");
|
|
16
|
+
var _i18n = require("@webiny/app/i18n");
|
|
17
|
+
var _Alert = require("@webiny/ui/Alert");
|
|
18
|
+
var _Progress = require("@webiny/ui/Progress");
|
|
19
|
+
var _SimpleForm = require("@webiny/app-admin/components/SimpleForm");
|
|
20
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
21
|
+
var _config = require("@webiny/app/config");
|
|
5
22
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
6
|
-
|
|
7
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
8
|
-
import React, { useState, useEffect, lazy } from "react";
|
|
9
|
-
import gql from "graphql-tag";
|
|
10
|
-
import { useApolloClient } from "@apollo/react-hooks";
|
|
11
|
-
import { i18n } from "@webiny/app/i18n";
|
|
12
|
-
import { Alert } from "@webiny/ui/Alert";
|
|
13
|
-
import { CircularProgress } from "@webiny/ui/Progress";
|
|
14
|
-
import { SimpleForm, SimpleFormContent } from "@webiny/app-admin/components/SimpleForm";
|
|
15
|
-
import styled from "@emotion/styled";
|
|
16
|
-
var SimpleFormPlaceholder = /*#__PURE__*/styled("div", {
|
|
23
|
+
var SimpleFormPlaceholder = /*#__PURE__*/(0, _styled.default)("div", {
|
|
17
24
|
target: "eratgeh0",
|
|
18
25
|
label: "SimpleFormPlaceholder"
|
|
19
26
|
})({
|
|
20
27
|
minHeight: 300,
|
|
21
28
|
minWidth: 400
|
|
22
29
|
});
|
|
23
|
-
var t = i18n.ns("app-file-manager/admin/installation");
|
|
24
|
-
var IS_INSTALLED =
|
|
25
|
-
var INSTALL =
|
|
26
|
-
|
|
30
|
+
var t = _i18n.i18n.ns("app-file-manager/admin/installation");
|
|
31
|
+
var IS_INSTALLED = (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n query IsFileManagerInstalled {\n fileManager {\n version\n }\n }\n"])));
|
|
32
|
+
var INSTALL = (0, _graphqlTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n mutation InstallFileManager($srcPrefix: String) {\n fileManager {\n install(srcPrefix: $srcPrefix) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n"])));
|
|
27
33
|
var FMInstaller = function FMInstaller(_ref) {
|
|
28
34
|
var onInstalled = _ref.onInstalled;
|
|
29
|
-
var client = useApolloClient();
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
useEffect(function () {
|
|
35
|
+
var client = (0, _reactHooks.useApolloClient)();
|
|
36
|
+
var _useState = (0, _react.useState)(null),
|
|
37
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
38
|
+
error = _useState2[0],
|
|
39
|
+
setError = _useState2[1];
|
|
40
|
+
var apiUrl = _config.config.getKey("API_URL", process.env.REACT_APP_API_URL);
|
|
41
|
+
(0, _react.useEffect)(function () {
|
|
37
42
|
client.mutate({
|
|
38
43
|
mutation: INSTALL,
|
|
39
44
|
variables: {
|
|
40
|
-
srcPrefix:
|
|
45
|
+
srcPrefix: apiUrl + "/files"
|
|
41
46
|
}
|
|
42
47
|
}).then(function (_ref2) {
|
|
43
48
|
var data = _ref2.data;
|
|
44
49
|
var error = data.fileManager.install.error;
|
|
45
|
-
|
|
46
50
|
if (error) {
|
|
47
51
|
setError(error.message);
|
|
48
52
|
return;
|
|
49
|
-
}
|
|
50
|
-
|
|
53
|
+
}
|
|
51
54
|
|
|
55
|
+
// Just so the user sees the actual message.
|
|
52
56
|
setTimeout(onInstalled, 3000);
|
|
53
57
|
});
|
|
54
58
|
}, []);
|
|
55
|
-
var label = error ? /*#__PURE__*/
|
|
56
|
-
title: t(_templateObject3 || (_templateObject3 =
|
|
59
|
+
var label = error ? /*#__PURE__*/_react.default.createElement(_Alert.Alert, {
|
|
60
|
+
title: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Something went wrong"]))),
|
|
57
61
|
type: "danger"
|
|
58
|
-
}, error) : t(_templateObject4 || (_templateObject4 =
|
|
59
|
-
return /*#__PURE__*/
|
|
62
|
+
}, error) : t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Installing File Manager..."])));
|
|
63
|
+
return /*#__PURE__*/_react.default.createElement(_SimpleForm.SimpleForm, null, /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
|
|
60
64
|
label: label
|
|
61
|
-
}), /*#__PURE__*/
|
|
65
|
+
}), /*#__PURE__*/_react.default.createElement(_SimpleForm.SimpleFormContent, null, /*#__PURE__*/_react.default.createElement(SimpleFormPlaceholder, null)));
|
|
62
66
|
};
|
|
63
|
-
|
|
64
67
|
var plugin = {
|
|
65
68
|
name: "admin-installation-fm",
|
|
66
69
|
type: "admin-installation",
|
|
67
|
-
title: t(_templateObject5 || (_templateObject5 =
|
|
70
|
+
title: t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["File Manager"]))),
|
|
68
71
|
dependencies: ["admin-installation-security", "admin-installation-i18n"],
|
|
69
72
|
secure: true,
|
|
70
73
|
getInstalledVersion: function getInstalledVersion(_ref3) {
|
|
71
|
-
return
|
|
74
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
72
75
|
var client, _yield$client$query, data;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
case 6:
|
|
90
|
-
case "end":
|
|
91
|
-
return _context.stop();
|
|
92
|
-
}
|
|
76
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
77
|
+
while (1) switch (_context.prev = _context.next) {
|
|
78
|
+
case 0:
|
|
79
|
+
client = _ref3.client;
|
|
80
|
+
_context.next = 3;
|
|
81
|
+
return client.query({
|
|
82
|
+
query: IS_INSTALLED
|
|
83
|
+
});
|
|
84
|
+
case 3:
|
|
85
|
+
_yield$client$query = _context.sent;
|
|
86
|
+
data = _yield$client$query.data;
|
|
87
|
+
return _context.abrupt("return", data.fileManager.version);
|
|
88
|
+
case 6:
|
|
89
|
+
case "end":
|
|
90
|
+
return _context.stop();
|
|
93
91
|
}
|
|
94
92
|
}, _callee);
|
|
95
93
|
}))();
|
|
96
94
|
},
|
|
97
95
|
render: function render(_ref4) {
|
|
98
96
|
var onInstalled = _ref4.onInstalled;
|
|
99
|
-
return /*#__PURE__*/
|
|
97
|
+
return /*#__PURE__*/_react.default.createElement(FMInstaller, {
|
|
100
98
|
onInstalled: onInstalled
|
|
101
99
|
});
|
|
102
100
|
},
|
|
103
|
-
upgrades: [
|
|
104
|
-
version: "5.0.0",
|
|
105
|
-
getComponent: function getComponent() {
|
|
106
|
-
return /*#__PURE__*/lazy(function () {
|
|
107
|
-
return import("./upgrades/v5.0.0");
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}]
|
|
101
|
+
upgrades: []
|
|
111
102
|
};
|
|
112
|
-
|
|
103
|
+
var _default = plugin;
|
|
104
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SimpleFormPlaceholder","styled","minHeight","minWidth","t","i18n","ns","IS_INSTALLED","gql","INSTALL","FMInstaller","onInstalled","client","useApolloClient","useState","error","setError","apiUrl","appConfig","getKey","process","env","REACT_APP_API_URL","useEffect","mutate","mutation","variables","srcPrefix","then","data","fileManager","install","message","setTimeout","label","plugin","name","type","title","dependencies","secure","getInstalledVersion","query","version","render","upgrades"],"sources":["installation.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport gql from \"graphql-tag\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { AdminInstallationPlugin } from \"@webiny/app-admin/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { SimpleForm, SimpleFormContent } from \"@webiny/app-admin/components/SimpleForm\";\nimport styled from \"@emotion/styled\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\nconst SimpleFormPlaceholder = styled.div({\n minHeight: 300,\n minWidth: 400\n});\n\nconst t = i18n.ns(\"app-file-manager/admin/installation\");\n\nconst IS_INSTALLED = gql`\n query IsFileManagerInstalled {\n fileManager {\n version\n }\n }\n`;\n\nconst INSTALL = gql`\n mutation InstallFileManager($srcPrefix: String) {\n fileManager {\n install(srcPrefix: $srcPrefix) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\ninterface FileManagerInstallerProps {\n onInstalled: () => Promise<void>;\n}\nconst FMInstaller: React.FC<FileManagerInstallerProps> = ({ onInstalled }) => {\n const client = useApolloClient();\n const [error, setError] = useState(null);\n\n const apiUrl = appConfig.getKey(\"API_URL\", process.env.REACT_APP_API_URL);\n\n useEffect(() => {\n client\n .mutate({\n mutation: INSTALL,\n variables: { srcPrefix: apiUrl + \"/files\" }\n })\n .then(({ data }) => {\n const { error } = data.fileManager.install;\n if (error) {\n setError(error.message);\n return;\n }\n\n // Just so the user sees the actual message.\n setTimeout(onInstalled, 3000);\n });\n }, []);\n\n const label = error ? (\n <Alert title={t`Something went wrong`} type={\"danger\"}>\n {error}\n </Alert>\n ) : (\n t`Installing File Manager...`\n );\n\n return (\n <SimpleForm>\n <CircularProgress label={label} />\n <SimpleFormContent>\n <SimpleFormPlaceholder />\n </SimpleFormContent>\n </SimpleForm>\n );\n};\n\nconst plugin: AdminInstallationPlugin = {\n name: \"admin-installation-fm\",\n type: \"admin-installation\",\n title: t`File Manager`,\n dependencies: [\"admin-installation-security\", \"admin-installation-i18n\"],\n secure: true,\n async getInstalledVersion({ client }) {\n const { data } = await client.query({ query: IS_INSTALLED });\n return data.fileManager.version;\n },\n render({ onInstalled }) {\n return <FMInstaller onInstalled={onInstalled} />;\n },\n upgrades: []\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAyD;AAEzD,IAAMA,qBAAqB,oBAAGC,eAAM;EAAA;EAAA;AAAA,GAAK;EACrCC,SAAS,EAAE,GAAG;EACdC,QAAQ,EAAE;AACd,CAAC,CAAC;AAEF,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,qCAAqC,CAAC;AAExD,IAAMC,YAAY,OAAGC,mBAAG,wLAMvB;AAED,IAAMC,OAAO,OAAGD,mBAAG,wYAalB;AAID,IAAME,WAAgD,GAAG,SAAnDA,WAAgD,OAAwB;EAAA,IAAlBC,WAAW,QAAXA,WAAW;EACnE,IAAMC,MAAM,GAAG,IAAAC,2BAAe,GAAE;EAChC,gBAA0B,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAA;IAAjCC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,MAAM,GAAGC,cAAS,CAACC,MAAM,CAAC,SAAS,EAAEC,OAAO,CAACC,GAAG,CAACC,iBAAiB,CAAC;EAEzE,IAAAC,gBAAS,EAAC,YAAM;IACZX,MAAM,CACDY,MAAM,CAAC;MACJC,QAAQ,EAAEhB,OAAO;MACjBiB,SAAS,EAAE;QAAEC,SAAS,EAAEV,MAAM,GAAG;MAAS;IAC9C,CAAC,CAAC,CACDW,IAAI,CAAC,iBAAc;MAAA,IAAXC,IAAI,SAAJA,IAAI;MACT,IAAQd,KAAK,GAAKc,IAAI,CAACC,WAAW,CAACC,OAAO,CAAlChB,KAAK;MACb,IAAIA,KAAK,EAAE;QACPC,QAAQ,CAACD,KAAK,CAACiB,OAAO,CAAC;QACvB;MACJ;;MAEA;MACAC,UAAU,CAACtB,WAAW,EAAE,IAAI,CAAC;IACjC,CAAC,CAAC;EACV,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMuB,KAAK,GAAGnB,KAAK,gBACf,6BAAC,YAAK;IAAC,KAAK,EAAEX,CAAC,yGAAuB;IAAC,IAAI,EAAE;EAAS,GACjDW,KAAK,CACF,GAERX,CAAC,+GACJ;EAED,oBACI,6BAAC,sBAAU,qBACP,6BAAC,0BAAgB;IAAC,KAAK,EAAE8B;EAAM,EAAG,eAClC,6BAAC,6BAAiB,qBACd,6BAAC,qBAAqB,OAAG,CACT,CACX;AAErB,CAAC;AAED,IAAMC,MAA+B,GAAG;EACpCC,IAAI,EAAE,uBAAuB;EAC7BC,IAAI,EAAE,oBAAoB;EAC1BC,KAAK,EAAElC,CAAC,iGAAc;EACtBmC,YAAY,EAAE,CAAC,6BAA6B,EAAE,yBAAyB,CAAC;EACxEC,MAAM,EAAE,IAAI;EACNC,mBAAmB,sCAAa;IAAA;MAAA;MAAA;QAAA;UAAA;YAAV7B,MAAM,SAANA,MAAM;YAAA;YAAA,OACPA,MAAM,CAAC8B,KAAK,CAAC;cAAEA,KAAK,EAAEnC;YAAa,CAAC,CAAC;UAAA;YAAA;YAApDsB,IAAI,uBAAJA,IAAI;YAAA,iCACLA,IAAI,CAACC,WAAW,CAACa,OAAO;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EACnC,CAAC;EACDC,MAAM,yBAAkB;IAAA,IAAfjC,WAAW,SAAXA,WAAW;IAChB,oBAAO,6BAAC,WAAW;MAAC,WAAW,EAAEA;IAAY,EAAG;EACpD,CAAC;EACDkC,QAAQ,EAAE;AACd,CAAC;AAAC,eAEaV,MAAM;AAAA"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface FileManagerPermissionItem {
|
|
3
|
+
settingsAccessScope?: string;
|
|
4
|
+
filesAccessScope?: string;
|
|
5
|
+
accessLevel?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
filesRWD?: string;
|
|
8
|
+
}
|
|
9
|
+
interface FileManagerPermissionsProps {
|
|
10
|
+
value: FileManagerPermissionItem;
|
|
11
|
+
onChange: (value: FileManagerPermissionItem[]) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const FileManagerPermissions: React.FC<FileManagerPermissionsProps>;
|
|
14
|
+
export {};
|
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.FileManagerPermissions = void 0;
|
|
9
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _Grid = require("@webiny/ui/Grid");
|
|
12
|
+
var _Select = require("@webiny/ui/Select");
|
|
13
|
+
var _i18n = require("@webiny/app/i18n");
|
|
14
|
+
var _Permissions = require("@webiny/app-admin/components/Permissions");
|
|
15
|
+
var _form = require("@webiny/form");
|
|
16
|
+
var _Elevation = require("@webiny/ui/Elevation");
|
|
17
|
+
var _Typography = require("@webiny/ui/Typography");
|
|
3
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;
|
|
4
|
-
|
|
5
|
-
import React, { Fragment, useCallback, useMemo } from "react";
|
|
6
|
-
import { Grid, Cell } from "@webiny/ui/Grid";
|
|
7
|
-
import { Select } from "@webiny/ui/Select";
|
|
8
|
-
import { i18n } from "@webiny/app/i18n";
|
|
9
|
-
import { PermissionInfo, gridNoPaddingClass } from "@webiny/app-admin/components/Permissions";
|
|
10
|
-
import { Form } from "@webiny/form";
|
|
11
|
-
import { Elevation } from "@webiny/ui/Elevation";
|
|
12
|
-
import { Typography } from "@webiny/ui/Typography";
|
|
13
|
-
var t = i18n.ns("app-file-manager/admin/plugins/permissionRenderer");
|
|
19
|
+
var t = _i18n.i18n.ns("app-file-manager/admin/plugins/permissionRenderer");
|
|
14
20
|
var FILE_MANAGER = "fm";
|
|
15
21
|
var FILE_MANAGER_FULL_ACCESS = "".concat(FILE_MANAGER, ".*");
|
|
16
22
|
var FILE_MANAGER_ACCESS_FILE = "".concat(FILE_MANAGER, ".file");
|
|
@@ -18,87 +24,77 @@ var FILE_MANAGER_ACCESS_SETTINGS = "".concat(FILE_MANAGER, ".settings");
|
|
|
18
24
|
var FULL_ACCESS = "full";
|
|
19
25
|
var NO_ACCESS = "no";
|
|
20
26
|
var CUSTOM_ACCESS = "custom";
|
|
21
|
-
|
|
27
|
+
var FileManagerPermissions = function FileManagerPermissions(_ref) {
|
|
22
28
|
var value = _ref.value,
|
|
23
|
-
|
|
24
|
-
var onFormChange = useCallback(function (data) {
|
|
29
|
+
onChange = _ref.onChange;
|
|
30
|
+
var onFormChange = (0, _react.useCallback)(function (data) {
|
|
25
31
|
var newValue = [];
|
|
26
|
-
|
|
27
32
|
if (Array.isArray(value)) {
|
|
28
33
|
// Let's just filter out the `file-manager*` permission objects, it's easier to build new ones from scratch.
|
|
29
34
|
newValue = value.filter(function (item) {
|
|
30
35
|
return !item.name.startsWith(FILE_MANAGER);
|
|
31
36
|
});
|
|
32
37
|
}
|
|
33
|
-
|
|
34
38
|
if (data.accessLevel === NO_ACCESS) {
|
|
35
39
|
onChange(newValue);
|
|
36
40
|
return;
|
|
37
41
|
}
|
|
38
|
-
|
|
39
42
|
if (data.accessLevel === FULL_ACCESS) {
|
|
40
43
|
newValue.push({
|
|
41
44
|
name: FILE_MANAGER_FULL_ACCESS
|
|
42
45
|
});
|
|
43
46
|
onChange(newValue);
|
|
44
47
|
return;
|
|
45
|
-
}
|
|
46
|
-
// Files first.
|
|
48
|
+
}
|
|
47
49
|
|
|
50
|
+
// Handling custom access level.
|
|
48
51
|
|
|
52
|
+
// Files first.
|
|
49
53
|
if (data.filesAccessScope && data.filesAccessScope !== NO_ACCESS) {
|
|
50
54
|
var permission = {
|
|
51
55
|
name: FILE_MANAGER_ACCESS_FILE,
|
|
52
56
|
own: false,
|
|
53
57
|
rwd: undefined
|
|
54
58
|
};
|
|
55
|
-
|
|
56
59
|
if (data.filesAccessScope === "own") {
|
|
57
60
|
permission.own = true;
|
|
58
61
|
permission.rwd = "rwd";
|
|
59
62
|
} else {
|
|
60
63
|
permission.rwd = data.filesRWD || "r";
|
|
61
64
|
}
|
|
62
|
-
|
|
63
65
|
newValue.push(permission);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
+
}
|
|
66
67
|
|
|
68
|
+
// Settings second.
|
|
67
69
|
if (data.settingsAccessScope === FULL_ACCESS) {
|
|
68
70
|
newValue.push({
|
|
69
71
|
name: FILE_MANAGER_ACCESS_SETTINGS
|
|
70
72
|
});
|
|
71
73
|
}
|
|
72
|
-
|
|
73
74
|
onChange(newValue);
|
|
74
75
|
}, [value]);
|
|
75
|
-
var formData = useMemo(function () {
|
|
76
|
+
var formData = (0, _react.useMemo)(function () {
|
|
76
77
|
if (!Array.isArray(value)) {
|
|
77
78
|
return {
|
|
78
79
|
accessLevel: NO_ACCESS
|
|
79
80
|
};
|
|
80
81
|
}
|
|
81
|
-
|
|
82
82
|
var hasFullAccess = value.find(function (item) {
|
|
83
83
|
return item.name === FILE_MANAGER_FULL_ACCESS || item.name === "*";
|
|
84
84
|
});
|
|
85
|
-
|
|
86
85
|
if (hasFullAccess) {
|
|
87
86
|
return {
|
|
88
87
|
accessLevel: FULL_ACCESS
|
|
89
88
|
};
|
|
90
89
|
}
|
|
91
|
-
|
|
92
90
|
var permissions = value.filter(function (item) {
|
|
93
91
|
return item.name.startsWith(FILE_MANAGER);
|
|
94
92
|
});
|
|
95
|
-
|
|
96
93
|
if (!permissions.length) {
|
|
97
94
|
return {
|
|
98
95
|
accessLevel: NO_ACCESS
|
|
99
96
|
};
|
|
100
97
|
}
|
|
101
|
-
|
|
102
98
|
var data = {
|
|
103
99
|
accessLevel: CUSTOM_ACCESS,
|
|
104
100
|
filesAccessScope: NO_ACCESS,
|
|
@@ -108,119 +104,114 @@ export var FileManagerPermissions = function FileManagerPermissions(_ref) {
|
|
|
108
104
|
var filesPermission = permissions.find(function (item) {
|
|
109
105
|
return item.name === FILE_MANAGER_ACCESS_FILE;
|
|
110
106
|
});
|
|
111
|
-
|
|
112
107
|
if (filesPermission) {
|
|
113
108
|
data.filesAccessScope = filesPermission.own ? "own" : FULL_ACCESS;
|
|
114
|
-
|
|
115
109
|
if (data.filesAccessScope === FULL_ACCESS) {
|
|
116
110
|
data.filesRWD = filesPermission.rwd;
|
|
117
111
|
} else {
|
|
118
112
|
data.filesRWD = "rwd";
|
|
119
113
|
}
|
|
120
114
|
}
|
|
121
|
-
|
|
122
115
|
var hasSettingsAccess = permissions.find(function (item) {
|
|
123
116
|
return item.name === FILE_MANAGER_ACCESS_SETTINGS;
|
|
124
117
|
});
|
|
125
|
-
|
|
126
118
|
if (hasSettingsAccess) {
|
|
127
119
|
data.settingsAccessScope = FULL_ACCESS;
|
|
128
120
|
}
|
|
129
|
-
|
|
130
121
|
return data;
|
|
131
122
|
}, []);
|
|
132
|
-
return /*#__PURE__*/
|
|
123
|
+
return /*#__PURE__*/_react.default.createElement(_form.Form, {
|
|
133
124
|
data: formData,
|
|
134
125
|
onChange: onFormChange
|
|
135
126
|
}, function (_ref2) {
|
|
136
127
|
var data = _ref2.data,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
return /*#__PURE__*/
|
|
140
|
-
className: gridNoPaddingClass
|
|
141
|
-
}, /*#__PURE__*/
|
|
128
|
+
Bind = _ref2.Bind,
|
|
129
|
+
setValue = _ref2.setValue;
|
|
130
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
|
|
131
|
+
className: _Permissions.gridNoPaddingClass
|
|
132
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
142
133
|
span: 6
|
|
143
|
-
}, /*#__PURE__*/
|
|
144
|
-
title: t(_templateObject || (_templateObject =
|
|
145
|
-
})), /*#__PURE__*/
|
|
134
|
+
}, /*#__PURE__*/_react.default.createElement(_Permissions.PermissionInfo, {
|
|
135
|
+
title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Access Level"])))
|
|
136
|
+
})), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
146
137
|
span: 6
|
|
147
|
-
}, /*#__PURE__*/
|
|
138
|
+
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
148
139
|
name: "accessLevel"
|
|
149
|
-
}, /*#__PURE__*/
|
|
150
|
-
label: t(_templateObject2 || (_templateObject2 =
|
|
151
|
-
}, /*#__PURE__*/
|
|
140
|
+
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
141
|
+
label: t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Access Level"])))
|
|
142
|
+
}, /*#__PURE__*/_react.default.createElement("option", {
|
|
152
143
|
value: NO_ACCESS
|
|
153
|
-
}, t(_templateObject3 || (_templateObject3 =
|
|
144
|
+
}, t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["No access"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
154
145
|
value: FULL_ACCESS
|
|
155
|
-
}, t(_templateObject4 || (_templateObject4 =
|
|
146
|
+
}, t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Full access"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
156
147
|
value: CUSTOM_ACCESS
|
|
157
|
-
}, t(_templateObject5 || (_templateObject5 =
|
|
148
|
+
}, t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Custom access"])))))))), data.accessLevel === "custom" && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
|
|
158
149
|
z: 1,
|
|
159
150
|
style: {
|
|
160
151
|
marginTop: 10
|
|
161
152
|
}
|
|
162
|
-
}, /*#__PURE__*/
|
|
153
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
163
154
|
span: 12
|
|
164
|
-
}, /*#__PURE__*/
|
|
155
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
165
156
|
use: "overline"
|
|
166
|
-
}, t(_templateObject6 || (_templateObject6 =
|
|
157
|
+
}, t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["Files"]))))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
167
158
|
span: 12
|
|
168
|
-
}, /*#__PURE__*/
|
|
159
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
|
|
169
160
|
style: {
|
|
170
161
|
padding: 0,
|
|
171
162
|
paddingBottom: 24
|
|
172
163
|
}
|
|
173
|
-
}, /*#__PURE__*/
|
|
164
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
174
165
|
span: 12
|
|
175
|
-
}, /*#__PURE__*/
|
|
166
|
+
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
176
167
|
name: "filesAccessScope",
|
|
177
168
|
beforeChange: function beforeChange(value, cb) {
|
|
178
169
|
if (value === "own") {
|
|
179
170
|
setValue("filesRWD", "rwd");
|
|
180
171
|
}
|
|
181
|
-
|
|
182
172
|
cb(value);
|
|
183
173
|
}
|
|
184
|
-
}, /*#__PURE__*/
|
|
185
|
-
label: t(_templateObject7 || (_templateObject7 =
|
|
186
|
-
}, /*#__PURE__*/
|
|
174
|
+
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
175
|
+
label: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Access Scope"])))
|
|
176
|
+
}, /*#__PURE__*/_react.default.createElement("option", {
|
|
187
177
|
value: NO_ACCESS
|
|
188
|
-
}, t(_templateObject8 || (_templateObject8 =
|
|
178
|
+
}, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["No access"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
189
179
|
value: FULL_ACCESS
|
|
190
|
-
}, t(_templateObject9 || (_templateObject9 =
|
|
180
|
+
}, t(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["All files"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
191
181
|
value: "own"
|
|
192
|
-
}, t(_templateObject10 || (_templateObject10 =
|
|
182
|
+
}, t(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["Only files created by the user"]))))))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
193
183
|
span: 12
|
|
194
|
-
}, /*#__PURE__*/
|
|
184
|
+
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
195
185
|
name: "filesRWD"
|
|
196
|
-
}, /*#__PURE__*/
|
|
197
|
-
label: t(_templateObject11 || (_templateObject11 =
|
|
186
|
+
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
187
|
+
label: t(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["Primary Actions"]))),
|
|
198
188
|
disabled: data.filesAccessScope !== "full"
|
|
199
|
-
}, /*#__PURE__*/
|
|
189
|
+
}, /*#__PURE__*/_react.default.createElement("option", {
|
|
200
190
|
value: "r"
|
|
201
|
-
}, t(_templateObject12 || (_templateObject12 =
|
|
191
|
+
}, t(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["Read"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
202
192
|
value: "rw"
|
|
203
|
-
}, t(_templateObject13 || (_templateObject13 =
|
|
193
|
+
}, t(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["Read, write"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
204
194
|
value: "rwd"
|
|
205
|
-
}, t(_templateObject14 || (_templateObject14 =
|
|
195
|
+
}, t(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2.default)(["Read, write, delete"]))))))))))), /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
|
|
206
196
|
z: 1,
|
|
207
197
|
style: {
|
|
208
198
|
marginTop: 10
|
|
209
199
|
}
|
|
210
|
-
}, /*#__PURE__*/
|
|
200
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
211
201
|
span: 12
|
|
212
|
-
}, /*#__PURE__*/
|
|
202
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
213
203
|
use: "overline"
|
|
214
|
-
}, t(_templateObject15 || (_templateObject15 =
|
|
204
|
+
}, t(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2.default)(["Settings"]))))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
215
205
|
span: 12
|
|
216
|
-
}, /*#__PURE__*/
|
|
206
|
+
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
217
207
|
name: "settingsAccessScope"
|
|
218
|
-
}, /*#__PURE__*/
|
|
219
|
-
label: t(_templateObject16 || (_templateObject16 =
|
|
220
|
-
}, /*#__PURE__*/
|
|
208
|
+
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
209
|
+
label: t(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2.default)(["Access Scope"])))
|
|
210
|
+
}, /*#__PURE__*/_react.default.createElement("option", {
|
|
221
211
|
value: NO_ACCESS
|
|
222
|
-
}, t(_templateObject17 || (_templateObject17 =
|
|
212
|
+
}, t(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2.default)(["No access"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
223
213
|
value: FULL_ACCESS
|
|
224
|
-
}, t(_templateObject18 || (_templateObject18 =
|
|
214
|
+
}, t(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2.default)(["Full access"])))))))))));
|
|
225
215
|
});
|
|
226
|
-
};
|
|
216
|
+
};
|
|
217
|
+
exports.FileManagerPermissions = FileManagerPermissions;
|