awing-library 2.1.7-beta → 2.1.9-beta
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/lib/ACM-AXN/Directory/Constant.d.ts +2 -0
- package/lib/ACM-AXN/Directory/Constant.js +2 -0
- package/lib/ACM-AXN/Directory/DomainDirectory/index.js +1 -0
- package/lib/ACM-AXN/Directory/MenuDirectory/index.d.ts +1 -0
- package/lib/ACM-AXN/Directory/MenuDirectory/index.js +110 -0
- package/lib/ACM-AXN/Directory/components/Permission/AddAuthen.d.ts +4 -0
- package/lib/ACM-AXN/Directory/components/Permission/AddAuthen.js +9 -7
- package/lib/ACM-AXN/Directory/components/Permission/CreateOrEditPermission.js +8 -6
- package/lib/ACM-AXN/Directory/components/Permission/Management.js +12 -9
- package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.d.ts +1 -0
- package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.js +183 -0
- package/lib/ACM-AXN/Directory/function.d.ts +1 -0
- package/lib/ACM-AXN/Directory/function.js +25 -1
- package/package.json +1 -1
|
@@ -6,6 +6,8 @@ declare const Constants: {
|
|
|
6
6
|
DIRECTORY_ADD_PERMISSION: string;
|
|
7
7
|
DIRECTORY_ADD_PERMISSION_ADD_NEWAUTHEN: string;
|
|
8
8
|
DIRECTORY_EDIT_PERMISSION: string;
|
|
9
|
+
MENU_DIRECTORY_PERMISSION: string;
|
|
10
|
+
MENU_DIRECTORY_ADD_PERMISSION: string;
|
|
9
11
|
SYSTEM_DIRECTORY_PERMISSION: string;
|
|
10
12
|
};
|
|
11
13
|
export default Constants;
|
|
@@ -8,6 +8,8 @@ var Constants = {
|
|
|
8
8
|
DIRECTORY_ADD_PERMISSION: 'AddPermission',
|
|
9
9
|
DIRECTORY_ADD_PERMISSION_ADD_NEWAUTHEN: 'AddNewAuthen',
|
|
10
10
|
DIRECTORY_EDIT_PERMISSION: 'EditPermission',
|
|
11
|
+
MENU_DIRECTORY_PERMISSION: 'MenuPermission',
|
|
12
|
+
MENU_DIRECTORY_ADD_PERMISSION: 'MenuAddPermission',
|
|
11
13
|
SYSTEM_DIRECTORY_PERMISSION: 'SystemPermission',
|
|
12
14
|
};
|
|
13
15
|
exports.default = Constants;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function MenuDirectory(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
43
|
+
var material_1 = require("@mui/material");
|
|
44
|
+
var AWING_1 = require("../../../AWING");
|
|
45
|
+
var react_1 = require("react");
|
|
46
|
+
var icons_material_1 = require("@mui/icons-material");
|
|
47
|
+
var function_1 = require("../function");
|
|
48
|
+
var Constant_1 = __importDefault(require("../Constant"));
|
|
49
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
50
|
+
var Context_1 = __importDefault(require("../../../Context"));
|
|
51
|
+
var react_i18next_1 = require("react-i18next");
|
|
52
|
+
var uniq = require('lodash/uniq');
|
|
53
|
+
function MenuDirectory() {
|
|
54
|
+
var _this = this;
|
|
55
|
+
var _a = (0, react_1.useContext)(Context_1.default), service = _a.service, i18next = _a.i18next;
|
|
56
|
+
var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18next }).t;
|
|
57
|
+
var navigate = (0, react_router_dom_1.useNavigate)();
|
|
58
|
+
var _b = (0, react_1.useState)(), data = _b[0], setData = _b[1];
|
|
59
|
+
(0, react_1.useEffect)(function () {
|
|
60
|
+
// Call API to get data
|
|
61
|
+
handleFetchData();
|
|
62
|
+
}, []);
|
|
63
|
+
var handleConvertedData = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
64
|
+
var res, convertedData;
|
|
65
|
+
return __generator(this, function (_a) {
|
|
66
|
+
switch (_a.label) {
|
|
67
|
+
case 0: return [4 /*yield*/, service.menusGetAll()];
|
|
68
|
+
case 1:
|
|
69
|
+
res = _a.sent();
|
|
70
|
+
convertedData = (0, function_1.convertMenuData)(res);
|
|
71
|
+
return [2 /*return*/, convertedData[0]];
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}); };
|
|
75
|
+
var handleFetchData = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
76
|
+
var dataAPI;
|
|
77
|
+
return __generator(this, function (_a) {
|
|
78
|
+
switch (_a.label) {
|
|
79
|
+
case 0: return [4 /*yield*/, handleConvertedData()];
|
|
80
|
+
case 1:
|
|
81
|
+
dataAPI = _a.sent();
|
|
82
|
+
setData(dataAPI);
|
|
83
|
+
return [2 /*return*/];
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}); };
|
|
87
|
+
var handleGetMoreData = function (nodeId) { return __awaiter(_this, void 0, void 0, function () {
|
|
88
|
+
return __generator(this, function (_a) {
|
|
89
|
+
console.log(nodeId);
|
|
90
|
+
return [2 /*return*/];
|
|
91
|
+
});
|
|
92
|
+
}); };
|
|
93
|
+
if (!data) {
|
|
94
|
+
return (0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {});
|
|
95
|
+
}
|
|
96
|
+
return ((0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, spacing: 2, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 6, children: (0, jsx_runtime_1.jsx)(material_1.Paper, { style: { padding: '8px' }, children: (0, jsx_runtime_1.jsx)(AWING_1.HierarchyTree, { data: data, hideSelectCheckbox: true, onGetMoreData: handleGetMoreData, actionComponentProps: {
|
|
97
|
+
actions: [
|
|
98
|
+
{
|
|
99
|
+
icon: ((0, jsx_runtime_1.jsx)(icons_material_1.Settings, { fontSize: "small", color: "action" })),
|
|
100
|
+
tooltip: t('Common.Permission'),
|
|
101
|
+
action: function (node) {
|
|
102
|
+
navigate(Constant_1.default.MENU_DIRECTORY_PERMISSION +
|
|
103
|
+
'/' +
|
|
104
|
+
node.nodeId);
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
}, startIcon: (0, jsx_runtime_1.jsx)(icons_material_1.FolderOpen, { color: "action" }) }) }) }) }));
|
|
109
|
+
}
|
|
110
|
+
exports.default = MenuDirectory;
|
|
@@ -61,12 +61,12 @@ function AddAuthen(props) {
|
|
|
61
61
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
62
62
|
var navigate = (0, react_router_dom_1.useNavigate)();
|
|
63
63
|
var _a = (0, react_1.useContext)(Context_1.default), service = _a.service, snackbar = _a.appHelper.snackbar;
|
|
64
|
-
var oldSelected = props.oldSelected, onSubmit = props.onSubmit;
|
|
64
|
+
var initialLoad = props.initialLoad, oldSelected = props.oldSelected, onSubmit = props.onSubmit;
|
|
65
65
|
var _b = (0, react_1.useState)(false), loading = _b[0], setLoading = _b[1];
|
|
66
66
|
var _c = (0, react_1.useState)(''), searchKey = _c[0], setSearchKey = _c[1];
|
|
67
67
|
var _d = (0, react_1.useState)(false), confirmExit = _d[0], setConfirmExit = _d[1];
|
|
68
|
-
var _e = (0, react_1.useState)([]), users = _e[0], setUsers = _e[1];
|
|
69
|
-
var _f = (0, react_1.useState)([]), groups = _f[0], setGroups = _f[1];
|
|
68
|
+
var _e = (0, react_1.useState)(initialLoad ? initialLoad.users : []), users = _e[0], setUsers = _e[1];
|
|
69
|
+
var _f = (0, react_1.useState)(initialLoad ? initialLoad.groups : []), groups = _f[0], setGroups = _f[1];
|
|
70
70
|
var _g = (0, react_1.useState)(oldSelected), selected = _g[0], setSelected = _g[1];
|
|
71
71
|
var usersFilter = users.filter(function (user) {
|
|
72
72
|
return ((0, Helpers_1.changeToAlias)((user === null || user === void 0 ? void 0 : user.username) || '').includes((0, Helpers_1.changeToAlias)(searchKey)) ||
|
|
@@ -76,8 +76,10 @@ function AddAuthen(props) {
|
|
|
76
76
|
return (0, Helpers_1.changeToAlias)((group === null || group === void 0 ? void 0 : group.name) || '').includes((0, Helpers_1.changeToAlias)(searchKey));
|
|
77
77
|
});
|
|
78
78
|
(0, react_1.useEffect)(function () {
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
if (!initialLoad) {
|
|
80
|
+
setLoading(true);
|
|
81
|
+
fetchAllUserAndGroup();
|
|
82
|
+
}
|
|
81
83
|
}, []);
|
|
82
84
|
var fetchAllUserAndGroup = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
83
85
|
var responses, userData, groupData, err_1;
|
|
@@ -135,12 +137,12 @@ function AddAuthen(props) {
|
|
|
135
137
|
user.userId;
|
|
136
138
|
}), onChange: function (e) {
|
|
137
139
|
handleSelect('user', e.target.checked, user);
|
|
138
|
-
} }), label: user.username }) }, user.userId)); })] })), groupsFilter.length > 0 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, pt: 2, children: (0, jsx_runtime_1.jsx)(material_1.Typography, { children: "".concat(t('Directory.Group'), " (").concat(groupsFilter.length, ")") }) }), groupsFilter.map(function (group) { return ((0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3, children: (0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { checked: !!selected.find(function (s) {
|
|
140
|
+
} }), label: (0, Helpers_1.displayLongString)(user.username || '', 20) }) }, user.userId)); })] })), groupsFilter.length > 0 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, pt: 2, children: (0, jsx_runtime_1.jsx)(material_1.Typography, { children: "".concat(t('Directory.Group'), " (").concat(groupsFilter.length, ")") }) }), groupsFilter.map(function (group) { return ((0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3, children: (0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { checked: !!selected.find(function (s) {
|
|
139
141
|
return s.groupId &&
|
|
140
142
|
s.groupId ==
|
|
141
143
|
group.groupId;
|
|
142
144
|
}), onChange: function (e) {
|
|
143
145
|
handleSelect('group', e.target.checked, group);
|
|
144
|
-
} }), label: group.name }) }, group.groupId)); })] }))] }) })) }));
|
|
146
|
+
} }), label: (0, Helpers_1.displayLongString)(group.name, 20) }) }, group.groupId)); })] }))] }) })) }));
|
|
145
147
|
}
|
|
146
148
|
exports.default = AddAuthen;
|
|
@@ -53,9 +53,10 @@ function Permission(props) {
|
|
|
53
53
|
setDrawerTitle(t('Directory.EditPermission'));
|
|
54
54
|
setLoading(true);
|
|
55
55
|
setDrawerState(AWING_1.DrawerStateEnum.LOADING);
|
|
56
|
-
var getPermission =
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
var getPermission = service.directoryPermissionGet;
|
|
57
|
+
if (isSystemDirectory) {
|
|
58
|
+
getPermission = service.systemDirectoryPermissionGet;
|
|
59
|
+
}
|
|
59
60
|
getPermission(directoryId)
|
|
60
61
|
.then(function (res) {
|
|
61
62
|
var currentPermission = res.permissions.find(function (p) { return p.authenId == id; });
|
|
@@ -211,9 +212,10 @@ function Permission(props) {
|
|
|
211
212
|
result.inheritedPermissions = [];
|
|
212
213
|
return result;
|
|
213
214
|
});
|
|
214
|
-
var updatePermission =
|
|
215
|
-
|
|
216
|
-
|
|
215
|
+
var updatePermission = service.directoryPermissionPut;
|
|
216
|
+
if (isSystemDirectory) {
|
|
217
|
+
updatePermission = service.systemDirectoryPermissionPut;
|
|
218
|
+
}
|
|
217
219
|
return updatePermission(directoryId, {
|
|
218
220
|
directoryId: directoryId,
|
|
219
221
|
permissions: convertPermissions,
|
|
@@ -67,9 +67,10 @@ function FolderPermission(props) {
|
|
|
67
67
|
var _b = (0, react_1.useState)(false), loading = _b[0], setLoading = _b[1];
|
|
68
68
|
var _c = (0, react_1.useState)([]), permissions = _c[0], setPermissions = _c[1];
|
|
69
69
|
(0, react_1.useEffect)(function () {
|
|
70
|
-
var getDirectory =
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
var getDirectory = service.directoriesGet;
|
|
71
|
+
if (isSystemDirectory) {
|
|
72
|
+
getDirectory = service.systemDirectoriesGet;
|
|
73
|
+
}
|
|
73
74
|
getDirectory(directoryId).then(function (res) {
|
|
74
75
|
setDrawerTitle("".concat(t('Directory.ObjectPermission'), ": ").concat(res.name));
|
|
75
76
|
});
|
|
@@ -86,9 +87,10 @@ function FolderPermission(props) {
|
|
|
86
87
|
}, [directoryId]);
|
|
87
88
|
var fetchPermission = function () {
|
|
88
89
|
setLoading(true);
|
|
89
|
-
var getPermission =
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
var getPermission = service.directoryPermissionGet;
|
|
91
|
+
if (isSystemDirectory) {
|
|
92
|
+
getPermission = service.systemDirectoryPermissionGet;
|
|
93
|
+
}
|
|
92
94
|
getPermission(directoryId)
|
|
93
95
|
.then(function (res) {
|
|
94
96
|
setPermissions(res.permissions.map(function (p) { return convertPermission(p); }));
|
|
@@ -101,9 +103,10 @@ function FolderPermission(props) {
|
|
|
101
103
|
};
|
|
102
104
|
var handleDeletePermission = function (authenId, authenType) {
|
|
103
105
|
confirm(function () {
|
|
104
|
-
var deletePermission =
|
|
105
|
-
|
|
106
|
-
|
|
106
|
+
var deletePermission = service.directoryPermissionDelete;
|
|
107
|
+
if (isSystemDirectory) {
|
|
108
|
+
deletePermission = service.systemDirectoryPermissionDelete;
|
|
109
|
+
}
|
|
107
110
|
deletePermission(directoryId, authenId, authenType)
|
|
108
111
|
.then(function () {
|
|
109
112
|
snackbar('success');
|
package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function Permission(): import("react/jsx-runtime").JSX.Element;
|
package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.js
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
var AWING_1 = require("../../../../../AWING");
|
|
8
|
+
var react_i18next_1 = require("react-i18next");
|
|
9
|
+
var react_1 = require("react");
|
|
10
|
+
var icons_material_1 = require("@mui/icons-material");
|
|
11
|
+
var material_1 = require("@mui/material");
|
|
12
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
13
|
+
var Context_1 = __importDefault(require("../../../../../Context"));
|
|
14
|
+
var Constant_1 = __importDefault(require("../../../Constant"));
|
|
15
|
+
var PubSub_1 = require("../../../../../AWING/PubSub");
|
|
16
|
+
var AddAuthen_1 = __importDefault(require("../AddAuthen"));
|
|
17
|
+
function Permission() {
|
|
18
|
+
var i18next = (0, react_1.useContext)(Context_1.default).i18next;
|
|
19
|
+
var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18next }).t;
|
|
20
|
+
return ((0, jsx_runtime_1.jsx)(AWING_1.DrawerNavigate, { title: t('Directory.ObjectPermission'), customButtonSubmit: (0, jsx_runtime_1.jsx)(material_1.Button, { component: react_router_dom_1.Link, color: 'primary', variant: "contained", to: Constant_1.default.MENU_DIRECTORY_ADD_PERMISSION, children: t('Directory.AddPermission') }), childrenWrapperStyle: { padding: function (theme) { return theme.spacing(3); } }, children: (0, jsx_runtime_1.jsx)(MenuPermissions, {}) }));
|
|
21
|
+
}
|
|
22
|
+
exports.default = Permission;
|
|
23
|
+
function MenuPermissions() {
|
|
24
|
+
var _a = (0, react_1.useContext)(Context_1.default), appHelper = _a.appHelper, service = _a.service, i18next = _a.i18next;
|
|
25
|
+
var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18next }).t;
|
|
26
|
+
var setDrawerTitle = (0, AWING_1.useDrawer)().setDrawerTitle;
|
|
27
|
+
var directoryId = (0, react_router_dom_1.useParams)().directoryId;
|
|
28
|
+
var confirm = appHelper.confirm, snackbar = appHelper.snackbar;
|
|
29
|
+
var _b = (0, react_1.useState)(false), loading = _b[0], setLoading = _b[1];
|
|
30
|
+
var _c = (0, react_1.useState)([]), permissions = _c[0], setPermissions = _c[1];
|
|
31
|
+
var _d = (0, react_1.useState)([]), users = _d[0], setUsers = _d[1];
|
|
32
|
+
var _e = (0, react_1.useState)([]), groups = _e[0], setGroups = _e[1];
|
|
33
|
+
var _f = (0, react_1.useState)(false), loadingAuthen = _f[0], setLoadingAuthen = _f[1];
|
|
34
|
+
(0, react_1.useEffect)(function () {
|
|
35
|
+
setLoadingAuthen(true);
|
|
36
|
+
var loader = [service.usersGet(), service.groupsGetAll()];
|
|
37
|
+
Promise.all(loader)
|
|
38
|
+
.then(function (responses) {
|
|
39
|
+
if (responses[0] && responses[1]) {
|
|
40
|
+
setUsers(responses[0]);
|
|
41
|
+
setGroups(responses[1]);
|
|
42
|
+
}
|
|
43
|
+
setLoadingAuthen(false);
|
|
44
|
+
})
|
|
45
|
+
.catch(function (err) {
|
|
46
|
+
console.log(err);
|
|
47
|
+
snackbar('error');
|
|
48
|
+
});
|
|
49
|
+
}, []);
|
|
50
|
+
(0, react_1.useEffect)(function () {
|
|
51
|
+
var getDirectory = service.menusGet;
|
|
52
|
+
getDirectory(directoryId).then(function (res) {
|
|
53
|
+
setDrawerTitle("".concat(t('Directory.ObjectPermission'), ": ").concat(res.name));
|
|
54
|
+
});
|
|
55
|
+
var randomKey = (0, PubSub_1.getRandomKey)();
|
|
56
|
+
(0, PubSub_1.sub)('update-directory-permission', function () {
|
|
57
|
+
fetchPermission();
|
|
58
|
+
}, randomKey);
|
|
59
|
+
return function () { return (0, PubSub_1.off)(randomKey); };
|
|
60
|
+
}, []);
|
|
61
|
+
(0, react_1.useEffect)(function () {
|
|
62
|
+
if (directoryId) {
|
|
63
|
+
(0, PubSub_1.pub)('update-directory-permission');
|
|
64
|
+
}
|
|
65
|
+
}, [directoryId]);
|
|
66
|
+
var fetchPermission = function () {
|
|
67
|
+
setLoading(true);
|
|
68
|
+
var getPermission = service.menuPermissionGet;
|
|
69
|
+
getPermission(directoryId)
|
|
70
|
+
.then(function (res) {
|
|
71
|
+
setPermissions(res.permissions);
|
|
72
|
+
setLoading(false);
|
|
73
|
+
})
|
|
74
|
+
.catch(function (err) {
|
|
75
|
+
snackbar('error');
|
|
76
|
+
console.log(err);
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
var handleDeletePermission = function (authenId, authenType) {
|
|
80
|
+
confirm(function () {
|
|
81
|
+
var deletePermission = service.menuPermissionDelete;
|
|
82
|
+
deletePermission(directoryId, authenId, authenType)
|
|
83
|
+
.then(function () {
|
|
84
|
+
snackbar('success');
|
|
85
|
+
(0, PubSub_1.pub)('update-directory-permission');
|
|
86
|
+
})
|
|
87
|
+
.catch(function (err) {
|
|
88
|
+
snackbar('error');
|
|
89
|
+
console.log(err);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
var handleUpdateMenuPermission = function (selected) {
|
|
94
|
+
var temp = selected.map(function (s) {
|
|
95
|
+
var isGroup = s.groupId !== undefined;
|
|
96
|
+
return {
|
|
97
|
+
authenId: isGroup ? s.groupId : s.userId,
|
|
98
|
+
authenType: isGroup ? 1 : 0,
|
|
99
|
+
explicitPermission: true,
|
|
100
|
+
};
|
|
101
|
+
});
|
|
102
|
+
service
|
|
103
|
+
.menuPermissionPut(directoryId, {
|
|
104
|
+
menuId: directoryId,
|
|
105
|
+
permissions: temp,
|
|
106
|
+
})
|
|
107
|
+
.then(function () {
|
|
108
|
+
snackbar('success');
|
|
109
|
+
(0, PubSub_1.pub)('update-directory-permission');
|
|
110
|
+
})
|
|
111
|
+
.catch(function (err) {
|
|
112
|
+
snackbar('error');
|
|
113
|
+
console.log(err);
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
return loading && loadingAuthen ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(AWING_1.DataGrid, { columns: [
|
|
117
|
+
{
|
|
118
|
+
field: '',
|
|
119
|
+
width: 50,
|
|
120
|
+
headerName: '#',
|
|
121
|
+
valueGetter: function (row, idx) {
|
|
122
|
+
return idx + 1;
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
field: 'authenType',
|
|
127
|
+
width: 50,
|
|
128
|
+
headerName: '',
|
|
129
|
+
valueGetter: function (row, idx) {
|
|
130
|
+
return row.authenType == 0 ? ((0, jsx_runtime_1.jsx)(icons_material_1.Person, { fontSize: "small" })) : ((0, jsx_runtime_1.jsx)(icons_material_1.Group, { fontSize: "small" }));
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
field: 'name',
|
|
135
|
+
headerName: t('Common.UserGroupUser'),
|
|
136
|
+
valueGetter: function (row, idx) {
|
|
137
|
+
var _a, _b;
|
|
138
|
+
return row.authenType == 0
|
|
139
|
+
? (_a = users.find(function (u) { return u.userId == row.authenId; })) === null || _a === void 0 ? void 0 : _a.username
|
|
140
|
+
: (_b = groups.find(function (g) { return g.groupId == row.authenId; })) === null || _b === void 0 ? void 0 : _b.name;
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
field: 'inheritedPermission',
|
|
145
|
+
headerName: t('Directory.InheritedPermission'),
|
|
146
|
+
valueGetter: function (row, idx) {
|
|
147
|
+
return row.inheritedPermission ? ((0, jsx_runtime_1.jsx)(icons_material_1.Check, { color: "primary" })) : ('');
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
field: 'explicitPermission',
|
|
152
|
+
headerName: t('Directory.ExplicitPermission'),
|
|
153
|
+
valueGetter: function (row, idx) {
|
|
154
|
+
return row.explicitPermission ? ((0, jsx_runtime_1.jsx)(icons_material_1.Check, { color: "primary" })) : ('');
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
], rows: permissions, rowActions: [
|
|
158
|
+
{
|
|
159
|
+
icon: (0, jsx_runtime_1.jsx)(icons_material_1.Clear, { fontSize: "small" }),
|
|
160
|
+
tooltipTitle: t('Common.Delete'),
|
|
161
|
+
action: function (id) {
|
|
162
|
+
var row = permissions[id];
|
|
163
|
+
handleDeletePermission(row.authenId, row.authenType);
|
|
164
|
+
},
|
|
165
|
+
isShouldHideActions: function (row) {
|
|
166
|
+
return !row.explicitPermission;
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
] }), (0, jsx_runtime_1.jsx)(react_router_dom_1.Routes, { children: (0, jsx_runtime_1.jsx)(react_router_dom_1.Route, { path: Constant_1.default.MENU_DIRECTORY_ADD_PERMISSION, element: (0, jsx_runtime_1.jsx)(AddAuthen_1.default, { initialLoad: {
|
|
170
|
+
users: users.filter(function (u) {
|
|
171
|
+
return !permissions.find(function (p) {
|
|
172
|
+
return p.explicitPermission &&
|
|
173
|
+
p.authenId == u.userId;
|
|
174
|
+
});
|
|
175
|
+
}),
|
|
176
|
+
groups: groups.filter(function (g) {
|
|
177
|
+
return !permissions.find(function (p) {
|
|
178
|
+
return p.explicitPermission &&
|
|
179
|
+
p.authenId == g.groupId;
|
|
180
|
+
});
|
|
181
|
+
}),
|
|
182
|
+
}, oldSelected: [], onSubmit: handleUpdateMenuPermission }) }) })] }));
|
|
183
|
+
}
|
|
@@ -2,3 +2,4 @@ import { IRawData } from './interface';
|
|
|
2
2
|
import { TreeNode } from '../../AWING';
|
|
3
3
|
export declare const replaceChildren: (object1: TreeNode, object2: TreeNode) => TreeNode;
|
|
4
4
|
export declare const convertData: (input: IRawData[], parentId?: string | null) => TreeNode[];
|
|
5
|
+
export declare const convertMenuData: (input: any[], parentId?: string | null) => TreeNode[];
|
|
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.convertData = exports.replaceChildren = void 0;
|
|
14
|
+
exports.convertMenuData = exports.convertData = exports.replaceChildren = void 0;
|
|
15
15
|
var AWING_1 = require("../../AWING");
|
|
16
16
|
var replaceChildren = function (object1, object2) {
|
|
17
17
|
if (object1.nodeId === object2.nodeId) {
|
|
@@ -54,3 +54,27 @@ var convertData = function (input, parentId) {
|
|
|
54
54
|
return result;
|
|
55
55
|
};
|
|
56
56
|
exports.convertData = convertData;
|
|
57
|
+
var convertMenuData = function (input, parentId) {
|
|
58
|
+
if (parentId === void 0) { parentId = input[0].parentMenuId; }
|
|
59
|
+
var result = [];
|
|
60
|
+
for (var i = 0; i < input.length; i++) {
|
|
61
|
+
var item = input[i];
|
|
62
|
+
if (item.parentMenuId === parentId) {
|
|
63
|
+
var newItem = {
|
|
64
|
+
name: item.name,
|
|
65
|
+
nodeId: item.menuId,
|
|
66
|
+
status: AWING_1.NodeStatus.Unchecked,
|
|
67
|
+
isSystem: true,
|
|
68
|
+
parentId: item.parentMenuId,
|
|
69
|
+
children: [],
|
|
70
|
+
};
|
|
71
|
+
var children = (0, exports.convertMenuData)(input, item.menuId);
|
|
72
|
+
if (children.length > 0) {
|
|
73
|
+
newItem.children = children;
|
|
74
|
+
}
|
|
75
|
+
result.push(newItem);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return result;
|
|
79
|
+
};
|
|
80
|
+
exports.convertMenuData = convertMenuData;
|