phx-react 1.3.1679 → 1.3.1681
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/assets/icons/index.js +2 -0
- package/dist/cjs/assets/icons/index.js.map +1 -1
- package/dist/cjs/assets/icons/index.ts +2 -0
- package/dist/cjs/assets/icons/paper-clip.svg +3 -0
- package/dist/cjs/components/FormTarget/components/modal-delete/modal-delete.d.ts +13 -0
- package/dist/cjs/components/FormTarget/components/modal-delete/modal-delete.js +19 -0
- package/dist/cjs/components/FormTarget/components/modal-delete/modal-delete.js.map +1 -0
- package/dist/cjs/components/FormTarget/components/modal-import/confirm-upload.d.ts +7 -0
- package/dist/cjs/components/FormTarget/components/modal-import/confirm-upload.js +25 -0
- package/dist/cjs/components/FormTarget/components/modal-import/confirm-upload.js.map +1 -0
- package/dist/cjs/components/FormTarget/components/modal-import/modal-import-user.d.ts +10 -0
- package/dist/cjs/components/FormTarget/components/modal-import/modal-import-user.js +177 -0
- package/dist/cjs/components/FormTarget/components/modal-import/modal-import-user.js.map +1 -0
- package/dist/cjs/components/FormTarget/components/modal-import/preview-user.d.ts +10 -0
- package/dist/cjs/components/FormTarget/components/modal-import/preview-user.js +22 -0
- package/dist/cjs/components/FormTarget/components/modal-import/preview-user.js.map +1 -0
- package/dist/cjs/components/FormTarget/components/modal-import/table-custom-user.d.ts +11 -0
- package/dist/cjs/components/FormTarget/components/modal-import/table-custom-user.js +56 -0
- package/dist/cjs/components/FormTarget/components/modal-import/table-custom-user.js.map +1 -0
- package/dist/cjs/components/FormTarget/components/table-custom-list.js +51 -47
- package/dist/cjs/components/FormTarget/components/table-custom-list.js.map +1 -1
- package/dist/cjs/components/FormTarget/constant.d.ts +13 -0
- package/dist/cjs/components/FormTarget/constant.js +15 -1
- package/dist/cjs/components/FormTarget/constant.js.map +1 -1
- package/dist/cjs/components/FormTarget/graphql/query.d.ts +5 -0
- package/dist/cjs/components/FormTarget/graphql/query.js +162 -1
- package/dist/cjs/components/FormTarget/graphql/query.js.map +1 -1
- package/dist/cjs/components/FormTarget/hooks/use-import-user.d.ts +5 -0
- package/dist/cjs/components/FormTarget/hooks/use-import-user.js +168 -0
- package/dist/cjs/components/FormTarget/hooks/use-import-user.js.map +1 -0
- package/dist/cjs/components/FormTarget/type/target.d.ts +5 -0
- package/dist/cjs/components/FormTarget/type/user.d.ts +77 -0
- package/dist/cjs/components/FormTarget/type/user.js +3 -0
- package/dist/cjs/components/FormTarget/type/user.js.map +1 -0
- package/dist/cjs/components/TableV5/TableV5.js +4 -4
- package/dist/cjs/components/TableV5/TableV5.js.map +1 -1
- package/dist/cjs/components/TableV6/TableV6.js +4 -4
- package/dist/cjs/components/TableV6/TableV6.js.map +1 -1
- package/dist/cjs/components/UploadFile/ButtonUpload.d.ts +1 -1
- package/dist/cjs/components/UploadFile/FormUpload.d.ts +24 -1
- package/dist/cjs/components/UploadFile/FormUpload.js +29 -18
- package/dist/cjs/components/UploadFile/FormUpload.js.map +1 -1
- package/dist/cjs/components/UploadFile/PHXUploadFile.d.ts +50 -0
- package/dist/cjs/components/UploadFile/PHXUploadFile.js +24 -0
- package/dist/cjs/components/UploadFile/PHXUploadFile.js.map +1 -0
- package/dist/cjs/components/UploadFile/UploadFile.d.ts +1 -1
- package/dist/cjs/components/UploadFile/UploadFile.js +5 -5
- package/dist/cjs/components/UploadFile/UploadFile.js.map +1 -1
- package/dist/cjs/components/UploadFile/index.d.ts +1 -1
- package/dist/cjs/components/UploadFile/index.js +1 -1
- package/dist/cjs/components/UploadFile/index.js.map +1 -1
- package/dist/esm/assets/icons/index.js +2 -0
- package/dist/esm/assets/icons/index.js.map +1 -1
- package/dist/esm/assets/icons/index.ts +2 -0
- package/dist/esm/assets/icons/paper-clip.svg +3 -0
- package/dist/esm/components/FormTarget/components/modal-delete/modal-delete.d.ts +13 -0
- package/dist/esm/components/FormTarget/components/modal-delete/modal-delete.js +14 -0
- package/dist/esm/components/FormTarget/components/modal-delete/modal-delete.js.map +1 -0
- package/dist/esm/components/FormTarget/components/modal-import/confirm-upload.d.ts +7 -0
- package/dist/esm/components/FormTarget/components/modal-import/confirm-upload.js +20 -0
- package/dist/esm/components/FormTarget/components/modal-import/confirm-upload.js.map +1 -0
- package/dist/esm/components/FormTarget/components/modal-import/modal-import-user.d.ts +10 -0
- package/dist/esm/components/FormTarget/components/modal-import/modal-import-user.js +173 -0
- package/dist/esm/components/FormTarget/components/modal-import/modal-import-user.js.map +1 -0
- package/dist/esm/components/FormTarget/components/modal-import/preview-user.d.ts +10 -0
- package/dist/esm/components/FormTarget/components/modal-import/preview-user.js +17 -0
- package/dist/esm/components/FormTarget/components/modal-import/preview-user.js.map +1 -0
- package/dist/esm/components/FormTarget/components/modal-import/table-custom-user.d.ts +11 -0
- package/dist/esm/components/FormTarget/components/modal-import/table-custom-user.js +51 -0
- package/dist/esm/components/FormTarget/components/modal-import/table-custom-user.js.map +1 -0
- package/dist/esm/components/FormTarget/components/table-custom-list.js +51 -47
- package/dist/esm/components/FormTarget/components/table-custom-list.js.map +1 -1
- package/dist/esm/components/FormTarget/constant.d.ts +13 -0
- package/dist/esm/components/FormTarget/constant.js +14 -0
- package/dist/esm/components/FormTarget/constant.js.map +1 -1
- package/dist/esm/components/FormTarget/graphql/query.d.ts +5 -0
- package/dist/esm/components/FormTarget/graphql/query.js +161 -0
- package/dist/esm/components/FormTarget/graphql/query.js.map +1 -1
- package/dist/esm/components/FormTarget/hooks/use-import-user.d.ts +5 -0
- package/dist/esm/components/FormTarget/hooks/use-import-user.js +163 -0
- package/dist/esm/components/FormTarget/hooks/use-import-user.js.map +1 -0
- package/dist/esm/components/FormTarget/type/target.d.ts +5 -0
- package/dist/esm/components/FormTarget/type/user.d.ts +77 -0
- package/dist/esm/components/FormTarget/type/user.js +2 -0
- package/dist/esm/components/FormTarget/type/user.js.map +1 -0
- package/dist/esm/components/TableV5/TableV5.js +4 -4
- package/dist/esm/components/TableV5/TableV5.js.map +1 -1
- package/dist/esm/components/TableV6/TableV6.js +4 -4
- package/dist/esm/components/TableV6/TableV6.js.map +1 -1
- package/dist/esm/components/UploadFile/ButtonUpload.d.ts +1 -1
- package/dist/esm/components/UploadFile/FormUpload.d.ts +24 -1
- package/dist/esm/components/UploadFile/FormUpload.js +29 -18
- package/dist/esm/components/UploadFile/FormUpload.js.map +1 -1
- package/dist/esm/components/UploadFile/PHXUploadFile.d.ts +50 -0
- package/dist/esm/components/UploadFile/PHXUploadFile.js +19 -0
- package/dist/esm/components/UploadFile/PHXUploadFile.js.map +1 -0
- package/dist/esm/components/UploadFile/UploadFile.d.ts +1 -1
- package/dist/esm/components/UploadFile/UploadFile.js +3 -3
- package/dist/esm/components/UploadFile/UploadFile.js.map +1 -1
- package/dist/esm/components/UploadFile/index.d.ts +1 -1
- package/dist/esm/components/UploadFile/index.js +1 -1
- package/dist/esm/components/UploadFile/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.UploadFile = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const outline_1 = require("@heroicons/react/24/outline");
|
|
6
6
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
@@ -8,7 +8,7 @@ const FormUpload_1 = require("./FormUpload");
|
|
|
8
8
|
const types_1 = require("../types");
|
|
9
9
|
const Card_1 = require("../Card");
|
|
10
10
|
const Modal_1 = require("../Modal");
|
|
11
|
-
const
|
|
11
|
+
const UploadFile = ({ apiCdnUpload, basePath, contentOfModal, defaultLink, fileName, fileType = 'image', handleListenUpload, headerActionFunc, helpText, inCard = true, isHeaderDownload = false, label, moduleId, multiImg = false, oneImg = false, projectId, setLoading, size, title, titleHeaderAction, isHorizontalLayout = false, cdnUploadType = 'file', customNextImage, actionTextDelete = false, twoColumn = false, hiddenWarnIcon = false, disabled = false, }) => {
|
|
12
12
|
const sizeModal = (0, types_1.classNames)(size === 'small' && 'sm:max-w-lg');
|
|
13
13
|
const [link, setLink] = (0, react_1.useState)([]);
|
|
14
14
|
const [isImage, setIsImage] = (0, react_1.useState)(fileType === 'image');
|
|
@@ -125,8 +125,8 @@ const PHXUploadFile = ({ apiCdnUpload, basePath, contentOfModal, defaultLink, fi
|
|
|
125
125
|
}, []);
|
|
126
126
|
return (react_1.default.createElement("div", { className: sizeModal },
|
|
127
127
|
inCard ? (react_1.default.createElement(Card_1.PHXCard, { headerAction: fileType === 'excel' ? { onClick: headerActionFunc, content: titleHeaderAction } : {}, isHeaderDownload: isHeaderDownload, primaryHeader: titleHeaderAction !== undefined, title: title },
|
|
128
|
-
react_1.default.createElement(FormUpload_1.FormUpload, { disabled: disabled, customNextImage: customNextImage, fileName: fileName, fileType: fileType, handleCheckboxChange: handleCheckboxChange,
|
|
129
|
-
react_1.default.createElement(FormUpload_1.FormUpload, { disabled: disabled, customNextImage: customNextImage, fileName: fileName, fileType: fileType, handleCheckboxChange: handleCheckboxChange,
|
|
128
|
+
react_1.default.createElement(FormUpload_1.FormUpload, { disabled: disabled, customNextImage: customNextImage, fileName: fileName, fileType: fileType, handleCheckboxChange: handleCheckboxChange, handleFileChange: handleFileChange, helpText: helpText, isImage: isImage, isHorizontalLayout: isHorizontalLayout, label: label, length: length, link: link, oneImg: oneImg, selectedImages: selectedImages, setIsModalOpen: setIsModalOpen, showImage: showImage, actionTextDelete: actionTextDelete, twoColumn: twoColumn }))) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
129
|
+
react_1.default.createElement(FormUpload_1.FormUpload, { disabled: disabled, customNextImage: customNextImage, fileName: fileName, fileType: fileType, handleCheckboxChange: handleCheckboxChange, handleFileChange: handleFileChange, helpText: helpText, isImage: isImage, label: label, isHorizontalLayout: isHorizontalLayout, length: length, link: link, oneImg: oneImg, selectedImages: selectedImages, setIsModalOpen: setIsModalOpen, showImage: showImage }))),
|
|
130
130
|
react_1.default.createElement(Modal_1.PHXModal, { dangerActionText: 'X\u00E1c nh\u1EADn x\u00F3a', onDangerClick: handleDeleteImages, onHide: () => setIsModalOpen(false), primaryActionText: '', show: isModalOpen, title: 'Xo\u00E1 \u1EA3nh?' },
|
|
131
131
|
react_1.default.createElement("div", { className: 'sm:flex sm:items-start' },
|
|
132
132
|
!hiddenWarnIcon && (react_1.default.createElement("div", { className: 'mx-auto flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10' },
|
|
@@ -135,5 +135,5 @@ const PHXUploadFile = ({ apiCdnUpload, basePath, contentOfModal, defaultLink, fi
|
|
|
135
135
|
react_1.default.createElement("div", { className: 'mt-2' },
|
|
136
136
|
react_1.default.createElement("p", { className: 'text-xs text-gray-600' }, contentOfModal ? contentOfModal : 'Bạn không thể hoàn tác thao tác này.')))))));
|
|
137
137
|
};
|
|
138
|
-
exports.
|
|
138
|
+
exports.UploadFile = UploadFile;
|
|
139
139
|
//# sourceMappingURL=UploadFile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadFile.js","sourceRoot":"","sources":["../../../../src/components/UploadFile/UploadFile.tsx"],"names":[],"mappings":";;;;AAAA,yDAAqE;AACrE,uDAAkD;AAClD,6CAAyC;AACzC,oCAAqC;AACrC,kCAAiC;AACjC,oCAAmC;AAmC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"UploadFile.js","sourceRoot":"","sources":["../../../../src/components/UploadFile/UploadFile.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './PHXUploadFile';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/UploadFile/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/UploadFile/index.ts"],"names":[],"mappings":";;;AAAA,0DAA+B"}
|
|
@@ -3,11 +3,13 @@ import PlusIcon from './plus-circle-icon.svg';
|
|
|
3
3
|
import SearchIcon from './search-icon.svg';
|
|
4
4
|
import ChevronDownIcon from './chevron-down-icon.svg';
|
|
5
5
|
import EmptyRecordIcon from './empty-record-icon.svg';
|
|
6
|
+
import PaperClipIcon from './paper-clip.svg';
|
|
6
7
|
export const PHXIcons = {
|
|
7
8
|
PencilIcon,
|
|
8
9
|
PlusIcon,
|
|
9
10
|
SearchIcon,
|
|
10
11
|
ChevronDownIcon,
|
|
11
12
|
EmptyRecordIcon,
|
|
13
|
+
PaperClipIcon,
|
|
12
14
|
};
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/assets/icons/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAA;AAC1C,OAAO,QAAQ,MAAM,wBAAwB,CAAA;AAC7C,OAAO,UAAU,MAAM,mBAAmB,CAAA;AAC1C,OAAO,eAAe,MAAM,yBAAyB,CAAA;AACrD,OAAO,eAAe,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/assets/icons/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAA;AAC1C,OAAO,QAAQ,MAAM,wBAAwB,CAAA;AAC7C,OAAO,UAAU,MAAM,mBAAmB,CAAA;AAC1C,OAAO,eAAe,MAAM,yBAAyB,CAAA;AACrD,OAAO,eAAe,MAAM,yBAAyB,CAAA;AACrD,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAQ;IAC3B,UAAU;IACV,QAAQ;IACR,UAAU;IACV,eAAe;IACf,eAAe;IACf,aAAa;CACd,CAAA"}
|
|
@@ -3,6 +3,7 @@ import PlusIcon from './plus-circle-icon.svg'
|
|
|
3
3
|
import SearchIcon from './search-icon.svg'
|
|
4
4
|
import ChevronDownIcon from './chevron-down-icon.svg'
|
|
5
5
|
import EmptyRecordIcon from './empty-record-icon.svg'
|
|
6
|
+
import PaperClipIcon from './paper-clip.svg'
|
|
6
7
|
|
|
7
8
|
export const PHXIcons: any = {
|
|
8
9
|
PencilIcon,
|
|
@@ -10,4 +11,5 @@ export const PHXIcons: any = {
|
|
|
10
11
|
SearchIcon,
|
|
11
12
|
ChevronDownIcon,
|
|
12
13
|
EmptyRecordIcon,
|
|
14
|
+
PaperClipIcon,
|
|
13
15
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="12" height="15" viewBox="0 0 12 15" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.75 1.5C2.05964 1.5 1.5 2.05964 1.5 2.75V12.25C1.5 12.9404 2.05964 13.5 2.75 13.5H9.25C9.94036 13.5 10.5 12.9404 10.5 12.25V3.25C10.5 2.83579 10.8358 2.5 11.25 2.5C11.6642 2.5 12 2.83579 12 3.25V12.25C12 13.7688 10.7688 15 9.25 15H2.75C1.23122 15 0 13.7688 0 12.25V2.75C0 1.23122 1.23122 0 2.75 0H5.75C7.26878 0 8.5 1.23122 8.5 2.75V9C8.5 10.3807 7.38071 11.5 6 11.5C4.61929 11.5 3.5 10.3807 3.5 9V3.5C3.5 3.08579 3.83579 2.75 4.25 2.75C4.66421 2.75 5 3.08579 5 3.5V9C5 9.55229 5.44772 10 6 10C6.55228 10 7 9.55228 7 9V2.75C7 2.05964 6.44036 1.5 5.75 1.5H2.75Z" fill="#4A4A4A"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface IPropsModalDelete {
|
|
3
|
+
show: boolean;
|
|
4
|
+
onHide(): void;
|
|
5
|
+
handleDelete(): void;
|
|
6
|
+
roleName: string;
|
|
7
|
+
deleteData: {
|
|
8
|
+
ids: Array<number>;
|
|
9
|
+
name: string;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare const ModalDelete: ({ deleteData, handleDelete, onHide, roleName, show }: IPropsModalDelete) => React.JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PHXModal } from '../../../Modal/Modal';
|
|
3
|
+
export const ModalDelete = ({ deleteData, handleDelete, onHide, roleName, show }) => (React.createElement(PHXModal, { key: 'deleteModal', dangerActionText: 'X\u00E1c nh\u1EADn', dangerSubmit: true, hiddenSubmit: true, inCard: false, onDangerClick: handleDelete, onHide: onHide, show: show, title: `Xác nhận xoá ${roleName} ` },
|
|
4
|
+
React.createElement("p", { className: 'text-xs text-gray-500' },
|
|
5
|
+
"B\u1EA1n ch\u1EAFc ch\u1EAFn mu\u1ED1n xo\u00E1",
|
|
6
|
+
' ',
|
|
7
|
+
deleteData.ids.length > 1 ? (React.createElement("span", { className: 'font-bold' },
|
|
8
|
+
deleteData.ids.length,
|
|
9
|
+
" ",
|
|
10
|
+
roleName)) : (roleName),
|
|
11
|
+
' ',
|
|
12
|
+
React.createElement("span", { className: 'font-bold' }, deleteData.name),
|
|
13
|
+
" \u0111\u00E3 ch\u1ECDn? Thao t\u00E1c n\u00E0y kh\u00F4ng th\u1EC3 ho\u00E0n t\u00E1c.")));
|
|
14
|
+
//# sourceMappingURL=modal-delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-delete.js","sourceRoot":"","sources":["../../../../../../src/components/FormTarget/components/modal-delete/modal-delete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAa/C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAqB,EAAE,EAAE,CAAC,CACtG,oBAAC,QAAQ,IACP,GAAG,EAAC,aAAa,EACjB,gBAAgB,EAAC,oBAAU,EAC3B,YAAY,QACZ,YAAY,QACZ,MAAM,EAAE,KAAK,EACb,aAAa,EAAE,YAAY,EAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,gBAAgB,QAAQ,GAAG;IAElC,2BAAG,SAAS,EAAC,uBAAuB;;QACX,GAAG;QACzB,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3B,8BAAM,SAAS,EAAC,WAAW;YACxB,UAAU,CAAC,GAAG,CAAC,MAAM;;YAAG,QAAQ,CAC5B,CACR,CAAC,CAAC,CAAC,CACF,QAAQ,CACT;QAAE,GAAG;QACN,8BAAM,SAAS,EAAC,WAAW,IAAE,UAAU,CAAC,IAAI,CAAQ;kGAClD,CACK,CACZ,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PHXDescriptionLists } from '../../../DescriptionLists';
|
|
3
|
+
import { PHXBadge } from '../../../Badge';
|
|
4
|
+
export const ConfirmUpload = ({ totalInvalidList, totalValidList }) => (React.createElement(PHXDescriptionLists, { data: [
|
|
5
|
+
{
|
|
6
|
+
title: 'Tổng số bản ghi',
|
|
7
|
+
description: `${totalInvalidList + totalValidList}`,
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
title: 'Bản ghi hợp lệ',
|
|
11
|
+
description: `${totalValidList}`,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
title: (React.createElement("div", null,
|
|
15
|
+
React.createElement("div", { className: 'mb-1' }, "B\u1EA3n ghi kh\u00F4ng h\u1EE3p l\u1EC7"),
|
|
16
|
+
React.createElement(PHXBadge, { text: 'Kh\u00F4ng \u0111\u01B0\u1EE3c t\u1EA3i l\u00EAn', type: 'warning' }))),
|
|
17
|
+
description: `${totalInvalidList}`,
|
|
18
|
+
},
|
|
19
|
+
], type: 'border' }));
|
|
20
|
+
//# sourceMappingURL=confirm-upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-upload.js","sourceRoot":"","sources":["../../../../../../src/components/FormTarget/components/modal-import/confirm-upload.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAOzC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAU,EAAE,EAAE,CAAC,CAC7E,oBAAC,mBAAmB,IAClB,IAAI,EAAE;QACJ;YACE,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,GAAG,gBAAgB,GAAG,cAAc,EAAE;SACpD;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,GAAG,cAAc,EAAE;SACjC;QACD;YACE,KAAK,EAAE,CACL;gBACE,6BAAK,SAAS,EAAC,MAAM,+CAA2B;gBAChD,oBAAC,QAAQ,IAAC,IAAI,EAAC,kDAAoB,EAAC,IAAI,EAAC,SAAS,GAAG,CACjD,CACA;YACR,WAAW,EAAE,GAAG,gBAAgB,EAAE;SACnC;KACF,EACD,IAAI,EAAC,QAAQ,GACb,CACH,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IFilterValueItem } from '../../type/target';
|
|
3
|
+
import { ERoleCode } from '../../constant';
|
|
4
|
+
export interface IPropsModalImportUser {
|
|
5
|
+
target: ERoleCode;
|
|
6
|
+
show: boolean;
|
|
7
|
+
onSubmit(data: Array<IFilterValueItem>): void;
|
|
8
|
+
onHide(): void;
|
|
9
|
+
}
|
|
10
|
+
export default function ModalImportUser({ onHide, onSubmit, show, target }: IPropsModalImportUser): React.JSX.Element;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { ArrowDownTrayIcon } from '@heroicons/react/24/outline';
|
|
2
|
+
import React, { useEffect, useState } from 'react';
|
|
3
|
+
import * as XLSX from 'xlsx';
|
|
4
|
+
import { getRoleNameByTarget } from '../../ultis/get-role-name-by-target';
|
|
5
|
+
import { ConfirmUpload } from './confirm-upload';
|
|
6
|
+
import { PreviewUser } from './preview-user';
|
|
7
|
+
import { ERROR_MESSAGE_UPLOAD_FILE, SAMPLE_FILE_URL } from '../../constant';
|
|
8
|
+
import { PHXModal } from '../../../Modal';
|
|
9
|
+
import { useImportUser } from '../../hooks/use-import-user';
|
|
10
|
+
import { PHXBannerWithCard } from '../../../BannerWithCard/BannerWithCard';
|
|
11
|
+
import { EUploadType, PHXUploadFile } from '../../../UploadFile/PHXUploadFile';
|
|
12
|
+
export default function ModalImportUser({ onHide, onSubmit, show, target }) {
|
|
13
|
+
const [fileName, setFileName] = useState('');
|
|
14
|
+
const [error, setError] = useState('');
|
|
15
|
+
const [userCodes, setUserCodes] = useState([]);
|
|
16
|
+
const { findUserByUserCodes } = useImportUser();
|
|
17
|
+
const [step, setStep] = useState(1);
|
|
18
|
+
const [loading, setLoading] = useState(false);
|
|
19
|
+
const [validList, setValidList] = useState([]);
|
|
20
|
+
const [invalidList, setInvalidList] = useState([]);
|
|
21
|
+
const roleName = getRoleNameByTarget(target);
|
|
22
|
+
const onHandleHide = () => {
|
|
23
|
+
onHide();
|
|
24
|
+
};
|
|
25
|
+
const step1HandleFindUser = async (codes) => {
|
|
26
|
+
if (codes.length === 0) {
|
|
27
|
+
setError('User code không được để trống');
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
setLoading(true);
|
|
31
|
+
try {
|
|
32
|
+
const response = await findUserByUserCodes(target, codes);
|
|
33
|
+
const nodeMap = new Map();
|
|
34
|
+
response.forEach((n) => nodeMap.set(n.code, n));
|
|
35
|
+
const codeCounts = new Map();
|
|
36
|
+
codes.forEach((code) => {
|
|
37
|
+
codeCounts.set(code, (codeCounts.get(code) || 0) + 1);
|
|
38
|
+
});
|
|
39
|
+
const invalids = [];
|
|
40
|
+
const valids = [];
|
|
41
|
+
const seenValid = new Set();
|
|
42
|
+
codes.forEach((code) => {
|
|
43
|
+
if (codeCounts.get(code) > 1) {
|
|
44
|
+
invalids.push({
|
|
45
|
+
code,
|
|
46
|
+
reason: 'Trùng mã',
|
|
47
|
+
reasonDetail: 'Mã trùng lặp trong file excel',
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
else if (!nodeMap.has(code)) {
|
|
51
|
+
invalids.push({
|
|
52
|
+
code,
|
|
53
|
+
reason: 'Sai mã',
|
|
54
|
+
reasonDetail: 'Mã không tồn tại',
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
if (!seenValid.has(code)) {
|
|
59
|
+
valids.push(nodeMap.get(code));
|
|
60
|
+
seenValid.add(code);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
setInvalidList(invalids);
|
|
65
|
+
setValidList(valids);
|
|
66
|
+
setStep(2);
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
console.error(err);
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
setLoading(false);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const step3HandleSubmit = async () => {
|
|
76
|
+
onSubmit(validList);
|
|
77
|
+
onHide();
|
|
78
|
+
};
|
|
79
|
+
const handleFileChange = (e) => {
|
|
80
|
+
var _a;
|
|
81
|
+
const file = (_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0];
|
|
82
|
+
if (file) {
|
|
83
|
+
setError('');
|
|
84
|
+
const reader = new FileReader();
|
|
85
|
+
reader.onload = (evt) => {
|
|
86
|
+
var _a;
|
|
87
|
+
const arrayBuffer = (_a = evt.target) === null || _a === void 0 ? void 0 : _a.result;
|
|
88
|
+
if (arrayBuffer) {
|
|
89
|
+
try {
|
|
90
|
+
const workbook = XLSX.read(arrayBuffer, { type: 'array' });
|
|
91
|
+
const sheetName = workbook.SheetNames[0];
|
|
92
|
+
const worksheet = workbook.Sheets[sheetName];
|
|
93
|
+
const data = XLSX.utils.sheet_to_json(worksheet, { defval: '' });
|
|
94
|
+
if (data.length === 0) {
|
|
95
|
+
setError(ERROR_MESSAGE_UPLOAD_FILE);
|
|
96
|
+
setFileName('');
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const firstRow = data[0];
|
|
100
|
+
const hasUserCode = Object.keys(firstRow).some((key) => key.trim().toLowerCase() === 'user_code');
|
|
101
|
+
if (!hasUserCode) {
|
|
102
|
+
setError(ERROR_MESSAGE_UPLOAD_FILE);
|
|
103
|
+
setFileName('');
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const userCodesExcel = data.map((item) => String(item.user_code));
|
|
107
|
+
setUserCodes(userCodesExcel);
|
|
108
|
+
setFileName(file.name);
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
setError(ERROR_MESSAGE_UPLOAD_FILE);
|
|
112
|
+
setFileName('');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
reader.readAsArrayBuffer(file);
|
|
117
|
+
}
|
|
118
|
+
e.target.value = '';
|
|
119
|
+
};
|
|
120
|
+
const handleDownloadSample = () => {
|
|
121
|
+
const link = document.createElement('a');
|
|
122
|
+
link.href = SAMPLE_FILE_URL.url;
|
|
123
|
+
link.download = SAMPLE_FILE_URL.fileName;
|
|
124
|
+
link.click();
|
|
125
|
+
};
|
|
126
|
+
useEffect(() => {
|
|
127
|
+
if (show) {
|
|
128
|
+
setStep(1);
|
|
129
|
+
setFileName('');
|
|
130
|
+
setError('');
|
|
131
|
+
setUserCodes([]);
|
|
132
|
+
setValidList([]);
|
|
133
|
+
setInvalidList([]);
|
|
134
|
+
}
|
|
135
|
+
}, [show]);
|
|
136
|
+
const STEP_CONFIG = {
|
|
137
|
+
1: {
|
|
138
|
+
leftActionText: (React.createElement("span", { className: 'flex items-center gap-1' },
|
|
139
|
+
React.createElement(ArrowDownTrayIcon, { className: 'h-4 w-4' }),
|
|
140
|
+
"T\u1EA3i xu\u1ED1ng file m\u1EABu")),
|
|
141
|
+
leftActionHandle: () => handleDownloadSample(),
|
|
142
|
+
primaryText: 'Tiếp tục',
|
|
143
|
+
title: `Tải lên danh sách ${roleName}`,
|
|
144
|
+
sizeModal: 'large',
|
|
145
|
+
handleSubmit: () => step1HandleFindUser(userCodes),
|
|
146
|
+
},
|
|
147
|
+
2: {
|
|
148
|
+
leftActionText: '← Quay lại',
|
|
149
|
+
leftActionHandle: () => setStep(1),
|
|
150
|
+
primaryText: 'Tải lên',
|
|
151
|
+
title: `Xem trước danh sách ${roleName}`,
|
|
152
|
+
sizeModal: 'extra-large',
|
|
153
|
+
handleSubmit: () => setStep(3),
|
|
154
|
+
},
|
|
155
|
+
3: {
|
|
156
|
+
leftActionText: 'Hủy bỏ',
|
|
157
|
+
leftActionHandle: () => setStep(2),
|
|
158
|
+
handleSubmit: () => step3HandleSubmit(),
|
|
159
|
+
primaryText: 'Xác nhận',
|
|
160
|
+
title: 'Xác nhận tải lên',
|
|
161
|
+
sizeModal: 'medium',
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
const currentStep = STEP_CONFIG[step];
|
|
165
|
+
return (React.createElement(PHXModal, { closeButton: true, disableSubmit: step === 1 ? !fileName || loading : false, dowloadIcon: step === 1, inCard: false, leftActionText: currentStep.leftActionText, onCancel: onHandleHide, onHide: onHandleHide, onLeftActionText: currentStep.leftActionHandle, onSubmit: currentStep.handleSubmit, primaryActionText: currentStep.primaryText, primaryLoading: loading, secondaryActionText: '\u0110\u00F3ng', show: show, size: currentStep.sizeModal || 'large', title: currentStep.title },
|
|
166
|
+
React.createElement("div", { className: 'py-2' },
|
|
167
|
+
step === 1 && (React.createElement(React.Fragment, null,
|
|
168
|
+
error && (React.createElement(PHXBannerWithCard, { className: 'mb-4', description: error, onClose: () => setError(''), show: true, type: 'danger' })),
|
|
169
|
+
React.createElement(PHXUploadFile, { fileName: fileName, fileType: 'excel', handleFileChange: handleFileChange, type: EUploadType.TO_CLIENT }))),
|
|
170
|
+
step === 2 && React.createElement(PreviewUser, { invalidList: invalidList, target: target, validList: validList }),
|
|
171
|
+
step === 3 && React.createElement(ConfirmUpload, { totalInvalidList: invalidList.length, totalValidList: validList.length }))));
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=modal-import-user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-import-user.js","sourceRoot":"","sources":["../../../../../../src/components/FormTarget/components/modal-import/modal-import-user.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ERoleCode } from '../../constant';
|
|
2
|
+
import { IFilterValueItem, IInvalidUser } from '../../type/target';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
interface IProps {
|
|
5
|
+
invalidList: Array<IInvalidUser>;
|
|
6
|
+
validList: Array<IFilterValueItem>;
|
|
7
|
+
target: ERoleCode;
|
|
8
|
+
}
|
|
9
|
+
export declare const PreviewUser: ({ invalidList, target, validList }: IProps) => React.JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PHXText } from '../../../Text/Text';
|
|
2
|
+
import { TableCustomUser } from './table-custom-user';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
export const PreviewUser = ({ invalidList, target, validList }) => (React.createElement("div", { className: 'flex flex-col gap-6' },
|
|
5
|
+
invalidList.length > 0 && (React.createElement("div", null,
|
|
6
|
+
React.createElement(PHXText, null,
|
|
7
|
+
"Danh s\u00E1ch kh\u00F4ng h\u1EE3p l\u1EC7 (",
|
|
8
|
+
invalidList.length,
|
|
9
|
+
")"),
|
|
10
|
+
React.createElement(TableCustomUser, { invalidData: invalidList, isInvalid: true, target: target }))),
|
|
11
|
+
validList.length > 0 && (React.createElement("div", null,
|
|
12
|
+
React.createElement(PHXText, null,
|
|
13
|
+
"Danh s\u00E1ch h\u1EE3p l\u1EC7 (",
|
|
14
|
+
validList.length,
|
|
15
|
+
")"),
|
|
16
|
+
React.createElement(TableCustomUser, { data: validList, target: target })))));
|
|
17
|
+
//# sourceMappingURL=preview-user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-user.js","sourceRoot":"","sources":["../../../../../../src/components/FormTarget/components/modal-import/preview-user.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAU,EAAE,EAAE,CAAC,CACzE,6BAAK,SAAS,EAAC,qBAAqB;IACjC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB;QACE,oBAAC,OAAO;;YAA0B,WAAW,CAAC,MAAM;gBAAY;QAChE,oBAAC,eAAe,IAAC,WAAW,EAAE,WAAW,EAAE,SAAS,QAAC,MAAM,EAAE,MAAM,GAAI,CACnE,CACP;IACA,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACvB;QACE,oBAAC,OAAO;;YAAoB,SAAS,CAAC,MAAM;gBAAY;QACxD,oBAAC,eAAe,IAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAI,CAChD,CACP,CACG,CACP,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ERoleCode } from '../../constant';
|
|
3
|
+
import { IFilterValueItem, IInvalidUser } from '../../type/target';
|
|
4
|
+
interface ITableCustomUserProps {
|
|
5
|
+
target: ERoleCode;
|
|
6
|
+
data?: Array<IFilterValueItem>;
|
|
7
|
+
invalidData?: Array<IInvalidUser>;
|
|
8
|
+
isInvalid?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const TableCustomUser: ({ data, invalidData, isInvalid, target }: ITableCustomUserProps) => React.JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PHXBadge } from '../../../Badge';
|
|
3
|
+
import { PHXDescriptionListInTooltip } from '../../../DescriptionListInTooltip';
|
|
4
|
+
import { PHXTableStatic } from '../../../TableStatic';
|
|
5
|
+
import { PHXText } from '../../../Text/Text';
|
|
6
|
+
import { ERoleCode, TEXT_UNDEFINED } from '../../constant';
|
|
7
|
+
import { getRoleNameByTarget } from '../../ultis/get-role-name-by-target';
|
|
8
|
+
import { getTitleByRelationshipCode } from '../../ultis/get-title-by-relationship-code';
|
|
9
|
+
export const TableCustomUser = ({ data = [], invalidData, isInvalid, target }) => {
|
|
10
|
+
const defaultHeader = ['Số điện thoại', 'Email'];
|
|
11
|
+
const roleName = getRoleNameByTarget(target);
|
|
12
|
+
const headerTable = {
|
|
13
|
+
[ERoleCode.TEACHER]: ['Giáo viên', 'Mã giáo viên', ...defaultHeader],
|
|
14
|
+
[ERoleCode.STAFF]: ['Nhân viên', 'Mã nhân viên', ...defaultHeader],
|
|
15
|
+
[ERoleCode.STUDENT]: ['Học sinh', 'Mã học sinh', 'Cấp học', 'Khối học', 'Lớp học', 'Người thân'],
|
|
16
|
+
[ERoleCode.DEPARTMENT]: ['Phòng ban', 'Mã phòng ban'],
|
|
17
|
+
[ERoleCode.PARENT]: [...defaultHeader],
|
|
18
|
+
};
|
|
19
|
+
const defaultBody = ['phone', 'email', 'actions'];
|
|
20
|
+
const bodyTable = {
|
|
21
|
+
[ERoleCode.TEACHER]: ['name', 'code', ...defaultBody],
|
|
22
|
+
[ERoleCode.STAFF]: ['name', 'code', ...defaultBody],
|
|
23
|
+
[ERoleCode.STUDENT]: ['name', 'code', 'educational_level', 'grade', 'classroom', 'parents'],
|
|
24
|
+
[ERoleCode.DEPARTMENT]: ['Phòng ban', 'Mã phòng ban', ...defaultHeader],
|
|
25
|
+
[ERoleCode.PARENT]: [...defaultBody],
|
|
26
|
+
};
|
|
27
|
+
const thComponent = {
|
|
28
|
+
...(target === ERoleCode.STUDENT && {
|
|
29
|
+
parents: (value) => (React.createElement("div", null,
|
|
30
|
+
React.createElement(PHXDescriptionListInTooltip, { items: value.map((parent) => ({
|
|
31
|
+
title: getTitleByRelationshipCode(parent === null || parent === void 0 ? void 0 : parent.relationship_code),
|
|
32
|
+
description: parent.full_name,
|
|
33
|
+
})), tooltipClassName: 'max-w-none w-auto min-w-[150px]', trigger: React.createElement("div", { className: 'max-w-52 truncate' }, Array.isArray(value) && value.length > 0
|
|
34
|
+
? value.map((parent) => `${parent.full_name}`).join(', ')
|
|
35
|
+
: TEXT_UNDEFINED) }))),
|
|
36
|
+
}),
|
|
37
|
+
};
|
|
38
|
+
const invalidHeader = [`Mã ${roleName}`, 'Lý do lỗi'];
|
|
39
|
+
const invalidBody = ['code', 'reason'];
|
|
40
|
+
const invalidThComponent = {
|
|
41
|
+
code: (value) => React.createElement(PHXText, null, value),
|
|
42
|
+
reason: (value, record) => (React.createElement("div", { className: 'flex flex-col gap-1' },
|
|
43
|
+
React.createElement(PHXBadge, { text: value || '', type: 'danger' }),
|
|
44
|
+
React.createElement(PHXText, { size: 'xs', tone: 'subdued' }, record.reasonDetail))),
|
|
45
|
+
};
|
|
46
|
+
if (isInvalid && invalidData) {
|
|
47
|
+
return (React.createElement(PHXTableStatic, { bodyData: invalidData, isPagination: true, name: target, rowNumber: 10, thBody: invalidBody, thComponent: invalidThComponent, thHeader: invalidHeader }));
|
|
48
|
+
}
|
|
49
|
+
return (React.createElement(PHXTableStatic, { bodyData: data, isPagination: true, name: target, rowNumber: 10, thBody: bodyTable[target], thComponent: thComponent, thHeader: headerTable[target] }));
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=table-custom-user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-custom-user.js","sourceRoot":"","sources":["../../../../../../src/components/FormTarget/components/modal-import/table-custom-user.tsx"],"names":[],"mappings":"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"}
|