phx-react 1.3.1225 → 1.3.1228
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/dist/cjs/components/TargetSelect/components/filter-dropdown.d.ts +12 -0
- package/dist/cjs/components/TargetSelect/components/filter-dropdown.js +57 -0
- package/dist/cjs/components/TargetSelect/components/filter-dropdown.js.map +1 -0
- package/dist/cjs/components/TargetSelect/components/modal-custom-list.d.ts +11 -0
- package/dist/cjs/components/TargetSelect/components/modal-custom-list.js +100 -0
- package/dist/cjs/components/TargetSelect/components/modal-custom-list.js.map +1 -0
- package/dist/cjs/components/TargetSelect/components/modal-search-user.d.ts +10 -0
- package/dist/cjs/components/TargetSelect/components/modal-search-user.js +130 -0
- package/dist/cjs/components/TargetSelect/components/modal-search-user.js.map +1 -0
- package/dist/cjs/components/TargetSelect/components/radio-group-select.d.ts +15 -0
- package/dist/cjs/components/TargetSelect/components/radio-group-select.js +43 -0
- package/dist/cjs/components/TargetSelect/components/radio-group-select.js.map +1 -0
- package/dist/cjs/components/TargetSelect/graphql/mutation.d.ts +2 -0
- package/dist/cjs/components/TargetSelect/graphql/mutation.js +6 -0
- package/dist/cjs/components/TargetSelect/graphql/mutation.js.map +1 -0
- package/dist/cjs/components/TargetSelect/graphql/query.d.ts +4 -0
- package/dist/cjs/components/TargetSelect/graphql/query.js +49 -0
- package/dist/cjs/components/TargetSelect/graphql/query.js.map +1 -0
- package/dist/cjs/components/TargetSelect/hooks/use-get-data-select.d.ts +7 -0
- package/dist/cjs/components/TargetSelect/hooks/use-get-data-select.js +61 -0
- package/dist/cjs/components/TargetSelect/hooks/use-get-data-select.js.map +1 -0
- package/dist/cjs/components/TargetSelect/hooks/use-target-select.d.ts +15 -0
- package/dist/cjs/components/TargetSelect/hooks/use-target-select.js +131 -0
- package/dist/cjs/components/TargetSelect/hooks/use-target-select.js.map +1 -0
- package/dist/cjs/components/TargetSelect/index.d.ts +1 -0
- package/dist/cjs/components/TargetSelect/index.js +5 -0
- package/dist/cjs/components/TargetSelect/index.js.map +1 -0
- package/dist/cjs/components/TargetSelect/phx-target-select.d.ts +3 -0
- package/dist/cjs/components/TargetSelect/phx-target-select.js +123 -0
- package/dist/cjs/components/TargetSelect/phx-target-select.js.map +1 -0
- package/dist/cjs/components/TargetSelect/sample/config.d.ts +74 -0
- package/dist/cjs/components/TargetSelect/sample/config.js +94 -0
- package/dist/cjs/components/TargetSelect/sample/config.js.map +1 -0
- package/dist/cjs/components/TargetSelect/sample/sample-data.d.ts +2 -0
- package/dist/cjs/components/TargetSelect/sample/sample-data.js +35 -0
- package/dist/cjs/components/TargetSelect/sample/sample-data.js.map +1 -0
- package/dist/cjs/components/TargetSelect/types.d.ts +47 -0
- package/dist/cjs/components/TargetSelect/types.js +3 -0
- package/dist/cjs/components/TargetSelect/types.js.map +1 -0
- package/dist/cjs/components/TargetSelect/utils/constant.d.ts +17 -0
- package/dist/cjs/components/TargetSelect/utils/constant.js +21 -0
- package/dist/cjs/components/TargetSelect/utils/constant.js.map +1 -0
- package/dist/cjs/components/TargetSelect/utils/helper.d.ts +8 -0
- package/dist/cjs/components/TargetSelect/utils/helper.js +75 -0
- package/dist/cjs/components/TargetSelect/utils/helper.js.map +1 -0
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/TargetSelect/components/filter-dropdown.d.ts +12 -0
- package/dist/esm/components/TargetSelect/components/filter-dropdown.js +54 -0
- package/dist/esm/components/TargetSelect/components/filter-dropdown.js.map +1 -0
- package/dist/esm/components/TargetSelect/components/modal-custom-list.d.ts +11 -0
- package/dist/esm/components/TargetSelect/components/modal-custom-list.js +97 -0
- package/dist/esm/components/TargetSelect/components/modal-custom-list.js.map +1 -0
- package/dist/esm/components/TargetSelect/components/modal-search-user.d.ts +10 -0
- package/dist/esm/components/TargetSelect/components/modal-search-user.js +127 -0
- package/dist/esm/components/TargetSelect/components/modal-search-user.js.map +1 -0
- package/dist/esm/components/TargetSelect/components/radio-group-select.d.ts +15 -0
- package/dist/esm/components/TargetSelect/components/radio-group-select.js +39 -0
- package/dist/esm/components/TargetSelect/components/radio-group-select.js.map +1 -0
- package/dist/esm/components/TargetSelect/graphql/mutation.d.ts +2 -0
- package/dist/esm/components/TargetSelect/graphql/mutation.js +3 -0
- package/dist/esm/components/TargetSelect/graphql/mutation.js.map +1 -0
- package/dist/esm/components/TargetSelect/graphql/query.d.ts +4 -0
- package/dist/esm/components/TargetSelect/graphql/query.js +45 -0
- package/dist/esm/components/TargetSelect/graphql/query.js.map +1 -0
- package/dist/esm/components/TargetSelect/hooks/use-get-data-select.d.ts +7 -0
- package/dist/esm/components/TargetSelect/hooks/use-get-data-select.js +58 -0
- package/dist/esm/components/TargetSelect/hooks/use-get-data-select.js.map +1 -0
- package/dist/esm/components/TargetSelect/hooks/use-target-select.d.ts +15 -0
- package/dist/esm/components/TargetSelect/hooks/use-target-select.js +128 -0
- package/dist/esm/components/TargetSelect/hooks/use-target-select.js.map +1 -0
- package/dist/esm/components/TargetSelect/index.d.ts +1 -0
- package/dist/esm/components/TargetSelect/index.js +2 -0
- package/dist/esm/components/TargetSelect/index.js.map +1 -0
- package/dist/esm/components/TargetSelect/phx-target-select.d.ts +3 -0
- package/dist/esm/components/TargetSelect/phx-target-select.js +120 -0
- package/dist/esm/components/TargetSelect/phx-target-select.js.map +1 -0
- package/dist/esm/components/TargetSelect/sample/config.d.ts +74 -0
- package/dist/esm/components/TargetSelect/sample/config.js +91 -0
- package/dist/esm/components/TargetSelect/sample/config.js.map +1 -0
- package/dist/esm/components/TargetSelect/sample/sample-data.d.ts +2 -0
- package/dist/esm/components/TargetSelect/sample/sample-data.js +32 -0
- package/dist/esm/components/TargetSelect/sample/sample-data.js.map +1 -0
- package/dist/esm/components/TargetSelect/types.d.ts +47 -0
- package/dist/esm/components/TargetSelect/types.js +2 -0
- package/dist/esm/components/TargetSelect/types.js.map +1 -0
- package/dist/esm/components/TargetSelect/utils/constant.d.ts +17 -0
- package/dist/esm/components/TargetSelect/utils/constant.js +18 -0
- package/dist/esm/components/TargetSelect/utils/constant.js.map +1 -0
- package/dist/esm/components/TargetSelect/utils/helper.d.ts +8 -0
- package/dist/esm/components/TargetSelect/utils/helper.js +69 -0
- package/dist/esm/components/TargetSelect/utils/helper.js.map +1 -0
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var mutation_1 = require("../graphql/mutation");
|
|
6
|
+
var constant_1 = require("../utils/constant");
|
|
7
|
+
var getLoginInfo_1 = tslib_1.__importDefault(require("../../Func/getLoginInfo"));
|
|
8
|
+
var clientMutationV3_1 = tslib_1.__importDefault(require("../../Func/clientMutationV3"));
|
|
9
|
+
function useTargetSelect(_a) {
|
|
10
|
+
var _this = this;
|
|
11
|
+
var moduleCode = _a.moduleCode;
|
|
12
|
+
var _b = (0, react_1.useState)(false), loading = _b[0], setLoading = _b[1];
|
|
13
|
+
var userInfo = (0, getLoginInfo_1["default"])();
|
|
14
|
+
var getDataTargetSubmit = function (data, targetId) {
|
|
15
|
+
var result = [];
|
|
16
|
+
var schoolId = userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id;
|
|
17
|
+
data.forEach(function (item) {
|
|
18
|
+
var filterBy = item.filterBy, filterValues = item.filterValues, target = item.target;
|
|
19
|
+
var isALL = filterBy === constant_1.FILTER_BY.ALL;
|
|
20
|
+
if (isALL) {
|
|
21
|
+
result.push(tslib_1.__assign({ role_code: target, is_all: isALL, school_id: schoolId }, (targetId ? { target_id: targetId } : {})));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
var filterBySubmit = tslib_1.__assign({ role_code: target, school_id: schoolId, target_educational_levels: { data: [] }, target_grades: { data: [] }, target_classrooms: { data: [] }, target_users: { data: [] } }, (targetId ? { target_id: targetId } : {}));
|
|
25
|
+
if (filterBy === constant_1.FILTER_BY.EDUCATIONAL_LEVEL) {
|
|
26
|
+
filterBySubmit.target_educational_levels.data = filterValues.map(function (filterValue) { return ({
|
|
27
|
+
school_id: schoolId,
|
|
28
|
+
educational_level_id: filterValue.id
|
|
29
|
+
}); });
|
|
30
|
+
}
|
|
31
|
+
if (filterBy === constant_1.FILTER_BY.GRADE) {
|
|
32
|
+
filterBySubmit.target_grades.data = filterValues.map(function (filterValue) { return ({
|
|
33
|
+
school_id: schoolId,
|
|
34
|
+
grade_id: filterValue.id
|
|
35
|
+
}); });
|
|
36
|
+
}
|
|
37
|
+
if (filterBy === constant_1.FILTER_BY.CLASSROOM) {
|
|
38
|
+
filterBySubmit.target_classrooms.data = filterValues.map(function (filterValue) { return ({
|
|
39
|
+
school_id: schoolId,
|
|
40
|
+
classroom_id: filterValue.id
|
|
41
|
+
}); });
|
|
42
|
+
}
|
|
43
|
+
if (filterBy === constant_1.FILTER_BY.CUSTOM_LIST) {
|
|
44
|
+
filterBySubmit.target_users.data = filterValues.map(function (filterValue) { return ({
|
|
45
|
+
school_id: schoolId,
|
|
46
|
+
user_id: filterValue.id
|
|
47
|
+
}); });
|
|
48
|
+
}
|
|
49
|
+
result.push(filterBySubmit);
|
|
50
|
+
});
|
|
51
|
+
return result;
|
|
52
|
+
};
|
|
53
|
+
var handleInsertTarget = function (_a) {
|
|
54
|
+
var data = _a.data;
|
|
55
|
+
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
56
|
+
var dataSubmit, returning, e_1;
|
|
57
|
+
var _b;
|
|
58
|
+
return tslib_1.__generator(this, function (_c) {
|
|
59
|
+
switch (_c.label) {
|
|
60
|
+
case 0:
|
|
61
|
+
setLoading(true);
|
|
62
|
+
_c.label = 1;
|
|
63
|
+
case 1:
|
|
64
|
+
_c.trys.push([1, 3, 4, 5]);
|
|
65
|
+
dataSubmit = {
|
|
66
|
+
school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
|
|
67
|
+
module_code: moduleCode,
|
|
68
|
+
target_by_roles: {
|
|
69
|
+
data: getDataTargetSubmit(data)
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
return [4 /*yield*/, (0, clientMutationV3_1["default"])({
|
|
73
|
+
query: mutation_1.insertTargetMutation,
|
|
74
|
+
variables: {
|
|
75
|
+
data: dataSubmit
|
|
76
|
+
},
|
|
77
|
+
isDelay: false
|
|
78
|
+
})];
|
|
79
|
+
case 2:
|
|
80
|
+
returning = (_c.sent()).data.insert_target_inform_target.returning;
|
|
81
|
+
return [2 /*return*/, { id: (_b = returning[0]) === null || _b === void 0 ? void 0 : _b.id }];
|
|
82
|
+
case 3:
|
|
83
|
+
e_1 = _c.sent();
|
|
84
|
+
console.error(e_1);
|
|
85
|
+
return [2 /*return*/, { id: null }];
|
|
86
|
+
case 4:
|
|
87
|
+
setLoading(false);
|
|
88
|
+
return [7 /*endfinally*/];
|
|
89
|
+
case 5: return [2 /*return*/];
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
var handleUpdateTarget = function (_a) {
|
|
95
|
+
var data = _a.data, id = _a.id;
|
|
96
|
+
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
97
|
+
var e_2;
|
|
98
|
+
return tslib_1.__generator(this, function (_b) {
|
|
99
|
+
switch (_b.label) {
|
|
100
|
+
case 0:
|
|
101
|
+
setLoading(true);
|
|
102
|
+
_b.label = 1;
|
|
103
|
+
case 1:
|
|
104
|
+
_b.trys.push([1, 3, 4, 5]);
|
|
105
|
+
return [4 /*yield*/, (0, clientMutationV3_1["default"])({
|
|
106
|
+
query: mutation_1.updateTargetMutation,
|
|
107
|
+
variables: {
|
|
108
|
+
targetId: id,
|
|
109
|
+
targetByRoles: getDataTargetSubmit(data, id)
|
|
110
|
+
},
|
|
111
|
+
isDelay: false
|
|
112
|
+
})];
|
|
113
|
+
case 2:
|
|
114
|
+
_b.sent();
|
|
115
|
+
return [3 /*break*/, 5];
|
|
116
|
+
case 3:
|
|
117
|
+
e_2 = _b.sent();
|
|
118
|
+
console.error(e_2);
|
|
119
|
+
return [3 /*break*/, 5];
|
|
120
|
+
case 4:
|
|
121
|
+
setLoading(false);
|
|
122
|
+
return [7 /*endfinally*/];
|
|
123
|
+
case 5: return [2 /*return*/];
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
return { handleInsertTarget: handleInsertTarget, handleUpdateTarget: handleUpdateTarget, loading: loading };
|
|
129
|
+
}
|
|
130
|
+
exports["default"] = useTargetSelect;
|
|
131
|
+
//# sourceMappingURL=use-target-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-target-select.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/hooks/use-target-select.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './phx-target-select';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/TargetSelect/index.ts"],"names":[],"mappings":";;;AAAA,8DAAmC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var radio_group_select_1 = tslib_1.__importDefault(require("./components/radio-group-select"));
|
|
7
|
+
var query_1 = require("./graphql/query");
|
|
8
|
+
var use_get_data_select_1 = tslib_1.__importDefault(require("./hooks/use-get-data-select"));
|
|
9
|
+
var config_1 = require("./sample/config");
|
|
10
|
+
var constant_1 = require("./utils/constant");
|
|
11
|
+
var clientQueryV3_1 = tslib_1.__importDefault(require("../Func/clientQueryV3"));
|
|
12
|
+
var Skeleton_1 = require("../Skeleton");
|
|
13
|
+
var Card_1 = require("../Card");
|
|
14
|
+
var react_2 = tslib_1.__importDefault(require("react"));
|
|
15
|
+
var Checkbox_1 = require("../Checkbox");
|
|
16
|
+
function PHXTargetSelect(_a) {
|
|
17
|
+
var _this = this;
|
|
18
|
+
var onChange = _a.onChange, schoolYearId = _a.schoolYearId, targetId = _a.targetId;
|
|
19
|
+
var _b = (0, react_1.useState)([]), listTargetSelected = _b[0], setListTargetSelected = _b[1];
|
|
20
|
+
var _c = (0, use_get_data_select_1["default"])({
|
|
21
|
+
schoolYearId: schoolYearId
|
|
22
|
+
}), getSelectLoading = _c.loading, selectOptions = _c.selectOptions;
|
|
23
|
+
var _d = (0, react_1.useState)(false), getDefaultLoading = _d[0], setGetDefaultLoading = _d[1];
|
|
24
|
+
var handleChangeTarget = function (target) {
|
|
25
|
+
var isCheckedByValue = listTargetSelected.some(function (item) { return item.target === target; });
|
|
26
|
+
var nextValues = [];
|
|
27
|
+
if (isCheckedByValue) {
|
|
28
|
+
nextValues = listTargetSelected.filter(function (item) { return item.target !== target; });
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
nextValues = tslib_1.__spreadArray(tslib_1.__spreadArray([], listTargetSelected, true), [
|
|
32
|
+
{
|
|
33
|
+
target: target,
|
|
34
|
+
filterBy: constant_1.FILTER_BY.ALL,
|
|
35
|
+
filterValues: []
|
|
36
|
+
},
|
|
37
|
+
], false);
|
|
38
|
+
}
|
|
39
|
+
setListTargetSelected(nextValues);
|
|
40
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(nextValues);
|
|
41
|
+
};
|
|
42
|
+
var handleChangeFilter = function (data) {
|
|
43
|
+
var clone = tslib_1.__spreadArray([], listTargetSelected, true);
|
|
44
|
+
var filteredData = clone.filter(function (item) { return item.target !== data.target; });
|
|
45
|
+
filteredData.push(data);
|
|
46
|
+
setListTargetSelected(filteredData);
|
|
47
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(filteredData);
|
|
48
|
+
};
|
|
49
|
+
var getDefaultData = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
50
|
+
var target_by_roles, formatedData, e_1;
|
|
51
|
+
return tslib_1.__generator(this, function (_a) {
|
|
52
|
+
switch (_a.label) {
|
|
53
|
+
case 0:
|
|
54
|
+
setGetDefaultLoading(true);
|
|
55
|
+
_a.label = 1;
|
|
56
|
+
case 1:
|
|
57
|
+
_a.trys.push([1, 3, 4, 5]);
|
|
58
|
+
return [4 /*yield*/, (0, clientQueryV3_1["default"])({
|
|
59
|
+
query: query_1.getTargetByIdQuery,
|
|
60
|
+
variables: {
|
|
61
|
+
id: targetId
|
|
62
|
+
}
|
|
63
|
+
})];
|
|
64
|
+
case 2:
|
|
65
|
+
target_by_roles = (_a.sent()).data.target_inform_target_by_pk.target_by_roles;
|
|
66
|
+
formatedData = target_by_roles === null || target_by_roles === void 0 ? void 0 : target_by_roles.map(function (target_by_role) {
|
|
67
|
+
var role_code = target_by_role.role_code, target_classrooms = target_by_role.target_classrooms, target_educational_levels = target_by_role.target_educational_levels, target_grades = target_by_role.target_grades, target_users = target_by_role.target_users;
|
|
68
|
+
var filterBy = constant_1.FILTER_BY.ALL, filterValues = [];
|
|
69
|
+
if ((target_educational_levels === null || target_educational_levels === void 0 ? void 0 : target_educational_levels.length) > 0) {
|
|
70
|
+
filterBy = constant_1.FILTER_BY.EDUCATIONAL_LEVEL;
|
|
71
|
+
filterValues = target_educational_levels.map(function (item) { return item.educational_level; });
|
|
72
|
+
}
|
|
73
|
+
if ((target_grades === null || target_grades === void 0 ? void 0 : target_grades.length) > 0) {
|
|
74
|
+
filterBy = constant_1.FILTER_BY.GRADE;
|
|
75
|
+
filterValues = target_grades.map(function (item) { return item.grade; });
|
|
76
|
+
}
|
|
77
|
+
if ((target_classrooms === null || target_classrooms === void 0 ? void 0 : target_classrooms.length) > 0) {
|
|
78
|
+
filterBy = constant_1.FILTER_BY.CLASSROOM;
|
|
79
|
+
filterValues = target_classrooms.map(function (item) { return item.classroom; });
|
|
80
|
+
}
|
|
81
|
+
if ((target_users === null || target_users === void 0 ? void 0 : target_users.length) > 0) {
|
|
82
|
+
filterBy = constant_1.FILTER_BY.CUSTOM_LIST;
|
|
83
|
+
filterValues = target_users.map(function (item) {
|
|
84
|
+
var _a = item.user, profile_staff = _a.profile_staff, profile_teacher = _a.profile_teacher, rest = tslib_1.__rest(_a, ["profile_staff", "profile_teacher"]);
|
|
85
|
+
return tslib_1.__assign(tslib_1.__assign({}, rest), { code: (profile_staff === null || profile_staff === void 0 ? void 0 : profile_staff.user_code) || (profile_teacher === null || profile_teacher === void 0 ? void 0 : profile_teacher.user_code) || '' });
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
target: role_code,
|
|
90
|
+
filterBy: filterBy,
|
|
91
|
+
filterValues: filterValues
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
setListTargetSelected(formatedData);
|
|
95
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(formatedData);
|
|
96
|
+
return [3 /*break*/, 5];
|
|
97
|
+
case 3:
|
|
98
|
+
e_1 = _a.sent();
|
|
99
|
+
console.error(e_1);
|
|
100
|
+
return [3 /*break*/, 5];
|
|
101
|
+
case 4:
|
|
102
|
+
setGetDefaultLoading(false);
|
|
103
|
+
return [7 /*endfinally*/];
|
|
104
|
+
case 5: return [2 /*return*/];
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}); };
|
|
108
|
+
(0, react_1.useEffect)(function () {
|
|
109
|
+
if (targetId) {
|
|
110
|
+
getDefaultData();
|
|
111
|
+
}
|
|
112
|
+
}, [targetId]);
|
|
113
|
+
return (react_2["default"].createElement(react_2["default"].Fragment, null, getSelectLoading || getDefaultLoading ? (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { type: 'table' })) : (react_2["default"].createElement(Card_1.PHXCard, { primaryHeader: true, title: '\u0110\u1ED1i t\u01B0\u1EE3ng hi\u1EC3n th\u1ECB' },
|
|
114
|
+
react_2["default"].createElement("div", { className: 'space-y-3 ' }, config_1.targetConfigs.map(function (config) {
|
|
115
|
+
var helpText = config.helpText, listRadio = config.listRadio, title = config.title, value = config.value;
|
|
116
|
+
var isChecked = listTargetSelected.some(function (item) { return item.target === value; });
|
|
117
|
+
return (react_2["default"].createElement("div", { key: value, className: 'space-y-2' },
|
|
118
|
+
react_2["default"].createElement(Checkbox_1.PHXCheckbox, { checked: isChecked, helpText: helpText, id: value, isShowHelpText: true, onChange: function () { return handleChangeTarget(value); }, title: title }),
|
|
119
|
+
isChecked && (react_2["default"].createElement(radio_group_select_1["default"], { handleChangeFilter: handleChangeFilter, listRadio: listRadio, listTargetSelected: listTargetSelected, schoolYearId: schoolYearId, selectOptions: selectOptions, target: value }))));
|
|
120
|
+
}))))));
|
|
121
|
+
}
|
|
122
|
+
exports["default"] = PHXTargetSelect;
|
|
123
|
+
//# sourceMappingURL=phx-target-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phx-target-select.js","sourceRoot":"","sources":["../../../../src/components/TargetSelect/phx-target-select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export declare const targetConfigs: ({
|
|
2
|
+
title: string;
|
|
3
|
+
value: "PH";
|
|
4
|
+
helpText: string;
|
|
5
|
+
listRadio: ({
|
|
6
|
+
title: string;
|
|
7
|
+
helpText: string;
|
|
8
|
+
value: "ALL";
|
|
9
|
+
comboboxLabel?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
title: string;
|
|
12
|
+
helpText: string;
|
|
13
|
+
value: "EDUCATIONAL_LEVEL";
|
|
14
|
+
comboboxLabel: string;
|
|
15
|
+
} | {
|
|
16
|
+
title: string;
|
|
17
|
+
helpText: string;
|
|
18
|
+
value: "GRADE";
|
|
19
|
+
comboboxLabel: string;
|
|
20
|
+
} | {
|
|
21
|
+
title: string;
|
|
22
|
+
helpText: string;
|
|
23
|
+
value: "CLASSROOM";
|
|
24
|
+
comboboxLabel: string;
|
|
25
|
+
} | {
|
|
26
|
+
title: string;
|
|
27
|
+
helpText: string;
|
|
28
|
+
value: "CUSTOM_LIST";
|
|
29
|
+
comboboxLabel?: undefined;
|
|
30
|
+
})[];
|
|
31
|
+
} | {
|
|
32
|
+
title: string;
|
|
33
|
+
value: "GV";
|
|
34
|
+
helpText: string;
|
|
35
|
+
listRadio: ({
|
|
36
|
+
title: string;
|
|
37
|
+
helpText: string;
|
|
38
|
+
value: "ALL";
|
|
39
|
+
comboboxLabel?: undefined;
|
|
40
|
+
} | {
|
|
41
|
+
title: string;
|
|
42
|
+
helpText: string;
|
|
43
|
+
value: "EDUCATIONAL_LEVEL";
|
|
44
|
+
comboboxLabel: string;
|
|
45
|
+
} | {
|
|
46
|
+
title: string;
|
|
47
|
+
helpText: string;
|
|
48
|
+
value: "GRADE";
|
|
49
|
+
comboboxLabel: string;
|
|
50
|
+
} | {
|
|
51
|
+
title: string;
|
|
52
|
+
helpText: string;
|
|
53
|
+
value: "CLASSROOM";
|
|
54
|
+
comboboxLabel: string;
|
|
55
|
+
} | {
|
|
56
|
+
title: string;
|
|
57
|
+
helpText: string;
|
|
58
|
+
value: "CUSTOM_LIST";
|
|
59
|
+
comboboxLabel?: undefined;
|
|
60
|
+
})[];
|
|
61
|
+
} | {
|
|
62
|
+
title: string;
|
|
63
|
+
value: "NV";
|
|
64
|
+
helpText: string;
|
|
65
|
+
listRadio: ({
|
|
66
|
+
title: string;
|
|
67
|
+
helpText: string;
|
|
68
|
+
value: "ALL";
|
|
69
|
+
} | {
|
|
70
|
+
title: string;
|
|
71
|
+
helpText: string;
|
|
72
|
+
value: "CUSTOM_LIST";
|
|
73
|
+
})[];
|
|
74
|
+
})[];
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.targetConfigs = void 0;
|
|
4
|
+
var constant_1 = require("../utils/constant");
|
|
5
|
+
exports.targetConfigs = [
|
|
6
|
+
{
|
|
7
|
+
title: 'Phụ huynh',
|
|
8
|
+
value: constant_1.ROLE_CODE.PARENT,
|
|
9
|
+
helpText: '[Loại thông báo] sẽ hiển thị trên ứng dụng mobile của tất cả phụ huynh thuộc nhà trường có con đang học',
|
|
10
|
+
listRadio: [
|
|
11
|
+
{
|
|
12
|
+
title: 'Tất cả phụ huynh',
|
|
13
|
+
helpText: 'Tất cả phụ huynh có con đang học ở các cấp học, khối học và lớp học',
|
|
14
|
+
value: constant_1.FILTER_BY.ALL
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
title: 'Theo cấp học',
|
|
18
|
+
helpText: 'Chọn phụ huynh có con đang học ở các cấp học',
|
|
19
|
+
value: constant_1.FILTER_BY.EDUCATIONAL_LEVEL,
|
|
20
|
+
comboboxLabel: 'Cấp học'
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
title: 'Theo khối học',
|
|
24
|
+
helpText: 'Chọn phụ huynh có con đang học ở các khối học',
|
|
25
|
+
value: constant_1.FILTER_BY.GRADE,
|
|
26
|
+
comboboxLabel: 'Khối học'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
title: 'Theo lớp học',
|
|
30
|
+
helpText: 'Chọn phụ huynh có con đang học ở các lớp học',
|
|
31
|
+
value: constant_1.FILTER_BY.CLASSROOM,
|
|
32
|
+
comboboxLabel: 'Lớp học'
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
title: 'Theo danh sách tuỳ chọn',
|
|
36
|
+
helpText: 'Chọn từng phụ huynh có con đang học ở các cấp học, khối học và lớp học',
|
|
37
|
+
value: constant_1.FILTER_BY.CUSTOM_LIST
|
|
38
|
+
},
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
title: 'Giáo viên',
|
|
43
|
+
value: constant_1.ROLE_CODE.TEACHER,
|
|
44
|
+
helpText: '[Loại thông báo] sẽ hiển thị trên ứng dụng mobile của tất cả giáo viên thuộc nhà trường đang giảng dạy',
|
|
45
|
+
listRadio: [
|
|
46
|
+
{
|
|
47
|
+
title: 'Tất cả giáo viên',
|
|
48
|
+
helpText: 'Tất cả giáo viên đang giảng dạy ở cấp học, khối học và lớp học',
|
|
49
|
+
value: constant_1.FILTER_BY.ALL
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
title: 'Theo cấp học',
|
|
53
|
+
helpText: 'Chọn giáo viên đang giảng dạy ở các cấp học',
|
|
54
|
+
value: constant_1.FILTER_BY.EDUCATIONAL_LEVEL,
|
|
55
|
+
comboboxLabel: 'Cấp học'
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
title: 'Theo khối học',
|
|
59
|
+
helpText: 'Chọn giáo viên đang giảng dạy ở các khối học',
|
|
60
|
+
value: constant_1.FILTER_BY.GRADE,
|
|
61
|
+
comboboxLabel: 'Khối học'
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
title: 'Theo lớp học',
|
|
65
|
+
helpText: 'Chọn giáo viên đang giảng dạy ở các lớp học',
|
|
66
|
+
value: constant_1.FILTER_BY.CLASSROOM,
|
|
67
|
+
comboboxLabel: 'Lớp học'
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
title: 'Theo danh sách tuỳ chọn',
|
|
71
|
+
helpText: 'Chọn từng giáo viên đang giảng dạy ở các cấp học, khối học và lớp học',
|
|
72
|
+
value: constant_1.FILTER_BY.CUSTOM_LIST
|
|
73
|
+
},
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
title: 'Cán bộ nhân viên',
|
|
78
|
+
value: constant_1.ROLE_CODE.STAFF,
|
|
79
|
+
helpText: '[Loại thông báo] sẽ hiển thị trên ứng dụng mobile của tất cả cán bộ nhân viên thuộc nhà trường đang làm việc',
|
|
80
|
+
listRadio: [
|
|
81
|
+
{
|
|
82
|
+
title: 'Tất cả cán bộ nhân viên',
|
|
83
|
+
helpText: 'Tất cả cán bộ nhân viên đang làm việc tại nhà trường',
|
|
84
|
+
value: constant_1.FILTER_BY.ALL
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
title: 'Theo danh sách tuỳ chọn',
|
|
88
|
+
helpText: 'Chọn từng cán bộ nhân viên đang làm việc tại nhà trường',
|
|
89
|
+
value: constant_1.FILTER_BY.CUSTOM_LIST
|
|
90
|
+
},
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
];
|
|
94
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/sample/config.ts"],"names":[],"mappings":";;;AAAA,8CAAwD;AAE3C,QAAA,aAAa,GAAG;IAC3B;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,oBAAS,CAAC,MAAM;QACvB,QAAQ,EAAE,yGAAyG;QACnH,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,qEAAqE;gBAC/E,KAAK,EAAE,oBAAS,CAAC,GAAG;aACrB;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,8CAA8C;gBACxD,KAAK,EAAE,oBAAS,CAAC,iBAAiB;gBAClC,aAAa,EAAE,SAAS;aACzB;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,QAAQ,EAAE,+CAA+C;gBACzD,KAAK,EAAE,oBAAS,CAAC,KAAK;gBACtB,aAAa,EAAE,UAAU;aAC1B;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,8CAA8C;gBACxD,KAAK,EAAE,oBAAS,CAAC,SAAS;gBAC1B,aAAa,EAAE,SAAS;aACzB;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,QAAQ,EAAE,wEAAwE;gBAClF,KAAK,EAAE,oBAAS,CAAC,WAAW;aAC7B;SACF;KACF;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,oBAAS,CAAC,OAAO;QACxB,QAAQ,EAAE,wGAAwG;QAClH,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,gEAAgE;gBAC1E,KAAK,EAAE,oBAAS,CAAC,GAAG;aACrB;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,6CAA6C;gBACvD,KAAK,EAAE,oBAAS,CAAC,iBAAiB;gBAClC,aAAa,EAAE,SAAS;aACzB;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,QAAQ,EAAE,8CAA8C;gBACxD,KAAK,EAAE,oBAAS,CAAC,KAAK;gBACtB,aAAa,EAAE,UAAU;aAC1B;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,6CAA6C;gBACvD,KAAK,EAAE,oBAAS,CAAC,SAAS;gBAC1B,aAAa,EAAE,SAAS;aACzB;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,QAAQ,EAAE,uEAAuE;gBACjF,KAAK,EAAE,oBAAS,CAAC,WAAW;aAC7B;SACF;KACF;IACD;QACE,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,oBAAS,CAAC,KAAK;QACtB,QAAQ,EACN,8GAA8G;QAChH,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,yBAAyB;gBAChC,QAAQ,EAAE,sDAAsD;gBAChE,KAAK,EAAE,oBAAS,CAAC,GAAG;aACrB;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,QAAQ,EAAE,yDAAyD;gBACnE,KAAK,EAAE,oBAAS,CAAC,WAAW;aAC7B;SACF;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.data = void 0;
|
|
4
|
+
exports.data = [
|
|
5
|
+
{
|
|
6
|
+
target: 'PH',
|
|
7
|
+
filterBy: 'EDUCATIONAL_LEVEL',
|
|
8
|
+
filterValues: [
|
|
9
|
+
{
|
|
10
|
+
id: 1,
|
|
11
|
+
name: 'Tiểu học',
|
|
12
|
+
code: 'TIEU_HOC'
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 2,
|
|
16
|
+
name: 'Trung học',
|
|
17
|
+
code: 'TH'
|
|
18
|
+
},
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
target: 'GV',
|
|
23
|
+
filterBy: 'CUSTOM_LIST',
|
|
24
|
+
filterValues: [
|
|
25
|
+
{
|
|
26
|
+
id: 1,
|
|
27
|
+
name: 'Bùi Huy Bách',
|
|
28
|
+
code: 'PHX_123',
|
|
29
|
+
phone: '0354604144',
|
|
30
|
+
email: 'test@gmail.com'
|
|
31
|
+
},
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
//# sourceMappingURL=sample-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sample-data.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/sample/sample-data.ts"],"names":[],"mappings":";;;AAEa,QAAA,IAAI,GAA+B;IAC9C;QACE,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,mBAAmB;QAC7B,YAAY,EAAE;YACZ;gBACE,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;aACjB;YACD;gBACE,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;aACX;SACF;KACF;IACD;QACE,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE;YACZ;gBACE,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,gBAAgB;aACxB;SACF;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { FILTER_BY, ROLE_CODE } from './utils/constant';
|
|
2
|
+
export type TFilterBy = (typeof FILTER_BY)[keyof typeof FILTER_BY];
|
|
3
|
+
export type TTarget = (typeof ROLE_CODE)[keyof typeof ROLE_CODE];
|
|
4
|
+
export interface IFilterValueItem {
|
|
5
|
+
id: number;
|
|
6
|
+
name: string;
|
|
7
|
+
code: string;
|
|
8
|
+
phone?: string;
|
|
9
|
+
email?: string;
|
|
10
|
+
educationalLevelIds?: Array<number>;
|
|
11
|
+
gradeIds?: Array<number>;
|
|
12
|
+
classroomIds?: Array<number>;
|
|
13
|
+
}
|
|
14
|
+
export interface ITargetSelectedData {
|
|
15
|
+
target: TTarget;
|
|
16
|
+
filterBy: TFilterBy;
|
|
17
|
+
filterValues: Array<IFilterValueItem>;
|
|
18
|
+
}
|
|
19
|
+
export type TSelectOptionItem = {
|
|
20
|
+
id: number;
|
|
21
|
+
name: string;
|
|
22
|
+
code: string;
|
|
23
|
+
educational_level_id?: number;
|
|
24
|
+
grade?: {
|
|
25
|
+
id: number;
|
|
26
|
+
educational_level_id: number;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export interface ISelectOptions {
|
|
30
|
+
EDUCATIONAL_LEVEL: Array<TSelectOptionItem>;
|
|
31
|
+
GRADE: Array<TSelectOptionItem>;
|
|
32
|
+
CLASSROOM: Array<TSelectOptionItem>;
|
|
33
|
+
}
|
|
34
|
+
export interface ITargetSelectProps {
|
|
35
|
+
schoolYearId: number;
|
|
36
|
+
onChange?(data: Array<ITargetSelectedData>): void;
|
|
37
|
+
targetId?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface IQueryBuilderProps {
|
|
40
|
+
target: TTarget;
|
|
41
|
+
schoolYearId: number;
|
|
42
|
+
condition: {
|
|
43
|
+
gradeId: number;
|
|
44
|
+
educationalLevelId: number;
|
|
45
|
+
classroomId: number;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/TargetSelect/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const OPTION_FILTER_ALL: {
|
|
2
|
+
id: number;
|
|
3
|
+
name: string;
|
|
4
|
+
code: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const ROLE_CODE: {
|
|
7
|
+
readonly TEACHER: "GV";
|
|
8
|
+
readonly PARENT: "PH";
|
|
9
|
+
readonly STAFF: "NV";
|
|
10
|
+
};
|
|
11
|
+
export declare const FILTER_BY: {
|
|
12
|
+
readonly ALL: "ALL";
|
|
13
|
+
readonly EDUCATIONAL_LEVEL: "EDUCATIONAL_LEVEL";
|
|
14
|
+
readonly GRADE: "GRADE";
|
|
15
|
+
readonly CLASSROOM: "CLASSROOM";
|
|
16
|
+
readonly CUSTOM_LIST: "CUSTOM_LIST";
|
|
17
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.FILTER_BY = exports.ROLE_CODE = exports.OPTION_FILTER_ALL = void 0;
|
|
4
|
+
exports.OPTION_FILTER_ALL = {
|
|
5
|
+
id: 0,
|
|
6
|
+
name: 'Tất cả',
|
|
7
|
+
code: 'ALL'
|
|
8
|
+
};
|
|
9
|
+
exports.ROLE_CODE = {
|
|
10
|
+
TEACHER: 'GV',
|
|
11
|
+
PARENT: 'PH',
|
|
12
|
+
STAFF: 'NV'
|
|
13
|
+
};
|
|
14
|
+
exports.FILTER_BY = {
|
|
15
|
+
ALL: 'ALL',
|
|
16
|
+
EDUCATIONAL_LEVEL: 'EDUCATIONAL_LEVEL',
|
|
17
|
+
GRADE: 'GRADE',
|
|
18
|
+
CLASSROOM: 'CLASSROOM',
|
|
19
|
+
CUSTOM_LIST: 'CUSTOM_LIST'
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/utils/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC/B,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,KAAK;CACZ,CAAA;AAEY,QAAA,SAAS,GAAG;IACvB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;CACH,CAAA;AAEG,QAAA,SAAS,GAAG;IACvB,GAAG,EAAE,KAAK;IACV,iBAAiB,EAAE,mBAAmB;IACtC,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;CAClB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TTarget } from '../types';
|
|
2
|
+
export declare const getRoleNameByTarget: (target: TTarget, uppercaseFirst?: boolean) => string;
|
|
3
|
+
export declare function formatUserDescription(user: any, target: TTarget): any;
|
|
4
|
+
export declare const getUserFilterValueByTarget: (user: any, target: TTarget) => {
|
|
5
|
+
educationalLevelIds: Array<number>;
|
|
6
|
+
gradeIds: Array<number>;
|
|
7
|
+
classroomIds: Array<number>;
|
|
8
|
+
};
|