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.
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,45 @@
1
+ import { OPTION_FILTER_ALL, ROLE_CODE } from '../utils/constant';
2
+ export var getSelectQuery = "\n query getSelectQuery($schoolId: Int!, $schoolYearId: Int!) {\n educational_level(\n where: {deleted_at: {_is_null: true}, school_id: {_eq: $schoolId}}\n ) {\n id\n name\n code\n }\n grade(where: {deleted_at: {_is_null: true}, school_id: {_eq: $schoolId}}) {\n id\n name\n code\n educational_level_id\n }\n classroom(\n where: {\n deleted_at: {_is_null: true}\n school_id: {_eq: $schoolId}\n school_year_id: {_eq: $schoolYearId}\n }\n ) {\n id\n name\n code\n grade {\n id\n educational_level_id\n }\n }\n }\n";
3
+ var getFieldByTarget = function (target, schoolYearId) {
4
+ var _a;
5
+ var fieldByTarget = (_a = {},
6
+ _a[ROLE_CODE.TEACHER] = "\n profile: profile_teacher {\n user_code\n educational_level_group {\n educational_level_map_groups(where:{deleted_at:{_is_null:true}}) {\n educational_level_id\n }\n }\n teacher_subject_assignments(where: {deleted_at:{_is_null:true}}) {\n classroom_teachers(where: {deleted_at:{_is_null:true} classroom:{school_year_id:{_eq: ".concat(schoolYearId, "}}}) {\n classroom {\n id\n grade_id\n }\n }\n }\n }\n "),
7
+ _a[ROLE_CODE.STAFF] = "\n profile: profile_staff {\n user_code\n educational_level_group {\n educational_level_map_groups(where:{deleted_at:{_is_null:true}}) {\n educational_level_id\n }\n }\n }\n ",
8
+ _a[ROLE_CODE.PARENT] = "\n profile: profile_student {\n user_code\n }\n relationship_users(where: {deleted_at: {_is_null: true}}) {\n userByStudentId {\n full_name\n classroom_students(where: {deleted_at: {_is_null: true}, classroom: {school_year_id: {_eq: ".concat(schoolYearId, "}}}) {\n classroom {\n name\n id\n grade {\n id\n educational_level_id\n }\n\n }\n }\n }\n }\n "),
9
+ _a);
10
+ return fieldByTarget[target];
11
+ };
12
+ var isFilterAll = function (value) { return OPTION_FILTER_ALL.id === value; };
13
+ var getConditionsByTarget = function (_a) {
14
+ var condition = _a.condition, schoolYearId = _a.schoolYearId, target = _a.target;
15
+ var classroomId = condition.classroomId, educationalLevelId = condition.educationalLevelId, gradeId = condition.gradeId;
16
+ if ([classroomId, educationalLevelId, gradeId].every(function (item) { return item === OPTION_FILTER_ALL.id; })) {
17
+ // nếu bộ lọc đều chọn tất cả thì ko cần filter theo gì cả
18
+ return '';
19
+ }
20
+ var isNotAllEducationalLevel = !isFilterAll(educationalLevelId);
21
+ var isNotAllGrade = !isFilterAll(gradeId);
22
+ var isANotllClassroom = !isFilterAll(classroomId);
23
+ if (target === ROLE_CODE.PARENT) {
24
+ return " \n relationship_users:{\n deleted_at:{_is_null:true}\n userByStudentId:{\n classroom_students:{\n deleted_at: {_is_null: true}\n classroom:{\n ".concat(isANotllClassroom ? "id:{_eq: ".concat(classroomId, "}") : '', "\n school_year_id:{_eq: ").concat(schoolYearId, "}\n grade:{\n ").concat(isNotAllGrade ? "id:{_eq: ".concat(gradeId, "}") : '', "\n ").concat(isNotAllEducationalLevel ? "educational_level_id:{_eq: ".concat(educationalLevelId, "}") : '', "\n \n }\n }\n }\n }\n }\n ");
25
+ }
26
+ if (target === ROLE_CODE.TEACHER) {
27
+ return "\n profile_teacher:{\n ".concat(isNotAllEducationalLevel
28
+ ? " educational_level_group:{\n educational_level_map_groups:{\n deleted_at:{_is_null:true}\n educational_level_id:{_eq: ".concat(educationalLevelId, "}\n }\n }")
29
+ : '', "\n\n ").concat(isNotAllGrade || isANotllClassroom
30
+ ? " teacher_subject_assignments: {\n deleted_at:{_is_null:true}\n classroom_teachers:{\n deleted_at:{_is_null:true}\n classroom:{\n school_year_id:{_eq: ".concat(schoolYearId, "}\n ").concat(isANotllClassroom ? "id:{_eq: ".concat(classroomId, "}") : '', "\n ").concat(isNotAllGrade ? "grade_id:{_eq: ".concat(gradeId, "}") : '', "\n \n }\n }\n }")
31
+ : '', "\n \n\n }\n ");
32
+ }
33
+ if (target === ROLE_CODE.STAFF) {
34
+ return "\n ".concat(isNotAllEducationalLevel
35
+ ? "profile_staff:{\n educational_level_group:{\n educational_level_map_groups:{\n deleted_at:{_is_null:true}\n educational_level_id:{_eq: ".concat(educationalLevelId, "}\n }\n }\n }")
36
+ : '', "\n ");
37
+ }
38
+ return '';
39
+ };
40
+ export var queryListUserBuilder = function (_a) {
41
+ var condition = _a.condition, schoolYearId = _a.schoolYearId, target = _a.target;
42
+ return " query getListUserQuery(\n $roleCode: String!\n $limit: Int!\n $offset: Int!\n $searchKeyword: String!\n ) {\n users(\n limit: $limit\n offset: $offset\n order_by: {id: desc}\n where: {\n ".concat(getConditionsByTarget({ target: target, schoolYearId: schoolYearId, condition: condition }), "\n deleted_at: {_is_null: true}\n user_roles: {\n deleted_at: {_is_null: true}\n role: {role_code: {_eq: $roleCode}}\n }\n _or: [\n {full_name: {_ilike: $searchKeyword}}\n {full_name_unaccent: {_ilike: $searchKeyword}}\n ]\n }\n ) {\n id\n full_name\n email\n phone_number\n ").concat(getFieldByTarget(target, schoolYearId), "\n user_roles(where: {deleted_at: {_is_null: true}}) {\n role {\n name\n }\n }\n }\n }");
43
+ };
44
+ export var getTargetByIdQuery = "\n query getTargetByIdQuery($id: uuid!) {\n target_inform_target_by_pk(id: $id) {\n target_by_roles(where: {deleted_at: {_is_null: true}}) {\n role_code\n target_educational_levels {\n educational_level {\n id\n name\n code\n }\n }\n target_grades {\n grade {\n id\n name\n code\n }\n }\n target_classrooms {\n classroom {\n id\n name\n code\n }\n }\n target_users {\n user {\n id\n name: full_name\n phone: phone_number\n email\n profile_teacher {\n user_code\n } \n profile_staff {\n user_code\n }\n }\n }\n }\n }\n }\n";
45
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/graphql/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ISelectOptions } from '../types';
2
+ export default function useGetDataSelectTarget({ schoolYearId }: {
3
+ schoolYearId: number;
4
+ }): {
5
+ selectOptions: ISelectOptions;
6
+ loading: boolean;
7
+ };
@@ -0,0 +1,58 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { useEffect, useState } from 'react';
3
+ import { getSelectQuery } from '../graphql/query';
4
+ import PHXFuncGetLoggedInfo from '../../Func/getLoginInfo';
5
+ import PHXClientQueryV3 from '../../Func/clientQueryV3';
6
+ export default function useGetDataSelectTarget(_a) {
7
+ var _this = this;
8
+ var schoolYearId = _a.schoolYearId;
9
+ var _b = useState({
10
+ EDUCATIONAL_LEVEL: [],
11
+ GRADE: [],
12
+ CLASSROOM: []
13
+ }), selectOptions = _b[0], setSelectOptions = _b[1];
14
+ var _c = useState(true), loading = _c[0], setLoading = _c[1];
15
+ var userInfo = PHXFuncGetLoggedInfo();
16
+ var getDataSelect = function () { return __awaiter(_this, void 0, void 0, function () {
17
+ var _a, classroom, educational_level, grade, e_1;
18
+ return __generator(this, function (_b) {
19
+ switch (_b.label) {
20
+ case 0:
21
+ setLoading(true);
22
+ _b.label = 1;
23
+ case 1:
24
+ _b.trys.push([1, 3, 4, 5]);
25
+ return [4 /*yield*/, PHXClientQueryV3({
26
+ query: getSelectQuery,
27
+ variables: {
28
+ schoolId: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
29
+ schoolYearId: schoolYearId
30
+ }
31
+ })];
32
+ case 2:
33
+ _a = (_b.sent()).data, classroom = _a.classroom, educational_level = _a.educational_level, grade = _a.grade;
34
+ setSelectOptions({
35
+ EDUCATIONAL_LEVEL: educational_level,
36
+ GRADE: grade,
37
+ CLASSROOM: classroom
38
+ });
39
+ return [3 /*break*/, 5];
40
+ case 3:
41
+ e_1 = _b.sent();
42
+ console.error(e_1);
43
+ return [3 /*break*/, 5];
44
+ case 4:
45
+ setLoading(false);
46
+ return [7 /*endfinally*/];
47
+ case 5: return [2 /*return*/];
48
+ }
49
+ });
50
+ }); };
51
+ useEffect(function () {
52
+ if (schoolYearId) {
53
+ getDataSelect();
54
+ }
55
+ }, [schoolYearId]);
56
+ return { selectOptions: selectOptions, loading: loading };
57
+ }
58
+ //# sourceMappingURL=use-get-data-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-get-data-select.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/hooks/use-get-data-select.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,oBAAoB,MAAM,yBAAyB,CAAA;AAC1D,OAAO,gBAAgB,MAAM,0BAA0B,CAAA;AAEvD,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAA0C;IAAzF,iBAyCC;QAzCgD,YAAY,kBAAA;IACrD,IAAA,KAAoC,QAAQ,CAAiB;QACjE,iBAAiB,EAAE,EAAE;QACrB,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd,CAAC,EAJK,aAAa,QAAA,EAAE,gBAAgB,QAIpC,CAAA;IACI,IAAA,KAAwB,QAAQ,CAAC,IAAI,CAAC,EAArC,OAAO,QAAA,EAAE,UAAU,QAAkB,CAAA;IAC5C,IAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAA;IAEvC,IAAM,aAAa,GAAG;;;;;oBACpB,UAAU,CAAC,IAAI,CAAC,CAAA;;;;oBAIV,qBAAM,gBAAgB,CAAC;4BACzB,KAAK,EAAE,cAAc;4BACrB,SAAS,EAAE;gCACT,QAAQ,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS;gCAC7B,YAAY,cAAA;6BACb;yBACF,CAAC,EAAA;;oBAPA,KACE,CAAA,SAMF,CAAA,KAP6C,EAArC,SAAS,eAAA,EAAE,iBAAiB,uBAAA,EAAE,KAAK,WAAA;oBAS7C,gBAAgB,CAAC;wBACf,iBAAiB,EAAE,iBAAiB;wBACpC,KAAK,EAAE,KAAK;wBACZ,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAA;;;;oBAEF,OAAO,CAAC,KAAK,CAAC,GAAC,CAAC,CAAA;;;oBAEhB,UAAU,CAAC,KAAK,CAAC,CAAA;;;;;SAEpB,CAAA;IAED,SAAS,CAAC;QACR,IAAI,YAAY,EAAE;YAChB,aAAa,EAAE,CAAA;SAChB;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,OAAO,EAAE,aAAa,eAAA,EAAE,OAAO,SAAA,EAAE,CAAA;AACnC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { ITargetSelectedData } from '../types';
2
+ export default function useTargetSelect({ moduleCode }: {
3
+ moduleCode: string;
4
+ }): {
5
+ handleInsertTarget: ({ data }: {
6
+ data: Array<ITargetSelectedData>;
7
+ }) => Promise<{
8
+ id: number | null;
9
+ }>;
10
+ handleUpdateTarget: ({ data, id }: {
11
+ data: Array<ITargetSelectedData>;
12
+ id: string;
13
+ }) => Promise<void>;
14
+ loading: boolean;
15
+ };
@@ -0,0 +1,128 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
+ import { useState } from 'react';
3
+ import { insertTargetMutation, updateTargetMutation } from '../graphql/mutation';
4
+ import { FILTER_BY } from '../utils/constant';
5
+ import PHXFuncGetLoggedInfo from '../../Func/getLoginInfo';
6
+ import PHXClientMutationV3 from '../../Func/clientMutationV3';
7
+ export default function useTargetSelect(_a) {
8
+ var _this = this;
9
+ var moduleCode = _a.moduleCode;
10
+ var _b = useState(false), loading = _b[0], setLoading = _b[1];
11
+ var userInfo = PHXFuncGetLoggedInfo();
12
+ var getDataTargetSubmit = function (data, targetId) {
13
+ var result = [];
14
+ var schoolId = userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id;
15
+ data.forEach(function (item) {
16
+ var filterBy = item.filterBy, filterValues = item.filterValues, target = item.target;
17
+ var isALL = filterBy === FILTER_BY.ALL;
18
+ if (isALL) {
19
+ result.push(__assign({ role_code: target, is_all: isALL, school_id: schoolId }, (targetId ? { target_id: targetId } : {})));
20
+ return;
21
+ }
22
+ var filterBySubmit = __assign({ role_code: target, school_id: schoolId, target_educational_levels: { data: [] }, target_grades: { data: [] }, target_classrooms: { data: [] }, target_users: { data: [] } }, (targetId ? { target_id: targetId } : {}));
23
+ if (filterBy === FILTER_BY.EDUCATIONAL_LEVEL) {
24
+ filterBySubmit.target_educational_levels.data = filterValues.map(function (filterValue) { return ({
25
+ school_id: schoolId,
26
+ educational_level_id: filterValue.id
27
+ }); });
28
+ }
29
+ if (filterBy === FILTER_BY.GRADE) {
30
+ filterBySubmit.target_grades.data = filterValues.map(function (filterValue) { return ({
31
+ school_id: schoolId,
32
+ grade_id: filterValue.id
33
+ }); });
34
+ }
35
+ if (filterBy === FILTER_BY.CLASSROOM) {
36
+ filterBySubmit.target_classrooms.data = filterValues.map(function (filterValue) { return ({
37
+ school_id: schoolId,
38
+ classroom_id: filterValue.id
39
+ }); });
40
+ }
41
+ if (filterBy === FILTER_BY.CUSTOM_LIST) {
42
+ filterBySubmit.target_users.data = filterValues.map(function (filterValue) { return ({
43
+ school_id: schoolId,
44
+ user_id: filterValue.id
45
+ }); });
46
+ }
47
+ result.push(filterBySubmit);
48
+ });
49
+ return result;
50
+ };
51
+ var handleInsertTarget = function (_a) {
52
+ var data = _a.data;
53
+ return __awaiter(_this, void 0, void 0, function () {
54
+ var dataSubmit, returning, e_1;
55
+ var _b;
56
+ return __generator(this, function (_c) {
57
+ switch (_c.label) {
58
+ case 0:
59
+ setLoading(true);
60
+ _c.label = 1;
61
+ case 1:
62
+ _c.trys.push([1, 3, 4, 5]);
63
+ dataSubmit = {
64
+ school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
65
+ module_code: moduleCode,
66
+ target_by_roles: {
67
+ data: getDataTargetSubmit(data)
68
+ }
69
+ };
70
+ return [4 /*yield*/, PHXClientMutationV3({
71
+ query: insertTargetMutation,
72
+ variables: {
73
+ data: dataSubmit
74
+ },
75
+ isDelay: false
76
+ })];
77
+ case 2:
78
+ returning = (_c.sent()).data.insert_target_inform_target.returning;
79
+ return [2 /*return*/, { id: (_b = returning[0]) === null || _b === void 0 ? void 0 : _b.id }];
80
+ case 3:
81
+ e_1 = _c.sent();
82
+ console.error(e_1);
83
+ return [2 /*return*/, { id: null }];
84
+ case 4:
85
+ setLoading(false);
86
+ return [7 /*endfinally*/];
87
+ case 5: return [2 /*return*/];
88
+ }
89
+ });
90
+ });
91
+ };
92
+ var handleUpdateTarget = function (_a) {
93
+ var data = _a.data, id = _a.id;
94
+ return __awaiter(_this, void 0, void 0, function () {
95
+ var e_2;
96
+ return __generator(this, function (_b) {
97
+ switch (_b.label) {
98
+ case 0:
99
+ setLoading(true);
100
+ _b.label = 1;
101
+ case 1:
102
+ _b.trys.push([1, 3, 4, 5]);
103
+ return [4 /*yield*/, PHXClientMutationV3({
104
+ query: updateTargetMutation,
105
+ variables: {
106
+ targetId: id,
107
+ targetByRoles: getDataTargetSubmit(data, id)
108
+ },
109
+ isDelay: false
110
+ })];
111
+ case 2:
112
+ _b.sent();
113
+ return [3 /*break*/, 5];
114
+ case 3:
115
+ e_2 = _b.sent();
116
+ console.error(e_2);
117
+ return [3 /*break*/, 5];
118
+ case 4:
119
+ setLoading(false);
120
+ return [7 /*endfinally*/];
121
+ case 5: return [2 /*return*/];
122
+ }
123
+ });
124
+ });
125
+ };
126
+ return { handleInsertTarget: handleInsertTarget, handleUpdateTarget: handleUpdateTarget, loading: loading };
127
+ }
128
+ //# 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,2 @@
1
+ export * from './phx-target-select';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/TargetSelect/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA"}
@@ -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,120 @@
1
+ 'use client';
2
+ import { __assign, __awaiter, __generator, __rest, __spreadArray } from "tslib";
3
+ import { useEffect, useState } from 'react';
4
+ import RadioGroupSelect from './components/radio-group-select';
5
+ import { getTargetByIdQuery } from './graphql/query';
6
+ import useGetDataSelectTarget from './hooks/use-get-data-select';
7
+ import { targetConfigs } from './sample/config';
8
+ import { FILTER_BY } from './utils/constant';
9
+ import PHXClientQueryV3 from '../Func/clientQueryV3';
10
+ import { PHXSkeleton } from '../Skeleton';
11
+ import { PHXCard } from '../Card';
12
+ import React from 'react';
13
+ import { PHXCheckbox } from '../Checkbox';
14
+ export default function PHXTargetSelect(_a) {
15
+ var _this = this;
16
+ var onChange = _a.onChange, schoolYearId = _a.schoolYearId, targetId = _a.targetId;
17
+ var _b = useState([]), listTargetSelected = _b[0], setListTargetSelected = _b[1];
18
+ var _c = useGetDataSelectTarget({
19
+ schoolYearId: schoolYearId
20
+ }), getSelectLoading = _c.loading, selectOptions = _c.selectOptions;
21
+ var _d = useState(false), getDefaultLoading = _d[0], setGetDefaultLoading = _d[1];
22
+ var handleChangeTarget = function (target) {
23
+ var isCheckedByValue = listTargetSelected.some(function (item) { return item.target === target; });
24
+ var nextValues = [];
25
+ if (isCheckedByValue) {
26
+ nextValues = listTargetSelected.filter(function (item) { return item.target !== target; });
27
+ }
28
+ else {
29
+ nextValues = __spreadArray(__spreadArray([], listTargetSelected, true), [
30
+ {
31
+ target: target,
32
+ filterBy: FILTER_BY.ALL,
33
+ filterValues: []
34
+ },
35
+ ], false);
36
+ }
37
+ setListTargetSelected(nextValues);
38
+ onChange === null || onChange === void 0 ? void 0 : onChange(nextValues);
39
+ };
40
+ var handleChangeFilter = function (data) {
41
+ var clone = __spreadArray([], listTargetSelected, true);
42
+ var filteredData = clone.filter(function (item) { return item.target !== data.target; });
43
+ filteredData.push(data);
44
+ setListTargetSelected(filteredData);
45
+ onChange === null || onChange === void 0 ? void 0 : onChange(filteredData);
46
+ };
47
+ var getDefaultData = function () { return __awaiter(_this, void 0, void 0, function () {
48
+ var target_by_roles, formatedData, e_1;
49
+ return __generator(this, function (_a) {
50
+ switch (_a.label) {
51
+ case 0:
52
+ setGetDefaultLoading(true);
53
+ _a.label = 1;
54
+ case 1:
55
+ _a.trys.push([1, 3, 4, 5]);
56
+ return [4 /*yield*/, PHXClientQueryV3({
57
+ query: getTargetByIdQuery,
58
+ variables: {
59
+ id: targetId
60
+ }
61
+ })];
62
+ case 2:
63
+ target_by_roles = (_a.sent()).data.target_inform_target_by_pk.target_by_roles;
64
+ formatedData = target_by_roles === null || target_by_roles === void 0 ? void 0 : target_by_roles.map(function (target_by_role) {
65
+ 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;
66
+ var filterBy = FILTER_BY.ALL, filterValues = [];
67
+ if ((target_educational_levels === null || target_educational_levels === void 0 ? void 0 : target_educational_levels.length) > 0) {
68
+ filterBy = FILTER_BY.EDUCATIONAL_LEVEL;
69
+ filterValues = target_educational_levels.map(function (item) { return item.educational_level; });
70
+ }
71
+ if ((target_grades === null || target_grades === void 0 ? void 0 : target_grades.length) > 0) {
72
+ filterBy = FILTER_BY.GRADE;
73
+ filterValues = target_grades.map(function (item) { return item.grade; });
74
+ }
75
+ if ((target_classrooms === null || target_classrooms === void 0 ? void 0 : target_classrooms.length) > 0) {
76
+ filterBy = FILTER_BY.CLASSROOM;
77
+ filterValues = target_classrooms.map(function (item) { return item.classroom; });
78
+ }
79
+ if ((target_users === null || target_users === void 0 ? void 0 : target_users.length) > 0) {
80
+ filterBy = FILTER_BY.CUSTOM_LIST;
81
+ filterValues = target_users.map(function (item) {
82
+ var _a = item.user, profile_staff = _a.profile_staff, profile_teacher = _a.profile_teacher, rest = __rest(_a, ["profile_staff", "profile_teacher"]);
83
+ return __assign(__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) || '' });
84
+ });
85
+ }
86
+ return {
87
+ target: role_code,
88
+ filterBy: filterBy,
89
+ filterValues: filterValues
90
+ };
91
+ });
92
+ setListTargetSelected(formatedData);
93
+ onChange === null || onChange === void 0 ? void 0 : onChange(formatedData);
94
+ return [3 /*break*/, 5];
95
+ case 3:
96
+ e_1 = _a.sent();
97
+ console.error(e_1);
98
+ return [3 /*break*/, 5];
99
+ case 4:
100
+ setGetDefaultLoading(false);
101
+ return [7 /*endfinally*/];
102
+ case 5: return [2 /*return*/];
103
+ }
104
+ });
105
+ }); };
106
+ useEffect(function () {
107
+ if (targetId) {
108
+ getDefaultData();
109
+ }
110
+ }, [targetId]);
111
+ return (React.createElement(React.Fragment, null, getSelectLoading || getDefaultLoading ? (React.createElement(PHXSkeleton, { type: 'table' })) : (React.createElement(PHXCard, { primaryHeader: true, title: '\u0110\u1ED1i t\u01B0\u1EE3ng hi\u1EC3n th\u1ECB' },
112
+ React.createElement("div", { className: 'space-y-3 ' }, targetConfigs.map(function (config) {
113
+ var helpText = config.helpText, listRadio = config.listRadio, title = config.title, value = config.value;
114
+ var isChecked = listTargetSelected.some(function (item) { return item.target === value; });
115
+ return (React.createElement("div", { key: value, className: 'space-y-2' },
116
+ React.createElement(PHXCheckbox, { checked: isChecked, helpText: helpText, id: value, isShowHelpText: true, onChange: function () { return handleChangeTarget(value); }, title: title }),
117
+ isChecked && (React.createElement(RadioGroupSelect, { handleChangeFilter: handleChangeFilter, listRadio: listRadio, listTargetSelected: listTargetSelected, schoolYearId: schoolYearId, selectOptions: selectOptions, target: value }))));
118
+ }))))));
119
+ }
120
+ //# 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,91 @@
1
+ import { FILTER_BY, ROLE_CODE } from '../utils/constant';
2
+ export var targetConfigs = [
3
+ {
4
+ title: 'Phụ huynh',
5
+ value: ROLE_CODE.PARENT,
6
+ 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',
7
+ listRadio: [
8
+ {
9
+ title: 'Tất cả phụ huynh',
10
+ 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',
11
+ value: FILTER_BY.ALL
12
+ },
13
+ {
14
+ title: 'Theo cấp học',
15
+ helpText: 'Chọn phụ huynh có con đang học ở các cấp học',
16
+ value: FILTER_BY.EDUCATIONAL_LEVEL,
17
+ comboboxLabel: 'Cấp học'
18
+ },
19
+ {
20
+ title: 'Theo khối học',
21
+ helpText: 'Chọn phụ huynh có con đang học ở các khối học',
22
+ value: FILTER_BY.GRADE,
23
+ comboboxLabel: 'Khối học'
24
+ },
25
+ {
26
+ title: 'Theo lớp học',
27
+ helpText: 'Chọn phụ huynh có con đang học ở các lớp học',
28
+ value: FILTER_BY.CLASSROOM,
29
+ comboboxLabel: 'Lớp học'
30
+ },
31
+ {
32
+ title: 'Theo danh sách tuỳ chọn',
33
+ 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',
34
+ value: FILTER_BY.CUSTOM_LIST
35
+ },
36
+ ]
37
+ },
38
+ {
39
+ title: 'Giáo viên',
40
+ value: ROLE_CODE.TEACHER,
41
+ 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',
42
+ listRadio: [
43
+ {
44
+ title: 'Tất cả giáo viên',
45
+ 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',
46
+ value: FILTER_BY.ALL
47
+ },
48
+ {
49
+ title: 'Theo cấp học',
50
+ helpText: 'Chọn giáo viên đang giảng dạy ở các cấp học',
51
+ value: FILTER_BY.EDUCATIONAL_LEVEL,
52
+ comboboxLabel: 'Cấp học'
53
+ },
54
+ {
55
+ title: 'Theo khối học',
56
+ helpText: 'Chọn giáo viên đang giảng dạy ở các khối học',
57
+ value: FILTER_BY.GRADE,
58
+ comboboxLabel: 'Khối học'
59
+ },
60
+ {
61
+ title: 'Theo lớp học',
62
+ helpText: 'Chọn giáo viên đang giảng dạy ở các lớp học',
63
+ value: FILTER_BY.CLASSROOM,
64
+ comboboxLabel: 'Lớp học'
65
+ },
66
+ {
67
+ title: 'Theo danh sách tuỳ chọn',
68
+ 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',
69
+ value: FILTER_BY.CUSTOM_LIST
70
+ },
71
+ ]
72
+ },
73
+ {
74
+ title: 'Cán bộ nhân viên',
75
+ value: ROLE_CODE.STAFF,
76
+ 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',
77
+ listRadio: [
78
+ {
79
+ title: 'Tất cả cán bộ nhân viên',
80
+ helpText: 'Tất cả cán bộ nhân viên đang làm việc tại nhà trường',
81
+ value: FILTER_BY.ALL
82
+ },
83
+ {
84
+ title: 'Theo danh sách tuỳ chọn',
85
+ helpText: 'Chọn từng cán bộ nhân viên đang làm việc tại nhà trường',
86
+ value: FILTER_BY.CUSTOM_LIST
87
+ },
88
+ ]
89
+ },
90
+ ];
91
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/sample/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,CAAC,IAAM,aAAa,GAAG;IAC3B;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,QAAQ,EAAE,yGAAyG;QACnH,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,qEAAqE;gBAC/E,KAAK,EAAE,SAAS,CAAC,GAAG;aACrB;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,8CAA8C;gBACxD,KAAK,EAAE,SAAS,CAAC,iBAAiB;gBAClC,aAAa,EAAE,SAAS;aACzB;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,QAAQ,EAAE,+CAA+C;gBACzD,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,aAAa,EAAE,UAAU;aAC1B;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,8CAA8C;gBACxD,KAAK,EAAE,SAAS,CAAC,SAAS;gBAC1B,aAAa,EAAE,SAAS;aACzB;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,QAAQ,EAAE,wEAAwE;gBAClF,KAAK,EAAE,SAAS,CAAC,WAAW;aAC7B;SACF;KACF;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,SAAS,CAAC,OAAO;QACxB,QAAQ,EAAE,wGAAwG;QAClH,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,gEAAgE;gBAC1E,KAAK,EAAE,SAAS,CAAC,GAAG;aACrB;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,6CAA6C;gBACvD,KAAK,EAAE,SAAS,CAAC,iBAAiB;gBAClC,aAAa,EAAE,SAAS;aACzB;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,QAAQ,EAAE,8CAA8C;gBACxD,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,aAAa,EAAE,UAAU;aAC1B;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,6CAA6C;gBACvD,KAAK,EAAE,SAAS,CAAC,SAAS;gBAC1B,aAAa,EAAE,SAAS;aACzB;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,QAAQ,EAAE,uEAAuE;gBACjF,KAAK,EAAE,SAAS,CAAC,WAAW;aAC7B;SACF;KACF;IACD;QACE,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,QAAQ,EACN,8GAA8G;QAChH,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,yBAAyB;gBAChC,QAAQ,EAAE,sDAAsD;gBAChE,KAAK,EAAE,SAAS,CAAC,GAAG;aACrB;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,QAAQ,EAAE,yDAAyD;gBACnE,KAAK,EAAE,SAAS,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,32 @@
1
+ export var data = [
2
+ {
3
+ target: 'PH',
4
+ filterBy: 'EDUCATIONAL_LEVEL',
5
+ filterValues: [
6
+ {
7
+ id: 1,
8
+ name: 'Tiểu học',
9
+ code: 'TIEU_HOC'
10
+ },
11
+ {
12
+ id: 2,
13
+ name: 'Trung học',
14
+ code: 'TH'
15
+ },
16
+ ]
17
+ },
18
+ {
19
+ target: 'GV',
20
+ filterBy: 'CUSTOM_LIST',
21
+ filterValues: [
22
+ {
23
+ id: 1,
24
+ name: 'Bùi Huy Bách',
25
+ code: 'PHX_123',
26
+ phone: '0354604144',
27
+ email: 'test@gmail.com'
28
+ },
29
+ ]
30
+ },
31
+ ];
32
+ //# 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,MAAM,CAAC,IAAM,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"}