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,42 @@
1
+ var _a;
2
+ export var ENotifyWith;
3
+ (function (ENotifyWith) {
4
+ ENotifyWith["GVCN"] = "GVCN";
5
+ ENotifyWith["GVBM"] = "GVBM";
6
+ })(ENotifyWith || (ENotifyWith = {}));
7
+ export var OPTION_FILTER_ALL = {
8
+ id: 0,
9
+ name: 'Tất cả',
10
+ code: 'ALL',
11
+ };
12
+ export var ERoleCode;
13
+ (function (ERoleCode) {
14
+ ERoleCode["TEACHER"] = "GV";
15
+ ERoleCode["STUDENT"] = "SV";
16
+ ERoleCode["STAFF"] = "NV";
17
+ ERoleCode["DEPARTMENT"] = "DEPARTMENT";
18
+ })(ERoleCode || (ERoleCode = {}));
19
+ export var EObjectType;
20
+ (function (EObjectType) {
21
+ EObjectType["TEACHER"] = "TEACHER";
22
+ EObjectType["STUDENT"] = "STUDENT";
23
+ EObjectType["STAFF"] = "STAFF";
24
+ EObjectType["DEPARTMENT"] = "DEPARTMENT";
25
+ })(EObjectType || (EObjectType = {}));
26
+ export var FILTER_BY = {
27
+ ALL: 'ALL',
28
+ EDUCATIONAL_LEVEL: 'EDUCATIONAL_LEVEL',
29
+ GRADE: 'GRADE',
30
+ CLASSROOM: 'CLASSROOM',
31
+ DEPARTMENT: 'DEPARTMENT',
32
+ CUSTOM_LIST: 'CUSTOM_LIST',
33
+ };
34
+ export var VALIDATE_REQUIRED_INPUT = 'Trường này không được để trống';
35
+ export var DEFAULT_NOTIFY_WITH_BY_TARGET = (_a = {},
36
+ _a[ERoleCode.STUDENT] = ENotifyWith.GVCN,
37
+ _a[ERoleCode.TEACHER] = undefined,
38
+ _a[ERoleCode.STAFF] = undefined,
39
+ _a[ERoleCode.DEPARTMENT] = undefined,
40
+ _a);
41
+ export var TEXT_UNDEFINED = '--';
42
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/components/FormTarget/constant.ts"],"names":[],"mappings":";AAAA,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,4BAAa,CAAA;AACf,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,KAAK;CACZ,CAAA;AAED,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,2BAAc,CAAA;IACd,2BAAc,CAAA;IACd,yBAAY,CAAA;IACZ,sCAAyB,CAAA;AAC3B,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AACD,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,wCAAyB,CAAA;AAC3B,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED,MAAM,CAAC,IAAM,SAAS,GAAG;IACvB,GAAG,EAAE,KAAK;IACV,iBAAiB,EAAE,mBAAmB;IACtC,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;CAClB,CAAA;AAEV,MAAM,CAAC,IAAM,uBAAuB,GAAG,gCAAgC,CAAA;AACvE,MAAM,CAAC,IAAM,6BAA6B;IACxC,GAAC,SAAS,CAAC,OAAO,IAAG,WAAW,CAAC,IAAI;IACrC,GAAC,SAAS,CAAC,OAAO,IAAG,SAAS;IAC9B,GAAC,SAAS,CAAC,KAAK,IAAG,SAAS;IAC5B,GAAC,SAAS,CAAC,UAAU,IAAG,SAAS;OAClC,CAAA;AACD,MAAM,CAAC,IAAM,cAAc,GAAG,IAAI,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const INSERT_TARGET_MUTATION = "\n mutation insertTargetMutation($data: [user_segment_target_insert_input!]!) {\n insert_user_segment_target(objects: $data) {\n affected_rows\n returning {\n id\n }\n }\n }\n";
2
+ export declare const UPDATE_TARGET_BY_ROLE_MUTATION = "\n mutation updateTargetByRoleMutation(\n $targetId: uuid!\n $targetByRoles: [user_segment_target_by_role_insert_input!]!\n ) {\n update_user_segment_target_by_role(\n where: {target_id: {_eq: $targetId}}\n _set: {deleted_at: now}\n ) {\n affected_rows\n }\n\n insert_user_segment_target_by_role(objects: $targetByRoles) {\n affected_rows\n }\n }\n";
3
+ export declare const UPDATE_TARGET_BY_PK_MUTATION = "\n mutation updateTargetByPkMutation(\n $data: user_segment_target_set_input!\n $id: uuid!\n ) {\n update_user_segment_target_by_pk(pk_columns: {id: $id}, _set: $data) {\n id\n }\n }\n";
@@ -0,0 +1,4 @@
1
+ export var INSERT_TARGET_MUTATION = "\n mutation insertTargetMutation($data: [user_segment_target_insert_input!]!) {\n insert_user_segment_target(objects: $data) {\n affected_rows\n returning {\n id\n }\n }\n }\n";
2
+ export var UPDATE_TARGET_BY_ROLE_MUTATION = "\n mutation updateTargetByRoleMutation(\n $targetId: uuid!\n $targetByRoles: [user_segment_target_by_role_insert_input!]!\n ) {\n update_user_segment_target_by_role(\n where: {target_id: {_eq: $targetId}}\n _set: {deleted_at: now}\n ) {\n affected_rows\n }\n\n insert_user_segment_target_by_role(objects: $targetByRoles) {\n affected_rows\n }\n }\n";
3
+ export var UPDATE_TARGET_BY_PK_MUTATION = "\n mutation updateTargetByPkMutation(\n $data: user_segment_target_set_input!\n $id: uuid!\n ) {\n update_user_segment_target_by_pk(pk_columns: {id: $id}, _set: $data) {\n id\n }\n }\n";
4
+ //# sourceMappingURL=mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/graphql/mutation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,sBAAsB,GAAG,+MASrC,CAAA;AAED,MAAM,CAAC,IAAM,8BAA8B,GAAG,0YAgB7C,CAAA;AAED,MAAM,CAAC,IAAM,4BAA4B,GAAG,8MAS3C,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { IQueryBuilderProps } from '../type/target';
2
+ export declare const GET_SELECT_QUERY = "\n query getSelectQuery($schoolId: Int!, $schoolYearId: Int!) {\n educational_level(\n order_by: {id: asc}\n where: {deleted_at: {_is_null: true}, school_id: {_eq: $schoolId}}\n ) {\n id\n name\n code\n }\n grade(\n order_by: {id: asc}\n where: {deleted_at: {_is_null: true}, school_id: {_eq: $schoolId}}\n ) {\n id\n name\n code\n educational_level_id\n }\n classroom(\n order_by: {id: asc}\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 department(\n where: {deleted_at: {_is_null: true}, school_id: {_eq: $schoolId}}\n ) {\n id\n name\n }\n }\n";
3
+ export declare const queryListUserBuilder: ({ condition, schoolId, schoolYearId, target }: IQueryBuilderProps) => string;
4
+ export declare const 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";
5
+ export declare const GET_TARGET_BY_ROLE_QUERY = "\n query getTargetByRoleQuery($id: uuid!) {\n user_segment_target_by_pk(id: $id) {\n school_year_id\n target_by_roles(where: {deleted_at: {_is_null: true}}) {\n role {\n role_code\n }\n is_all\n notify_with\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_departments {\n department {\n id\n name\n }\n }\n target_users {\n user {\n id\n name: full_name\n phone: phone_number\n email\n profile_student {\n user_code\n grade {\n id\n name\n }\n program_map_educational_level {\n educational_level {\n code\n name\n id\n }\n }\n }\n\n profile_teacher {\n user_code\n }\n profile_staff {\n user_code\n }\n relationshipUsersByStudentId(\n order_by: {created_at: desc}\n where: {\n deleted_at: {_is_null: true}\n user: {deleted_at: {_is_null: true}}\n userByStudentId: {deleted_at: {_is_null: true}}\n }\n ) {\n parent_id\n relationship_code\n user {\n gender\n full_name\n phone_number\n }\n }\n }\n }\n }\n }\n }\n";
6
+ export declare const GET_LIST_ROLE_QUERY = "\n query getListRoleQuery($schoolId: Int!) {\n role(where: {deleted_at: {_is_null: true}, school_id: {_eq: $schoolId}}) {\n id\n role_code\n }\n }\n";
7
+ export declare const GET_CLASSROOM_BY_USER_IDS = "\n query getClassroomByUserIds($schoolYearId: Int!, $userIds: [Int!]!) {\n classroom_student(\n where: {\n deleted_at: { _is_null: true }\n user:{id:{_in:$userIds}}\n classroom: {\n deleted_at: { _is_null: true }\n school_year_id: { _eq: $schoolYearId }\n }\n }\n ) {\n user{\n id\n }\n classroom {\n id\n name\n grade_id\n grade {\n id\n educational_level_id\n }\n program_id\n school_year_id\n program {\n name\n }\n }\n }\n}\n";
@@ -0,0 +1,47 @@
1
+ import { ERoleCode, OPTION_FILTER_ALL } from '../constant';
2
+ export var GET_SELECT_QUERY = "\n query getSelectQuery($schoolId: Int!, $schoolYearId: Int!) {\n educational_level(\n order_by: {id: asc}\n where: {deleted_at: {_is_null: true}, school_id: {_eq: $schoolId}}\n ) {\n id\n name\n code\n }\n grade(\n order_by: {id: asc}\n where: {deleted_at: {_is_null: true}, school_id: {_eq: $schoolId}}\n ) {\n id\n name\n code\n educational_level_id\n }\n classroom(\n order_by: {id: asc}\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 department(\n where: {deleted_at: {_is_null: true}, school_id: {_eq: $schoolId}}\n ) {\n id\n name\n }\n }\n";
3
+ var getFieldByTarget = function (target, schoolYearId, schoolId) {
4
+ var _a;
5
+ var fieldByTarget = (_a = {},
6
+ _a[ERoleCode.TEACHER] = "\n 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 teacher_type\n classroom {\n id\n grade_id\n }\n }\n }\n } \n "),
7
+ _a[ERoleCode.STAFF] = "\n 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[ERoleCode.STUDENT] = "\n profile_student {\n user_code\n grade {\n id\n name\n }\n program_map_educational_level {\n educational_level {\n code\n name\n id\n }\n }\n }\n classroom_students(\n where: {\n deleted_at: { _is_null: true }\n classroom: {\n deleted_at: { _is_null: true }\n school_year_id: { _eq: ".concat(schoolYearId, " }\n school_id: { _eq: ").concat(schoolId, " }\n }\n }\n ) {\n id\n classroom {\n id\n name\n grade_id\n grade {\n id\n educational_level_id\n }\n program_id\n school_year_id\n program {\n name\n }\n }\n }\n relationshipUsersByStudentId(order_by: {created_at: desc}, where: {deleted_at: {_is_null: true}, user: {deleted_at: {_is_null: true}}, userByStudentId: {deleted_at: {_is_null: true}}}) {\n parent_id\n relationship_code\n user {\n gender\n full_name\n phone_number\n }\n }\n "),
9
+ _a[ERoleCode.DEPARTMENT] = '',
10
+ _a);
11
+ return fieldByTarget[target];
12
+ };
13
+ var isFilterAll = function (value) { return OPTION_FILTER_ALL.id === value; };
14
+ var getConditionsByTarget = function (_a) {
15
+ var condition = _a.condition, schoolYearId = _a.schoolYearId, target = _a.target;
16
+ var classroomId = condition.classroomId, educationalLevelId = condition.educationalLevelId, gradeId = condition.gradeId;
17
+ if (target === ERoleCode.STAFF) {
18
+ return "\n ".concat("profile_staff:{\n deleted_at:{_is_null:true}\n is_quit_job:{_eq:false}\n }", "\n ");
19
+ }
20
+ if ([classroomId, educationalLevelId, gradeId].every(function (item) { return item === OPTION_FILTER_ALL.id; })) {
21
+ // nếu bộ lọc đều chọn tất cả thì ko cần filter theo gì cả
22
+ return '';
23
+ }
24
+ var isNotAllEducationalLevel = !isFilterAll(educationalLevelId);
25
+ var isNotAllGrade = !isFilterAll(gradeId);
26
+ var isNotAllClassroom = !isFilterAll(classroomId);
27
+ if (target === ERoleCode.STUDENT) {
28
+ 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(isNotAllClassroom ? "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 ");
29
+ }
30
+ if (target === ERoleCode.TEACHER) {
31
+ return "\n profile_teacher:{\n ".concat(isNotAllEducationalLevel
32
+ ? " educational_level_group:{\n educational_level_map_groups:{\n deleted_at:{_is_null:true}\n educational_level_id:{_eq: ".concat(educationalLevelId, "}\n }\n }")
33
+ : '', "\n ").concat(isNotAllGrade || isNotAllClassroom
34
+ ? " 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(isNotAllClassroom ? "id:{_eq: ".concat(classroomId, "}") : '', "\n ").concat(isNotAllGrade ? "grade_id:{_eq: ".concat(gradeId, "}") : '', "\n \n }\n }\n }")
35
+ : '', "\n \n\n }\n ");
36
+ }
37
+ return '';
38
+ };
39
+ export var queryListUserBuilder = function (_a) {
40
+ var condition = _a.condition, schoolId = _a.schoolId, schoolYearId = _a.schoolYearId, target = _a.target;
41
+ return " \nquery getListUserQuery(\n $roleCode: String!\n $limit: Int!\n $offset: Int!\n $searchKeyword: String!\n $schoolId: Int!\n ) {\n users(\n limit: $limit\n offset: $offset\n order_by: {created_at: desc}\n where: {\n ".concat(getConditionsByTarget({ target: target, schoolYearId: schoolYearId, condition: condition }), "\n deleted_at: {_is_null: true}\n school_id:{_eq: $schoolId}\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, schoolId), "\n user_roles(where: {deleted_at: {_is_null: true}, is_active: {_eq: true}, role: {school_id: {_eq: $schoolId}}}) {\n role {\n name\n }\n }\n }\n }");
42
+ };
43
+ 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";
44
+ export var GET_TARGET_BY_ROLE_QUERY = "\n query getTargetByRoleQuery($id: uuid!) {\n user_segment_target_by_pk(id: $id) {\n school_year_id\n target_by_roles(where: {deleted_at: {_is_null: true}}) {\n role {\n role_code\n }\n is_all\n notify_with\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_departments {\n department {\n id\n name\n }\n }\n target_users {\n user {\n id\n name: full_name\n phone: phone_number\n email\n profile_student {\n user_code\n grade {\n id\n name\n }\n program_map_educational_level {\n educational_level {\n code\n name\n id\n }\n }\n }\n\n profile_teacher {\n user_code\n }\n profile_staff {\n user_code\n }\n relationshipUsersByStudentId(\n order_by: {created_at: desc}\n where: {\n deleted_at: {_is_null: true}\n user: {deleted_at: {_is_null: true}}\n userByStudentId: {deleted_at: {_is_null: true}}\n }\n ) {\n parent_id\n relationship_code\n user {\n gender\n full_name\n phone_number\n }\n }\n }\n }\n }\n }\n }\n";
45
+ export var GET_LIST_ROLE_QUERY = "\n query getListRoleQuery($schoolId: Int!) {\n role(where: {deleted_at: {_is_null: true}, school_id: {_eq: $schoolId}}) {\n id\n role_code\n }\n }\n";
46
+ export var GET_CLASSROOM_BY_USER_IDS = "\n query getClassroomByUserIds($schoolYearId: Int!, $userIds: [Int!]!) {\n classroom_student(\n where: {\n deleted_at: { _is_null: true }\n user:{id:{_in:$userIds}}\n classroom: {\n deleted_at: { _is_null: true }\n school_year_id: { _eq: $schoolYearId }\n }\n }\n ) {\n user{\n id\n }\n classroom {\n id\n name\n grade_id\n grade {\n id\n educational_level_id\n }\n program_id\n school_year_id\n program {\n name\n }\n }\n }\n}\n";
47
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/graphql/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './use-target-select';
2
+ export * from './use-get-data-select';
@@ -0,0 +1,3 @@
1
+ export * from './use-target-select';
2
+ export * from './use-get-data-select';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ISelectOptions } from '../type/target';
2
+ export declare const useGetDataSelectTarget: ({ schoolYearId }: {
3
+ schoolYearId: number;
4
+ }) => {
5
+ selectOptions: ISelectOptions;
6
+ loading: boolean;
7
+ };
@@ -0,0 +1,61 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { useEffect, useState } from 'react';
3
+ import { GET_SELECT_QUERY } from '../graphql/query';
4
+ import PHXFuncGetLoggedInfo from '../../Func/getLoginInfo';
5
+ import { PHXClientQueryV3 } from '../../Func/GRPC/PHXGrpcClientV3';
6
+ export var useGetDataSelectTarget = function (_a) {
7
+ var schoolYearId = _a.schoolYearId;
8
+ var _b = useState({
9
+ EDUCATIONAL_LEVEL: [],
10
+ GRADE: [],
11
+ CLASSROOM: [],
12
+ DEPARTMENT: [],
13
+ ALL: [],
14
+ }), selectOptions = _b[0], setSelectOptions = _b[1];
15
+ var _c = useState(true), loading = _c[0], setLoading = _c[1];
16
+ var userInfo = PHXFuncGetLoggedInfo();
17
+ var getDataSelect = function () { return __awaiter(void 0, void 0, void 0, function () {
18
+ var _a, classroom, department, educational_level, grade, e_1;
19
+ return __generator(this, function (_b) {
20
+ switch (_b.label) {
21
+ case 0:
22
+ setLoading(true);
23
+ _b.label = 1;
24
+ case 1:
25
+ _b.trys.push([1, 3, 4, 5]);
26
+ return [4 /*yield*/, PHXClientQueryV3({
27
+ query: GET_SELECT_QUERY,
28
+ variables: {
29
+ schoolId: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
30
+ schoolYearId: schoolYearId,
31
+ },
32
+ })];
33
+ case 2:
34
+ _a = (_b.sent()).data, classroom = _a.classroom, department = _a.department, educational_level = _a.educational_level, grade = _a.grade;
35
+ setSelectOptions({
36
+ EDUCATIONAL_LEVEL: educational_level,
37
+ GRADE: grade,
38
+ CLASSROOM: classroom,
39
+ DEPARTMENT: department,
40
+ ALL: [],
41
+ });
42
+ return [3 /*break*/, 5];
43
+ case 3:
44
+ e_1 = _b.sent();
45
+ console.error(e_1);
46
+ return [3 /*break*/, 5];
47
+ case 4:
48
+ setLoading(false);
49
+ return [7 /*endfinally*/];
50
+ case 5: return [2 /*return*/];
51
+ }
52
+ });
53
+ }); };
54
+ useEffect(function () {
55
+ if (schoolYearId) {
56
+ getDataSelect();
57
+ }
58
+ }, [schoolYearId]);
59
+ return { selectOptions: selectOptions, loading: loading };
60
+ };
61
+ //# sourceMappingURL=use-get-data-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-get-data-select.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/hooks/use-get-data-select.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,oBAAoB,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAElE,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,EAA0C;QAAxC,YAAY,kBAAA;IAC7C,IAAA,KAAoC,QAAQ,CAAiB;QACjE,iBAAiB,EAAE,EAAE;QACrB,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,GAAG,EAAE,EAAE;KACR,CAAC,EANK,aAAa,QAAA,EAAE,gBAAgB,QAMpC,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,gBAAgB;4BACvB,SAAS,EAAE;gCACT,QAAQ,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS;gCAC7B,YAAY,cAAA;6BACb;yBACF,CAAC,EAAA;;oBAPA,KACE,CAAA,SAMF,CAAA,KAPyD,EAAjD,SAAS,eAAA,EAAE,UAAU,gBAAA,EAAE,iBAAiB,uBAAA,EAAE,KAAK,WAAA;oBASzD,gBAAgB,CAAC;wBACf,iBAAiB,EAAE,iBAAiB;wBACpC,KAAK,EAAE,KAAK;wBACZ,SAAS,EAAE,SAAS;wBACpB,UAAU,EAAE,UAAU;wBACtB,GAAG,EAAE,EAAE;qBACR,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,CAAC;YACjB,aAAa,EAAE,CAAA;QACjB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,OAAO,EAAE,aAAa,eAAA,EAAE,OAAO,SAAA,EAAE,CAAA;AACnC,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { ITargetSelectedData } from '../type/target';
2
+ export type TDataSubmit = {
3
+ id?: string;
4
+ name: string;
5
+ school_year_id: number;
6
+ target: Array<ITargetSelectedData>;
7
+ };
8
+ export declare const useTargetSelect: () => {
9
+ handleInsertTarget: ({ data }: {
10
+ data: TDataSubmit;
11
+ }) => Promise<{
12
+ id: number | null;
13
+ }>;
14
+ handleUpdateTargetByRole: ({ data, id }: {
15
+ data: TDataSubmit;
16
+ id: string;
17
+ }) => Promise<void>;
18
+ handleUpdateTarget: (id: string | undefined, data: any) => Promise<void>;
19
+ };
@@ -0,0 +1,187 @@
1
+ import { __assign, __awaiter, __generator, __rest } from "tslib";
2
+ import { useEffect, useState } from 'react';
3
+ import { ERoleCode, FILTER_BY } from '../constant';
4
+ import { INSERT_TARGET_MUTATION, UPDATE_TARGET_BY_PK_MUTATION, UPDATE_TARGET_BY_ROLE_MUTATION, } from '../graphql/mutation';
5
+ import { GET_LIST_ROLE_QUERY } from '../graphql/query';
6
+ import { getObjectType } from '../ultis/get-object-type';
7
+ import PHXFuncGetLoggedInfo from '../../Func/getLoginInfo';
8
+ import PHXGetCurrentYearWithTermV3 from '../../Func/SchoolYearV3/getSchoolYearV3';
9
+ import { PHXClientMutationV3, PHXClientQueryV3 } from '../../Func/GRPC/PHXGrpcClientV3';
10
+ export var useTargetSelect = function () {
11
+ var userInfo = PHXFuncGetLoggedInfo();
12
+ var schoolYearId = PHXGetCurrentYearWithTermV3();
13
+ var _a = useState([]), roles = _a[0], setRoles = _a[1];
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 _a;
19
+ var filter = item.filter, notifyWith = item.notifyWith, target = item.target;
20
+ var roleId = (_a = roles.find(function (role) { return role.role_code === target; })) === null || _a === void 0 ? void 0 : _a.id;
21
+ if (!roleId && target !== ERoleCode.DEPARTMENT)
22
+ return;
23
+ var isAll = filter.some(function (f) { return f.filterBy === FILTER_BY.ALL; });
24
+ if (isAll) {
25
+ result.push(__assign({ role_id: roleId, is_all: true, notify_with: notifyWith, school_id: schoolId, object_type: getObjectType(target) }, (targetId ? { target_id: targetId } : {})));
26
+ return;
27
+ }
28
+ var submitItem = __assign({ role_id: roleId, school_id: schoolId, notify_with: notifyWith, object_type: getObjectType(target), target_educational_levels: { data: [] }, target_grades: { data: [] }, target_classrooms: { data: [] }, target_users: { data: [] }, target_departments: { data: [] } }, (targetId ? { target_id: targetId } : {}));
29
+ filter.forEach(function (f) {
30
+ var filterBy = f.filterBy, filterValues = f.filterValues;
31
+ if (filterBy === FILTER_BY.EDUCATIONAL_LEVEL) {
32
+ submitItem.target_educational_levels.data = filterValues.map(function (v) { return ({
33
+ school_id: schoolId,
34
+ educational_level_id: v.id,
35
+ }); });
36
+ }
37
+ if (filterBy === FILTER_BY.GRADE) {
38
+ submitItem.target_grades.data = filterValues.map(function (v) { return ({
39
+ school_id: schoolId,
40
+ grade_id: v.id,
41
+ }); });
42
+ }
43
+ if (filterBy === FILTER_BY.CLASSROOM) {
44
+ submitItem.target_classrooms.data = filterValues.map(function (v) { return ({
45
+ school_id: schoolId,
46
+ classroom_id: v.id,
47
+ }); });
48
+ }
49
+ if (filterBy === FILTER_BY.DEPARTMENT) {
50
+ submitItem.target_departments.data = filterValues.map(function (v) { return ({
51
+ school_id: schoolId,
52
+ department_id: v.id,
53
+ }); });
54
+ }
55
+ if (filterBy === FILTER_BY.CUSTOM_LIST) {
56
+ submitItem.target_users.data = filterValues.map(function (v) { return ({
57
+ school_id: schoolId,
58
+ user_id: v.id,
59
+ }); });
60
+ }
61
+ });
62
+ result.push(submitItem);
63
+ });
64
+ return result;
65
+ };
66
+ var handleInsertTarget = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
67
+ var dataSubmit, returning;
68
+ var _c, _d, _e;
69
+ var data = _b.data;
70
+ return __generator(this, function (_f) {
71
+ switch (_f.label) {
72
+ case 0:
73
+ dataSubmit = {
74
+ school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
75
+ creator_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.id,
76
+ name: data.name,
77
+ school_year_id: (_d = (_c = schoolYearId === null || schoolYearId === void 0 ? void 0 : schoolYearId.current_school_year) === null || _c === void 0 ? void 0 : _c.schoolYear) === null || _d === void 0 ? void 0 : _d.id,
78
+ target_by_roles: {
79
+ data: getDataTargetSubmit(data.target),
80
+ },
81
+ };
82
+ return [4 /*yield*/, PHXClientMutationV3({
83
+ query: INSERT_TARGET_MUTATION,
84
+ variables: {
85
+ data: dataSubmit,
86
+ },
87
+ isDelay: false,
88
+ })];
89
+ case 1:
90
+ returning = (_f.sent()).data.insert_user_segment_target.returning;
91
+ return [2 /*return*/, { id: (_e = returning[0]) === null || _e === void 0 ? void 0 : _e.id }];
92
+ }
93
+ });
94
+ }); };
95
+ var handleUpdateTarget = function (id, data) { return __awaiter(void 0, void 0, void 0, function () {
96
+ var e_1;
97
+ return __generator(this, function (_a) {
98
+ switch (_a.label) {
99
+ case 0:
100
+ if (!id)
101
+ return [2 /*return*/];
102
+ _a.label = 1;
103
+ case 1:
104
+ _a.trys.push([1, 3, , 4]);
105
+ return [4 /*yield*/, PHXClientMutationV3({
106
+ query: UPDATE_TARGET_BY_PK_MUTATION,
107
+ variables: {
108
+ id: id,
109
+ data: __assign(__assign({}, data), { updated_at: 'now' }),
110
+ },
111
+ isDelay: false,
112
+ })];
113
+ case 2:
114
+ _a.sent();
115
+ return [3 /*break*/, 4];
116
+ case 3:
117
+ e_1 = _a.sent();
118
+ console.error(e_1);
119
+ return [3 /*break*/, 4];
120
+ case 4: return [2 /*return*/];
121
+ }
122
+ });
123
+ }); };
124
+ var handleUpdateTargetByRole = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
125
+ var target, rest, e_2;
126
+ var data = _b.data, id = _b.id;
127
+ return __generator(this, function (_c) {
128
+ switch (_c.label) {
129
+ case 0:
130
+ _c.trys.push([0, 3, , 4]);
131
+ target = data.target, rest = __rest(data, ["target"]);
132
+ return [4 /*yield*/, PHXClientMutationV3({
133
+ query: UPDATE_TARGET_BY_ROLE_MUTATION,
134
+ variables: {
135
+ targetId: id,
136
+ targetByRoles: getDataTargetSubmit(target, id),
137
+ },
138
+ isDelay: false,
139
+ })];
140
+ case 1:
141
+ _c.sent();
142
+ return [4 /*yield*/, handleUpdateTarget(id, {
143
+ name: rest.name,
144
+ school_year_id: rest.school_year_id,
145
+ })];
146
+ case 2:
147
+ _c.sent();
148
+ return [3 /*break*/, 4];
149
+ case 3:
150
+ e_2 = _c.sent();
151
+ console.error(e_2);
152
+ return [3 /*break*/, 4];
153
+ case 4: return [2 /*return*/];
154
+ }
155
+ });
156
+ }); };
157
+ var initData = function () { return __awaiter(void 0, void 0, void 0, function () {
158
+ var role, e_3;
159
+ return __generator(this, function (_a) {
160
+ switch (_a.label) {
161
+ case 0:
162
+ _a.trys.push([0, 2, , 3]);
163
+ return [4 /*yield*/, PHXClientQueryV3({
164
+ query: GET_LIST_ROLE_QUERY,
165
+ variables: {
166
+ schoolId: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
167
+ },
168
+ isDelay: false,
169
+ })];
170
+ case 1:
171
+ role = (_a.sent()).data.role;
172
+ setRoles(role);
173
+ return [3 /*break*/, 3];
174
+ case 2:
175
+ e_3 = _a.sent();
176
+ console.error(e_3);
177
+ return [3 /*break*/, 3];
178
+ case 3: return [2 /*return*/];
179
+ }
180
+ });
181
+ }); };
182
+ useEffect(function () {
183
+ initData();
184
+ }, []);
185
+ return { handleInsertTarget: handleInsertTarget, handleUpdateTargetByRole: handleUpdateTargetByRole, handleUpdateTarget: handleUpdateTarget };
186
+ };
187
+ //# sourceMappingURL=use-target-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-target-select.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/hooks/use-target-select.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './PHXFormTarget';
2
+ export * from './components';
3
+ export * from './hooks';
4
+ export * from './type/target';
5
+ export * from './ultis/target-group-resolver';
6
+ export * from './constant';
@@ -0,0 +1,7 @@
1
+ export * from './PHXFormTarget';
2
+ export * from './components';
3
+ export * from './hooks';
4
+ export * from './type/target';
5
+ export * from './ultis/target-group-resolver';
6
+ export * from './constant';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/FormTarget/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,YAAY,CAAA"}
@@ -0,0 +1,161 @@
1
+ import { ENotifyWith, ERoleCode, FILTER_BY } from '../constant';
2
+ export interface IQueryBuilderProps {
3
+ target: ERoleCode;
4
+ schoolYearId: number;
5
+ schoolId: number;
6
+ condition: {
7
+ gradeId: number;
8
+ educationalLevelId: number;
9
+ classroomId: number;
10
+ };
11
+ }
12
+ export type TFilterBy = (typeof FILTER_BY)[keyof typeof FILTER_BY];
13
+ export type TTarget = (typeof ERoleCode)[keyof typeof ERoleCode];
14
+ export type TParent = {
15
+ id: number;
16
+ relationship_code: string;
17
+ full_name: string;
18
+ };
19
+ export interface IFilterValueItem {
20
+ id: number;
21
+ name: string;
22
+ code: string;
23
+ phone?: string;
24
+ email?: string;
25
+ full_name: string;
26
+ location?: string;
27
+ classroom?: string;
28
+ educational_level?: string;
29
+ grade?: string;
30
+ educationalLevelIds?: Array<number>;
31
+ gradeIds?: Array<number>;
32
+ classroomIds?: Array<number>;
33
+ parents?: Array<TParent>;
34
+ }
35
+ export interface FilterItem {
36
+ filterBy: TFilterBy;
37
+ filterValues: Array<IFilterValueItem>;
38
+ }
39
+ export interface ITargetSelectedData {
40
+ target: ERoleCode;
41
+ notifyWith?: ENotifyWith;
42
+ filter: Array<FilterItem>;
43
+ }
44
+ export type TSelectOptionItem = {
45
+ id: number;
46
+ name: string;
47
+ code: string;
48
+ educational_level_id?: number;
49
+ grade?: {
50
+ id: number;
51
+ educational_level_id: number;
52
+ };
53
+ };
54
+ export interface ISelectOptions {
55
+ EDUCATIONAL_LEVEL: Array<TSelectOptionItem>;
56
+ GRADE: Array<TSelectOptionItem>;
57
+ CLASSROOM: Array<TSelectOptionItem>;
58
+ DEPARTMENT: Array<TSelectOptionItem>;
59
+ ALL: Array<TSelectOptionItem>;
60
+ }
61
+ export interface ITargetSelectProps {
62
+ targetId?: string;
63
+ }
64
+ export interface IQueryBuilderProps {
65
+ target: ERoleCode;
66
+ schoolYearId: number;
67
+ schoolId: number;
68
+ condition: {
69
+ gradeId: number;
70
+ educationalLevelId: number;
71
+ classroomId: number;
72
+ };
73
+ }
74
+ export interface IEducationalLevelGroup {
75
+ educational_level_map_groups: Array<{
76
+ educational_level_id: number;
77
+ }>;
78
+ }
79
+ export interface IProfile {
80
+ user_code: string;
81
+ grade: {
82
+ id: number;
83
+ name: string;
84
+ };
85
+ program_map_educational_level?: {
86
+ educational_level: {
87
+ code: string;
88
+ name: string;
89
+ id: number;
90
+ };
91
+ };
92
+ teacher_subject_assignments?: Array<{
93
+ classroom_teachers: Array<{
94
+ teacher_type: number;
95
+ classroom: {
96
+ id: number;
97
+ grade_id: number;
98
+ };
99
+ }>;
100
+ }>;
101
+ educational_level_group?: IEducationalLevelGroup;
102
+ }
103
+ export interface IClassRoom {
104
+ id: number;
105
+ name: string;
106
+ grade_id: number;
107
+ program_id: number;
108
+ school_year_id: number;
109
+ program: {
110
+ name: string;
111
+ };
112
+ }
113
+ export interface IClassroomStudent {
114
+ id: number;
115
+ classroom: IClassRoom;
116
+ }
117
+ export interface IRelationshipUser {
118
+ parent_id: number;
119
+ relationship_code: string;
120
+ user: {
121
+ gender: number;
122
+ full_name: string;
123
+ phone_number: string;
124
+ };
125
+ }
126
+ export interface IUserRole {
127
+ role: {
128
+ name: string;
129
+ };
130
+ }
131
+ export interface IStudentData {
132
+ id: number;
133
+ full_name: string;
134
+ email?: string;
135
+ phone_number?: string;
136
+ profile_student: IProfile;
137
+ classroom_students: Array<IClassroomStudent>;
138
+ relationshipUsersByStudentId: Array<IRelationshipUser>;
139
+ user_roles: Array<IUserRole>;
140
+ }
141
+ export interface ITeacherData {
142
+ id: number;
143
+ full_name: string;
144
+ email: string;
145
+ phone_number: string;
146
+ profile_teacher: IProfile;
147
+ user_roles: Array<IUserRole>;
148
+ }
149
+ export interface IStaff {
150
+ id: number;
151
+ full_name: string;
152
+ email: string;
153
+ phone_number: string;
154
+ profile_staff: IProfile;
155
+ user_roles: Array<IUserRole>;
156
+ }
157
+ export type TTargetData = IStudentData | ITeacherData | IStaff;
158
+ export interface ITargetGroupBuilderProps {
159
+ targetId?: string;
160
+ onChange?(target: ITargetSelectedData): void;
161
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/type/target.ts"],"names":[],"mappings":""}