phx-react 1.3.1225 → 1.3.1227

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.
Files changed (97) hide show
  1. package/dist/cjs/components/TargetSelect/components/filter-dropdown.d.ts +12 -0
  2. package/dist/cjs/components/TargetSelect/components/filter-dropdown.js +57 -0
  3. package/dist/cjs/components/TargetSelect/components/filter-dropdown.js.map +1 -0
  4. package/dist/cjs/components/TargetSelect/components/modal-custom-list.d.ts +11 -0
  5. package/dist/cjs/components/TargetSelect/components/modal-custom-list.js +100 -0
  6. package/dist/cjs/components/TargetSelect/components/modal-custom-list.js.map +1 -0
  7. package/dist/cjs/components/TargetSelect/components/modal-search-user.d.ts +10 -0
  8. package/dist/cjs/components/TargetSelect/components/modal-search-user.js +130 -0
  9. package/dist/cjs/components/TargetSelect/components/modal-search-user.js.map +1 -0
  10. package/dist/cjs/components/TargetSelect/components/radio-group-select.d.ts +15 -0
  11. package/dist/cjs/components/TargetSelect/components/radio-group-select.js +43 -0
  12. package/dist/cjs/components/TargetSelect/components/radio-group-select.js.map +1 -0
  13. package/dist/cjs/components/TargetSelect/graphql/mutation.d.ts +2 -0
  14. package/dist/cjs/components/TargetSelect/graphql/mutation.js +6 -0
  15. package/dist/cjs/components/TargetSelect/graphql/mutation.js.map +1 -0
  16. package/dist/cjs/components/TargetSelect/graphql/query.d.ts +4 -0
  17. package/dist/cjs/components/TargetSelect/graphql/query.js +49 -0
  18. package/dist/cjs/components/TargetSelect/graphql/query.js.map +1 -0
  19. package/dist/cjs/components/TargetSelect/hooks/use-get-data-select.d.ts +7 -0
  20. package/dist/cjs/components/TargetSelect/hooks/use-get-data-select.js +61 -0
  21. package/dist/cjs/components/TargetSelect/hooks/use-get-data-select.js.map +1 -0
  22. package/dist/cjs/components/TargetSelect/hooks/use-target-select.d.ts +15 -0
  23. package/dist/cjs/components/TargetSelect/hooks/use-target-select.js +131 -0
  24. package/dist/cjs/components/TargetSelect/hooks/use-target-select.js.map +1 -0
  25. package/dist/cjs/components/TargetSelect/index.d.ts +1 -0
  26. package/dist/cjs/components/TargetSelect/index.js +5 -0
  27. package/dist/cjs/components/TargetSelect/index.js.map +1 -0
  28. package/dist/cjs/components/TargetSelect/phx-target-select.d.ts +3 -0
  29. package/dist/cjs/components/TargetSelect/phx-target-select.js +123 -0
  30. package/dist/cjs/components/TargetSelect/phx-target-select.js.map +1 -0
  31. package/dist/cjs/components/TargetSelect/sample/config.d.ts +74 -0
  32. package/dist/cjs/components/TargetSelect/sample/config.js +94 -0
  33. package/dist/cjs/components/TargetSelect/sample/config.js.map +1 -0
  34. package/dist/cjs/components/TargetSelect/sample/sample-data.d.ts +2 -0
  35. package/dist/cjs/components/TargetSelect/sample/sample-data.js +35 -0
  36. package/dist/cjs/components/TargetSelect/sample/sample-data.js.map +1 -0
  37. package/dist/cjs/components/TargetSelect/types.d.ts +47 -0
  38. package/dist/cjs/components/TargetSelect/types.js +3 -0
  39. package/dist/cjs/components/TargetSelect/types.js.map +1 -0
  40. package/dist/cjs/components/TargetSelect/utils/constant.d.ts +17 -0
  41. package/dist/cjs/components/TargetSelect/utils/constant.js +21 -0
  42. package/dist/cjs/components/TargetSelect/utils/constant.js.map +1 -0
  43. package/dist/cjs/components/TargetSelect/utils/helper.d.ts +8 -0
  44. package/dist/cjs/components/TargetSelect/utils/helper.js +75 -0
  45. package/dist/cjs/components/TargetSelect/utils/helper.js.map +1 -0
  46. package/dist/cjs/index.d.ts +3 -1
  47. package/dist/cjs/index.js +6 -2
  48. package/dist/cjs/index.js.map +1 -1
  49. package/dist/esm/components/TargetSelect/components/filter-dropdown.d.ts +12 -0
  50. package/dist/esm/components/TargetSelect/components/filter-dropdown.js +54 -0
  51. package/dist/esm/components/TargetSelect/components/filter-dropdown.js.map +1 -0
  52. package/dist/esm/components/TargetSelect/components/modal-custom-list.d.ts +11 -0
  53. package/dist/esm/components/TargetSelect/components/modal-custom-list.js +97 -0
  54. package/dist/esm/components/TargetSelect/components/modal-custom-list.js.map +1 -0
  55. package/dist/esm/components/TargetSelect/components/modal-search-user.d.ts +10 -0
  56. package/dist/esm/components/TargetSelect/components/modal-search-user.js +127 -0
  57. package/dist/esm/components/TargetSelect/components/modal-search-user.js.map +1 -0
  58. package/dist/esm/components/TargetSelect/components/radio-group-select.d.ts +15 -0
  59. package/dist/esm/components/TargetSelect/components/radio-group-select.js +39 -0
  60. package/dist/esm/components/TargetSelect/components/radio-group-select.js.map +1 -0
  61. package/dist/esm/components/TargetSelect/graphql/mutation.d.ts +2 -0
  62. package/dist/esm/components/TargetSelect/graphql/mutation.js +3 -0
  63. package/dist/esm/components/TargetSelect/graphql/mutation.js.map +1 -0
  64. package/dist/esm/components/TargetSelect/graphql/query.d.ts +4 -0
  65. package/dist/esm/components/TargetSelect/graphql/query.js +45 -0
  66. package/dist/esm/components/TargetSelect/graphql/query.js.map +1 -0
  67. package/dist/esm/components/TargetSelect/hooks/use-get-data-select.d.ts +7 -0
  68. package/dist/esm/components/TargetSelect/hooks/use-get-data-select.js +58 -0
  69. package/dist/esm/components/TargetSelect/hooks/use-get-data-select.js.map +1 -0
  70. package/dist/esm/components/TargetSelect/hooks/use-target-select.d.ts +15 -0
  71. package/dist/esm/components/TargetSelect/hooks/use-target-select.js +128 -0
  72. package/dist/esm/components/TargetSelect/hooks/use-target-select.js.map +1 -0
  73. package/dist/esm/components/TargetSelect/index.d.ts +1 -0
  74. package/dist/esm/components/TargetSelect/index.js +2 -0
  75. package/dist/esm/components/TargetSelect/index.js.map +1 -0
  76. package/dist/esm/components/TargetSelect/phx-target-select.d.ts +3 -0
  77. package/dist/esm/components/TargetSelect/phx-target-select.js +120 -0
  78. package/dist/esm/components/TargetSelect/phx-target-select.js.map +1 -0
  79. package/dist/esm/components/TargetSelect/sample/config.d.ts +74 -0
  80. package/dist/esm/components/TargetSelect/sample/config.js +91 -0
  81. package/dist/esm/components/TargetSelect/sample/config.js.map +1 -0
  82. package/dist/esm/components/TargetSelect/sample/sample-data.d.ts +2 -0
  83. package/dist/esm/components/TargetSelect/sample/sample-data.js +32 -0
  84. package/dist/esm/components/TargetSelect/sample/sample-data.js.map +1 -0
  85. package/dist/esm/components/TargetSelect/types.d.ts +47 -0
  86. package/dist/esm/components/TargetSelect/types.js +2 -0
  87. package/dist/esm/components/TargetSelect/types.js.map +1 -0
  88. package/dist/esm/components/TargetSelect/utils/constant.d.ts +17 -0
  89. package/dist/esm/components/TargetSelect/utils/constant.js +18 -0
  90. package/dist/esm/components/TargetSelect/utils/constant.js.map +1 -0
  91. package/dist/esm/components/TargetSelect/utils/helper.d.ts +8 -0
  92. package/dist/esm/components/TargetSelect/utils/helper.js +69 -0
  93. package/dist/esm/components/TargetSelect/utils/helper.js.map +1 -0
  94. package/dist/esm/index.d.ts +3 -1
  95. package/dist/esm/index.js +3 -1
  96. package/dist/esm/index.js.map +1 -1
  97. 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,5 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./phx-target-select"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/TargetSelect/index.ts"],"names":[],"mappings":";;;AAAA,8DAAmC"}
@@ -0,0 +1,3 @@
1
+ import { ITargetSelectProps } from './types';
2
+ import React from 'react';
3
+ export default function PHXTargetSelect({ onChange, schoolYearId, targetId }: ITargetSelectProps): React.JSX.Element;
@@ -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,2 @@
1
+ import { ITargetSelectedData } from '../types';
2
+ export declare const data: Array<ITargetSelectedData>;
@@ -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,3 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ //# sourceMappingURL=types.js.map
@@ -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
+ };