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,12 @@
1
+ import { ISelectOptions, TSelectOptionItem, TTarget } from '../types';
2
+ import React from 'react';
3
+ export interface ISelectedDropdown {
4
+ educationalLevel: TSelectOptionItem;
5
+ grade: TSelectOptionItem;
6
+ classroom: TSelectOptionItem;
7
+ }
8
+ export default function FilterDropdown({ onChange, rawFilters, target, }: {
9
+ rawFilters: ISelectOptions;
10
+ onChange(data: ISelectedDropdown): void;
11
+ target?: TTarget;
12
+ }): React.JSX.Element;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var tslib_1 = require("tslib");
4
+ var react_1 = require("react");
5
+ var constant_1 = require("../utils/constant");
6
+ var Row_1 = tslib_1.__importDefault(require("../../Row/Row"));
7
+ var Dropdown_1 = require("../../Dropdown");
8
+ var react_2 = tslib_1.__importDefault(require("react"));
9
+ function FilterDropdown(_a) {
10
+ var onChange = _a.onChange, rawFilters = _a.rawFilters, target = _a.target;
11
+ var _b = (0, react_1.useState)({
12
+ educationalLevel: constant_1.OPTION_FILTER_ALL,
13
+ grade: constant_1.OPTION_FILTER_ALL,
14
+ classroom: constant_1.OPTION_FILTER_ALL
15
+ }), filterSelected = _b[0], setFilterSelected = _b[1];
16
+ var _c = (0, react_1.useState)(rawFilters), filters = _c[0], setFilters = _c[1];
17
+ var handleChange = function (field, itemSelected) {
18
+ var prev = tslib_1.__assign({}, filterSelected);
19
+ var next = prev;
20
+ switch (field) {
21
+ case 'educationalLevel':
22
+ next = {
23
+ educationalLevel: itemSelected,
24
+ grade: constant_1.OPTION_FILTER_ALL,
25
+ classroom: constant_1.OPTION_FILTER_ALL
26
+ };
27
+ if (itemSelected.id === constant_1.OPTION_FILTER_ALL.id) {
28
+ setFilters(rawFilters);
29
+ }
30
+ else {
31
+ setFilters(function (pre) { return (tslib_1.__assign(tslib_1.__assign({}, pre), { GRADE: rawFilters.GRADE.filter(function (item) { return item.educational_level_id === itemSelected.id; }), CLASSROOM: rawFilters.CLASSROOM.filter(function (item) { var _a; return ((_a = item.grade) === null || _a === void 0 ? void 0 : _a.educational_level_id) === itemSelected.id; }) })); });
32
+ }
33
+ break;
34
+ case 'grade':
35
+ next = tslib_1.__assign(tslib_1.__assign({}, prev), { grade: itemSelected, classroom: constant_1.OPTION_FILTER_ALL });
36
+ if (itemSelected.id === constant_1.OPTION_FILTER_ALL.id) {
37
+ setFilters(function (pre) { return (tslib_1.__assign(tslib_1.__assign({}, pre), { CLASSROOM: rawFilters.CLASSROOM })); });
38
+ }
39
+ else {
40
+ setFilters(function (pre) { return (tslib_1.__assign(tslib_1.__assign({}, pre), { CLASSROOM: rawFilters.CLASSROOM.filter(function (item) { var _a; return ((_a = item.grade) === null || _a === void 0 ? void 0 : _a.id) === itemSelected.id; }) })); });
41
+ }
42
+ break;
43
+ case 'classroom':
44
+ next = tslib_1.__assign(tslib_1.__assign({}, prev), { classroom: itemSelected });
45
+ break;
46
+ }
47
+ setFilterSelected(next);
48
+ onChange(next);
49
+ };
50
+ return (react_2["default"].createElement(Row_1["default"], null,
51
+ react_2["default"].createElement(Dropdown_1.PHXDropdown, { buttonContent: "C\u1EA5p h\u1ECDc: ".concat(filterSelected.educationalLevel.name), options: tslib_1.__spreadArray([constant_1.OPTION_FILTER_ALL], filters.EDUCATIONAL_LEVEL, true).map(function (item) { return (tslib_1.__assign({ content: item.name, onClick: function () { return handleChange('educationalLevel', item); } }, item)); }) }),
52
+ target !== constant_1.ROLE_CODE.STAFF && (react_2["default"].createElement(react_2["default"].Fragment, null,
53
+ react_2["default"].createElement(Dropdown_1.PHXDropdown, { buttonContent: "Kh\u1ED1i h\u1ECDc: ".concat(filterSelected.grade.name), options: tslib_1.__spreadArray([constant_1.OPTION_FILTER_ALL], filters.GRADE, true).map(function (item) { return (tslib_1.__assign({ content: item.name, onClick: function () { return handleChange('grade', item); } }, item)); }) }),
54
+ react_2["default"].createElement(Dropdown_1.PHXDropdown, { buttonContent: "L\u1EDBp h\u1ECDc: ".concat(filterSelected.classroom.name), options: tslib_1.__spreadArray([constant_1.OPTION_FILTER_ALL], filters.CLASSROOM, true).map(function (item) { return (tslib_1.__assign({ content: item.name, onClick: function () { return handleChange('classroom', item); } }, item)); }) })))));
55
+ }
56
+ exports["default"] = FilterDropdown;
57
+ //# sourceMappingURL=filter-dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-dropdown.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/components/filter-dropdown.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ISelectOptions, ITargetSelectedData, TTarget } from '../types';
2
+ import React from 'react';
3
+ interface IProps {
4
+ filters: ISelectOptions;
5
+ target: TTarget;
6
+ schoolYearId: number;
7
+ handleChange(data: ITargetSelectedData['filterValues']): void;
8
+ defaultData: ITargetSelectedData['filterValues'];
9
+ }
10
+ export default function ModalCustomList({ defaultData, filters, handleChange, schoolYearId, target }: IProps): React.JSX.Element;
11
+ export {};
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var tslib_1 = require("tslib");
4
+ var react_1 = require("react");
5
+ var constant_1 = require("../utils/constant");
6
+ var helper_1 = require("../utils/helper");
7
+ var filter_dropdown_1 = tslib_1.__importDefault(require("./filter-dropdown"));
8
+ var modal_search_user_1 = tslib_1.__importDefault(require("./modal-search-user"));
9
+ var Button_1 = require("../../Button");
10
+ var react_2 = tslib_1.__importDefault(require("react"));
11
+ var Modal_1 = require("../../Modal");
12
+ var TableStatic_1 = require("../../TableStatic");
13
+ var Dropdown_1 = require("../../Dropdown");
14
+ var EmptyRecord_1 = require("../../EmptyRecord");
15
+ function ModalCustomList(_a) {
16
+ var _b, _c;
17
+ var defaultData = _a.defaultData, filters = _a.filters, handleChange = _a.handleChange, schoolYearId = _a.schoolYearId, target = _a.target;
18
+ var _d = (0, react_1.useState)(false), showModal = _d[0], setShowModal = _d[1];
19
+ var _e = (0, react_1.useState)(defaultData || []), listSelected = _e[0], setListSelected = _e[1];
20
+ var _f = (0, react_1.useState)(defaultData || []), initData = _f[0], setInitData = _f[1];
21
+ var listSelectedLength = initData.length;
22
+ var defaultHeader = ['Số điện thoại', 'Email', 'Thao tác'];
23
+ var headerTable = (_b = {},
24
+ _b[constant_1.ROLE_CODE.TEACHER] = tslib_1.__spreadArray(['Mã giáo viên', 'Giáo viên'], defaultHeader, true),
25
+ _b[constant_1.ROLE_CODE.STAFF] = tslib_1.__spreadArray(['Mã nhân viên', 'Nhân viên'], defaultHeader, true),
26
+ _b[constant_1.ROLE_CODE.PARENT] = tslib_1.__spreadArray(['Phụ huynh'], defaultHeader, true),
27
+ _b);
28
+ var defaultBody = ['phone', 'email', 'actions'];
29
+ var bodyTable = (_c = {},
30
+ _c[constant_1.ROLE_CODE.TEACHER] = tslib_1.__spreadArray(['name', 'code'], defaultBody, true),
31
+ _c[constant_1.ROLE_CODE.STAFF] = tslib_1.__spreadArray(['name', 'code'], defaultBody, true),
32
+ _c[constant_1.ROLE_CODE.PARENT] = tslib_1.__spreadArray(['name'], defaultBody, true),
33
+ _c);
34
+ function onHide() {
35
+ setShowModal(false);
36
+ }
37
+ var handleSearch = function (keyword) {
38
+ if (!keyword) {
39
+ setListSelected(initData);
40
+ return;
41
+ }
42
+ var filterData = listSelected.filter(function (item) { return item.code.includes(keyword) || item.name.includes(keyword); });
43
+ setListSelected(filterData);
44
+ };
45
+ var handleAddList = function (data) {
46
+ var mergedData = tslib_1.__spreadArray(tslib_1.__spreadArray([], data, true), listSelected, true);
47
+ setListSelected(mergedData);
48
+ setInitData(mergedData);
49
+ };
50
+ var handleChangeFilter = function (filterValues) {
51
+ var classroomId = filterValues.classroom.id, educationalLevelId = filterValues.educationalLevel.id, gradeId = filterValues.grade.id;
52
+ var filteredData = initData.filter(function (user) {
53
+ var _a, _b, _c;
54
+ return (((_a = user.educationalLevelIds) === null || _a === void 0 ? void 0 : _a.includes(educationalLevelId)) || educationalLevelId === constant_1.OPTION_FILTER_ALL.id) &&
55
+ (((_b = user.gradeIds) === null || _b === void 0 ? void 0 : _b.includes(gradeId)) || gradeId === constant_1.OPTION_FILTER_ALL.id) &&
56
+ (((_c = user.classroomIds) === null || _c === void 0 ? void 0 : _c.includes(classroomId)) || classroomId === constant_1.OPTION_FILTER_ALL.id);
57
+ });
58
+ setListSelected(filteredData);
59
+ };
60
+ var handleDelete = function (deleteId) {
61
+ var filteredData = initData.filter(function (item) { return item.id !== deleteId; });
62
+ setListSelected(filteredData);
63
+ setInitData(filteredData);
64
+ };
65
+ var onSubmit = function () {
66
+ handleChange(initData);
67
+ onHide();
68
+ };
69
+ return (react_2["default"].createElement("div", { className: 'flex items-center' },
70
+ react_2["default"].createElement("p", null,
71
+ "S\u1ED1 ",
72
+ (0, helper_1.getRoleNameByTarget)(target),
73
+ ": "),
74
+ react_2["default"].createElement(Button_1.PHXButton, { className: ' -mb-0.5 -ml-1 text-xxs font-semibold', onClick: function () { return setShowModal(true); }, plain: true }, "".concat(listSelectedLength),
75
+ " ",
76
+ (0, helper_1.getRoleNameByTarget)(target, true)),
77
+ react_2["default"].createElement(Modal_1.PHXModal, { closeButton: true, inCard: false, onHide: onHide, onSubmit: onSubmit, show: showModal, size: 'extra-large', title: "Danh s\u00E1ch ".concat((0, helper_1.getRoleNameByTarget)(target), " \u0111\u00E3 ch\u1ECDn (").concat(listSelectedLength, ")") },
78
+ react_2["default"].createElement("div", { className: ' flex items-center justify-between' },
79
+ react_2["default"].createElement(filter_dropdown_1["default"], { onChange: function (data) { return handleChangeFilter(data); }, rawFilters: filters, target: target }),
80
+ react_2["default"].createElement("div", { className: ' flex gap-x-2' },
81
+ react_2["default"].createElement(modal_search_user_1["default"], { filters: filters, handleAddList: handleAddList, schoolYearId: schoolYearId, target: target }))),
82
+ listSelected.length > 0 ? (react_2["default"].createElement(TableStatic_1.PHXTableStatic, { bodyData: listSelected, isPagination: true, rowNumber: 10, search: {
83
+ enable: true,
84
+ onSearchChange: handleSearch,
85
+ loading: false,
86
+ setLoading: function () { return null; }
87
+ }, thBody: bodyTable[target], thComponent: {
88
+ actions: function (_value, itemBody) { return (react_2["default"].createElement(Dropdown_1.PHXDropdown, { options: [
89
+ {
90
+ content: 'Xoá',
91
+ id: 0,
92
+ onClick: function () {
93
+ handleDelete(itemBody.id);
94
+ }
95
+ },
96
+ ], type: 'icon-only' })); }
97
+ }, thHeader: headerTable[target] })) : (react_2["default"].createElement(EmptyRecord_1.PHXEmptyRecord, { border: true, description: 'Ch\u01B0a c\u00F3 danh s\u00E1ch ph\u1EE5 huynh' })))));
98
+ }
99
+ exports["default"] = ModalCustomList;
100
+ //# sourceMappingURL=modal-custom-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal-custom-list.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/components/modal-custom-list.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { IFilterValueItem, ISelectOptions, TTarget } from '../types';
2
+ import React from 'react';
3
+ interface IProps {
4
+ filters: ISelectOptions;
5
+ target: TTarget;
6
+ schoolYearId: number;
7
+ handleAddList(data: Array<IFilterValueItem>): void;
8
+ }
9
+ export default function ModalSearchUser({ filters, handleAddList, schoolYearId, target }: IProps): React.JSX.Element;
10
+ export {};
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var tslib_1 = require("tslib");
4
+ var react_1 = require("react");
5
+ var query_1 = require("../graphql/query");
6
+ var constant_1 = require("../utils/constant");
7
+ var helper_1 = require("../utils/helper");
8
+ var filter_dropdown_1 = tslib_1.__importDefault(require("./filter-dropdown"));
9
+ var clientQueryV3_1 = tslib_1.__importDefault(require("../../Func/clientQueryV3"));
10
+ var Button_1 = require("../../Button");
11
+ var react_2 = tslib_1.__importDefault(require("react"));
12
+ var Modal_1 = require("../../Modal");
13
+ var ResourceList_1 = require("../../ResourceList");
14
+ function ModalSearchUser(_a) {
15
+ var _this = this;
16
+ var filters = _a.filters, handleAddList = _a.handleAddList, schoolYearId = _a.schoolYearId, target = _a.target;
17
+ var _b = (0, react_1.useState)(false), show = _b[0], setShow = _b[1];
18
+ var _c = (0, react_1.useState)([]), listUser = _c[0], setListUser = _c[1];
19
+ var _d = (0, react_1.useState)(0), currPage = _d[0], setCurrPage = _d[1];
20
+ var _e = (0, react_1.useState)(''), searchKeyword = _e[0], setSearchKeyword = _e[1];
21
+ var _f = (0, react_1.useState)(false), searching = _f[0], setSearching = _f[1];
22
+ var _g = (0, react_1.useState)({
23
+ gradeId: constant_1.OPTION_FILTER_ALL.id,
24
+ educationalLevelId: constant_1.OPTION_FILTER_ALL.id,
25
+ classroomId: constant_1.OPTION_FILTER_ALL.id
26
+ }), filterSelected = _g[0], setDilterSelected = _g[1];
27
+ var _h = (0, react_1.useState)(false), isAllData = _h[0], setIsAllData = _h[1];
28
+ var selectedData = (0, react_1.useRef)([]);
29
+ var getUser = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
30
+ var limit, offset, users, formatedUsers_1, e_1;
31
+ return tslib_1.__generator(this, function (_a) {
32
+ switch (_a.label) {
33
+ case 0:
34
+ if (isAllData || searching)
35
+ return [2 /*return*/];
36
+ setSearching(true);
37
+ _a.label = 1;
38
+ case 1:
39
+ _a.trys.push([1, 3, 4, 5]);
40
+ limit = 10;
41
+ offset = currPage * limit;
42
+ return [4 /*yield*/, (0, clientQueryV3_1["default"])({
43
+ query: (0, query_1.queryListUserBuilder)({
44
+ target: target,
45
+ schoolYearId: schoolYearId,
46
+ condition: filterSelected
47
+ }),
48
+ variables: {
49
+ roleCode: target,
50
+ limit: limit,
51
+ offset: offset,
52
+ searchKeyword: "%".concat(searchKeyword, "%")
53
+ }
54
+ })];
55
+ case 2:
56
+ users = (_a.sent()).data.users;
57
+ setIsAllData(users.length < limit);
58
+ formatedUsers_1 = users.map(function (user) {
59
+ var _a;
60
+ var userCode = (_a = user === null || user === void 0 ? void 0 : user.profile) === null || _a === void 0 ? void 0 : _a.user_code;
61
+ var location = (0, helper_1.formatUserDescription)(user, target);
62
+ return tslib_1.__assign({ id: user.id, name: "".concat(user.full_name, " ").concat(userCode ? "- ".concat(userCode) : ''), location: location }, user);
63
+ });
64
+ if (currPage === 0) {
65
+ setListUser(formatedUsers_1);
66
+ }
67
+ else {
68
+ setListUser(function (pre) { return tslib_1.__spreadArray(tslib_1.__spreadArray([], pre, true), formatedUsers_1, true); });
69
+ }
70
+ return [3 /*break*/, 5];
71
+ case 3:
72
+ e_1 = _a.sent();
73
+ console.error(e_1);
74
+ return [3 /*break*/, 5];
75
+ case 4:
76
+ setSearching(false);
77
+ return [7 /*endfinally*/];
78
+ case 5: return [2 /*return*/];
79
+ }
80
+ });
81
+ }); };
82
+ function onHide() {
83
+ setShow(false);
84
+ setListUser([]);
85
+ setIsAllData(false);
86
+ selectedData.current = [];
87
+ }
88
+ var handleSubmit = function () {
89
+ var _a;
90
+ if (((_a = selectedData.current) === null || _a === void 0 ? void 0 : _a.length) === 0)
91
+ return;
92
+ var formatedData = selectedData.current.map(function (user) {
93
+ var email = user.email, full_name = user.full_name, id = user.id, phone_number = user.phone_number, profile = user.profile;
94
+ return tslib_1.__assign({ id: id, name: full_name, code: (profile === null || profile === void 0 ? void 0 : profile.user_code) || '', phone: phone_number, email: email }, (0, helper_1.getUserFilterValueByTarget)(user, target));
95
+ });
96
+ handleAddList(formatedData);
97
+ onHide();
98
+ };
99
+ (0, react_1.useEffect)(function () {
100
+ var timeDelay = searchKeyword ? 250 : 0;
101
+ if (show) {
102
+ var timerId_1 = setTimeout(function () {
103
+ getUser();
104
+ }, timeDelay);
105
+ return function () {
106
+ clearTimeout(timerId_1);
107
+ };
108
+ }
109
+ return function () { return null; };
110
+ }, [show, currPage, searchKeyword, JSON.stringify(filterSelected)]);
111
+ return (react_2["default"].createElement(react_2["default"].Fragment, null,
112
+ react_2["default"].createElement(Button_1.PHXButton, { className: 'text-xs', onClick: function () { return setShow(true); }, primary: true }, "Th\u00EAm m\u1EDBi"),
113
+ react_2["default"].createElement(Modal_1.PHXModal, { closeButton: true, inCard: false, onHide: onHide, onSubmit: handleSubmit, primaryActionText: 'Th\u00EAm m\u1EDBi', show: show, size: 'large', title: "Th\u00EAm m\u1EDBi danh s\u00E1ch ".concat((0, helper_1.getRoleNameByTarget)(target)) },
114
+ react_2["default"].createElement(filter_dropdown_1["default"], { onChange: function (data) {
115
+ setDilterSelected({
116
+ classroomId: data.classroom.id,
117
+ educationalLevelId: data.educationalLevel.id,
118
+ gradeId: data.grade.id
119
+ });
120
+ setCurrPage(0);
121
+ setIsAllData(false);
122
+ }, rawFilters: filters, target: target }),
123
+ react_2["default"].createElement(ResourceList_1.PHXResourceList, { bulkActions: true, bulkActionsContent: 'Ch\u1EC9nh s\u1EEDa', className: 'mt-3', getKeyword: function (keyword) {
124
+ setSearchKeyword(keyword);
125
+ setCurrPage(0);
126
+ setIsAllData(false);
127
+ }, heightList: 330, hiddenBulkActionMarkup: true, list: listUser, onScrollBottom: function () { return setCurrPage(function (pre) { return pre + 1; }); }, onSelectedItemsChange: function (data) { return (selectedData.current = data); }, paging: searching, searchResult: true }))));
128
+ }
129
+ exports["default"] = ModalSearchUser;
130
+ //# sourceMappingURL=modal-search-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal-search-user.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/components/modal-search-user.tsx"],"names":[],"mappings":";;;AAAA,+BAAmD;AACnD,0CAAuD;AAEvD,8CAAqD;AACrD,0CAAwG;AACxG,8EAA8C;AAC9C,mFAAuD;AACvD,uCAAwC;AACxC,wDAAyB;AACzB,qCAAsC;AACtC,mDAAoD;AASpD,SAAwB,eAAe,CAAC,EAAwD;IAAhG,iBA+JC;QA/JyC,OAAO,aAAA,EAAE,aAAa,mBAAA,EAAE,YAAY,kBAAA,EAAE,MAAM,YAAA;IAC9E,IAAA,KAAkB,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAhC,IAAI,QAAA,EAAE,OAAO,QAAmB,CAAA;IACjC,IAAA,KAA0B,IAAA,gBAAQ,EAOtC,EAAE,CAAC,EAPE,QAAQ,QAAA,EAAE,WAAW,QAOvB,CAAA;IACC,IAAA,KAA0B,IAAA,gBAAQ,EAAC,CAAC,CAAC,EAApC,QAAQ,QAAA,EAAE,WAAW,QAAe,CAAA;IACrC,IAAA,KAAoC,IAAA,gBAAQ,EAAC,EAAE,CAAC,EAA/C,aAAa,QAAA,EAAE,gBAAgB,QAAgB,CAAA;IAChD,IAAA,KAA4B,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAA;IAC3C,IAAA,KAAsC,IAAA,gBAAQ,EAAC;QACnD,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,kBAAkB,EAAE,4BAAiB,CAAC,EAAE;QACxC,WAAW,EAAE,4BAAiB,CAAC,EAAE;KAClC,CAAC,EAJK,cAAc,QAAA,EAAE,iBAAiB,QAItC,CAAA;IACI,IAAA,KAA4B,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAA;IACjD,IAAM,YAAY,GAAG,IAAA,cAAM,EAAM,EAAE,CAAC,CAAA;IAEpC,IAAM,OAAO,GAAG;;;;;oBACd,IAAI,SAAS,IAAI,SAAS;wBAAE,sBAAM;oBAElC,YAAY,CAAC,IAAI,CAAC,CAAA;;;;oBAEV,KAAK,GAAG,EAAE,CAAA;oBACV,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;oBAG3B,qBAAM,IAAA,0BAAgB,EAAC;4BACzB,KAAK,EAAE,IAAA,4BAAoB,EAAC;gCAC1B,MAAM,QAAA;gCACN,YAAY,cAAA;gCACZ,SAAS,EAAE,cAAc;6BAC1B,CAAC;4BACF,SAAS,EAAE;gCACT,QAAQ,EAAE,MAAM;gCAChB,KAAK,OAAA;gCACL,MAAM,QAAA;gCACN,aAAa,EAAE,WAAI,aAAa,MAAG;6BACpC;yBACF,CAAC,EAAA;;oBAbQ,KAAK,GACX,CAAA,SAYF,CAAA,WAba;oBAef,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;oBAE5B,kBAAgB,KAAK,CAAC,GAAG,CAAC,UAAC,IAAS;;wBACxC,IAAM,QAAQ,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,SAAS,CAAA;wBACzC,IAAM,QAAQ,GAAG,IAAA,8BAAqB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;wBACpD,0BACE,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,UAAG,IAAI,CAAC,SAAS,cAAI,QAAQ,CAAC,CAAC,CAAC,YAAK,QAAQ,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,EAC5D,QAAQ,UAAA,IACL,IAAI,EACR;oBACH,CAAC,CAAC,CAAA;oBAEF,IAAI,QAAQ,KAAK,CAAC,EAAE;wBAClB,WAAW,CAAC,eAAa,CAAC,CAAA;qBAC3B;yBAAM;wBACL,WAAW,CAAC,UAAC,GAAG,IAAK,uDAAI,GAAG,SAAK,eAAa,SAAzB,CAA0B,CAAC,CAAA;qBACjD;;;;oBAED,OAAO,CAAC,KAAK,CAAC,GAAC,CAAC,CAAA;;;oBAEhB,YAAY,CAAC,KAAK,CAAC,CAAA;;;;;SAEtB,CAAA;IAED,SAAS,MAAM;QACb,OAAO,CAAC,KAAK,CAAC,CAAA;QACd,WAAW,CAAC,EAAE,CAAC,CAAA;QACf,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,YAAY,CAAC,OAAO,GAAG,EAAE,CAAA;IAC3B,CAAC;IAED,IAAM,YAAY,GAAG;;QACnB,IAAI,CAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,MAAM,MAAK,CAAC;YAAE,OAAM;QAE9C,IAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,IAAS;YAC9C,IAAA,KAAK,GAA2C,IAAI,MAA/C,EAAE,SAAS,GAAgC,IAAI,UAApC,EAAE,EAAE,GAA4B,IAAI,GAAhC,EAAE,YAAY,GAAc,IAAI,aAAlB,EAAE,OAAO,GAAK,IAAI,QAAT,CAAS;YAC5D,0BACE,EAAE,IAAA,EACF,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,EAAE,EAC9B,KAAK,EAAE,YAAY,EACnB,KAAK,OAAA,IACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,MAAM,CAAC,EAC5C;QACH,CAAC,CAAC,CAAA;QACF,aAAa,CAAC,YAAY,CAAC,CAAA;QAC3B,MAAM,EAAE,CAAA;IACV,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC;QACR,IAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACzC,IAAI,IAAI,EAAE;YACR,IAAM,SAAO,GAAG,UAAU,CAAC;gBACzB,OAAO,EAAE,CAAA;YACX,CAAC,EAAE,SAAS,CAAC,CAAA;YAEb,OAAO;gBACL,YAAY,CAAC,SAAO,CAAC,CAAA;YACvB,CAAC,CAAA;SACF;QAED,OAAO,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAA;IACnB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;IAEnE,OAAO,CACL;QACE,iCAAC,kBAAS,IAAC,SAAS,EAAC,SAAS,EAAC,OAAO,EAAE,cAAM,OAAA,OAAO,CAAC,IAAI,CAAC,EAAb,CAAa,EAAE,OAAO,+BAExD;QAEZ,iCAAC,gBAAQ,IACP,WAAW,QACX,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,iBAAiB,EAAC,oBAAU,EAC5B,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,4CAAsB,IAAA,4BAAmB,EAAC,MAAM,CAAC,CAAE;YAE1D,iCAAC,4BAAc,IACb,QAAQ,EAAE,UAAC,IAAI;oBACb,iBAAiB,CAAC;wBAChB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;wBAC9B,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;wBAC5C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;qBACvB,CAAC,CAAA;oBACF,WAAW,CAAC,CAAC,CAAC,CAAA;oBACd,YAAY,CAAC,KAAK,CAAC,CAAA;gBACrB,CAAC,EACD,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,GACd;YAEF,iCAAC,8BAAe,IACd,WAAW,QACX,kBAAkB,EAAC,qBAAW,EAC9B,SAAS,EAAC,MAAM,EAChB,UAAU,EAAE,UAAC,OAAO;oBAClB,gBAAgB,CAAC,OAAO,CAAC,CAAA;oBACzB,WAAW,CAAC,CAAC,CAAC,CAAA;oBACd,YAAY,CAAC,KAAK,CAAC,CAAA;gBACrB,CAAC,EACD,UAAU,EAAE,GAAG,EACf,sBAAsB,QACtB,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,cAAM,OAAA,WAAW,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,GAAG,CAAC,EAAP,CAAO,CAAC,EAA7B,CAA6B,EACnD,qBAAqB,EAAE,UAAC,IAAI,IAAK,OAAA,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAA7B,CAA6B,EAC9D,MAAM,EAAE,SAAS,EACjB,YAAY,SACZ,CACO,CACV,CACJ,CAAA;AACH,CAAC;AA/JD,qCA+JC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { ISelectOptions, ITargetSelectedData, TFilterBy, TTarget } from '../types';
3
+ export default function RadioGroupSelect({ handleChangeFilter, listRadio, listTargetSelected, schoolYearId, selectOptions, target, }: {
4
+ target: TTarget;
5
+ listRadio: Array<{
6
+ title: string;
7
+ helpText: string;
8
+ value: TFilterBy;
9
+ comboboxLabel?: string;
10
+ }>;
11
+ selectOptions: ISelectOptions;
12
+ handleChangeFilter(data: ITargetSelectedData): void;
13
+ listTargetSelected: Array<ITargetSelectedData>;
14
+ schoolYearId: number;
15
+ }): React.JSX.Element;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var tslib_1 = require("tslib");
4
+ var react_1 = tslib_1.__importDefault(require("react"));
5
+ var constant_1 = require("../utils/constant");
6
+ var modal_custom_list_1 = tslib_1.__importDefault(require("./modal-custom-list"));
7
+ var Radio_1 = require("../../Radio");
8
+ var Combobox_1 = require("../../Combobox");
9
+ function RadioGroupSelect(_a) {
10
+ var handleChangeFilter = _a.handleChangeFilter, listRadio = _a.listRadio, listTargetSelected = _a.listTargetSelected, schoolYearId = _a.schoolYearId, selectOptions = _a.selectOptions, target = _a.target;
11
+ return (react_1["default"].createElement("div", { className: 'ml-7 space-y-3' }, listRadio.map(function (radio) {
12
+ var comboboxLabel = radio.comboboxLabel, helpText = radio.helpText, title = radio.title, value = radio.value;
13
+ var checkedFilterBy = listTargetSelected.find(function (item) { return item.filterBy === value && item.target === target; });
14
+ var isHaveCombobox = checkedFilterBy && value !== constant_1.FILTER_BY.CUSTOM_LIST && value !== constant_1.FILTER_BY.ALL;
15
+ return (react_1["default"].createElement("div", { key: value, className: 'space-y-2' },
16
+ react_1["default"].createElement(Radio_1.PHXRadio, { checked: !!checkedFilterBy,
17
+ // @ts-ignore
18
+ description: react_1["default"].createElement("div", null,
19
+ react_1["default"].createElement("p", null, helpText),
20
+ (checkedFilterBy === null || checkedFilterBy === void 0 ? void 0 : checkedFilterBy.filterBy) === constant_1.FILTER_BY.CUSTOM_LIST && value === constant_1.FILTER_BY.CUSTOM_LIST && (react_1["default"].createElement(modal_custom_list_1["default"], { defaultData: checkedFilterBy === null || checkedFilterBy === void 0 ? void 0 : checkedFilterBy.filterValues, filters: selectOptions, handleChange: function (data) {
21
+ return handleChangeFilter({
22
+ target: target,
23
+ filterBy: value,
24
+ filterValues: data
25
+ });
26
+ }, schoolYearId: schoolYearId, target: target }))), name: target, onChange: function () {
27
+ handleChangeFilter({
28
+ target: target,
29
+ filterBy: value,
30
+ filterValues: []
31
+ });
32
+ }, title: title }),
33
+ isHaveCombobox && (react_1["default"].createElement(Combobox_1.PHXCombobox, { className: 'ml-6', defaultValue: checkedFilterBy === null || checkedFilterBy === void 0 ? void 0 : checkedFilterBy.filterValues, label: comboboxLabel, listOptions: (selectOptions === null || selectOptions === void 0 ? void 0 : selectOptions[value]) || [], onChange: function (selectedValues) {
34
+ return handleChangeFilter({
35
+ target: target,
36
+ filterBy: value,
37
+ filterValues: selectedValues
38
+ });
39
+ }, placeholder: 'L\u1EF1a ch\u1ECDn' }))));
40
+ })));
41
+ }
42
+ exports["default"] = RadioGroupSelect;
43
+ //# sourceMappingURL=radio-group-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group-select.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/components/radio-group-select.tsx"],"names":[],"mappings":";;;AAAA,wDAAyB;AAEzB,8CAA6C;AAC7C,kFAAiD;AACjD,qCAAsC;AACtC,2CAA4C;AAE5C,SAAwB,gBAAgB,CAAC,EAmBxC;QAlBC,kBAAkB,wBAAA,EAClB,SAAS,eAAA,EACT,kBAAkB,wBAAA,EAClB,YAAY,kBAAA,EACZ,aAAa,mBAAA,EACb,MAAM,YAAA;IAcN,OAAO,CACL,0CAAK,SAAS,EAAC,gBAAgB,IAC5B,SAAS,CAAC,GAAG,CAAC,UAAC,KAAK;QACX,IAAA,aAAa,GAA6B,KAAK,cAAlC,EAAE,QAAQ,GAAmB,KAAK,SAAxB,EAAE,KAAK,GAAY,KAAK,MAAjB,EAAE,KAAK,GAAK,KAAK,MAAV,CAAU;QACvD,IAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAjD,CAAiD,CAAC,CAAA;QAC5G,IAAM,cAAc,GAAG,eAAe,IAAI,KAAK,KAAK,oBAAS,CAAC,WAAW,IAAI,KAAK,KAAK,oBAAS,CAAC,GAAG,CAAA;QAEpG,OAAO,CACL,0CAAK,GAAG,EAAE,KAAK,EAAE,SAAS,EAAC,WAAW;YACpC,iCAAC,gBAAQ,IACP,OAAO,EAAE,CAAC,CAAC,eAAe;gBAC1B,aAAa;gBACb,WAAW,EACT;oBACE,4CAAI,QAAQ,CAAK;oBAEhB,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,MAAK,oBAAS,CAAC,WAAW,IAAI,KAAK,KAAK,oBAAS,CAAC,WAAW,IAAI,CACzF,iCAAC,8BAAe,IACd,WAAW,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,EAC1C,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,UAAC,IAAI;4BACjB,OAAA,kBAAkB,CAAC;gCACjB,MAAM,QAAA;gCACN,QAAQ,EAAE,KAAK;gCACf,YAAY,EAAE,IAAI;6BACnB,CAAC;wBAJF,CAIE,EAEJ,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,GACd,CACH,CACG,EAER,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE;oBACR,kBAAkB,CAAC;wBACjB,MAAM,QAAA;wBACN,QAAQ,EAAE,KAAK;wBACf,YAAY,EAAE,EAAE;qBACjB,CAAC,CAAA;gBACJ,CAAC,EACD,KAAK,EAAE,KAAK,GACZ;YACD,cAAc,IAAI,CACjB,iCAAC,sBAAW,IACV,SAAS,EAAC,MAAM,EAChB,YAAY,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,EAC3C,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,KAAK,CAAC,KAAI,EAAE,EACzC,QAAQ,EAAE,UAAC,cAAmD;oBAC5D,OAAA,kBAAkB,CAAC;wBACjB,MAAM,QAAA;wBACN,QAAQ,EAAE,KAAK;wBACf,YAAY,EAAE,cAAc;qBAC7B,CAAC;gBAJF,CAIE,EAEJ,WAAW,EAAC,oBAAU,GACtB,CACH,CACG,CACP,CAAA;IACH,CAAC,CAAC,CACE,CACP,CAAA;AACH,CAAC;AApFD,sCAoFC"}
@@ -0,0 +1,2 @@
1
+ export declare const insertTargetMutation = "\n mutation MyMutation($data: [target_inform_target_insert_input!]!) {\n insert_target_inform_target(objects: $data) {\n affected_rows\n returning {\n id\n }\n }\n }\n";
2
+ export declare const updateTargetMutation = "\n mutation updateTargetMutation(\n $targetId: uuid!\n $targetByRoles: [target_inform_target_by_role_insert_input!]!\n ) {\n update_target_inform_target_by_role(\n where: {target_id: {_eq: $targetId}}\n _set: {deleted_at: now}\n ) {\n affected_rows\n }\n\n insert_target_inform_target_by_role(objects: $targetByRoles) {\n affected_rows\n }\n }\n";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.updateTargetMutation = exports.insertTargetMutation = void 0;
4
+ exports.insertTargetMutation = "\n mutation MyMutation($data: [target_inform_target_insert_input!]!) {\n insert_target_inform_target(objects: $data) {\n affected_rows\n returning {\n id\n }\n }\n }\n";
5
+ exports.updateTargetMutation = "\n mutation updateTargetMutation(\n $targetId: uuid!\n $targetByRoles: [target_inform_target_by_role_insert_input!]!\n ) {\n update_target_inform_target_by_role(\n where: {target_id: {_eq: $targetId}}\n _set: {deleted_at: now}\n ) {\n affected_rows\n }\n\n insert_target_inform_target_by_role(objects: $targetByRoles) {\n affected_rows\n }\n }\n";
6
+ //# sourceMappingURL=mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/graphql/mutation.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,uMASnC,CAAA;AAEY,QAAA,oBAAoB,GAAG,uYAgBnC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { IQueryBuilderProps } from '../types';
2
+ export declare const 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
+ export declare const queryListUserBuilder: ({ condition, 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";
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.getTargetByIdQuery = exports.queryListUserBuilder = exports.getSelectQuery = void 0;
4
+ var constant_1 = require("../utils/constant");
5
+ exports.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";
6
+ var getFieldByTarget = function (target, schoolYearId) {
7
+ var _a;
8
+ var fieldByTarget = (_a = {},
9
+ _a[constant_1.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 "),
10
+ _a[constant_1.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 ",
11
+ _a[constant_1.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 "),
12
+ _a);
13
+ return fieldByTarget[target];
14
+ };
15
+ var isFilterAll = function (value) { return constant_1.OPTION_FILTER_ALL.id === value; };
16
+ var getConditionsByTarget = function (_a) {
17
+ var condition = _a.condition, schoolYearId = _a.schoolYearId, target = _a.target;
18
+ var classroomId = condition.classroomId, educationalLevelId = condition.educationalLevelId, gradeId = condition.gradeId;
19
+ if ([classroomId, educationalLevelId, gradeId].every(function (item) { return item === constant_1.OPTION_FILTER_ALL.id; })) {
20
+ // nếu bộ lọc đều chọn tất cả thì ko cần filter theo gì cả
21
+ return '';
22
+ }
23
+ var isNotAllEducationalLevel = !isFilterAll(educationalLevelId);
24
+ var isNotAllGrade = !isFilterAll(gradeId);
25
+ var isANotllClassroom = !isFilterAll(classroomId);
26
+ if (target === constant_1.ROLE_CODE.PARENT) {
27
+ 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 ");
28
+ }
29
+ if (target === constant_1.ROLE_CODE.TEACHER) {
30
+ return "\n profile_teacher:{\n ".concat(isNotAllEducationalLevel
31
+ ? " educational_level_group:{\n educational_level_map_groups:{\n deleted_at:{_is_null:true}\n educational_level_id:{_eq: ".concat(educationalLevelId, "}\n }\n }")
32
+ : '', "\n\n ").concat(isNotAllGrade || isANotllClassroom
33
+ ? " 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 }")
34
+ : '', "\n \n\n }\n ");
35
+ }
36
+ if (target === constant_1.ROLE_CODE.STAFF) {
37
+ return "\n ".concat(isNotAllEducationalLevel
38
+ ? "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 }")
39
+ : '', "\n ");
40
+ }
41
+ return '';
42
+ };
43
+ var queryListUserBuilder = function (_a) {
44
+ var condition = _a.condition, schoolYearId = _a.schoolYearId, target = _a.target;
45
+ 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 }");
46
+ };
47
+ exports.queryListUserBuilder = queryListUserBuilder;
48
+ 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";
49
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/components/TargetSelect/graphql/query.ts"],"names":[],"mappings":";;;AACA,8CAAgE;AAEnD,QAAA,cAAc,GAAG,yoBA+B7B,CAAA;AAED,IAAM,gBAAgB,GAAG,UAAC,MAAe,EAAE,YAAoB;;IAC7D,IAAM,aAAa;QACjB,GAAC,oBAAS,CAAC,OAAO,IAAG,0aAS2E,YAAY,kJAQ3G;QACD,GAAC,oBAAS,CAAC,KAAK,IAAG,+PASlB;QACD,GAAC,oBAAS,CAAC,MAAM,IAAG,gTAOiF,YAAY,0PAahH;WACF,CAAA;IAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC,CAAA;AAED,IAAM,WAAW,GAAG,UAAC,KAAa,IAAK,OAAA,4BAAiB,CAAC,EAAE,KAAK,KAAK,EAA9B,CAA8B,CAAA;AACrE,IAAM,qBAAqB,GAAG,UAAC,EAAuD;QAArD,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAE,MAAM,YAAA;IACtD,IAAA,WAAW,GAAkC,SAAS,YAA3C,EAAE,kBAAkB,GAAc,SAAS,mBAAvB,EAAE,OAAO,GAAK,SAAS,QAAd,CAAc;IAC9D,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,4BAAiB,CAAC,EAAE,EAA7B,CAA6B,CAAC,EAAE;QAC7F,0DAA0D;QAC1D,OAAO,EAAE,CAAA;KACV;IAED,IAAM,wBAAwB,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACjE,IAAM,aAAa,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAC3C,IAAM,iBAAiB,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IACnD,IAAI,MAAM,KAAK,oBAAS,CAAC,MAAM,EAAE;QAC/B,OAAO,8NAOK,iBAAiB,CAAC,CAAC,CAAC,mBAAY,WAAW,MAAG,CAAC,CAAC,CAAC,EAAE,kDAC9B,YAAY,uDAE/B,aAAa,CAAC,CAAC,CAAC,mBAAY,OAAO,MAAG,CAAC,CAAC,CAAC,EAAE,+BAC3C,wBAAwB,CAAC,CAAC,CAAC,qCAA8B,kBAAkB,MAAG,CAAC,CAAC,CAAC,EAAE,kGAO5F,CAAA;KACN;IAED,IAAI,MAAM,KAAK,oBAAS,CAAC,OAAO,EAAE;QAChC,OAAO,6CAGD,wBAAwB;YACtB,CAAC,CAAC,uLAGmC,kBAAkB,8CAEjD;YACN,CAAC,CAAC,EAAE,yBAIN,aAAa,IAAI,iBAAiB;YAChC,CAAC,CAAC,6PAK+B,YAAY,sCACjC,iBAAiB,CAAC,CAAC,CAAC,mBAAY,WAAW,MAAG,CAAC,CAAC,CAAC,EAAE,qCACnD,aAAa,CAAC,CAAC,CAAC,yBAAkB,OAAO,MAAG,CAAC,CAAC,CAAC,EAAE,4FAIvD;YACN,CAAC,CAAC,EAAE,gCAKX,CAAA;KACF;IAED,IAAI,MAAM,KAAK,oBAAS,CAAC,KAAK,EAAE;QAC9B,OAAO,kBAEH,wBAAwB;YACtB,CAAC,CAAC,+MAImC,kBAAkB,yDAGnD;YACJ,CAAC,CAAC,EAAE,WAET,CAAA;KACF;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAEM,IAAM,oBAAoB,GAAG,UAAC,EAIhB;QAHnB,SAAS,eAAA,EACT,YAAY,kBAAA,EACZ,MAAM,YAAA;IACkB,OAAA,kPAWhB,qBAAqB,CAAC,EAAE,MAAM,QAAA,EAAE,YAAY,cAAA,EAAE,SAAS,WAAA,EAAE,CAAC,wYAgB5D,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,gIAO1C;AAlCsB,CAkCtB,CAAA;AAtCS,QAAA,oBAAoB,wBAsC7B;AAES,QAAA,kBAAkB,GAAG,y3BA2CjC,CAAA"}
@@ -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,61 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var tslib_1 = require("tslib");
4
+ var react_1 = require("react");
5
+ var query_1 = require("../graphql/query");
6
+ var getLoginInfo_1 = tslib_1.__importDefault(require("../../Func/getLoginInfo"));
7
+ var clientQueryV3_1 = tslib_1.__importDefault(require("../../Func/clientQueryV3"));
8
+ function useGetDataSelectTarget(_a) {
9
+ var _this = this;
10
+ var schoolYearId = _a.schoolYearId;
11
+ var _b = (0, react_1.useState)({
12
+ EDUCATIONAL_LEVEL: [],
13
+ GRADE: [],
14
+ CLASSROOM: []
15
+ }), selectOptions = _b[0], setSelectOptions = _b[1];
16
+ var _c = (0, react_1.useState)(true), loading = _c[0], setLoading = _c[1];
17
+ var userInfo = (0, getLoginInfo_1["default"])();
18
+ var getDataSelect = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
19
+ var _a, classroom, educational_level, grade, e_1;
20
+ return tslib_1.__generator(this, function (_b) {
21
+ switch (_b.label) {
22
+ case 0:
23
+ setLoading(true);
24
+ _b.label = 1;
25
+ case 1:
26
+ _b.trys.push([1, 3, 4, 5]);
27
+ return [4 /*yield*/, (0, clientQueryV3_1["default"])({
28
+ query: query_1.getSelectQuery,
29
+ variables: {
30
+ schoolId: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
31
+ schoolYearId: schoolYearId
32
+ }
33
+ })];
34
+ case 2:
35
+ _a = (_b.sent()).data, classroom = _a.classroom, educational_level = _a.educational_level, grade = _a.grade;
36
+ setSelectOptions({
37
+ EDUCATIONAL_LEVEL: educational_level,
38
+ GRADE: grade,
39
+ CLASSROOM: classroom
40
+ });
41
+ return [3 /*break*/, 5];
42
+ case 3:
43
+ e_1 = _b.sent();
44
+ console.error(e_1);
45
+ return [3 /*break*/, 5];
46
+ case 4:
47
+ setLoading(false);
48
+ return [7 /*endfinally*/];
49
+ case 5: return [2 /*return*/];
50
+ }
51
+ });
52
+ }); };
53
+ (0, react_1.useEffect)(function () {
54
+ if (schoolYearId) {
55
+ getDataSelect();
56
+ }
57
+ }, [schoolYearId]);
58
+ return { selectOptions: selectOptions, loading: loading };
59
+ }
60
+ exports["default"] = useGetDataSelectTarget;
61
+ //# 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,+BAA2C;AAC3C,0CAAiD;AAEjD,iFAA0D;AAC1D,mFAAuD;AAEvD,SAAwB,sBAAsB,CAAC,EAA0C;IAAzF,iBAyCC;QAzCgD,YAAY,kBAAA;IACrD,IAAA,KAAoC,IAAA,gBAAQ,EAAiB;QACjE,iBAAiB,EAAE,EAAE;QACrB,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd,CAAC,EAJK,aAAa,QAAA,EAAE,gBAAgB,QAIpC,CAAA;IACI,IAAA,KAAwB,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAArC,OAAO,QAAA,EAAE,UAAU,QAAkB,CAAA;IAC5C,IAAM,QAAQ,GAAG,IAAA,yBAAoB,GAAE,CAAA;IAEvC,IAAM,aAAa,GAAG;;;;;oBACpB,UAAU,CAAC,IAAI,CAAC,CAAA;;;;oBAIV,qBAAM,IAAA,0BAAgB,EAAC;4BACzB,KAAK,EAAE,sBAAc;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,IAAA,iBAAS,EAAC;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;AAzCD,4CAyCC"}
@@ -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
+ };