phx-react 1.3.1545 → 1.3.1546
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/FormTarget/components/modal-search-user/modal-search-user.d.ts +1 -1
- package/dist/cjs/components/FormTarget/components/modal-search-user/modal-search-user.js +11 -24
- package/dist/cjs/components/FormTarget/components/modal-search-user/modal-search-user.js.map +1 -1
- package/dist/cjs/components/FormTarget/graphql/query.d.ts +1 -1
- package/dist/cjs/components/FormTarget/graphql/query.js +6 -18
- package/dist/cjs/components/FormTarget/graphql/query.js.map +1 -1
- package/dist/cjs/components/FormTarget/type/target.d.ts +3 -15
- package/dist/cjs/components/FormTarget/type/target.js +6 -0
- package/dist/cjs/components/FormTarget/type/target.js.map +1 -1
- package/dist/cjs/components/UserTargetSelect/query.d.ts +1 -1
- package/dist/cjs/components/UserTargetSelect/query.js +1 -1
- package/dist/cjs/components/UserTargetSelect/query.js.map +1 -1
- package/dist/esm/components/FormTarget/components/modal-search-user/modal-search-user.d.ts +1 -1
- package/dist/esm/components/FormTarget/components/modal-search-user/modal-search-user.js +8 -21
- package/dist/esm/components/FormTarget/components/modal-search-user/modal-search-user.js.map +1 -1
- package/dist/esm/components/FormTarget/graphql/query.d.ts +1 -1
- package/dist/esm/components/FormTarget/graphql/query.js +7 -19
- package/dist/esm/components/FormTarget/graphql/query.js.map +1 -1
- package/dist/esm/components/FormTarget/type/target.d.ts +3 -15
- package/dist/esm/components/FormTarget/type/target.js +5 -1
- package/dist/esm/components/FormTarget/type/target.js.map +1 -1
- package/dist/esm/components/UserTargetSelect/query.d.ts +1 -1
- package/dist/esm/components/UserTargetSelect/query.js +1 -1
- package/dist/esm/components/UserTargetSelect/query.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ERoleCode } from '../../constant';
|
|
2
3
|
import { IFilterValueItem } from '../../type/target';
|
|
3
|
-
import React from 'react';
|
|
4
4
|
interface IProps {
|
|
5
5
|
target: ERoleCode;
|
|
6
6
|
handleAddList(data: Array<IFilterValueItem>, listDelete: Array<IFilterValueItem>): void;
|
|
@@ -2,17 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = ModalSearchUser;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var react_1 = require("react");
|
|
6
|
-
var constant_1 = require("../../constant");
|
|
7
|
-
var query_1 = require("../../graphql/query");
|
|
8
|
-
var get_role_name_by_target_1 = require("../../ultis/get-role-name-by-target");
|
|
9
|
-
var tranform_target_user_1 = require("../../ultis/tranform-target-user");
|
|
5
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
10
6
|
var getLoginInfo_1 = tslib_1.__importDefault(require("../../../Func/getLoginInfo"));
|
|
7
|
+
var PHXGrpcClientV3_1 = require("../../../Func/GRPC/PHXGrpcClientV3");
|
|
11
8
|
var useDebounce_1 = tslib_1.__importDefault(require("../../../Func/useDebounce"));
|
|
12
9
|
var Modal_1 = require("../../../Modal");
|
|
13
10
|
var ResourceList_1 = require("../../../ResourceList");
|
|
14
|
-
var
|
|
15
|
-
var
|
|
11
|
+
var query_1 = require("../../graphql/query");
|
|
12
|
+
var get_role_name_by_target_1 = require("../../ultis/get-role-name-by-target");
|
|
13
|
+
var tranform_target_user_1 = require("../../ultis/tranform-target-user");
|
|
16
14
|
function ModalSearchUser(_a) {
|
|
17
15
|
var _this = this;
|
|
18
16
|
var defaultSelected = _a.defaultSelected, handleAddList = _a.handleAddList, onHide = _a.onHide, schoolYearId = _a.schoolYearId, show = _a.show, target = _a.target;
|
|
@@ -22,13 +20,8 @@ function ModalSearchUser(_a) {
|
|
|
22
20
|
var _d = (0, react_1.useState)(''), searchKeyword = _d[0], setSearchKeyword = _d[1];
|
|
23
21
|
var _e = (0, react_1.useState)(false), searching = _e[0], setSearching = _e[1];
|
|
24
22
|
var _f = (0, react_1.useState)(false), loadingInit = _f[0], setLoadingInit = _f[1];
|
|
25
|
-
var _g = (0, react_1.useState)(
|
|
26
|
-
|
|
27
|
-
educationalLevelId: constant_1.OPTION_FILTER_ALL.id,
|
|
28
|
-
classroomId: constant_1.OPTION_FILTER_ALL.id,
|
|
29
|
-
}), filterSelected = _g[0], setFilterSelected = _g[1];
|
|
30
|
-
var _h = (0, react_1.useState)(false), isAllData = _h[0], setIsAllData = _h[1];
|
|
31
|
-
var _j = (0, react_1.useState)([]), dataSelected = _j[0], setDataSelected = _j[1];
|
|
23
|
+
var _g = (0, react_1.useState)(false), isAllData = _g[0], setIsAllData = _g[1];
|
|
24
|
+
var _h = (0, react_1.useState)([]), dataSelected = _h[0], setDataSelected = _h[1];
|
|
32
25
|
var debounceSearchValue = (0, useDebounce_1.default)(searchKeyword, 300);
|
|
33
26
|
var getUser = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
34
27
|
var limit, offset, query, users, targetData, isAllDataResult, formatedUsers_1, e_1;
|
|
@@ -47,7 +40,6 @@ function ModalSearchUser(_a) {
|
|
|
47
40
|
target: target,
|
|
48
41
|
schoolYearId: schoolYearId,
|
|
49
42
|
schoolId: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
|
|
50
|
-
condition: filterSelected,
|
|
51
43
|
});
|
|
52
44
|
return [4 /*yield*/, (0, PHXGrpcClientV3_1.PHXClientQueryV3)({
|
|
53
45
|
query: query,
|
|
@@ -111,11 +103,6 @@ function ModalSearchUser(_a) {
|
|
|
111
103
|
setDataSelected([]);
|
|
112
104
|
setCurrPage(0);
|
|
113
105
|
setSearchKeyword('');
|
|
114
|
-
setFilterSelected({
|
|
115
|
-
gradeId: constant_1.OPTION_FILTER_ALL.id,
|
|
116
|
-
educationalLevelId: constant_1.OPTION_FILTER_ALL.id,
|
|
117
|
-
classroomId: constant_1.OPTION_FILTER_ALL.id,
|
|
118
|
-
});
|
|
119
106
|
};
|
|
120
107
|
function onHandleHide() {
|
|
121
108
|
onHide();
|
|
@@ -142,7 +129,7 @@ function ModalSearchUser(_a) {
|
|
|
142
129
|
};
|
|
143
130
|
(0, react_1.useEffect)(function () {
|
|
144
131
|
getUser();
|
|
145
|
-
}, [currPage, debounceSearchValue
|
|
132
|
+
}, [currPage, debounceSearchValue]);
|
|
146
133
|
(0, react_1.useEffect)(function () {
|
|
147
134
|
if (currPage !== 0 && show) {
|
|
148
135
|
setCurrPage(0);
|
|
@@ -151,9 +138,9 @@ function ModalSearchUser(_a) {
|
|
|
151
138
|
getDataInitial();
|
|
152
139
|
setDataSelected(defaultSelected || []);
|
|
153
140
|
}, [show]);
|
|
154
|
-
return (
|
|
155
|
-
|
|
156
|
-
|
|
141
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
142
|
+
react_1.default.createElement(Modal_1.PHXModal, { closeButton: true, inCard: false, onHide: onHandleHide, onSubmit: handleSubmit, primaryActionText: 'Th\u00EAm m\u1EDBi', show: show, size: 'large', title: "Th\u00EAm m\u1EDBi ".concat((0, get_role_name_by_target_1.getRoleNameByTarget)(target)) },
|
|
143
|
+
react_1.default.createElement(ResourceList_1.PHXResourceList, { bulkActions: true, bulkActionsContent: 'Ch\u1EC9nh s\u1EEDa', getKeyword: function (keyword) {
|
|
157
144
|
setSearchKeyword(keyword);
|
|
158
145
|
setCurrPage(0);
|
|
159
146
|
setIsAllData(false);
|
package/dist/cjs/components/FormTarget/components/modal-search-user/modal-search-user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal-search-user.js","sourceRoot":"","sources":["../../../../../../src/components/FormTarget/components/modal-search-user/modal-search-user.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"modal-search-user.js","sourceRoot":"","sources":["../../../../../../src/components/FormTarget/components/modal-search-user/modal-search-user.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IQueryBuilderProps } from '../type/target';
|
|
2
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: ({
|
|
3
|
+
export declare const queryListUserBuilder: ({ schoolId, schoolYearId, target }: IQueryBuilderProps) => string;
|
|
4
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
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
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";
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GET_CLASSROOM_BY_USER_IDS = exports.GET_LIST_ROLE_QUERY = exports.GET_TARGET_BY_ROLE_QUERY = exports.getTargetByIdQuery = exports.queryListUserBuilder = exports.GET_SELECT_QUERY = void 0;
|
|
4
4
|
var constant_1 = require("../constant");
|
|
5
|
+
var target_1 = require("../type/target");
|
|
5
6
|
exports.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";
|
|
6
7
|
var getFieldByTarget = function (target, schoolYearId, schoolId) {
|
|
7
8
|
var _a;
|
|
@@ -13,35 +14,22 @@ var getFieldByTarget = function (target, schoolYearId, schoolId) {
|
|
|
13
14
|
_a);
|
|
14
15
|
return fieldByTarget[target];
|
|
15
16
|
};
|
|
16
|
-
var isFilterAll = function (value) { return constant_1.OPTION_FILTER_ALL.id === value; };
|
|
17
17
|
var getConditionsByTarget = function (_a) {
|
|
18
|
-
var
|
|
19
|
-
var classroomId = condition.classroomId, educationalLevelId = condition.educationalLevelId, gradeId = condition.gradeId;
|
|
18
|
+
var target = _a.target;
|
|
20
19
|
if (target === constant_1.ERoleCode.STAFF) {
|
|
21
20
|
return "\n ".concat("profile_staff:{\n deleted_at:{_is_null:true}\n is_quit_job:{_eq:false}\n }", "\n ");
|
|
22
21
|
}
|
|
23
|
-
if ([classroomId, educationalLevelId, gradeId].every(function (item) { return item === constant_1.OPTION_FILTER_ALL.id; })) {
|
|
24
|
-
// nếu bộ lọc đều chọn tất cả thì ko cần filter theo gì cả
|
|
25
|
-
return '';
|
|
26
|
-
}
|
|
27
|
-
var isNotAllEducationalLevel = !isFilterAll(educationalLevelId);
|
|
28
|
-
var isNotAllGrade = !isFilterAll(gradeId);
|
|
29
|
-
var isNotAllClassroom = !isFilterAll(classroomId);
|
|
30
22
|
if (target === constant_1.ERoleCode.STUDENT) {
|
|
31
|
-
return " \n
|
|
23
|
+
return " \n profile_student: {\n student_status: {_eq: ".concat(target_1.EStudentStatus.STUDYING, "},\n deleted_at:{_is_null:true}\n }\n ");
|
|
32
24
|
}
|
|
33
25
|
if (target === constant_1.ERoleCode.TEACHER) {
|
|
34
|
-
return "\n profile_teacher:{\n "
|
|
35
|
-
? " educational_level_group:{\n educational_level_map_groups:{\n deleted_at:{_is_null:true}\n educational_level_id:{_eq: ".concat(educationalLevelId, "}\n }\n }")
|
|
36
|
-
: '', "\n ").concat(isNotAllGrade || isNotAllClassroom
|
|
37
|
-
? " 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 }")
|
|
38
|
-
: '', "\n \n\n }\n ");
|
|
26
|
+
return "\n profile_teacher: {\n is_quit_job: { _eq: false }\n deleted_at: { _is_null: true }\n }\n ";
|
|
39
27
|
}
|
|
40
28
|
return '';
|
|
41
29
|
};
|
|
42
30
|
var queryListUserBuilder = function (_a) {
|
|
43
|
-
var
|
|
44
|
-
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
|
|
31
|
+
var schoolId = _a.schoolId, schoolYearId = _a.schoolYearId, target = _a.target;
|
|
32
|
+
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 }), "\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 }");
|
|
45
33
|
};
|
|
46
34
|
exports.queryListUserBuilder = queryListUserBuilder;
|
|
47
35
|
exports.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";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/graphql/query.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/graphql/query.ts"],"names":[],"mappings":";;;AAAA,wCAAuC;AACvC,yCAAmE;AAEtD,QAAA,gBAAgB,GAAG,22BA2C/B,CAAA;AAED,IAAM,gBAAgB,GAAG,UAAC,MAAiB,EAAE,YAAoB,EAAE,QAAgB;;IACjF,IAAM,aAAa;QACjB,GAAC,oBAAS,CAAC,OAAO,IAAG,+ZAS2E,YAAY,8KAS3G;QACD,GAAC,oBAAS,CAAC,KAAK,IAAG,sPASlB;QACD,GAAC,oBAAS,CAAC,OAAO,IAAG,seAoBc,YAAY,iDACjB,QAAQ,qsBA6BrC;QACD,GAAC,oBAAS,CAAC,UAAU,IAAG,EAAE;WAC3B,CAAA;IAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC,CAAA;AAED,IAAM,qBAAqB,GAAG,UAAC,EAAiE;QAA/D,MAAM,YAAA;IACrC,IAAI,MAAM,KAAK,oBAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,kBACH,iHAGM,WACT,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,oBAAS,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,0EAEqB,uBAAc,CAAC,QAAQ,0DAGlD,CAAA;IACH,CAAC;IAED,IAAI,MAAM,KAAK,oBAAS,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,wHAKN,CAAA;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAEM,IAAM,oBAAoB,GAAG,UAAC,EAAsD;QAApD,QAAQ,cAAA,EAAE,YAAY,kBAAA,EAAE,MAAM,YAAA;IAA2B,OAAA,iRAatF,qBAAqB,CAAC,EAAE,MAAM,QAAA,EAAE,CAAC,4aAiBnC,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,8LAOpD;AArC4F,CAqC5F,CAAA;AArCS,QAAA,oBAAoB,wBAqC7B;AAES,QAAA,kBAAkB,GAAG,y3BA2CjC,CAAA;AAEY,QAAA,wBAAwB,GAAG,i5DAqFvC,CAAA;AACY,QAAA,mBAAmB,GAAG,wKAOlC,CAAA;AAEY,QAAA,yBAAyB,GAAG,8iBA+BxC,CAAA"}
|
|
@@ -3,11 +3,6 @@ export interface IQueryBuilderProps {
|
|
|
3
3
|
target: ERoleCode;
|
|
4
4
|
schoolYearId: number;
|
|
5
5
|
schoolId: number;
|
|
6
|
-
condition: {
|
|
7
|
-
gradeId: number;
|
|
8
|
-
educationalLevelId: number;
|
|
9
|
-
classroomId: number;
|
|
10
|
-
};
|
|
11
6
|
}
|
|
12
7
|
export type TFilterBy = (typeof FILTER_BY)[keyof typeof FILTER_BY];
|
|
13
8
|
export type TTarget = (typeof ERoleCode)[keyof typeof ERoleCode];
|
|
@@ -61,16 +56,6 @@ export interface ISelectOptions {
|
|
|
61
56
|
export interface ITargetSelectProps {
|
|
62
57
|
targetId?: string;
|
|
63
58
|
}
|
|
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
59
|
export interface IEducationalLevelGroup {
|
|
75
60
|
educational_level_map_groups: Array<{
|
|
76
61
|
educational_level_id: number;
|
|
@@ -159,3 +144,6 @@ export interface ITargetGroupBuilderProps {
|
|
|
159
144
|
targetId?: string;
|
|
160
145
|
onChange?(target: ITargetSelectedData): void;
|
|
161
146
|
}
|
|
147
|
+
export declare enum EStudentStatus {
|
|
148
|
+
STUDYING = 2
|
|
149
|
+
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EStudentStatus = void 0;
|
|
4
|
+
var EStudentStatus;
|
|
5
|
+
(function (EStudentStatus) {
|
|
6
|
+
// Đang học
|
|
7
|
+
EStudentStatus[EStudentStatus["STUDYING"] = 2] = "STUDYING";
|
|
8
|
+
})(EStudentStatus || (exports.EStudentStatus = EStudentStatus = {}));
|
|
3
9
|
//# sourceMappingURL=target.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/type/target.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/type/target.ts"],"names":[],"mappings":";;;AAuKA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,WAAW;IACX,2DAAY,CAAA;AACd,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const GET_USER_SEGMENT_TARGET = "\n
|
|
1
|
+
export declare const GET_USER_SEGMENT_TARGET = "\n query GetUserSegmentTarget($schoolId: Int!, $query: String) {\n user_segment_target(\n order_by: { created_at: desc }\n where: {\n school_id: { _eq: $schoolId }\n deleted_at: { _is_null: true }\n _or: [{ name: { _ilike: $query } }, { name_unaccent: { _ilike: $query } }]\n }\n ) {\n id\n name\n school_year_id\n school_year {\n name\n }\n }\n }\n";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GET_USER_SEGMENT_TARGET = void 0;
|
|
4
|
-
exports.GET_USER_SEGMENT_TARGET = "\n
|
|
4
|
+
exports.GET_USER_SEGMENT_TARGET = "\n query GetUserSegmentTarget($schoolId: Int!, $query: String) {\n user_segment_target(\n order_by: { created_at: desc }\n where: {\n school_id: { _eq: $schoolId }\n deleted_at: { _is_null: true }\n _or: [{ name: { _ilike: $query } }, { name_unaccent: { _ilike: $query } }]\n }\n ) {\n id\n name\n school_year_id\n school_year {\n name\n }\n }\n }\n";
|
|
5
5
|
//# sourceMappingURL=query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/components/UserTargetSelect/query.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/components/UserTargetSelect/query.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,8aAkBtC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ERoleCode } from '../../constant';
|
|
2
3
|
import { IFilterValueItem } from '../../type/target';
|
|
3
|
-
import React from 'react';
|
|
4
4
|
interface IProps {
|
|
5
5
|
target: ERoleCode;
|
|
6
6
|
handleAddList(data: Array<IFilterValueItem>, listDelete: Array<IFilterValueItem>): void;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
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';
|
|
2
|
+
import React, { useEffect, useState } from 'react';
|
|
7
3
|
import PHXFuncGetLoggedInfo from '../../../Func/getLoginInfo';
|
|
4
|
+
import { PHXClientQueryV3 } from '../../../Func/GRPC/PHXGrpcClientV3';
|
|
8
5
|
import PHXUseDebounce from '../../../Func/useDebounce';
|
|
9
6
|
import { PHXModal } from '../../../Modal';
|
|
10
7
|
import { PHXResourceList } from '../../../ResourceList';
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
8
|
+
import { queryListUserBuilder } from '../../graphql/query';
|
|
9
|
+
import { getRoleNameByTarget } from '../../ultis/get-role-name-by-target';
|
|
10
|
+
import { transformTargetUser } from '../../ultis/tranform-target-user';
|
|
13
11
|
export default function ModalSearchUser(_a) {
|
|
14
12
|
var _this = this;
|
|
15
13
|
var defaultSelected = _a.defaultSelected, handleAddList = _a.handleAddList, onHide = _a.onHide, schoolYearId = _a.schoolYearId, show = _a.show, target = _a.target;
|
|
@@ -19,13 +17,8 @@ export default function ModalSearchUser(_a) {
|
|
|
19
17
|
var _d = useState(''), searchKeyword = _d[0], setSearchKeyword = _d[1];
|
|
20
18
|
var _e = useState(false), searching = _e[0], setSearching = _e[1];
|
|
21
19
|
var _f = useState(false), loadingInit = _f[0], setLoadingInit = _f[1];
|
|
22
|
-
var _g = useState(
|
|
23
|
-
|
|
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];
|
|
20
|
+
var _g = useState(false), isAllData = _g[0], setIsAllData = _g[1];
|
|
21
|
+
var _h = useState([]), dataSelected = _h[0], setDataSelected = _h[1];
|
|
29
22
|
var debounceSearchValue = PHXUseDebounce(searchKeyword, 300);
|
|
30
23
|
var getUser = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
31
24
|
var limit, offset, query, users, targetData, isAllDataResult, formatedUsers_1, e_1;
|
|
@@ -44,7 +37,6 @@ export default function ModalSearchUser(_a) {
|
|
|
44
37
|
target: target,
|
|
45
38
|
schoolYearId: schoolYearId,
|
|
46
39
|
schoolId: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
|
|
47
|
-
condition: filterSelected,
|
|
48
40
|
});
|
|
49
41
|
return [4 /*yield*/, PHXClientQueryV3({
|
|
50
42
|
query: query,
|
|
@@ -108,11 +100,6 @@ export default function ModalSearchUser(_a) {
|
|
|
108
100
|
setDataSelected([]);
|
|
109
101
|
setCurrPage(0);
|
|
110
102
|
setSearchKeyword('');
|
|
111
|
-
setFilterSelected({
|
|
112
|
-
gradeId: OPTION_FILTER_ALL.id,
|
|
113
|
-
educationalLevelId: OPTION_FILTER_ALL.id,
|
|
114
|
-
classroomId: OPTION_FILTER_ALL.id,
|
|
115
|
-
});
|
|
116
103
|
};
|
|
117
104
|
function onHandleHide() {
|
|
118
105
|
onHide();
|
|
@@ -139,7 +126,7 @@ export default function ModalSearchUser(_a) {
|
|
|
139
126
|
};
|
|
140
127
|
useEffect(function () {
|
|
141
128
|
getUser();
|
|
142
|
-
}, [currPage, debounceSearchValue
|
|
129
|
+
}, [currPage, debounceSearchValue]);
|
|
143
130
|
useEffect(function () {
|
|
144
131
|
if (currPage !== 0 && show) {
|
|
145
132
|
setCurrPage(0);
|
package/dist/esm/components/FormTarget/components/modal-search-user/modal-search-user.js.map
CHANGED
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"modal-search-user.js","sourceRoot":"","sources":["../../../../../../src/components/FormTarget/components/modal-search-user/modal-search-user.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IQueryBuilderProps } from '../type/target';
|
|
2
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: ({
|
|
3
|
+
export declare const queryListUserBuilder: ({ schoolId, schoolYearId, target }: IQueryBuilderProps) => string;
|
|
4
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
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
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";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ERoleCode
|
|
1
|
+
import { ERoleCode } from '../constant';
|
|
2
|
+
import { EStudentStatus } from '../type/target';
|
|
2
3
|
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
4
|
var getFieldByTarget = function (target, schoolYearId, schoolId) {
|
|
4
5
|
var _a;
|
|
@@ -10,35 +11,22 @@ var getFieldByTarget = function (target, schoolYearId, schoolId) {
|
|
|
10
11
|
_a);
|
|
11
12
|
return fieldByTarget[target];
|
|
12
13
|
};
|
|
13
|
-
var isFilterAll = function (value) { return OPTION_FILTER_ALL.id === value; };
|
|
14
14
|
var getConditionsByTarget = function (_a) {
|
|
15
|
-
var
|
|
16
|
-
var classroomId = condition.classroomId, educationalLevelId = condition.educationalLevelId, gradeId = condition.gradeId;
|
|
15
|
+
var target = _a.target;
|
|
17
16
|
if (target === ERoleCode.STAFF) {
|
|
18
17
|
return "\n ".concat("profile_staff:{\n deleted_at:{_is_null:true}\n is_quit_job:{_eq:false}\n }", "\n ");
|
|
19
18
|
}
|
|
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
19
|
if (target === ERoleCode.STUDENT) {
|
|
28
|
-
return " \n
|
|
20
|
+
return " \n profile_student: {\n student_status: {_eq: ".concat(EStudentStatus.STUDYING, "},\n deleted_at:{_is_null:true}\n }\n ");
|
|
29
21
|
}
|
|
30
22
|
if (target === ERoleCode.TEACHER) {
|
|
31
|
-
return "\n profile_teacher:{\n "
|
|
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 ");
|
|
23
|
+
return "\n profile_teacher: {\n is_quit_job: { _eq: false }\n deleted_at: { _is_null: true }\n }\n ";
|
|
36
24
|
}
|
|
37
25
|
return '';
|
|
38
26
|
};
|
|
39
27
|
export var queryListUserBuilder = function (_a) {
|
|
40
|
-
var
|
|
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
|
|
28
|
+
var schoolId = _a.schoolId, schoolYearId = _a.schoolYearId, target = _a.target;
|
|
29
|
+
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 }), "\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
30
|
};
|
|
43
31
|
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
32
|
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";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/graphql/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/graphql/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,cAAc,EAAsB,MAAM,gBAAgB,CAAA;AAEnE,MAAM,CAAC,IAAM,gBAAgB,GAAG,22BA2C/B,CAAA;AAED,IAAM,gBAAgB,GAAG,UAAC,MAAiB,EAAE,YAAoB,EAAE,QAAgB;;IACjF,IAAM,aAAa;QACjB,GAAC,SAAS,CAAC,OAAO,IAAG,+ZAS2E,YAAY,8KAS3G;QACD,GAAC,SAAS,CAAC,KAAK,IAAG,sPASlB;QACD,GAAC,SAAS,CAAC,OAAO,IAAG,seAoBc,YAAY,iDACjB,QAAQ,qsBA6BrC;QACD,GAAC,SAAS,CAAC,UAAU,IAAG,EAAE;WAC3B,CAAA;IAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC,CAAA;AAED,IAAM,qBAAqB,GAAG,UAAC,EAAiE;QAA/D,MAAM,YAAA;IACrC,IAAI,MAAM,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,kBACH,iHAGM,WACT,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,0EAEqB,cAAc,CAAC,QAAQ,0DAGlD,CAAA;IACH,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,wHAKN,CAAA;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAAC,EAAsD;QAApD,QAAQ,cAAA,EAAE,YAAY,kBAAA,EAAE,MAAM,YAAA;IAA2B,OAAA,iRAatF,qBAAqB,CAAC,EAAE,MAAM,QAAA,EAAE,CAAC,4aAiBnC,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,8LAOpD;AArC4F,CAqC5F,CAAA;AAEJ,MAAM,CAAC,IAAM,kBAAkB,GAAG,y3BA2CjC,CAAA;AAED,MAAM,CAAC,IAAM,wBAAwB,GAAG,i5DAqFvC,CAAA;AACD,MAAM,CAAC,IAAM,mBAAmB,GAAG,wKAOlC,CAAA;AAED,MAAM,CAAC,IAAM,yBAAyB,GAAG,8iBA+BxC,CAAA"}
|
|
@@ -3,11 +3,6 @@ export interface IQueryBuilderProps {
|
|
|
3
3
|
target: ERoleCode;
|
|
4
4
|
schoolYearId: number;
|
|
5
5
|
schoolId: number;
|
|
6
|
-
condition: {
|
|
7
|
-
gradeId: number;
|
|
8
|
-
educationalLevelId: number;
|
|
9
|
-
classroomId: number;
|
|
10
|
-
};
|
|
11
6
|
}
|
|
12
7
|
export type TFilterBy = (typeof FILTER_BY)[keyof typeof FILTER_BY];
|
|
13
8
|
export type TTarget = (typeof ERoleCode)[keyof typeof ERoleCode];
|
|
@@ -61,16 +56,6 @@ export interface ISelectOptions {
|
|
|
61
56
|
export interface ITargetSelectProps {
|
|
62
57
|
targetId?: string;
|
|
63
58
|
}
|
|
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
59
|
export interface IEducationalLevelGroup {
|
|
75
60
|
educational_level_map_groups: Array<{
|
|
76
61
|
educational_level_id: number;
|
|
@@ -159,3 +144,6 @@ export interface ITargetGroupBuilderProps {
|
|
|
159
144
|
targetId?: string;
|
|
160
145
|
onChange?(target: ITargetSelectedData): void;
|
|
161
146
|
}
|
|
147
|
+
export declare enum EStudentStatus {
|
|
148
|
+
STUDYING = 2
|
|
149
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/type/target.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../../../../src/components/FormTarget/type/target.ts"],"names":[],"mappings":"AAuKA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,WAAW;IACX,2DAAY,CAAA;AACd,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const GET_USER_SEGMENT_TARGET = "\n
|
|
1
|
+
export declare const GET_USER_SEGMENT_TARGET = "\n query GetUserSegmentTarget($schoolId: Int!, $query: String) {\n user_segment_target(\n order_by: { created_at: desc }\n where: {\n school_id: { _eq: $schoolId }\n deleted_at: { _is_null: true }\n _or: [{ name: { _ilike: $query } }, { name_unaccent: { _ilike: $query } }]\n }\n ) {\n id\n name\n school_year_id\n school_year {\n name\n }\n }\n }\n";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var GET_USER_SEGMENT_TARGET = "\n
|
|
1
|
+
export var GET_USER_SEGMENT_TARGET = "\n query GetUserSegmentTarget($schoolId: Int!, $query: String) {\n user_segment_target(\n order_by: { created_at: desc }\n where: {\n school_id: { _eq: $schoolId }\n deleted_at: { _is_null: true }\n _or: [{ name: { _ilike: $query } }, { name_unaccent: { _ilike: $query } }]\n }\n ) {\n id\n name\n school_year_id\n school_year {\n name\n }\n }\n }\n";
|
|
2
2
|
//# sourceMappingURL=query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/components/UserTargetSelect/query.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,uBAAuB,GAAG,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/components/UserTargetSelect/query.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,uBAAuB,GAAG,8aAkBtC,CAAA"}
|