phx-react 1.3.1533 → 1.3.1535

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 (133) hide show
  1. package/dist/cjs/components/FormTarget/PHXFormTarget.d.ts +3 -0
  2. package/dist/cjs/components/FormTarget/PHXFormTarget.js +237 -0
  3. package/dist/cjs/components/FormTarget/PHXFormTarget.js.map +1 -0
  4. package/dist/cjs/components/FormTarget/components/divider/divider.d.ts +6 -0
  5. package/dist/cjs/components/FormTarget/components/divider/divider.js +11 -0
  6. package/dist/cjs/components/FormTarget/components/divider/divider.js.map +1 -0
  7. package/dist/cjs/components/FormTarget/components/index.d.ts +1 -0
  8. package/dist/cjs/components/FormTarget/components/index.js +5 -0
  9. package/dist/cjs/components/FormTarget/components/index.js.map +1 -0
  10. package/dist/cjs/components/FormTarget/components/modal-search-user/modal-search-user.d.ts +13 -0
  11. package/dist/cjs/components/FormTarget/components/modal-search-user/modal-search-user.js +166 -0
  12. package/dist/cjs/components/FormTarget/components/modal-search-user/modal-search-user.js.map +1 -0
  13. package/dist/cjs/components/FormTarget/components/radio-group-select.d.ts +17 -0
  14. package/dist/cjs/components/FormTarget/components/radio-group-select.js +46 -0
  15. package/dist/cjs/components/FormTarget/components/radio-group-select.js.map +1 -0
  16. package/dist/cjs/components/FormTarget/components/table-custom-list.d.ts +11 -0
  17. package/dist/cjs/components/FormTarget/components/table-custom-list.js +175 -0
  18. package/dist/cjs/components/FormTarget/components/table-custom-list.js.map +1 -0
  19. package/dist/cjs/components/FormTarget/config.d.ts +70 -0
  20. package/dist/cjs/components/FormTarget/config.js +90 -0
  21. package/dist/cjs/components/FormTarget/config.js.map +1 -0
  22. package/dist/cjs/components/FormTarget/constant.d.ts +37 -0
  23. package/dist/cjs/components/FormTarget/constant.js +45 -0
  24. package/dist/cjs/components/FormTarget/constant.js.map +1 -0
  25. package/dist/cjs/components/FormTarget/graphql/mutation.d.ts +3 -0
  26. package/dist/cjs/components/FormTarget/graphql/mutation.js +7 -0
  27. package/dist/cjs/components/FormTarget/graphql/mutation.js.map +1 -0
  28. package/dist/cjs/components/FormTarget/graphql/query.d.ts +7 -0
  29. package/dist/cjs/components/FormTarget/graphql/query.js +51 -0
  30. package/dist/cjs/components/FormTarget/graphql/query.js.map +1 -0
  31. package/dist/cjs/components/FormTarget/hooks/index.d.ts +2 -0
  32. package/dist/cjs/components/FormTarget/hooks/index.js +6 -0
  33. package/dist/cjs/components/FormTarget/hooks/index.js.map +1 -0
  34. package/dist/cjs/components/FormTarget/hooks/use-get-data-select.d.ts +7 -0
  35. package/dist/cjs/components/FormTarget/hooks/use-get-data-select.js +65 -0
  36. package/dist/cjs/components/FormTarget/hooks/use-get-data-select.js.map +1 -0
  37. package/dist/cjs/components/FormTarget/hooks/use-target-select.d.ts +19 -0
  38. package/dist/cjs/components/FormTarget/hooks/use-target-select.js +191 -0
  39. package/dist/cjs/components/FormTarget/hooks/use-target-select.js.map +1 -0
  40. package/dist/cjs/components/FormTarget/index.d.ts +6 -0
  41. package/dist/cjs/components/FormTarget/index.js +10 -0
  42. package/dist/cjs/components/FormTarget/index.js.map +1 -0
  43. package/dist/cjs/components/FormTarget/type/target.d.ts +161 -0
  44. package/dist/cjs/components/FormTarget/type/target.js +3 -0
  45. package/dist/cjs/components/FormTarget/type/target.js.map +1 -0
  46. package/dist/cjs/components/FormTarget/ultis/get-filter-error-message.d.ts +2 -0
  47. package/dist/cjs/components/FormTarget/ultis/get-filter-error-message.js +22 -0
  48. package/dist/cjs/components/FormTarget/ultis/get-filter-error-message.js.map +1 -0
  49. package/dist/cjs/components/FormTarget/ultis/get-object-type.d.ts +2 -0
  50. package/dist/cjs/components/FormTarget/ultis/get-object-type.js +15 -0
  51. package/dist/cjs/components/FormTarget/ultis/get-object-type.js.map +1 -0
  52. package/dist/cjs/components/FormTarget/ultis/get-role-name-by-target.d.ts +2 -0
  53. package/dist/cjs/components/FormTarget/ultis/get-role-name-by-target.js +23 -0
  54. package/dist/cjs/components/FormTarget/ultis/get-role-name-by-target.js.map +1 -0
  55. package/dist/cjs/components/FormTarget/ultis/get-title-by-relationship-code.d.ts +1 -0
  56. package/dist/cjs/components/FormTarget/ultis/get-title-by-relationship-code.js +16 -0
  57. package/dist/cjs/components/FormTarget/ultis/get-title-by-relationship-code.js.map +1 -0
  58. package/dist/cjs/components/FormTarget/ultis/target-group-resolver.d.ts +8 -0
  59. package/dist/cjs/components/FormTarget/ultis/target-group-resolver.js +60 -0
  60. package/dist/cjs/components/FormTarget/ultis/target-group-resolver.js.map +1 -0
  61. package/dist/cjs/components/FormTarget/ultis/tranform-target-user.d.ts +9 -0
  62. package/dist/cjs/components/FormTarget/ultis/tranform-target-user.js +91 -0
  63. package/dist/cjs/components/FormTarget/ultis/tranform-target-user.js.map +1 -0
  64. package/dist/cjs/index.d.ts +1 -0
  65. package/dist/cjs/index.js +1 -0
  66. package/dist/cjs/index.js.map +1 -1
  67. package/dist/esm/components/FormTarget/PHXFormTarget.d.ts +3 -0
  68. package/dist/esm/components/FormTarget/PHXFormTarget.js +233 -0
  69. package/dist/esm/components/FormTarget/PHXFormTarget.js.map +1 -0
  70. package/dist/esm/components/FormTarget/components/divider/divider.d.ts +6 -0
  71. package/dist/esm/components/FormTarget/components/divider/divider.js +6 -0
  72. package/dist/esm/components/FormTarget/components/divider/divider.js.map +1 -0
  73. package/dist/esm/components/FormTarget/components/index.d.ts +1 -0
  74. package/dist/esm/components/FormTarget/components/index.js +2 -0
  75. package/dist/esm/components/FormTarget/components/index.js.map +1 -0
  76. package/dist/esm/components/FormTarget/components/modal-search-user/modal-search-user.d.ts +13 -0
  77. package/dist/esm/components/FormTarget/components/modal-search-user/modal-search-user.js +163 -0
  78. package/dist/esm/components/FormTarget/components/modal-search-user/modal-search-user.js.map +1 -0
  79. package/dist/esm/components/FormTarget/components/radio-group-select.d.ts +17 -0
  80. package/dist/esm/components/FormTarget/components/radio-group-select.js +42 -0
  81. package/dist/esm/components/FormTarget/components/radio-group-select.js.map +1 -0
  82. package/dist/esm/components/FormTarget/components/table-custom-list.d.ts +11 -0
  83. package/dist/esm/components/FormTarget/components/table-custom-list.js +172 -0
  84. package/dist/esm/components/FormTarget/components/table-custom-list.js.map +1 -0
  85. package/dist/esm/components/FormTarget/config.d.ts +70 -0
  86. package/dist/esm/components/FormTarget/config.js +87 -0
  87. package/dist/esm/components/FormTarget/config.js.map +1 -0
  88. package/dist/esm/components/FormTarget/constant.d.ts +37 -0
  89. package/dist/esm/components/FormTarget/constant.js +42 -0
  90. package/dist/esm/components/FormTarget/constant.js.map +1 -0
  91. package/dist/esm/components/FormTarget/graphql/mutation.d.ts +3 -0
  92. package/dist/esm/components/FormTarget/graphql/mutation.js +4 -0
  93. package/dist/esm/components/FormTarget/graphql/mutation.js.map +1 -0
  94. package/dist/esm/components/FormTarget/graphql/query.d.ts +7 -0
  95. package/dist/esm/components/FormTarget/graphql/query.js +47 -0
  96. package/dist/esm/components/FormTarget/graphql/query.js.map +1 -0
  97. package/dist/esm/components/FormTarget/hooks/index.d.ts +2 -0
  98. package/dist/esm/components/FormTarget/hooks/index.js +3 -0
  99. package/dist/esm/components/FormTarget/hooks/index.js.map +1 -0
  100. package/dist/esm/components/FormTarget/hooks/use-get-data-select.d.ts +7 -0
  101. package/dist/esm/components/FormTarget/hooks/use-get-data-select.js +61 -0
  102. package/dist/esm/components/FormTarget/hooks/use-get-data-select.js.map +1 -0
  103. package/dist/esm/components/FormTarget/hooks/use-target-select.d.ts +19 -0
  104. package/dist/esm/components/FormTarget/hooks/use-target-select.js +187 -0
  105. package/dist/esm/components/FormTarget/hooks/use-target-select.js.map +1 -0
  106. package/dist/esm/components/FormTarget/index.d.ts +6 -0
  107. package/dist/esm/components/FormTarget/index.js +7 -0
  108. package/dist/esm/components/FormTarget/index.js.map +1 -0
  109. package/dist/esm/components/FormTarget/type/target.d.ts +161 -0
  110. package/dist/esm/components/FormTarget/type/target.js +2 -0
  111. package/dist/esm/components/FormTarget/type/target.js.map +1 -0
  112. package/dist/esm/components/FormTarget/ultis/get-filter-error-message.d.ts +2 -0
  113. package/dist/esm/components/FormTarget/ultis/get-filter-error-message.js +18 -0
  114. package/dist/esm/components/FormTarget/ultis/get-filter-error-message.js.map +1 -0
  115. package/dist/esm/components/FormTarget/ultis/get-object-type.d.ts +2 -0
  116. package/dist/esm/components/FormTarget/ultis/get-object-type.js +11 -0
  117. package/dist/esm/components/FormTarget/ultis/get-object-type.js.map +1 -0
  118. package/dist/esm/components/FormTarget/ultis/get-role-name-by-target.d.ts +2 -0
  119. package/dist/esm/components/FormTarget/ultis/get-role-name-by-target.js +19 -0
  120. package/dist/esm/components/FormTarget/ultis/get-role-name-by-target.js.map +1 -0
  121. package/dist/esm/components/FormTarget/ultis/get-title-by-relationship-code.d.ts +1 -0
  122. package/dist/esm/components/FormTarget/ultis/get-title-by-relationship-code.js +12 -0
  123. package/dist/esm/components/FormTarget/ultis/get-title-by-relationship-code.js.map +1 -0
  124. package/dist/esm/components/FormTarget/ultis/target-group-resolver.d.ts +8 -0
  125. package/dist/esm/components/FormTarget/ultis/target-group-resolver.js +57 -0
  126. package/dist/esm/components/FormTarget/ultis/target-group-resolver.js.map +1 -0
  127. package/dist/esm/components/FormTarget/ultis/tranform-target-user.d.ts +9 -0
  128. package/dist/esm/components/FormTarget/ultis/tranform-target-user.js +86 -0
  129. package/dist/esm/components/FormTarget/ultis/tranform-target-user.js.map +1 -0
  130. package/dist/esm/index.d.ts +1 -0
  131. package/dist/esm/index.js +1 -0
  132. package/dist/esm/index.js.map +1 -1
  133. package/package.json +1 -1
@@ -0,0 +1,163 @@
1
+ import { __awaiter, __generator, __spreadArray } from "tslib";
2
+ import { useEffect, useState } from 'react';
3
+ import { OPTION_FILTER_ALL } from '../../constant';
4
+ import { queryListUserBuilder } from '../../graphql/query';
5
+ import { getRoleNameByTarget } from '../../ultis/get-role-name-by-target';
6
+ import { transformTargetUser } from '../../ultis/tranform-target-user';
7
+ import PHXFuncGetLoggedInfo from '../../../Func/getLoginInfo';
8
+ import PHXUseDebounce from '../../../Func/useDebounce';
9
+ import { PHXModal } from '../../../Modal';
10
+ import { PHXResourceList } from '../../../ResourceList';
11
+ import React from 'react';
12
+ import { PHXClientQueryV3 } from '../../../Func/GRPC/PHXGrpcClientV3';
13
+ export default function ModalSearchUser(_a) {
14
+ var _this = this;
15
+ var defaultSelected = _a.defaultSelected, handleAddList = _a.handleAddList, onHide = _a.onHide, schoolYearId = _a.schoolYearId, show = _a.show, target = _a.target;
16
+ var _b = useState([]), listUser = _b[0], setListUser = _b[1];
17
+ var _c = useState(0), currPage = _c[0], setCurrPage = _c[1];
18
+ var userInfo = PHXFuncGetLoggedInfo();
19
+ var _d = useState(''), searchKeyword = _d[0], setSearchKeyword = _d[1];
20
+ var _e = useState(false), searching = _e[0], setSearching = _e[1];
21
+ var _f = useState(false), loadingInit = _f[0], setLoadingInit = _f[1];
22
+ var _g = useState({
23
+ gradeId: OPTION_FILTER_ALL.id,
24
+ educationalLevelId: OPTION_FILTER_ALL.id,
25
+ classroomId: OPTION_FILTER_ALL.id,
26
+ }), filterSelected = _g[0], setFilterSelected = _g[1];
27
+ var _h = useState(false), isAllData = _h[0], setIsAllData = _h[1];
28
+ var _j = useState([]), dataSelected = _j[0], setDataSelected = _j[1];
29
+ var debounceSearchValue = PHXUseDebounce(searchKeyword, 300);
30
+ var getUser = function () { return __awaiter(_this, void 0, void 0, function () {
31
+ var limit, offset, query, users, targetData, isAllDataResult, formatedUsers_1, e_1;
32
+ return __generator(this, function (_a) {
33
+ switch (_a.label) {
34
+ case 0:
35
+ if (isAllData || searching)
36
+ return [2 /*return*/];
37
+ setSearching(true);
38
+ _a.label = 1;
39
+ case 1:
40
+ _a.trys.push([1, 3, 4, 5]);
41
+ limit = 10;
42
+ offset = currPage * limit;
43
+ query = queryListUserBuilder({
44
+ target: target,
45
+ schoolYearId: schoolYearId,
46
+ schoolId: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
47
+ condition: filterSelected,
48
+ });
49
+ return [4 /*yield*/, PHXClientQueryV3({
50
+ query: query,
51
+ variables: {
52
+ roleCode: target,
53
+ limit: limit,
54
+ offset: offset,
55
+ searchKeyword: "%".concat(debounceSearchValue, "%"),
56
+ schoolId: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
57
+ },
58
+ })];
59
+ case 2:
60
+ users = (_a.sent()).data.users;
61
+ targetData = users;
62
+ isAllDataResult = targetData.length < limit;
63
+ setIsAllData(isAllDataResult);
64
+ formatedUsers_1 = transformTargetUser(targetData, target);
65
+ if (currPage === 0) {
66
+ setListUser(formatedUsers_1);
67
+ }
68
+ else {
69
+ setListUser(function (pre) { return __spreadArray(__spreadArray([], pre, true), formatedUsers_1, true); });
70
+ }
71
+ return [3 /*break*/, 5];
72
+ case 3:
73
+ e_1 = _a.sent();
74
+ console.error(e_1);
75
+ return [3 /*break*/, 5];
76
+ case 4:
77
+ setSearching(false);
78
+ return [7 /*endfinally*/];
79
+ case 5: return [2 /*return*/];
80
+ }
81
+ });
82
+ }); };
83
+ var getDataInitial = function () { return __awaiter(_this, void 0, void 0, function () {
84
+ var error_1;
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0:
88
+ _a.trys.push([0, 2, 3, 4]);
89
+ setLoadingInit(true);
90
+ return [4 /*yield*/, getUser()];
91
+ case 1:
92
+ _a.sent();
93
+ return [3 /*break*/, 4];
94
+ case 2:
95
+ error_1 = _a.sent();
96
+ console.error(error_1);
97
+ return [3 /*break*/, 4];
98
+ case 3:
99
+ setLoadingInit(false);
100
+ return [7 /*endfinally*/];
101
+ case 4: return [2 /*return*/];
102
+ }
103
+ });
104
+ }); };
105
+ var handleReset = function () {
106
+ setListUser([]);
107
+ setIsAllData(false);
108
+ setDataSelected([]);
109
+ setCurrPage(0);
110
+ setSearchKeyword('');
111
+ setFilterSelected({
112
+ gradeId: OPTION_FILTER_ALL.id,
113
+ educationalLevelId: OPTION_FILTER_ALL.id,
114
+ classroomId: OPTION_FILTER_ALL.id,
115
+ });
116
+ };
117
+ function onHandleHide() {
118
+ onHide();
119
+ handleReset();
120
+ }
121
+ var handleSubmit = function () {
122
+ if (dataSelected.length === 0)
123
+ return;
124
+ var listDelete = defaultSelected.filter(function (item) { return !dataSelected.some(function (selected) { return selected.id === item.id; }); });
125
+ var formattedData = dataSelected.map(function (item) { return ({
126
+ id: item.id,
127
+ code: item.code,
128
+ email: item.email,
129
+ phone: item.phone,
130
+ name: item.full_name,
131
+ full_name: item.full_name,
132
+ parents: item.parents || [],
133
+ educational_level: item.educational_level,
134
+ classroom: item.classroom,
135
+ grade: item.grade,
136
+ }); });
137
+ handleAddList(formattedData, listDelete);
138
+ onHide();
139
+ };
140
+ useEffect(function () {
141
+ getUser();
142
+ }, [currPage, debounceSearchValue, JSON.stringify(filterSelected)]);
143
+ useEffect(function () {
144
+ if (currPage !== 0 && show) {
145
+ setCurrPage(0);
146
+ }
147
+ handleReset();
148
+ getDataInitial();
149
+ setDataSelected(defaultSelected || []);
150
+ }, [show]);
151
+ return (React.createElement(React.Fragment, null,
152
+ React.createElement(PHXModal, { closeButton: true, inCard: false, onHide: onHandleHide, onSubmit: handleSubmit, primaryActionText: 'Th\u00EAm m\u1EDBi', show: show, size: 'large', title: "Th\u00EAm m\u1EDBi ".concat(getRoleNameByTarget(target)) },
153
+ React.createElement(PHXResourceList, { bulkActions: true, bulkActionsContent: 'Ch\u1EC9nh s\u1EEDa', getKeyword: function (keyword) {
154
+ setSearchKeyword(keyword);
155
+ setCurrPage(0);
156
+ setIsAllData(false);
157
+ }, heightList: 330, hiddenBulkActionMarkup: true, list: listUser, loading: loadingInit, onScrollBottom: function () {
158
+ if (!searching) {
159
+ setCurrPage(function (pre) { return pre + 1; });
160
+ }
161
+ }, onSelectedItemsChange: function (data) { return setDataSelected(data); }, paging: searching, searchResult: true, selectedItems: dataSelected }))));
162
+ }
163
+ //# sourceMappingURL=modal-search-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal-search-user.js","sourceRoot":"","sources":["../../../../../../src/components/FormTarget/components/modal-search-user/modal-search-user.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAa,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,oBAAoB,MAAM,4BAA4B,CAAA;AAC7D,OAAO,cAAc,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAWrE,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAO/B;IAPT,iBAqKC;QApKC,eAAe,qBAAA,EACf,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,YAAY,kBAAA,EACZ,IAAI,UAAA,EACJ,MAAM,YAAA;IAEA,IAAA,KAA0B,QAAQ,CAA0B,EAAE,CAAC,EAA9D,QAAQ,QAAA,EAAE,WAAW,QAAyC,CAAA;IAC/D,IAAA,KAA0B,QAAQ,CAAC,CAAC,CAAC,EAApC,QAAQ,QAAA,EAAE,WAAW,QAAe,CAAA;IAC3C,IAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAA;IACjC,IAAA,KAAoC,QAAQ,CAAC,EAAE,CAAC,EAA/C,aAAa,QAAA,EAAE,gBAAgB,QAAgB,CAAA;IAChD,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAA;IAC3C,IAAA,KAAgC,QAAQ,CAAC,KAAK,CAAC,EAA9C,WAAW,QAAA,EAAE,cAAc,QAAmB,CAAA;IAC/C,IAAA,KAAsC,QAAQ,CAAC;QACnD,OAAO,EAAE,iBAAiB,CAAC,EAAE;QAC7B,kBAAkB,EAAE,iBAAiB,CAAC,EAAE;QACxC,WAAW,EAAE,iBAAiB,CAAC,EAAE;KAClC,CAAC,EAJK,cAAc,QAAA,EAAE,iBAAiB,QAItC,CAAA;IACI,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAA;IAC3C,IAAA,KAAkC,QAAQ,CAA0B,EAAE,CAAC,EAAtE,YAAY,QAAA,EAAE,eAAe,QAAyC,CAAA;IAC7E,IAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;IAC9D,IAAM,OAAO,GAAG;;;;;oBACd,IAAI,SAAS,IAAI,SAAS;wBAAE,sBAAM;oBAClC,YAAY,CAAC,IAAI,CAAC,CAAA;;;;oBAEV,KAAK,GAAG,EAAE,CAAA;oBACV,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;oBAEzB,KAAK,GAAG,oBAAoB,CAAC;wBACjC,MAAM,QAAA;wBACN,YAAY,cAAA;wBACZ,QAAQ,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS;wBAC7B,SAAS,EAAE,cAAc;qBAC1B,CAAC,CAAA;oBAGE,qBAAM,gBAAgB,CAAC;4BACzB,KAAK,OAAA;4BACL,SAAS,EAAE;gCACT,QAAQ,EAAE,MAAM;gCAChB,KAAK,OAAA;gCACL,MAAM,QAAA;gCACN,aAAa,EAAE,WAAI,mBAAmB,MAAG;gCACzC,QAAQ,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS;6BAC9B;yBACF,CAAC,EAAA;;oBAVQ,KAAK,GACX,CAAA,SASF,CAAA,WAVa;oBAWT,UAAU,GAAG,KAA2B,CAAA;oBACxC,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,KAAK,CAAA;oBACjD,YAAY,CAAC,eAAe,CAAC,CAAA;oBAEvB,kBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;oBAE7D,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;wBACnB,WAAW,CAAC,eAAa,CAAC,CAAA;oBAC5B,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,UAAC,GAAG,IAAK,uCAAI,GAAG,SAAK,eAAa,SAAzB,CAA0B,CAAC,CAAA;oBAClD,CAAC;;;;oBAED,OAAO,CAAC,KAAK,CAAC,GAAC,CAAC,CAAA;;;oBAEhB,YAAY,CAAC,KAAK,CAAC,CAAA;;;;;SAEtB,CAAA;IAED,IAAM,cAAc,GAAG;;;;;;oBAEnB,cAAc,CAAC,IAAI,CAAC,CAAA;oBACpB,qBAAM,OAAO,EAAE,EAAA;;oBAAf,SAAe,CAAA;;;;oBAEf,OAAO,CAAC,KAAK,CAAC,OAAK,CAAC,CAAA;;;oBAEpB,cAAc,CAAC,KAAK,CAAC,CAAA;;;;;SAExB,CAAA;IAED,IAAM,WAAW,GAAG;QAClB,WAAW,CAAC,EAAE,CAAC,CAAA;QACf,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,eAAe,CAAC,EAAE,CAAC,CAAA;QACnB,WAAW,CAAC,CAAC,CAAC,CAAA;QACd,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACpB,iBAAiB,CAAC;YAChB,OAAO,EAAE,iBAAiB,CAAC,EAAE;YAC7B,kBAAkB,EAAE,iBAAiB,CAAC,EAAE;YACxC,WAAW,EAAE,iBAAiB,CAAC,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,SAAS,YAAY;QACnB,MAAM,EAAE,CAAA;QACR,WAAW,EAAE,CAAA;IACf,CAAC;IAED,IAAM,YAAY,GAAG;QACnB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAErC,IAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,QAAa,IAAK,OAAA,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAvB,CAAuB,CAAC,EAA9D,CAA8D,CAAC,CAAA;QACnH,IAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC;YAChD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,EAX+C,CAW/C,CAAC,CAAA;QAEH,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;QACxC,MAAM,EAAE,CAAA;IACV,CAAC,CAAA;IAED,SAAS,CAAC;QACR,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;IAEnE,SAAS,CAAC;QACR,IAAI,QAAQ,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3B,WAAW,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;QACD,WAAW,EAAE,CAAA;QACb,cAAc,EAAE,CAAA;QAChB,eAAe,CAAC,eAAe,IAAI,EAAE,CAAC,CAAA;IACxC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,CACL;QACE,oBAAC,QAAQ,IACP,WAAW,QACX,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,YAAY,EACtB,iBAAiB,EAAC,oBAAU,EAC5B,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,6BAAY,mBAAmB,CAAC,MAAM,CAAC,CAAE;YAEhD,oBAAC,eAAe,IACd,WAAW,QACX,kBAAkB,EAAC,qBAAW,EAC9B,UAAU,EAAE,UAAC,OAAO;oBAClB,gBAAgB,CAAC,OAAO,CAAC,CAAA;oBACzB,WAAW,CAAC,CAAC,CAAC,CAAA;oBACd,YAAY,CAAC,KAAK,CAAC,CAAA;gBACrB,CAAC,EACD,UAAU,EAAE,GAAG,EACf,sBAAsB,QACtB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE;oBACd,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,WAAW,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,GAAG,CAAC,EAAP,CAAO,CAAC,CAAA;oBAC/B,CAAC;gBACH,CAAC,EACD,qBAAqB,EAAE,UAAC,IAAI,IAAK,OAAA,eAAe,CAAC,IAAI,CAAC,EAArB,CAAqB,EACtD,MAAM,EAAE,SAAS,EACjB,YAAY,QACZ,aAAa,EAAE,YAAY,GAC3B,CACO,CACV,CACJ,CAAA;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { ERoleCode } from '../constant';
3
+ import { FilterItem, ISelectOptions, ITargetSelectedData, TFilterBy } from '../type/target';
4
+ interface ICheckboxProps {
5
+ handleChangeFilter(target: ERoleCode, checked: boolean, data: FilterItem): void;
6
+ listRadio: Array<{
7
+ title: string;
8
+ value: TFilterBy;
9
+ }>;
10
+ listTargetSelected: Array<ITargetSelectedData>;
11
+ schoolYearId: number;
12
+ selectOptions: ISelectOptions;
13
+ errors?: Record<string, any>;
14
+ target: ERoleCode;
15
+ }
16
+ export declare function CheckboxGroup({ errors, handleChangeFilter, listRadio, listTargetSelected, schoolYearId, selectOptions, target, }: ICheckboxProps): React.JSX.Element;
17
+ export {};
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { ERoleCode, FILTER_BY } from '../constant';
3
+ import TableCustomList from './table-custom-list';
4
+ import { PHXBannerWithCard } from '../../BannerWithCard/BannerWithCard';
5
+ import { PHXCombobox } from '../../Combobox';
6
+ import { PHXCheckbox } from '../../Checkbox';
7
+ export function CheckboxGroup(_a) {
8
+ var errors = _a.errors, handleChangeFilter = _a.handleChangeFilter, listRadio = _a.listRadio, listTargetSelected = _a.listTargetSelected, schoolYearId = _a.schoolYearId, selectOptions = _a.selectOptions, target = _a.target;
9
+ var current = listTargetSelected.find(function (i) { return i.target === target; });
10
+ var filters = (current === null || current === void 0 ? void 0 : current.filter) || [];
11
+ var isAllChecked = filters.some(function (f) { return f.filterBy === FILTER_BY.ALL; });
12
+ return (React.createElement("div", { className: 'ml-7 space-y-2' }, listRadio.map(function (radio, index) {
13
+ var _a, _b, _c, _d, _e, _f;
14
+ var title = radio.title, value = radio.value;
15
+ var existing = filters.find(function (f) { return f.filterBy === value; });
16
+ var isChecked = !!existing;
17
+ var isHaveCombobox = isChecked && value !== FILTER_BY.CUSTOM_LIST && target !== ERoleCode.STAFF && value !== FILTER_BY.ALL;
18
+ var haveError = !!((_b = (_a = errors === null || errors === void 0 ? void 0 : errors[index]) === null || _a === void 0 ? void 0 : _a.filterValues) === null || _b === void 0 ? void 0 : _b.message);
19
+ return (React.createElement("div", { key: value, className: 'space-y-2' },
20
+ React.createElement(PHXCheckbox, { checked: isChecked, disabled: isAllChecked && value !== FILTER_BY.ALL, error: haveError, id: "".concat(target, "-").concat(value), onChange: function (val) {
21
+ handleChangeFilter(target, val.target.checked, {
22
+ filterBy: value,
23
+ filterValues: [],
24
+ });
25
+ }, title: title }),
26
+ value === FILTER_BY.CUSTOM_LIST && isChecked && (React.createElement("div", null,
27
+ haveError && (React.createElement(PHXBannerWithCard, { className: 'mb-3 ml-6', description: (_d = (_c = errors === null || errors === void 0 ? void 0 : errors[index]) === null || _c === void 0 ? void 0 : _c.filterValues) === null || _d === void 0 ? void 0 : _d.message, hideCloseButton: true, show: true, type: 'danger' })),
28
+ React.createElement(TableCustomList, { defaultData: (existing === null || existing === void 0 ? void 0 : existing.filterValues) || [], handleChange: function (data) {
29
+ handleChangeFilter(target, true, {
30
+ filterBy: value,
31
+ filterValues: data,
32
+ });
33
+ }, schoolYearId: schoolYearId, target: target }))),
34
+ isHaveCombobox && (React.createElement(PHXCombobox, { className: 'ml-6', defaultValue: (existing === null || existing === void 0 ? void 0 : existing.filterValues) || [], error: haveError, errorMessageCustom: (_f = (_e = errors === null || errors === void 0 ? void 0 : errors[index]) === null || _e === void 0 ? void 0 : _e.filterValues) === null || _f === void 0 ? void 0 : _f.message, errorType: 'custom-message', listOptions: selectOptions[value] || [], onChange: function (selected) {
35
+ return handleChangeFilter(target, true, {
36
+ filterBy: value,
37
+ filterValues: selected,
38
+ });
39
+ }, placeholder: 'L\u1EF1a ch\u1ECDn', selectFieldPosition: target === ERoleCode.DEPARTMENT ? 'top' : 'bottom' }))));
40
+ })));
41
+ }
42
+ //# sourceMappingURL=radio-group-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group-select.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/components/radio-group-select.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { ERoleCode } from '../constant';
3
+ import { IFilterValueItem } from '../type/target';
4
+ interface IProps {
5
+ target: ERoleCode;
6
+ handleChange(data: Array<IFilterValueItem>): void;
7
+ defaultData: Array<IFilterValueItem>;
8
+ schoolYearId: number;
9
+ }
10
+ export default function TableCustomList({ defaultData, handleChange, schoolYearId, target }: IProps): React.JSX.Element;
11
+ export {};
@@ -0,0 +1,172 @@
1
+ import { __assign, __spreadArray } from "tslib";
2
+ import React, { useEffect, useState } from 'react';
3
+ import { ERoleCode, TEXT_UNDEFINED } from '../constant';
4
+ import { getRoleNameByTarget } from '../ultis/get-role-name-by-target';
5
+ import { getTitleByRelationshipCode } from '../ultis/get-title-by-relationship-code';
6
+ import ModalSearchUser from './modal-search-user/modal-search-user';
7
+ import { PHXDropdown } from '../../Dropdown';
8
+ import { PHXDescriptionListInTooltip } from '../../DescriptionListInTooltip';
9
+ import { PHXButton } from '../../Button';
10
+ import { PHXModal } from '../../Modal';
11
+ import { PHXTableStatic } from '../../TableStatic';
12
+ export default function TableCustomList(_a) {
13
+ var _b, _c;
14
+ var defaultData = _a.defaultData, handleChange = _a.handleChange, schoolYearId = _a.schoolYearId, target = _a.target;
15
+ var _d = useState(defaultData || []), listSelected = _d[0], setListSelected = _d[1];
16
+ var _e = useState(Date.now().toString()), syncSelectedRowsKey = _e[0], setSyncSelectedRowsKey = _e[1];
17
+ var _f = useState(false), showModalSearch = _f[0], setShowModalSearch = _f[1];
18
+ var _g = useState([]), rowSelected = _g[0], setRowSelected = _g[1];
19
+ var _h = useState({
20
+ deleteData: {
21
+ ids: [],
22
+ name: '',
23
+ },
24
+ show: false,
25
+ }), modalDelete = _h[0], setModalDelete = _h[1];
26
+ var _j = useState({
27
+ searchKeyword: '',
28
+ }), filterValues = _j[0], setFilterValues = _j[1];
29
+ var roleName = getRoleNameByTarget(target);
30
+ var defaultHeader = ['Số điện thoại', 'Email', 'Thao tác'];
31
+ var headerTable = (_b = {},
32
+ _b[ERoleCode.TEACHER] = __spreadArray(['Giáo viên', 'Mã giáo viên'], defaultHeader, true),
33
+ _b[ERoleCode.STAFF] = __spreadArray(['Nhân viên', 'Mã nhân viên'], defaultHeader, true),
34
+ _b[ERoleCode.STUDENT] = ['Học sinh', 'Mã học sinh', 'Cấp học', 'Khối học', 'Lớp học', 'Người thân', 'Thao tác'],
35
+ _b[ERoleCode.DEPARTMENT] = ['Phòng ban', 'Mã phòng ban', 'Thao tác'],
36
+ _b);
37
+ var defaultBody = ['phone', 'email', 'actions'];
38
+ var bodyTable = (_c = {},
39
+ _c[ERoleCode.TEACHER] = __spreadArray(['name', 'code'], defaultBody, true),
40
+ _c[ERoleCode.STAFF] = __spreadArray(['name', 'code'], defaultBody, true),
41
+ _c[ERoleCode.STUDENT] = ['name', 'code', 'educational_level', 'grade', 'classroom', 'parents', 'actions'],
42
+ _c[ERoleCode.DEPARTMENT] = __spreadArray(['Phòng ban', 'Mã phòng ban'], defaultHeader, true),
43
+ _c);
44
+ var baseThComponent = {
45
+ actions: function (_value, itemBody) { return (React.createElement(PHXDropdown, { options: [
46
+ {
47
+ // @ts-ignore
48
+ content: React.createElement("p", { className: 'text-[#8E1F0B]' },
49
+ "Xo\u00E1 ",
50
+ roleName),
51
+ destructive: true,
52
+ id: 0,
53
+ onClick: function () {
54
+ setModalDelete({
55
+ show: true,
56
+ deleteData: {
57
+ ids: [itemBody.id],
58
+ name: itemBody.name,
59
+ },
60
+ });
61
+ },
62
+ },
63
+ ], type: 'ellipsis-icon' })); },
64
+ };
65
+ var thComponent = __assign(__assign({}, baseThComponent), (target === ERoleCode.STUDENT && {
66
+ parents: function (value) { return (React.createElement("div", null,
67
+ React.createElement(PHXDescriptionListInTooltip, { items: value.map(function (parent) { return ({
68
+ title: getTitleByRelationshipCode(parent === null || parent === void 0 ? void 0 : parent.relationship_code),
69
+ description: parent.full_name,
70
+ }); }), tooltipClassName: 'max-w-none w-auto min-w-[150px]', trigger: React.createElement("div", { className: 'max-w-52 truncate' }, Array.isArray(value) && value.length > 0
71
+ ? value.map(function (parent) { return "".concat(parent.full_name); }).join(', ')
72
+ : TEXT_UNDEFINED) }))); },
73
+ }));
74
+ var handleAddList = function (data, listDelete) {
75
+ var mergedData = __spreadArray(__spreadArray([], data, true), listSelected, true).filter(function (item) { return !listDelete.some(function (deleteItem) { return deleteItem.id === item.id; }); });
76
+ var unique = Array.from(new Map(mergedData.map(function (item) { return [item.id, item]; })).values());
77
+ setSyncSelectedRowsKey(Date.now().toString());
78
+ setListSelected(unique);
79
+ setFilterValues({
80
+ searchKeyword: '',
81
+ });
82
+ handleChange(unique);
83
+ };
84
+ var openModalSearch = function () {
85
+ setListSelected(defaultData || []);
86
+ setShowModalSearch(true);
87
+ };
88
+ var hideModalSearch = function () {
89
+ setShowModalSearch(false);
90
+ };
91
+ var handleDelete = function () {
92
+ if (modalDelete.deleteData.ids.length === 0)
93
+ return;
94
+ setSyncSelectedRowsKey(Date.now().toString());
95
+ var filteredData = listSelected.filter(function (item) { return !modalDelete.deleteData.ids.includes(item.id); });
96
+ var remainingSelected = rowSelected.filter(function (item) { return !modalDelete.deleteData.ids.includes(item.id); });
97
+ setListSelected(filteredData);
98
+ setRowSelected(remainingSelected);
99
+ handleChange(filteredData);
100
+ onHideModalDelete();
101
+ };
102
+ var getFilteredListData = function () {
103
+ var searchKeyword = filterValues.searchKeyword;
104
+ var filteredData = listSelected.filter(function (user) {
105
+ return user.code.toLowerCase().includes(searchKeyword.toLowerCase()) ||
106
+ user.name.toLowerCase().includes(searchKeyword.toLowerCase());
107
+ });
108
+ return filteredData;
109
+ };
110
+ function onHideModalDelete() {
111
+ setModalDelete({
112
+ deleteData: {
113
+ ids: [],
114
+ name: '',
115
+ },
116
+ show: false,
117
+ });
118
+ }
119
+ useEffect(function () {
120
+ setListSelected(defaultData || []);
121
+ }, [JSON.stringify(defaultData)]);
122
+ return (React.createElement("div", null,
123
+ React.createElement("div", { className: 'ml-6 flex items-center justify-between' },
124
+ React.createElement("p", { className: ' text-xs font-semibold' },
125
+ "Danh s\u00E1ch ",
126
+ roleName,
127
+ " \u0111\u00E3 ch\u1ECDn (",
128
+ defaultData.length,
129
+ ")"),
130
+ React.createElement(PHXButton, { className: 'text-xs font-medium', onClick: function () { return openModalSearch(); }, plain: true }, "Th\u00EAm m\u1EDBi"),
131
+ React.createElement(ModalSearchUser, { defaultSelected: listSelected, handleAddList: handleAddList, onHide: hideModalSearch, schoolYearId: schoolYearId, show: showModalSearch, target: target })),
132
+ React.createElement(PHXModal, { key: 'deleteModal', dangerActionText: 'X\u00E1c nh\u1EADn', dangerSubmit: true, hiddenSubmit: true, inCard: false, onDangerClick: handleDelete, onHide: onHideModalDelete, show: modalDelete.show, title: "X\u00E1c nh\u1EADn xo\u00E1 ".concat(roleName, " ") },
133
+ React.createElement("p", { className: 'text-xs text-gray-500' },
134
+ "B\u1EA1n ch\u1EAFc ch\u1EAFn mu\u1ED1n xo\u00E1",
135
+ ' ',
136
+ modalDelete.deleteData.ids.length > 1 ? (React.createElement("span", { className: 'font-bold' },
137
+ modalDelete.deleteData.ids.length,
138
+ " ",
139
+ roleName)) : (roleName),
140
+ ' ',
141
+ React.createElement("span", { className: 'font-bold' }, modalDelete.deleteData.name),
142
+ " \u0111\u00E3 ch\u1ECDn? Thao t\u00E1c n\u00E0y kh\u00F4ng th\u1EC3 ho\u00E0n t\u00E1c.")),
143
+ React.createElement("div", { className: 'ml-6' },
144
+ React.createElement(PHXTableStatic, { bodyData: getFilteredListData(), bulkAction: {
145
+ enable: true,
146
+ buttons: [
147
+ {
148
+ id: 1,
149
+ text: React.createElement("p", { className: 'text-xs font-medium text-red-700' },
150
+ "Xo\u00E1 ",
151
+ roleName),
152
+ onClick: function (selectedRows) {
153
+ setRowSelected(selectedRows);
154
+ setModalDelete({
155
+ show: true,
156
+ deleteData: {
157
+ name: '',
158
+ ids: selectedRows.map(function (item) { return Number(item.id); }),
159
+ },
160
+ });
161
+ },
162
+ type: 'secondary',
163
+ },
164
+ ],
165
+ }, isPagination: true, name: target, rowNumber: 10, search: {
166
+ enable: true,
167
+ onSearchChange: function (keyword) { return setFilterValues(function (pre) { return (__assign(__assign({}, pre), { searchKeyword: keyword })); }); },
168
+ loading: false,
169
+ setLoading: function () { return null; },
170
+ }, selectedRows: rowSelected, syncSelectedRowsKey: syncSelectedRowsKey, thBody: bodyTable[target], thComponent: thComponent, thHeader: headerTable[target] }))));
171
+ }
172
+ //# sourceMappingURL=table-custom-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-custom-list.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/components/table-custom-list.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { ERoleCode, ENotifyWith } from './constant';
2
+ export declare const TARGET_CONFIGS: ({
3
+ title: string;
4
+ value: ERoleCode;
5
+ description: string;
6
+ notifyWith: {
7
+ title: string;
8
+ description: string;
9
+ value: ENotifyWith;
10
+ };
11
+ listRadio: ({
12
+ title: string;
13
+ value: "EDUCATIONAL_LEVEL";
14
+ } | {
15
+ title: string;
16
+ value: "GRADE";
17
+ } | {
18
+ title: string;
19
+ value: "CLASSROOM";
20
+ } | {
21
+ title: string;
22
+ value: "CUSTOM_LIST";
23
+ })[];
24
+ } | {
25
+ title: string;
26
+ value: ERoleCode;
27
+ notifyWith: {
28
+ title: string;
29
+ description: string;
30
+ value: ENotifyWith;
31
+ };
32
+ listRadio: ({
33
+ title: string;
34
+ value: "EDUCATIONAL_LEVEL";
35
+ } | {
36
+ title: string;
37
+ value: "GRADE";
38
+ } | {
39
+ title: string;
40
+ value: "CLASSROOM";
41
+ } | {
42
+ title: string;
43
+ value: "CUSTOM_LIST";
44
+ })[];
45
+ description?: undefined;
46
+ } | {
47
+ title: string;
48
+ value: ERoleCode;
49
+ listRadio: ({
50
+ title: string;
51
+ value: "ALL";
52
+ } | {
53
+ title: string;
54
+ value: "CUSTOM_LIST";
55
+ })[];
56
+ description?: undefined;
57
+ notifyWith?: undefined;
58
+ } | {
59
+ title: string;
60
+ value: ERoleCode;
61
+ listRadio: ({
62
+ title: string;
63
+ value: "ALL";
64
+ } | {
65
+ title: string;
66
+ value: "DEPARTMENT";
67
+ })[];
68
+ description?: undefined;
69
+ notifyWith?: undefined;
70
+ })[];
@@ -0,0 +1,87 @@
1
+ import { ERoleCode, FILTER_BY, ENotifyWith } from './constant';
2
+ export var TARGET_CONFIGS = [
3
+ {
4
+ title: 'Theo phụ huynh',
5
+ value: ERoleCode.STUDENT,
6
+ description: 'Danh sách phụ huynh nhận thông báo được lấy theo danh sách học sinh đã chọn.',
7
+ notifyWith: {
8
+ title: 'Giáo viên chủ nhiệm sẽ nhận được thông báo',
9
+ description: 'Ngoài gửi thông báo tới phụ huynh, hệ thống đồng thời gửi thông báo đến giáo viên chủ nhiệm của các lớp có học sinh đã chọn.',
10
+ value: ENotifyWith.GVCN,
11
+ },
12
+ listRadio: [
13
+ {
14
+ title: 'Theo cấp học',
15
+ value: FILTER_BY.EDUCATIONAL_LEVEL,
16
+ },
17
+ {
18
+ title: 'Theo khối học',
19
+ value: FILTER_BY.GRADE,
20
+ },
21
+ {
22
+ title: 'Theo lớp học',
23
+ value: FILTER_BY.CLASSROOM,
24
+ },
25
+ {
26
+ title: 'Theo danh sách tuỳ chọn',
27
+ value: FILTER_BY.CUSTOM_LIST,
28
+ },
29
+ ],
30
+ },
31
+ {
32
+ title: 'Theo giáo viên chủ nhiệm',
33
+ value: ERoleCode.TEACHER,
34
+ notifyWith: {
35
+ title: 'Giáo viên bộ môn sẽ nhận được thông báo',
36
+ description: 'Ngoài gửi thông báo tới giáo viên chủ nhiệm, hệ thống đồng thời gửi thông báo đến giáo viên bộ môn',
37
+ value: ENotifyWith.GVBM,
38
+ },
39
+ listRadio: [
40
+ {
41
+ title: 'Theo cấp học',
42
+ value: FILTER_BY.EDUCATIONAL_LEVEL,
43
+ },
44
+ {
45
+ title: 'Theo khối học',
46
+ value: FILTER_BY.GRADE,
47
+ },
48
+ {
49
+ title: 'Theo lớp học',
50
+ value: FILTER_BY.CLASSROOM,
51
+ },
52
+ {
53
+ title: 'Theo danh sách tuỳ chọn',
54
+ value: FILTER_BY.CUSTOM_LIST,
55
+ },
56
+ ],
57
+ },
58
+ {
59
+ title: 'Theo nhân viên',
60
+ value: ERoleCode.STAFF,
61
+ listRadio: [
62
+ {
63
+ title: 'Tất cả cán bộ nhân viên',
64
+ value: FILTER_BY.ALL,
65
+ },
66
+ {
67
+ title: 'Theo danh sách tuỳ chọn',
68
+ value: FILTER_BY.CUSTOM_LIST,
69
+ },
70
+ ],
71
+ },
72
+ {
73
+ title: 'Theo phòng ban',
74
+ value: ERoleCode.DEPARTMENT,
75
+ listRadio: [
76
+ {
77
+ title: 'Tất cả phòng ban',
78
+ value: FILTER_BY.ALL,
79
+ },
80
+ {
81
+ title: 'Theo từng phòng ban',
82
+ value: FILTER_BY.DEPARTMENT,
83
+ },
84
+ ],
85
+ },
86
+ ];
87
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/components/FormTarget/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,SAAS,CAAC,OAAO;QACxB,WAAW,EAAE,8EAA8E;QAC3F,UAAU,EAAE;YACV,KAAK,EAAE,4CAA4C;YACnD,WAAW,EACT,8HAA8H;YAChI,KAAK,EAAE,WAAW,CAAC,IAAI;SACxB;QACD,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,SAAS,CAAC,iBAAiB;aACnC;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,SAAS,CAAC,SAAS;aAC3B;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,KAAK,EAAE,SAAS,CAAC,WAAW;aAC7B;SACF;KACF;IACD;QACE,KAAK,EAAE,0BAA0B;QACjC,KAAK,EAAE,SAAS,CAAC,OAAO;QACxB,UAAU,EAAE;YACV,KAAK,EAAE,yCAAyC;YAChD,WAAW,EAAE,oGAAoG;YACjH,KAAK,EAAE,WAAW,CAAC,IAAI;SACxB;QACD,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,SAAS,CAAC,iBAAiB;aACnC;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,SAAS,CAAC,SAAS;aAC3B;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,KAAK,EAAE,SAAS,CAAC,WAAW;aAC7B;SACF;KACF;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,yBAAyB;gBAChC,KAAK,EAAE,SAAS,CAAC,GAAG;aACrB;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,KAAK,EAAE,SAAS,CAAC,WAAW;aAC7B;SACF;KACF;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,SAAS,CAAC,UAAU;QAC3B,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,kBAAkB;gBACzB,KAAK,EAAE,SAAS,CAAC,GAAG;aACrB;YACD;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,KAAK,EAAE,SAAS,CAAC,UAAU;aAC5B;SACF;KACF;CACF,CAAA"}
@@ -0,0 +1,37 @@
1
+ export declare enum ENotifyWith {
2
+ GVCN = "GVCN",
3
+ GVBM = "GVBM"
4
+ }
5
+ export declare const OPTION_FILTER_ALL: {
6
+ id: number;
7
+ name: string;
8
+ code: string;
9
+ };
10
+ export declare enum ERoleCode {
11
+ TEACHER = "GV",
12
+ STUDENT = "SV",
13
+ STAFF = "NV",
14
+ DEPARTMENT = "DEPARTMENT"
15
+ }
16
+ export declare enum EObjectType {
17
+ TEACHER = "TEACHER",
18
+ STUDENT = "STUDENT",
19
+ STAFF = "STAFF",
20
+ DEPARTMENT = "DEPARTMENT"
21
+ }
22
+ export declare const FILTER_BY: {
23
+ readonly ALL: "ALL";
24
+ readonly EDUCATIONAL_LEVEL: "EDUCATIONAL_LEVEL";
25
+ readonly GRADE: "GRADE";
26
+ readonly CLASSROOM: "CLASSROOM";
27
+ readonly DEPARTMENT: "DEPARTMENT";
28
+ readonly CUSTOM_LIST: "CUSTOM_LIST";
29
+ };
30
+ export declare const VALIDATE_REQUIRED_INPUT = "Tr\u01B0\u1EDDng n\u00E0y kh\u00F4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng";
31
+ export declare const DEFAULT_NOTIFY_WITH_BY_TARGET: {
32
+ SV: ENotifyWith;
33
+ GV: undefined;
34
+ NV: undefined;
35
+ DEPARTMENT: undefined;
36
+ };
37
+ export declare const TEXT_UNDEFINED = "--";