@flast-erp/core 1.0.4
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/README.md +105 -0
- package/dist/DataContext.esm.js +2 -0
- package/dist/DataContext.esm.js.map +1 -0
- package/dist/DataContext.js +2 -0
- package/dist/DataContext.js.map +1 -0
- package/dist/components/index.esm.js +2 -0
- package/dist/components/index.esm.js.map +1 -0
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -0
- package/dist/configs/index.esm.js +2 -0
- package/dist/configs/index.esm.js.map +1 -0
- package/dist/configs/index.js +2 -0
- package/dist/configs/index.js.map +1 -0
- package/dist/hooks/index.esm.js +2 -0
- package/dist/hooks/index.esm.js.map +1 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/index.esm.js +2 -0
- package/dist/utils/index.esm.js.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +93 -0
package/README.md
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# @flast-erp/core
|
|
2
|
+
|
|
3
|
+
Shared core library cho Flast ERP applications.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Cài đặt
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @flast-erp/core
|
|
11
|
+
# hoặc
|
|
12
|
+
yarn add @flast-erp/core
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Peer dependencies (cần cài trong project dùng)
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install react react-dom react-router-dom antd axios dayjs lodash
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Dùng
|
|
24
|
+
|
|
25
|
+
### Import theo subpath (khuyến nghị — tree-shaking tốt hơn)
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
import { useGetList, useGetMe } from "@flast-erp/core/hooks"
|
|
29
|
+
import { RestList, FormInput } from "@flast-erp/core/components"
|
|
30
|
+
import { formatDate, RequestUtils } from "@flast-erp/core/utils"
|
|
31
|
+
import { API_BASE_URL } from "@flast-erp/core/configs"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Import từ root
|
|
35
|
+
|
|
36
|
+
```js
|
|
37
|
+
import { useGetList, RestList, formatDate } from "@flast-erp/core"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Cấu trúc
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
@flast-erp/core
|
|
46
|
+
├── /components — React components (Form, RestLayout, Common, ...)
|
|
47
|
+
├── /hooks — Custom React hooks
|
|
48
|
+
├── /utils — Utility functions
|
|
49
|
+
└── /configs — Constants, config
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Tích hợp với Module Federation
|
|
55
|
+
|
|
56
|
+
Khai báo trong `shared` của cả host và remote:
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
// craco.config.js
|
|
60
|
+
new ModuleFederationPlugin({
|
|
61
|
+
shared: {
|
|
62
|
+
"@flast-erp/core": {
|
|
63
|
+
singleton: true,
|
|
64
|
+
eager: true,
|
|
65
|
+
requiredVersion: require("./package.json").dependencies["@flast-erp/core"],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
})
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Development & Release
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Cài dependencies
|
|
77
|
+
npm install
|
|
78
|
+
|
|
79
|
+
# Build
|
|
80
|
+
npm run build
|
|
81
|
+
|
|
82
|
+
# Watch mode
|
|
83
|
+
npm run build:watch
|
|
84
|
+
|
|
85
|
+
# Release
|
|
86
|
+
./scripts/release.sh patch # 1.0.0 → 1.0.1
|
|
87
|
+
./scripts/release.sh minor # 1.0.0 → 1.1.0
|
|
88
|
+
./scripts/release.sh major # 1.0.0 → 2.0.0
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Migrate từ folder core sang package
|
|
94
|
+
|
|
95
|
+
Thay thế import cũ:
|
|
96
|
+
|
|
97
|
+
```js
|
|
98
|
+
// ❌ Trước
|
|
99
|
+
import { useGetList } from "../../core/hooks/useGetList"
|
|
100
|
+
import { RestList } from "../core/components/RestLayout/RestList"
|
|
101
|
+
|
|
102
|
+
// ✅ Sau
|
|
103
|
+
import { useGetList } from "@flast-erp/core/hooks"
|
|
104
|
+
import { RestList } from "@flast-erp/core/components"
|
|
105
|
+
```
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/defineProperty";import r,{useReducer as n,useCallback as o,useEffect as i}from"react";import s from"lodash/mapKeys";import a from"@babel/runtime/helpers/objectWithoutProperties";import{jsx as l}from"react/jsx-runtime";s([{id:11,name:"Web"},{id:1,name:"Facebook"},{id:2,name:"Zalo"},{id:3,name:"Hotline"},{id:4,name:"Trực tiếp"},{id:5,name:"Email"},{id:6,name:"MKT0D"},{id:7,name:"Giới thiệu"},{id:8,name:"Cskh"},{id:9,name:"Partner"},{id:10,name:"Shopee"}],"id");s([{id:1,name:"Chưa liên hệ"},{id:2,name:"Đã liên hệ"}],"id");s([{text:"Doanh số",value:"doanhso"},{text:"SQL",value:"sql"},{text:"Trafic",value:"trafic"}],"value");s([{text:"Cao",value:"cao",color:"red"},{text:"Trung bình",value:"trungbinh",color:"purple"},{text:"Thấp",value:"thap",color:"green"}],"value");s([{value:1,name:"IT",color:"blue"},{value:2,name:"Marketing",color:"green"},{value:3,name:"Kinhdoanh",color:"purple"},{value:4,name:"Khác",color:"orange"}],"value");const c="CHANGE_STORE",u="add__user",h="remove__user",p="tg_cll",m="f5_list",d="in_app_noti",f=["title"];function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function b(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?v(Object(n),!0).forEach(function(r){t(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class y{constructor(){this.events={}}_getEventListByName(e){return void 0===this.events[e]&&(this.events[e]=new Set),this.events[e]}on(e,t){this._getEventListByName(e).add(t)}once(e,t){const r=this,n=function(){r.removeListener(e,n);for(var o=arguments.length,i=new Array(o),s=0;s<o;s++)i[s]=arguments[s];t.apply(r,i)};this.on(e,n)}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];this._getEventListByName(e).forEach(function(e){e.apply(this,r)}.bind(this))}addEventListener(e,t){this.on(e,t)}removeListener(e,t){this._getEventListByName(e).delete(t)}}t(class{static hasPermission(e,t){return"*"===e||(""===(e||"")||(0===e.length||t))}static generateRoutesFromConfigs(e,t){let r=[];return e.forEach(e=>{r=[...r,...this.setRoutes(e,t)]}),r}static setRoutes(e,t){let r=[...e.routes];return(e.settings||e.auth)&&(r=r.map(r=>{let n=e.auth?[...e.auth]:t||null;return n=r.auth?[...n,...r.auth]:n,b(b({},r),{},{settings:b(b({},e.settings),r.settings),auth:n})})),[...r]}},"EventEmitter",y);const g=new class extends y{constructor(){super(...arguments),t(this,"openDrawer",(e,t)=>{let r=t.title,n=a(t,f);return this.emit("#modal",{hash:e,title:r,data:n})})}normalSuccess(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.emit(d,{type:"success",content:e,title:t})}normalInfo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.emit(d,{type:"info",content:e,title:t})}normalError(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.emit(d,{type:"error",content:e,title:t})}modal(e,t){this.emit(d,{type:t,content:e,cate:"modal"})}changeStore(e){this.emit(c,e)}};function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function j(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?O(Object(n),!0).forEach(function(r){t(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const P=r.createContext(),w={[u]:"user",[h]:"user",[p]:"isCollapse",[m]:"f5List"};function E(e,t){const r=t.data,n=t.type,o=w[n];return o?j(j({},e),{},{[o]:r}):e}const _=t=>{let r=t.children,s=t.initialRoutes;const a=n(E,{routes:void 0===s?[]:s,isCollapse:!1}),u=e(a,2),h=u[0],p=u[1],m=j(j({},h),{},{dispatch:p}),d=o(e=>{let t=e.type,r=e.data;p({type:t,data:r})},[p]);return i(()=>(g.addEventListener(c,d),()=>{g.removeListener(c,d)}),[d]),l(P.Provider,{value:m,children:r})};function x(){const e=r.useContext(P);if(void 0===e)throw new Error("useCount must be used within a StoreProvider");return e}export{_ as DataProvider,P as default,x as useStore};
|
|
2
|
+
//# sourceMappingURL=DataContext.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataContext.esm.js","sources":["../src/configs/localData.js","../src/configs/index.js","../src/utils/FuseUtils.js","../src/DataContext.js"],"sourcesContent":["/**************************************************************************/\n/* localData.js */\n/**************************************************************************/\n/* Tệp này là một phần của: */\n/* Open CDP */\n/* https://flast.vn */\n/**************************************************************************/\n/* Bản quyền (c) 2025 - này thuộc về các cộng tác viên Flast Solution */\n/* (xem AUTHORS.md). */\n/* Bản quyền (c) 2024-2025 Long Huu, Quang Duc, Hung Bui */\n/* */\n/* Bạn được quyền sử dụng phần mềm này miễn phí cho bất kỳ mục đích nào, */\n/* bao gồm sao chép, sửa đổi, phân phối, bán lại… */\n/* */\n/* Chỉ cần giữ nguyên thông tin bản quyền và nội dung giấy phép này trong */\n/* các bản sao. */\n/* */\n/* Đội ngũ phát triển mong rằng phần mềm được sử dụng đúng mục đích và */\n/* có trách nghiệm */\n/**************************************************************************/\n\nimport mapKeys from 'lodash/mapKeys';\n\nexport const ACTIVE_TYPES = [\n {\n value: 2,\n text: 'Kích hoạt',\n color: 'red',\n textColor: \"#ff4d4f\"\n },\n {\n value: 1,\n text: 'Ngưng',\n color: 'green',\n textColor: \"#52c41a\"\n }\n];\n\nexport const IMAGE_TYPES = ['png', 'jpg', 'jpeg', 'gif', 'tif', 'tiff'];\n\nexport const CHANNEL_SOURCE = [\n { 'id': 11, 'name': 'Web' },\n { 'id': 1, 'name': 'Facebook' },\n { 'id': 2, 'name': 'Zalo' },\n { 'id': 3, 'name': 'Hotline' },\n { 'id': 4, 'name': 'Trực tiếp' },\n { 'id': 5, 'name': 'Email' },\n { 'id': 6, 'name': 'MKT0D' },\n { 'id': 7, 'name': 'Giới thiệu' },\n { 'id': 8, 'name': 'Cskh' },\n { 'id': 9, 'name': 'Partner' },\n { 'id': 10, 'name': 'Shopee' }\n];\nexport const CHANNEL_SOURCE_MAP_KEYS = mapKeys(CHANNEL_SOURCE, 'id');\n\nexport const CHANNEL_STATUS = [\n { 'id': 1, 'name': 'Chưa liên hệ' },\n { 'id': 2, 'name': 'Đã liên hệ' }\n];\nexport const CHANNEL_STATUS_MAP_KEYS = mapKeys(CHANNEL_STATUS, 'id');\n\nexport const KPI_TYPE = [\n { text: 'Doanh số', value: 'doanhso' },\n { text: 'SQL', value: 'sql' },\n { text: 'Trafic', value: 'trafic' }\n]\nexport const KPI_TYPE_MAP_KEYS = mapKeys(KPI_TYPE, 'value');\n\nexport const PAYMENT_TYPE_CONST = [\n { label: 'Tiền mặt', value: 6 },\n { label: 'Chuyển khoản MBbank', value: 1 },\n { label: 'Chuyển khoản TPbank', value: 7 },\n { label: 'COD Viettel', value: 2 },\n { label: 'Ví Momo', value: 3 },\n { label: 'Ví Vnpay', value: 4 },\n { label: 'Ncc thu hộ', value: 5 }\n];\n\nexport const PRIORITY_TYPE_TAGS = [\n { text: 'Cao', value: 'cao', color: 'red' },\n { text: 'Trung bình', value: 'trungbinh', color: 'purple' },\n { text: 'Thấp', value: 'thap', color: 'green' }\n];\nexport const PRIORITY_TYPE_TAGS_MAP_KEYS = mapKeys(\n PRIORITY_TYPE_TAGS,\n 'value',\n);\n\nexport const PRODUCT_STATUS = [\n { value: 0, text: 'Ngưng', color: 'red' },\n { value: 1, text: 'Kích hoạt', color: 'green' }\n];\n\nexport const USER_STATUS = [\n { value: 0, text: 'Ngưng', color: 'red' },\n { value: 1, text: 'Kích hoạt', color: 'green' }\n];\n\nexport const DEPARTMENT = [\n { value: 1, name: \"IT\", color: 'blue' },\n { value: 2, name: \"Marketing\", color: 'green' },\n { value: 3, name: \"Kinhdoanh\", color: 'purple' },\n { value: 4, name: \"Khác\", color: 'orange' }\n];\n\nexport const CAR_WORK_TYPE = 1;\nexport const DEPARTMENT_MAP_KEYS_VALUE = mapKeys(DEPARTMENT, 'value');\n\nexport const PROJECT_STATUS_LIST = ['Not Started', 'In Progress', 'Completed', 'On Hold'];\nexport const PROJECT_TASK_STATUS_LIST = ['To Do', 'In Progress', 'Done', 'Cancelled'];\n\nexport const MATERIAL_UNIT_TYPE = [\n { value: \"QUANTITY\", name: \"Số lượng\" },\n { value: \"DIMENSION\", name: \"Kích thước\" },\n { value: \"WEIGHT\", name: \"Trọng lượng\" }\n];\n\n\n\nexport const CAR_NOT_WORK_TYPE = 2;\nexport const REGISTER_WORK_TYPE = [\n { value: 1, text: 'Công tác có phí', color: 'green' },\n { value: 2, text: 'Công tác không phí', color: 'red' }\n];\n\nexport const HOTEL_ROOM_PAY_TYPE_COMPANY = 1;\nexport const HOTEL_ROOM_PAY_TYPE_PERSIONAL = 2;\nexport const HOTEL_ROOM_PAY_TYPE = [\n { value: HOTEL_ROOM_PAY_TYPE_COMPANY, text: 'Công ty trả/company pay', color: 'green' },\n { value: HOTEL_ROOM_PAY_TYPE_PERSIONAL, text: 'Cá nhân tạm ứng/person pay', color: 'red' }\n];\n\nexport const FLIGHT_WAY_TYPE_DEPARTURE = 1;\nexport const FLIGHT_WAY_TYPE_ARRIVAL = 2;\nexport const FLIGHT_WAY_TYPE = [\n { value: FLIGHT_WAY_TYPE_DEPARTURE, text: 'Chiều đi / Departure', color: 'green' },\n { value: FLIGHT_WAY_TYPE_ARRIVAL, text: 'Chiều về / Arrival', color: 'red' }\n];\n","\nexport * from \"./constant\"\nexport * from \"./localData\"\n\nexport const SUCCESS_CODE = 200\nexport const CHANGE_STORE = 'CHANGE_STORE'\nexport const API = { SINGIN: '/auth/login' }\n\nexport const ACTIONS = {\n ADD_USER: 'add__user',\n REMOVE_USER: 'remove__user',\n TOOGLE_COLLAPSE: 'tg_cll',\n F5_LIST: 'f5_list',\n SET_ROUTES: 'set_routes',\n}\n\nexport const INAPP_NOTIFICATION_EMITTER = 'in_app_noti'\nexport const EVENT_ACCEPT_IMAGE_TYPES = '.png, .jpeg, .jpg'\nexport const HASH_MODAL = '#modal'\nexport const HASH_MODAL_CLOSE = '#close-modal'\nexport const DEFAULT_INBOX_ID = 'inbox'\nexport const DEFAULT_PARENT_INBOX_ID = 'parent'\nexport const FORMAT_DATE_INPUT = 'DD-MM-YYYY'\nexport const FORMAT_DATE_TIME_INPUT = 'DD-MM-YYYY HH:mm'\nexport const FORMAT_TIME_INPUT = 'HH:mm'\nexport const MAX_FILE_SIZE_MB = 3\nexport const REPORT_DATE_FORMAT = 'YYYY-MM-DD'\nexport const CURRENCY_UNIT = 'VND'\nexport const EMBED_YOUTUBE_LINK = '//www.youtube.com/embed/'\nexport const DEFAULT_COLOR_VALUE = '#ffffff'\nexport const outerRadius = 143 / 2\n\n// ----------------------------------------------------------------\n// Runtime config\n// App phải gọi initCoreConfig() trước khi dùng bất kỳ API nào\n// ----------------------------------------------------------------\nconst _config = {\n GATEWAY: \"\"\n}\n\n/**\n * Khởi tạo config runtime — gọi 1 lần trong index.js của app\n * @example\n * import { initCoreConfig } from \"@flast-erp/core/configs\"\n * initCoreConfig({ GATEWAY: process.env.REACT_APP_GATEWAY })\n */\nexport function initCoreConfig(config = {}) {\n const gateway = config.GATEWAY || _config.GATEWAY\n Object.assign(_config, {\n ...config,\n GATEWAY: gateway\n })\n}\n\nexport const getGateway = () => _config.GATEWAY\nexport const getConfig = () => ({ ..._config })\n","/**************************************************************************/\n/* FuseUtils.js */\n/**************************************************************************/\n/* Tệp này là một phần của: */\n/* Open CDP */\n/* https://flast.vn */\n/**************************************************************************/\n/* Bản quyền (c) 2025 - này thuộc về các cộng tác viên Flast Solution */\n/* (xem AUTHORS.md). */\n/* Bản quyền (c) 2024-2025 Long Huu, Quang Duc, Hung Bui */\n/* */\n/* Bạn được quyền sử dụng phần mềm này miễn phí cho bất kỳ mục đích nào, */\n/* bao gồm sao chép, sửa đổi, phân phối, bán lại… */\n/* */\n/* Chỉ cần giữ nguyên thông tin bản quyền và nội dung giấy phép này trong */\n/* các bản sao. */\n/* */\n/* Đội ngũ phát triển mong rằng phần mềm được sử dụng đúng mục đích và */\n/* có trách nghiệm */\n/**************************************************************************/\n\nimport { CHANGE_STORE, HASH_MODAL, INAPP_NOTIFICATION_EMITTER } from '@/configs';\n\nclass EventEmitter {\n\n constructor() {\n this.events = {};\n }\n\n _getEventListByName(eventName) {\n if (typeof this.events[eventName] === 'undefined') {\n this.events[eventName] = new Set();\n }\n return this.events[eventName]\n }\n\n on(eventName, fn) {\n this._getEventListByName(eventName).add(fn);\n }\n\n once(eventName, fn) {\n const self = this;\n const onceFn = function (...args) {\n self.removeListener(eventName, onceFn);\n fn.apply(self, args);\n };\n this.on(eventName, onceFn);\n }\n\n emit(eventName, ...args) {\n this._getEventListByName(eventName).forEach(function (fn) {\n fn.apply(this, args);\n }.bind(this));\n }\n\n addEventListener(eventName, fn) {\n this.on(eventName, fn)\n }\n\n removeListener(eventName, fn) {\n this._getEventListByName(eventName).delete(fn);\n }\n}\n\nclass FuseUtils {\n\n static EventEmitter = EventEmitter;\n static hasPermission(authArr, enabled) {\n if (authArr === '*') {\n return true;\n } else if ((authArr || '') === '') {\n return true;\n } else if (authArr.length === 0) {\n return true;\n }\n return enabled;\n }\n\n static generateRoutesFromConfigs(configs, defaultAuth) {\n let allRoutes = [];\n configs.forEach((config) => {\n allRoutes = [\n ...allRoutes,\n ...this.setRoutes(config, defaultAuth)\n ]\n });\n return allRoutes;\n }\n\n static setRoutes(config, defaultAuth) {\n let routes = [...config.routes];\n if (config.settings || config.auth) {\n routes = routes.map((route) => {\n let auth = config.auth ? [...config.auth] : defaultAuth || null;\n auth = route.auth ? [...auth, ...route.auth] : auth;\n return {\n ...route,\n settings: { ...config.settings, ...route.settings },\n auth\n };\n });\n }\n return [...routes];\n }\n}\n\nclass AppEvent extends EventEmitter {\n normalSuccess(content, title = null) {\n this.emit(INAPP_NOTIFICATION_EMITTER, { type: 'success', content, title });\n }\n normalInfo(content, title = null) {\n this.emit(INAPP_NOTIFICATION_EMITTER, { type: 'info', content, title });\n }\n normalError(content, title = null) {\n this.emit(INAPP_NOTIFICATION_EMITTER, { type: 'error', content, title });\n }\n modal(content, type) {\n this.emit(INAPP_NOTIFICATION_EMITTER, { type, content, cate: 'modal' });\n }\n changeStore(data) {\n this.emit(CHANGE_STORE, data);\n }\n openDrawer = (route, { title, ...rest }) => this.emit(HASH_MODAL, {\n hash: route,\n title,\n data: rest\n });\n}\n\nexport const DRAWER_ROUTE = {\n CONTRACT_FORM: 'CONTRACT_FORM'\n}\n\nexport const InAppEvent = new AppEvent();\nexport default FuseUtils;\n","\r\nimport React, { useReducer, useCallback, useEffect } from 'react'\r\nimport { ACTIONS, CHANGE_STORE } from '@/configs';\r\nimport { InAppEvent } from '@/utils/FuseUtils';\r\n\r\nconst DataContext = React.createContext();\r\n\r\nconst actions = {\r\n [ACTIONS.ADD_USER]: 'user',\r\n [ACTIONS.REMOVE_USER]: 'user',\r\n [ACTIONS.TOOGLE_COLLAPSE]: 'isCollapse',\r\n [ACTIONS.F5_LIST]: 'f5List'\r\n};\r\n\r\nfunction storeReducer(state, action) {\r\n const { data, type } = action;\r\n const varible = actions[type];\r\n return !varible ? state : {\r\n ...state,\r\n [varible]: data\r\n }\r\n};\r\n\r\nexport const DataProvider = ({ children, initialRoutes = [] }) => {\r\n\r\n const [state, dispatch] = useReducer(storeReducer, {\r\n routes: initialRoutes, isCollapse: false\r\n })\r\n\r\n const value = { ...state, dispatch };\r\n const handleEventChange = useCallback(({ type, data }) => {\r\n dispatch({ type, data });\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n /* InAppEvent.emit(CHANGE_STORE, { type: 'user', data: data }); */\r\n InAppEvent.addEventListener(CHANGE_STORE, handleEventChange);\r\n return () => {\r\n InAppEvent.removeListener(CHANGE_STORE, handleEventChange);\r\n };\r\n }, [handleEventChange]);\r\n\r\n return (\r\n <DataContext.Provider value={value}>\r\n {children}\r\n </DataContext.Provider>\r\n )\r\n};\r\n\r\nexport function useStore() {\r\n const context = React.useContext(DataContext)\r\n if (context === undefined) {\r\n throw new Error('useCount must be used within a StoreProvider')\r\n }\r\n return context\r\n};\r\n\r\nexport default DataContext;\r\n"],"names":["mapKeys","id","name","text","value","color","CHANGE_STORE","ACTIONS","INAPP_NOTIFICATION_EMITTER","EventEmitter","constructor","this","events","_getEventListByName","eventName","Set","on","fn","add","once","self","onceFn","removeListener","_len","arguments","length","args","Array","_key","apply","emit","_len2","_key2","forEach","bind","addEventListener","delete","_defineProperty","hasPermission","authArr","enabled","generateRoutesFromConfigs","configs","defaultAuth","allRoutes","config","setRoutes","routes","settings","auth","map","route","_objectSpread","InAppEvent","super","_ref","title","rest","_objectWithoutProperties","_excluded","hash","data","normalSuccess","content","undefined","type","normalInfo","normalError","modal","cate","changeStore","DataContext","React","createContext","actions","ACTIONS_ADD_USER","ACTIONS_REMOVE_USER","ACTIONS_TOOGLE_COLLAPSE","ACTIONS_F5_LIST","storeReducer","state","action","varible","DataProvider","children","_ref$initialRoutes","initialRoutes","_useReducer","useReducer","isCollapse","_useReducer2","_slicedToArray","dispatch","handleEventChange","useCallback","_ref2","useEffect","_jsx","Provider","useStore","context","useContext","Error"],"mappings":"mTAqDuCA,EAbT,CAC5B,CAAEC,GAAM,GAAIC,KAAQ,OACpB,CAAED,GAAM,EAAGC,KAAQ,YACnB,CAAED,GAAM,EAAGC,KAAQ,QACnB,CAAED,GAAM,EAAGC,KAAQ,WACnB,CAAED,GAAM,EAAGC,KAAQ,aACnB,CAAED,GAAM,EAAGC,KAAQ,SACnB,CAAED,GAAM,EAAGC,KAAQ,SACnB,CAAED,GAAM,EAAGC,KAAQ,cACnB,CAAED,GAAM,EAAGC,KAAQ,QACnB,CAAED,GAAM,EAAGC,KAAQ,WACnB,CAAED,GAAM,GAAIC,KAAQ,WAEyC,MAMxBF,EAJT,CAC5B,CAAEC,GAAM,EAAGC,KAAQ,gBACnB,CAAED,GAAM,EAAGC,KAAQ,eAE0C,MAO9BF,EALT,CACtB,CAAEG,KAAM,WAAYC,MAAO,WAC3B,CAAED,KAAM,MAAOC,MAAO,OACtB,CAAED,KAAM,SAAUC,MAAO,WAEwB,SAiBRJ,EALT,CAChC,CAAEG,KAAM,MAAOC,MAAO,MAAOC,MAAO,OACpC,CAAEF,KAAM,aAAcC,MAAO,YAAaC,MAAO,UACjD,CAAEF,KAAM,OAAQC,MAAO,OAAQC,MAAO,UAItC,SAqBuCL,EARf,CACxB,CAAEI,MAAO,EAAGF,KAAM,KAAMG,MAAO,QAC/B,CAAED,MAAO,EAAGF,KAAM,YAAaG,MAAO,SACtC,CAAED,MAAO,EAAGF,KAAM,YAAaG,MAAO,UACtC,CAAED,MAAO,EAAGF,KAAM,OAAQG,MAAO,WAI0B,SCrGtD,MAAMC,EAAkB,eAGlBC,EACM,YADNA,EAEM,eAFNA,EAGM,SAHNA,EAIM,UAINC,EAA6B,mlBCO1C,MAAMC,EAEFC,WAAAA,GACIC,KAAKC,OAAS,CAAA,CAClB,CAEAC,mBAAAA,CAAoBC,GAIhB,YAHsC,IAA3BH,KAAKC,OAAOE,KACnBH,KAAKC,OAAOE,GAAa,IAAIC,KAE1BJ,KAAKC,OAAOE,EACvB,CAEAE,EAAAA,CAAGF,EAAWG,GACVN,KAAKE,oBAAoBC,GAAWI,IAAID,EAC5C,CAEAE,IAAAA,CAAKL,EAAWG,GACZ,MAAMG,EAAOT,KACPU,EAAS,WACXD,EAAKE,eAAeR,EAAWO,GAAQ,IAAA,IAAAE,EAAAC,UAAAC,OADfC,EAAI,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,GAAAJ,UAAAI,GAE5BX,EAAGY,MAAMT,EAAMM,EACnB,EACAf,KAAKK,GAAGF,EAAWO,EACvB,CAEAS,IAAAA,CAAKhB,GAAoB,IAAA,IAAAiB,EAAAP,UAAAC,OAANC,MAAIC,MAAAI,EAAA,EAAAA,OAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJN,EAAIM,EAAA,GAAAR,UAAAQ,GACnBrB,KAAKE,oBAAoBC,GAAWmB,QAAQ,SAAUhB,GAClDA,EAAGY,MAAMlB,KAAMe,EACnB,EAAEQ,KAAKvB,MACX,CAEAwB,gBAAAA,CAAiBrB,EAAWG,GACxBN,KAAKK,GAAGF,EAAWG,EACvB,CAEAK,cAAAA,CAAeR,EAAWG,GACtBN,KAAKE,oBAAoBC,GAAWsB,OAAOnB,EAC/C,EA2CHoB,EAxCD,MAGI,oBAAOC,CAAcC,EAASC,GAC1B,MAAgB,MAAZD,IAE2B,MAAnBA,GAAW,MAEO,IAAnBA,EAAQd,QAGZe,GACX,CAEA,gCAAOC,CAA0BC,EAASC,GACtC,IAAIC,EAAY,GAOhB,OANAF,EAAQT,QAASY,IACbD,EAAY,IACLA,KACAjC,KAAKmC,UAAUD,EAAQF,MAG3BC,CACX,CAEA,gBAAOE,CAAUD,EAAQF,GACrB,IAAII,EAAS,IAAIF,EAAOE,QAYxB,OAXIF,EAAOG,UAAYH,EAAOI,QAC1BF,EAASA,EAAOG,IAAKC,IACjB,IAAIF,EAAOJ,EAAOI,KAAO,IAAIJ,EAAOI,MAAQN,GAAe,KAE3D,OADAM,EAAOE,EAAMF,KAAO,IAAIA,KAASE,EAAMF,MAAQA,EAC/CG,EAAAA,EAAA,CAAA,EACOD,GAAK,CAAA,EAAA,CACRH,SAAQI,EAAAA,EAAA,CAAA,EAAOP,EAAOG,UAAaG,EAAMH,UACzCC,YAIL,IAAIF,EACf,GAvCW,eAEWtC,GAmEnB,MAAM4C,EAAa,IA3B1B,cAAuB5C,EAAaC,WAAAA,GAAA4C,SAAA9B,WAAAa,EAAA1B,KAAA,aAgBnB,CAACwC,EAAKI,KAAA,IAAIC,EAAKD,EAALC,MAAUC,EAAIC,EAAAH,EAAAI,GAAA,OAAOhD,KAAKmB,KDxGX,SCwG4B,CAC9D8B,KAAMT,EACNK,QACAK,KAAMJ,KACR,CAnBFK,aAAAA,CAAcC,GAAuB,IAAdP,EAAKhC,UAAAC,OAAA,QAAAuC,IAAAxC,UAAA,GAAAA,UAAA,GAAG,KAC3Bb,KAAKmB,KAAKtB,EAA4B,CAAEyD,KAAM,UAAWF,UAASP,SACtE,CACAU,UAAAA,CAAWH,GAAuB,IAAdP,EAAKhC,UAAAC,OAAA,QAAAuC,IAAAxC,UAAA,GAAAA,UAAA,GAAG,KACxBb,KAAKmB,KAAKtB,EAA4B,CAAEyD,KAAM,OAAQF,UAASP,SACnE,CACAW,WAAAA,CAAYJ,GAAuB,IAAdP,EAAKhC,UAAAC,OAAA,QAAAuC,IAAAxC,UAAA,GAAAA,UAAA,GAAG,KACzBb,KAAKmB,KAAKtB,EAA4B,CAAEyD,KAAM,QAASF,UAASP,SACpE,CACAY,KAAAA,CAAML,EAASE,GACXtD,KAAKmB,KAAKtB,EAA4B,CAAEyD,OAAMF,UAASM,KAAM,SACjE,CACAC,WAAAA,CAAYT,GACRlD,KAAKmB,KAAKxB,EAAcuD,EAC5B,4jBCpHJ,MAAMU,EAAcC,EAAMC,gBAEpBC,EAAU,CACdC,CAACpE,GAAmB,OACpBqE,CAACrE,GAAsB,OACvBsE,CAACtE,GAA0B,aAC3BuE,CAACvE,GAAkB,UAGrB,SAASwE,EAAaC,EAAOC,GAC3B,MAAQpB,EAAeoB,EAAfpB,KAAMI,EAASgB,EAAThB,KACRiB,EAAUR,EAAQT,GACxB,OAAQiB,EAAe9B,EAAAA,EAAA,GAClB4B,GAAK,GAAA,CACRE,CAACA,GAAUrB,IAFKmB,CAIpB,CAEO,MAAMG,EAAe5B,IAAsC,IAAnC6B,EAAQ7B,EAAR6B,SAAQC,EAAA9B,EAAE+B,cAEvC,MAAAC,EAA0BC,EAAWT,EAAc,CACjDhC,gBAHkDsC,EAAG,GAAEA,EAGhCI,YAAY,IACnCC,EAAAC,EAAAJ,EAAA,GAFKP,EAAKU,EAAA,GAAEE,EAAQF,EAAA,GAIhBtF,EAAKgD,EAAAA,KAAQ4B,GAAK,GAAA,CAAEY,aACpBC,EAAoBC,EAAYC,IAAoB,IAAjB9B,EAAI8B,EAAJ9B,KAAMJ,EAAIkC,EAAJlC,KAC7C+B,EAAS,CAAE3B,OAAMJ,UAChB,CAAC+B,IAUJ,OARAI,EAAU,KAER3C,EAAWlB,iBAAiB7B,EAAcuF,GACnC,KACLxC,EAAW/B,eAAehB,EAAcuF,KAEzC,CAACA,IAGFI,EAAC1B,EAAY2B,SAAQ,CAAC9F,MAAOA,EAAMgF,SAChCA,KAKA,SAASe,IACd,MAAMC,EAAU5B,EAAM6B,WAAW9B,GACjC,QAAgBP,IAAZoC,EACF,MAAM,IAAIE,MAAM,gDAElB,OAAOF,CACT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/defineProperty"),r=require("react"),n=require("lodash/mapKeys"),i=require("@babel/runtime/helpers/objectWithoutProperties"),o=require("react/jsx-runtime");n([{id:11,name:"Web"},{id:1,name:"Facebook"},{id:2,name:"Zalo"},{id:3,name:"Hotline"},{id:4,name:"Trực tiếp"},{id:5,name:"Email"},{id:6,name:"MKT0D"},{id:7,name:"Giới thiệu"},{id:8,name:"Cskh"},{id:9,name:"Partner"},{id:10,name:"Shopee"}],"id");n([{id:1,name:"Chưa liên hệ"},{id:2,name:"Đã liên hệ"}],"id");n([{text:"Doanh số",value:"doanhso"},{text:"SQL",value:"sql"},{text:"Trafic",value:"trafic"}],"value");n([{text:"Cao",value:"cao",color:"red"},{text:"Trung bình",value:"trungbinh",color:"purple"},{text:"Thấp",value:"thap",color:"green"}],"value");n([{value:1,name:"IT",color:"blue"},{value:2,name:"Marketing",color:"green"},{value:3,name:"Kinhdoanh",color:"purple"},{value:4,name:"Khác",color:"orange"}],"value");const s="CHANGE_STORE",a="add__user",l="remove__user",c="tg_cll",u="f5_list",h="in_app_noti",p=["title"];function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function m(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?d(Object(n),!0).forEach(function(r){t(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class v{constructor(){this.events={}}_getEventListByName(e){return void 0===this.events[e]&&(this.events[e]=new Set),this.events[e]}on(e,t){this._getEventListByName(e).add(t)}once(e,t){const r=this,n=function(){r.removeListener(e,n);for(var i=arguments.length,o=new Array(i),s=0;s<i;s++)o[s]=arguments[s];t.apply(r,o)};this.on(e,n)}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];this._getEventListByName(e).forEach(function(e){e.apply(this,r)}.bind(this))}addEventListener(e,t){this.on(e,t)}removeListener(e,t){this._getEventListByName(e).delete(t)}}t(class{static hasPermission(e,t){return"*"===e||(""===(e||"")||(0===e.length||t))}static generateRoutesFromConfigs(e,t){let r=[];return e.forEach(e=>{r=[...r,...this.setRoutes(e,t)]}),r}static setRoutes(e,t){let r=[...e.routes];return(e.settings||e.auth)&&(r=r.map(r=>{let n=e.auth?[...e.auth]:t||null;return n=r.auth?[...n,...r.auth]:n,m(m({},r),{},{settings:m(m({},e.settings),r.settings),auth:n})})),[...r]}},"EventEmitter",v);const f=new class extends v{constructor(){super(...arguments),t(this,"openDrawer",(e,t)=>{let r=t.title,n=i(t,p);return this.emit("#modal",{hash:e,title:r,data:n})})}normalSuccess(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.emit(h,{type:"success",content:e,title:t})}normalInfo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.emit(h,{type:"info",content:e,title:t})}normalError(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.emit(h,{type:"error",content:e,title:t})}modal(e,t){this.emit(h,{type:t,content:e,cate:"modal"})}changeStore(e){this.emit(s,e)}};function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function y(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?b(Object(n),!0).forEach(function(r){t(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const g=r.createContext(),O={[a]:"user",[l]:"user",[c]:"isCollapse",[u]:"f5List"};function j(e,t){const r=t.data,n=t.type,i=O[n];return i?y(y({},e),{},{[i]:r}):e}exports.DataProvider=t=>{let n=t.children,i=t.initialRoutes,a=void 0===i?[]:i;const l=r.useReducer(j,{routes:a,isCollapse:!1}),c=e(l,2),u=c[0],h=c[1],p=y(y({},u),{},{dispatch:h}),d=r.useCallback(e=>{let t=e.type,r=e.data;h({type:t,data:r})},[h]);return r.useEffect(()=>(f.addEventListener(s,d),()=>{f.removeListener(s,d)}),[d]),o.jsx(g.Provider,{value:p,children:n})},exports.default=g,exports.useStore=function(){const e=r.useContext(g);if(void 0===e)throw new Error("useCount must be used within a StoreProvider");return e};
|
|
2
|
+
//# sourceMappingURL=DataContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataContext.js","sources":["../src/configs/localData.js","../src/configs/index.js","../src/utils/FuseUtils.js","../src/DataContext.js"],"sourcesContent":["/**************************************************************************/\n/* localData.js */\n/**************************************************************************/\n/* Tệp này là một phần của: */\n/* Open CDP */\n/* https://flast.vn */\n/**************************************************************************/\n/* Bản quyền (c) 2025 - này thuộc về các cộng tác viên Flast Solution */\n/* (xem AUTHORS.md). */\n/* Bản quyền (c) 2024-2025 Long Huu, Quang Duc, Hung Bui */\n/* */\n/* Bạn được quyền sử dụng phần mềm này miễn phí cho bất kỳ mục đích nào, */\n/* bao gồm sao chép, sửa đổi, phân phối, bán lại… */\n/* */\n/* Chỉ cần giữ nguyên thông tin bản quyền và nội dung giấy phép này trong */\n/* các bản sao. */\n/* */\n/* Đội ngũ phát triển mong rằng phần mềm được sử dụng đúng mục đích và */\n/* có trách nghiệm */\n/**************************************************************************/\n\nimport mapKeys from 'lodash/mapKeys';\n\nexport const ACTIVE_TYPES = [\n {\n value: 2,\n text: 'Kích hoạt',\n color: 'red',\n textColor: \"#ff4d4f\"\n },\n {\n value: 1,\n text: 'Ngưng',\n color: 'green',\n textColor: \"#52c41a\"\n }\n];\n\nexport const IMAGE_TYPES = ['png', 'jpg', 'jpeg', 'gif', 'tif', 'tiff'];\n\nexport const CHANNEL_SOURCE = [\n { 'id': 11, 'name': 'Web' },\n { 'id': 1, 'name': 'Facebook' },\n { 'id': 2, 'name': 'Zalo' },\n { 'id': 3, 'name': 'Hotline' },\n { 'id': 4, 'name': 'Trực tiếp' },\n { 'id': 5, 'name': 'Email' },\n { 'id': 6, 'name': 'MKT0D' },\n { 'id': 7, 'name': 'Giới thiệu' },\n { 'id': 8, 'name': 'Cskh' },\n { 'id': 9, 'name': 'Partner' },\n { 'id': 10, 'name': 'Shopee' }\n];\nexport const CHANNEL_SOURCE_MAP_KEYS = mapKeys(CHANNEL_SOURCE, 'id');\n\nexport const CHANNEL_STATUS = [\n { 'id': 1, 'name': 'Chưa liên hệ' },\n { 'id': 2, 'name': 'Đã liên hệ' }\n];\nexport const CHANNEL_STATUS_MAP_KEYS = mapKeys(CHANNEL_STATUS, 'id');\n\nexport const KPI_TYPE = [\n { text: 'Doanh số', value: 'doanhso' },\n { text: 'SQL', value: 'sql' },\n { text: 'Trafic', value: 'trafic' }\n]\nexport const KPI_TYPE_MAP_KEYS = mapKeys(KPI_TYPE, 'value');\n\nexport const PAYMENT_TYPE_CONST = [\n { label: 'Tiền mặt', value: 6 },\n { label: 'Chuyển khoản MBbank', value: 1 },\n { label: 'Chuyển khoản TPbank', value: 7 },\n { label: 'COD Viettel', value: 2 },\n { label: 'Ví Momo', value: 3 },\n { label: 'Ví Vnpay', value: 4 },\n { label: 'Ncc thu hộ', value: 5 }\n];\n\nexport const PRIORITY_TYPE_TAGS = [\n { text: 'Cao', value: 'cao', color: 'red' },\n { text: 'Trung bình', value: 'trungbinh', color: 'purple' },\n { text: 'Thấp', value: 'thap', color: 'green' }\n];\nexport const PRIORITY_TYPE_TAGS_MAP_KEYS = mapKeys(\n PRIORITY_TYPE_TAGS,\n 'value',\n);\n\nexport const PRODUCT_STATUS = [\n { value: 0, text: 'Ngưng', color: 'red' },\n { value: 1, text: 'Kích hoạt', color: 'green' }\n];\n\nexport const USER_STATUS = [\n { value: 0, text: 'Ngưng', color: 'red' },\n { value: 1, text: 'Kích hoạt', color: 'green' }\n];\n\nexport const DEPARTMENT = [\n { value: 1, name: \"IT\", color: 'blue' },\n { value: 2, name: \"Marketing\", color: 'green' },\n { value: 3, name: \"Kinhdoanh\", color: 'purple' },\n { value: 4, name: \"Khác\", color: 'orange' }\n];\n\nexport const CAR_WORK_TYPE = 1;\nexport const DEPARTMENT_MAP_KEYS_VALUE = mapKeys(DEPARTMENT, 'value');\n\nexport const PROJECT_STATUS_LIST = ['Not Started', 'In Progress', 'Completed', 'On Hold'];\nexport const PROJECT_TASK_STATUS_LIST = ['To Do', 'In Progress', 'Done', 'Cancelled'];\n\nexport const MATERIAL_UNIT_TYPE = [\n { value: \"QUANTITY\", name: \"Số lượng\" },\n { value: \"DIMENSION\", name: \"Kích thước\" },\n { value: \"WEIGHT\", name: \"Trọng lượng\" }\n];\n\n\n\nexport const CAR_NOT_WORK_TYPE = 2;\nexport const REGISTER_WORK_TYPE = [\n { value: 1, text: 'Công tác có phí', color: 'green' },\n { value: 2, text: 'Công tác không phí', color: 'red' }\n];\n\nexport const HOTEL_ROOM_PAY_TYPE_COMPANY = 1;\nexport const HOTEL_ROOM_PAY_TYPE_PERSIONAL = 2;\nexport const HOTEL_ROOM_PAY_TYPE = [\n { value: HOTEL_ROOM_PAY_TYPE_COMPANY, text: 'Công ty trả/company pay', color: 'green' },\n { value: HOTEL_ROOM_PAY_TYPE_PERSIONAL, text: 'Cá nhân tạm ứng/person pay', color: 'red' }\n];\n\nexport const FLIGHT_WAY_TYPE_DEPARTURE = 1;\nexport const FLIGHT_WAY_TYPE_ARRIVAL = 2;\nexport const FLIGHT_WAY_TYPE = [\n { value: FLIGHT_WAY_TYPE_DEPARTURE, text: 'Chiều đi / Departure', color: 'green' },\n { value: FLIGHT_WAY_TYPE_ARRIVAL, text: 'Chiều về / Arrival', color: 'red' }\n];\n","\nexport * from \"./constant\"\nexport * from \"./localData\"\n\nexport const SUCCESS_CODE = 200\nexport const CHANGE_STORE = 'CHANGE_STORE'\nexport const API = { SINGIN: '/auth/login' }\n\nexport const ACTIONS = {\n ADD_USER: 'add__user',\n REMOVE_USER: 'remove__user',\n TOOGLE_COLLAPSE: 'tg_cll',\n F5_LIST: 'f5_list',\n SET_ROUTES: 'set_routes',\n}\n\nexport const INAPP_NOTIFICATION_EMITTER = 'in_app_noti'\nexport const EVENT_ACCEPT_IMAGE_TYPES = '.png, .jpeg, .jpg'\nexport const HASH_MODAL = '#modal'\nexport const HASH_MODAL_CLOSE = '#close-modal'\nexport const DEFAULT_INBOX_ID = 'inbox'\nexport const DEFAULT_PARENT_INBOX_ID = 'parent'\nexport const FORMAT_DATE_INPUT = 'DD-MM-YYYY'\nexport const FORMAT_DATE_TIME_INPUT = 'DD-MM-YYYY HH:mm'\nexport const FORMAT_TIME_INPUT = 'HH:mm'\nexport const MAX_FILE_SIZE_MB = 3\nexport const REPORT_DATE_FORMAT = 'YYYY-MM-DD'\nexport const CURRENCY_UNIT = 'VND'\nexport const EMBED_YOUTUBE_LINK = '//www.youtube.com/embed/'\nexport const DEFAULT_COLOR_VALUE = '#ffffff'\nexport const outerRadius = 143 / 2\n\n// ----------------------------------------------------------------\n// Runtime config\n// App phải gọi initCoreConfig() trước khi dùng bất kỳ API nào\n// ----------------------------------------------------------------\nconst _config = {\n GATEWAY: \"\"\n}\n\n/**\n * Khởi tạo config runtime — gọi 1 lần trong index.js của app\n * @example\n * import { initCoreConfig } from \"@flast-erp/core/configs\"\n * initCoreConfig({ GATEWAY: process.env.REACT_APP_GATEWAY })\n */\nexport function initCoreConfig(config = {}) {\n const gateway = config.GATEWAY || _config.GATEWAY\n Object.assign(_config, {\n ...config,\n GATEWAY: gateway\n })\n}\n\nexport const getGateway = () => _config.GATEWAY\nexport const getConfig = () => ({ ..._config })\n","/**************************************************************************/\n/* FuseUtils.js */\n/**************************************************************************/\n/* Tệp này là một phần của: */\n/* Open CDP */\n/* https://flast.vn */\n/**************************************************************************/\n/* Bản quyền (c) 2025 - này thuộc về các cộng tác viên Flast Solution */\n/* (xem AUTHORS.md). */\n/* Bản quyền (c) 2024-2025 Long Huu, Quang Duc, Hung Bui */\n/* */\n/* Bạn được quyền sử dụng phần mềm này miễn phí cho bất kỳ mục đích nào, */\n/* bao gồm sao chép, sửa đổi, phân phối, bán lại… */\n/* */\n/* Chỉ cần giữ nguyên thông tin bản quyền và nội dung giấy phép này trong */\n/* các bản sao. */\n/* */\n/* Đội ngũ phát triển mong rằng phần mềm được sử dụng đúng mục đích và */\n/* có trách nghiệm */\n/**************************************************************************/\n\nimport { CHANGE_STORE, HASH_MODAL, INAPP_NOTIFICATION_EMITTER } from '@/configs';\n\nclass EventEmitter {\n\n constructor() {\n this.events = {};\n }\n\n _getEventListByName(eventName) {\n if (typeof this.events[eventName] === 'undefined') {\n this.events[eventName] = new Set();\n }\n return this.events[eventName]\n }\n\n on(eventName, fn) {\n this._getEventListByName(eventName).add(fn);\n }\n\n once(eventName, fn) {\n const self = this;\n const onceFn = function (...args) {\n self.removeListener(eventName, onceFn);\n fn.apply(self, args);\n };\n this.on(eventName, onceFn);\n }\n\n emit(eventName, ...args) {\n this._getEventListByName(eventName).forEach(function (fn) {\n fn.apply(this, args);\n }.bind(this));\n }\n\n addEventListener(eventName, fn) {\n this.on(eventName, fn)\n }\n\n removeListener(eventName, fn) {\n this._getEventListByName(eventName).delete(fn);\n }\n}\n\nclass FuseUtils {\n\n static EventEmitter = EventEmitter;\n static hasPermission(authArr, enabled) {\n if (authArr === '*') {\n return true;\n } else if ((authArr || '') === '') {\n return true;\n } else if (authArr.length === 0) {\n return true;\n }\n return enabled;\n }\n\n static generateRoutesFromConfigs(configs, defaultAuth) {\n let allRoutes = [];\n configs.forEach((config) => {\n allRoutes = [\n ...allRoutes,\n ...this.setRoutes(config, defaultAuth)\n ]\n });\n return allRoutes;\n }\n\n static setRoutes(config, defaultAuth) {\n let routes = [...config.routes];\n if (config.settings || config.auth) {\n routes = routes.map((route) => {\n let auth = config.auth ? [...config.auth] : defaultAuth || null;\n auth = route.auth ? [...auth, ...route.auth] : auth;\n return {\n ...route,\n settings: { ...config.settings, ...route.settings },\n auth\n };\n });\n }\n return [...routes];\n }\n}\n\nclass AppEvent extends EventEmitter {\n normalSuccess(content, title = null) {\n this.emit(INAPP_NOTIFICATION_EMITTER, { type: 'success', content, title });\n }\n normalInfo(content, title = null) {\n this.emit(INAPP_NOTIFICATION_EMITTER, { type: 'info', content, title });\n }\n normalError(content, title = null) {\n this.emit(INAPP_NOTIFICATION_EMITTER, { type: 'error', content, title });\n }\n modal(content, type) {\n this.emit(INAPP_NOTIFICATION_EMITTER, { type, content, cate: 'modal' });\n }\n changeStore(data) {\n this.emit(CHANGE_STORE, data);\n }\n openDrawer = (route, { title, ...rest }) => this.emit(HASH_MODAL, {\n hash: route,\n title,\n data: rest\n });\n}\n\nexport const DRAWER_ROUTE = {\n CONTRACT_FORM: 'CONTRACT_FORM'\n}\n\nexport const InAppEvent = new AppEvent();\nexport default FuseUtils;\n","\r\nimport React, { useReducer, useCallback, useEffect } from 'react'\r\nimport { ACTIONS, CHANGE_STORE } from '@/configs';\r\nimport { InAppEvent } from '@/utils/FuseUtils';\r\n\r\nconst DataContext = React.createContext();\r\n\r\nconst actions = {\r\n [ACTIONS.ADD_USER]: 'user',\r\n [ACTIONS.REMOVE_USER]: 'user',\r\n [ACTIONS.TOOGLE_COLLAPSE]: 'isCollapse',\r\n [ACTIONS.F5_LIST]: 'f5List'\r\n};\r\n\r\nfunction storeReducer(state, action) {\r\n const { data, type } = action;\r\n const varible = actions[type];\r\n return !varible ? state : {\r\n ...state,\r\n [varible]: data\r\n }\r\n};\r\n\r\nexport const DataProvider = ({ children, initialRoutes = [] }) => {\r\n\r\n const [state, dispatch] = useReducer(storeReducer, {\r\n routes: initialRoutes, isCollapse: false\r\n })\r\n\r\n const value = { ...state, dispatch };\r\n const handleEventChange = useCallback(({ type, data }) => {\r\n dispatch({ type, data });\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n /* InAppEvent.emit(CHANGE_STORE, { type: 'user', data: data }); */\r\n InAppEvent.addEventListener(CHANGE_STORE, handleEventChange);\r\n return () => {\r\n InAppEvent.removeListener(CHANGE_STORE, handleEventChange);\r\n };\r\n }, [handleEventChange]);\r\n\r\n return (\r\n <DataContext.Provider value={value}>\r\n {children}\r\n </DataContext.Provider>\r\n )\r\n};\r\n\r\nexport function useStore() {\r\n const context = React.useContext(DataContext)\r\n if (context === undefined) {\r\n throw new Error('useCount must be used within a StoreProvider')\r\n }\r\n return context\r\n};\r\n\r\nexport default DataContext;\r\n"],"names":["mapKeys","id","name","text","value","color","CHANGE_STORE","ACTIONS","INAPP_NOTIFICATION_EMITTER","EventEmitter","constructor","this","events","_getEventListByName","eventName","Set","on","fn","add","once","self","onceFn","removeListener","_len","arguments","length","args","Array","_key","apply","emit","_len2","_key2","forEach","bind","addEventListener","delete","_defineProperty","hasPermission","authArr","enabled","generateRoutesFromConfigs","configs","defaultAuth","allRoutes","config","setRoutes","routes","settings","auth","map","route","_objectSpread","InAppEvent","super","_ref","title","rest","_objectWithoutProperties","_excluded","hash","data","normalSuccess","content","undefined","type","normalInfo","normalError","modal","cate","changeStore","DataContext","React","createContext","actions","ACTIONS_ADD_USER","ACTIONS_REMOVE_USER","ACTIONS_TOOGLE_COLLAPSE","ACTIONS_F5_LIST","storeReducer","state","action","varible","children","_ref$initialRoutes","initialRoutes","_useReducer","useReducer","isCollapse","_useReducer2","_slicedToArray","dispatch","handleEventChange","useCallback","_ref2","useEffect","_jsx","Provider","context","useContext","Error"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useTranslation as e}from"react-i18next";import{Breadcrumb as t,Button as r,Drawer as n,Space as o,Spin as i,Tooltip as a,Pagination as l,Table as c,Form as s,Row as p,Col as u,List as d,Image as m,Typography as f,Avatar as h,Tag as b,Popconfirm as O,Upload as y,Input as g,Checkbox as v,message as P,InputNumber as j,Select as w,Divider as D,DatePicker as x,TimePicker as S,Radio as C,AutoComplete as k,Cascader as E}from"antd";import{Link as q,useLocation as I,useNavigate as F}from"react-router-dom";import T from"@babel/runtime/helpers/taggedTemplateLiteral";import V from"styled-components";import{jsx as N,jsxs as A,Fragment as L}from"react/jsx-runtime";import R from"@babel/runtime/helpers/defineProperty";import _ from"@babel/runtime/helpers/objectWithoutProperties";import G,{useCallback as U,createContext as K,useEffect as z,useState as Q,useContext as M,useMemo as B,forwardRef as W,useImperativeHandle as H,useRef as Y}from"react";import{CloseSquareOutlined as X,PlusOutlined as J,SyncOutlined as $,UserOutlined as Z,DeleteOutlined as ee,UploadOutlined as te,CloseCircleFilled as re}from"@ant-design/icons";import ne from"i18next";import oe from"@babel/runtime/helpers/slicedToArray";import{pickBy as ie,identity as ae,isEmpty as le,isObject as ce,get as se,map as pe,isArray as ue}from"lodash";import de from"lodash/mapKeys";import me from"axios";import"moment";import fe from"dayjs";import{Waypoint as he}from"react-waypoint";import be from"lodash/debounce";import Oe from"lodash/get";import ye from"lodash/unionBy";import ge from"jodit-react";import ve from"lodash/isEmpty";var Pe;const je=V.div(Pe||(Pe=T(["\n font-weight: 600;\n font-size: 16px;\n line-height: 22px;\n margin-bottom: 20px;\n\n .breadcrumb-item {\n &__name {\n font-weight: 600;\n font-size: 16px;\n line-height: 22px;\n }\n &__link {\n cursor: pointer;\n &:hover {\n color: "," !important;\n }\n }\n }\n\n .antd-breadcrumb > span:last-child {\n color: "," !important;\n }\n"])),e=>e.theme.palette.primary,e=>e.theme.palette.primary),we=r=>{let n=r.data;const o=e().t;return N(je,{children:N(t,{separator:">",children:n.map((e,r)=>N(t.Item,{children:e.path?N(q,{to:e.path,children:N("span",{className:"breadcrumb-item__name breadcrumb-item__link",children:o(e.title)})}):N("span",{className:"breadcrumb-item__name",children:e.title?o(e.title):o("error.waitingUpdate")})},String(r)))})})};var De;we.propTypes={};const xe=V.div(De||(De=T(["\n button[disabled] > i {\n color: ",";\n }\n .normal-action-wrapper {\n position: relative;\n }\n .action-feature-icon {\n position: absolute;\n top: -12px;\n right: -10px;\n font-size: 20px;\n color: ",";\n }\n"])),e=>e.theme.background.disabled,e=>e.theme.subscriptions.colorIcon),Se=["title","color","variant","inRigth","style"];function Ce(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ke(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ce(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ce(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Ee=t=>{let n=t.title,o=void 0===n?"Hoàn thành":n,i=t.color,a=void 0===i?"danger":i,l=t.variant,c=void 0===l?"solid":l,s=t.inRigth,p=void 0===s||s,u=t.style,d=_(t,Se);const m=e().t;return N(xe,{className:"custom-button",style:ke(ke({display:"flex"},p?{justifyContent:"end"}:{}),u||{}),children:N(r,ke(ke({color:a,variant:c},d),{},{children:m(o)}))})};var qe,Ie;const Fe=V(n)(qe||(qe=T(["\n .ant-drawer-body {\n height: 100%;\n padding: 0 !important;\n overflow: hidden;\n }\n \n .drawer-content-wrapper {\n height: 100%;\n }\n\n .drawer-content {\n height: calc(100vh - 50px);\n padding: 16px 24px;\n overflow-y: auto;\n overflow-x: hidden;\n\n ::-webkit-scrollbar {\n width: 6px;\n }\n\n /* Track */\n ::-webkit-scrollbar-track {\n border-radius: 10px;\n }\n\n /* Handle */\n ::-webkit-scrollbar-thumb {\n background: ",";\n border-radius: 10px;\n }\n }\n\n .ant-time-picker-input,\n textarea,\n .ant-input,\n .ant-select-selection,\n .ant-cascader-picker,\n .ant-input-number,\n .ant-select-dropdown-menu,\n .ant-select-dropdown,\n .ant-select-dropdown-menu-vertical,\n .ant-picker,\n .ant-input-affix-wrapper {\n background: ",";\n border: 1px solid ",";\n }\n\n .ant-select-selector {\n background: "," !important;\n border: 1px solid "," !important;\n }\n\n .ant-calendar-picker,\n .ant-select,\n .ant-input-number,\n .ant-picker {\n width: 100%;\n }\n\n .ant-form-item-label {\n label {\n font-weight: bold;\n &:after {\n content: '';\n }\n }\n }\n"])),e=>e.theme.scrollbar.thumb,e=>e.theme.background.input,e=>e.theme.background.input,e=>e.theme.background.input,e=>e.theme.background.input),Te=V.div(Ie||(Ie=T(["\n height: 60px;\n background: ",";\n color: ",";\n padding: 24px;\n\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 20px;\n font-weight: bold;\n\n .drawer-header-title {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n"])),e=>e.theme.palette.primary,e=>e.theme.text.primaryButtonTextColor),Ve=t=>{let r=t.title,n=t.onClose;const o=e().t;return A(Te,{children:[N("div",{className:"drawer-header-title",children:o(r)}),N(X,{onClick:n,className:"drawer-header-icon",type:"close-square"})]})},Ne=e=>{let t=e.title,r=e.onClose,n=e.children;return A("div",{className:"drawer-content-wrapper",children:[t&&N(Ve,{onClose:r,title:t}),N("div",{id:"drawer-content",className:"drawer-content",children:n})]})},Ae=["width","children","onClose","title"];function Le(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Le(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Le(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const _e=e=>{let t=e.width,r=void 0===t?600:t,n=e.children,o=e.onClose;e.title;let i=_(e,Ae);return N(Fe,Re(Re({width:r,onClose:o,styles:{wrapper:{maxWidth:"100vw"}}},i),{},{destroyOnClose:!0,closable:!1,footer:null,children:n}))},Ge=["children","onClose","title"];function Ue(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ke(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ue(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ue(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const ze=e=>{let t=e.children,r=e.onClose,n=e.title,o=_(e,Ge);return N(_e,Ke(Ke({onClose:r,title:n},o),{},{children:N(Ne,Ke(Ke({title:n,onClose:r},o),{},{children:t}))}))},Qe=()=>N("div",{style:{display:"flex",flex:1,justifyContent:"center",alignItems:"center"},children:A(o,{size:"middle",children:[N(i,{size:"small"}),N(i,{}),N(i,{size:"large"})]})}),Me=e=>{let t=e.title,r=void 0===t?"button.create":t,n=e.handleClick;return N(Ee,{title:r,onClick:n,icon:N(J,{}),type:"primary"})};function Be(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function We(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Be(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Be(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const He=e=>{let t=e.title,n=void 0===t?"":t,o=e.disabled,i=e.buttonProps,l=e.handleClick,c=e.icon,s=void 0===c?N($,{}):c;return N("div",{children:N(a,{title:ne.t(n),children:N(r,We(We({},i),{},{disabled:(null==i?void 0:i.disabled)||o,icon:s,onClick:l}))})})};var Ye;const Xe=V.div(Ye||(Ye=T(["\n .ant-btn::not(.ant-btn-dangerous) {\n color: ",";\n }\n\n .ant-btn {\n border: 0px !important;\n height: 32px !important;\n width: 32px;\n padding: 0 !important;\n background: transparent !important;\n box-shadow: none !important;\n &:hover {\n background: transparent;\n transform: scale(1.1, 1.1);\n color: "," !important;\n }\n &:focus {\n background: transparent;\n transform: scale(1.1, 1.1);\n color: "," !important;\n }\n .anticon {\n font-size: 20px;\n }\n &[disabled] > i {\n color: ",";\n }\n }\n\n .normal-action-wrapper {\n position: relative;\n }\n\n .action-feature-icon {\n position: absolute;\n top: -5px;\n right: -7px;\n font-size: 18px;\n color: ",";\n }\n"])),e=>e.theme.text.primary,e=>e.theme.palette.primary,e=>e.theme.palette.primary,e=>e.theme.background.disabled,e=>e.theme.subscriptions.colorIcon),Je=e=>{let t=e.handleClick,r=e.icon,n=e.title,o=e.buttonProps,i=e.className;return N(Xe,{className:"custom-button-icon-wrapper ".concat(i||""),children:N(He,{title:n,handleClick:t,buttonProps:o,icon:r})})},$e=e=>{const t=ie(e,ae);return delete t.resource,new URLSearchParams(t).toString()},Ze=(e,t)=>{var r;return!!t&&-1!==(null==e||null===(r=e.toLowerCase())||void 0===r?void 0:r.search(null==t?void 0:t.toLowerCase()))},et=e=>"".concat(e).replace(/\B(?=(\d{3})+(?!\d))/g,".").replace(/\.(?=\d{0,2}$)/g,","),tt=e=>e?e.replace(/\$\s?|(\.*)/g,"").replace(/(,{1})/g,"."):"";var rt;const nt=V.div(rt||(rt=T(["\n .list-layout {\n &__pagination-top {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n gap: 16px 0px;\n }\n &__pagination-bottom {\n margin-top: 20px;\n display: flex;\n justify-content: flex-end;\n }\n &__group-action {\n flex: 1;\n > .ant-space {\n justify-content: flex-end;\n display: flex;\n }\n }\n }\n\n .ant-table-thead > tr:first-child > th {\n /* background: ","; */\n font-weight: 600;\n text-transform: uppercase;\n }\n"])),e=>e.theme.table.headerBackground);de([{id:11,name:"Web"},{id:1,name:"Facebook"},{id:2,name:"Zalo"},{id:3,name:"Hotline"},{id:4,name:"Trực tiếp"},{id:5,name:"Email"},{id:6,name:"MKT0D"},{id:7,name:"Giới thiệu"},{id:8,name:"Cskh"},{id:9,name:"Partner"},{id:10,name:"Shopee"}],"id");de([{id:1,name:"Chưa liên hệ"},{id:2,name:"Đã liên hệ"}],"id");de([{text:"Doanh số",value:"doanhso"},{text:"SQL",value:"sql"},{text:"Trafic",value:"trafic"}],"value");de([{text:"Cao",value:"cao",color:"red"},{text:"Trung bình",value:"trungbinh",color:"purple"},{text:"Thấp",value:"thap",color:"green"}],"value");de([{value:1,name:"IT",color:"blue"},{value:2,name:"Marketing",color:"green"},{value:3,name:"Kinhdoanh",color:"purple"},{value:4,name:"Khác",color:"orange"}],"value");const ot=200,it="CHANGE_STORE",at="add__user",lt="in_app_noti",ct="#modal",st="",pt=()=>st,ut=["columns","data","xScroll","pagination","rowKey","hasCreate","handleChangeQueryParams","resource","queryParams","totalItems","setTableFilter","customClickCreate","customActions","expandable"];function dt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function mt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?dt(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):dt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const ft=e=>{let t=e.columns,r=e.data,n=e.xScroll,i=e.pagination,a=void 0===i?{}:i,s=e.rowKey,p=void 0===s?"id":s,u=e.hasCreate,d=void 0===u||u,m=e.handleChangeQueryParams,f=void 0===m?()=>null:m,h=e.resource,b=e.queryParams,O=e.totalItems,y=e.setTableFilter,g=e.customClickCreate,v=e.customActions,P=e.expandable,j=_(e,ut);const w=I(),D=F(),x=U((e,t)=>"".concat(t[0],"-").concat(t[1],"/").concat(e),[]),S=mt({total:O||0,pageSize:(null==b?void 0:b.limit)||10,current:(null==b?void 0:b.page)||1,showSizeChanger:!0,showQuickJumper:!1,showTotal:x},a),C=(e,t)=>{f({page:e,limit:t})};return A(nt,{children:[A("div",{className:"list-layout__pagination-top",children:[N(l,mt(mt({},S),{},{onChange:C})),N("div",{className:"list-layout__group-action",children:A(o,{size:10,children:[v,d&&N(Me,{handleClick:()=>{g?g():D({search:w.search,hash:"".concat(ct,"/").concat(h,"/create")})}})]})})]}),N(c,mt({columns:t,dataSource:r,pagination:!1,rowKey:p,scroll:{x:n||1700},expandable:P,onChange:(e,t,r)=>{y(t),f(t)}},j)),N("div",{className:"list-layout__pagination-bottom",children:N(l,mt(mt({},S),{},{onChange:C}))})]})},ht=K({});var bt;const Ot=V.div(bt||(bt=T(["\n margin-bottom: 10px;\n .ant-form-item {\n margin-bottom: 10px !important;\n }\n .row-filter {\n .ant-form-item-control-input-content > input,\n .ant-select-selector,\n .ant-picker {\n border: 1px solid transparent;\n ","\n :hover, :focus {\n border: 1px solid ",";\n }\n }\n .ant-form-item-label {\n display: none;\n }\n .ant-input-number,\n .ant-picker {\n width: 100%;\n }\n .ant-select-selection__rendered {\n height: 32px;\n }\n .ant-form-item-control {\n line-height: 32px;\n }\n }\n .clearButton {\n background: ",";\n color: ",";\n border: 1px solid ",";\n box-sizing: border-box;\n }\n .row-action-bottom {\n display: flex;\n button {\n width: 50%;\n margin-bottom: 10px;\n }\n .filterButton {\n margin-right: 16px;\n }\n }\n .col-export-excel {\n text-align: right;\n .ant-btn {\n border-color: transparent !important;\n }\n .anticon {\n font-size: 22px;\n }\n }\n"])),"",e=>e.theme.palette.primary,e=>e.theme.background.content,e=>e.theme.palette.primary,e=>e.theme.palette.primary);function yt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function gt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?yt(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const vt=t=>{let n=t.children,o=t.greyInput,i=t.onSubmitFilter,a=void 0===i?()=>null:i,l=t.onClearFilter,c=void 0===l?()=>null:l,d=t.responsiveFilter,m=void 0===d?{xxl:20,xl:20,lg:18,md:24,xs:24}:d,f=t.responsiveAction,h=void 0===f?{xxl:4,xl:4,lg:6,md:24,xs:24}:f,b=t.defaultQueryParams;const O=s.useForm(),y=oe(O,1)[0],g=e().t,v=()=>{y.validateFields().then(a)};return z(()=>{y.setFieldsValue(b)},[y,b]),N(Ot,{className:o?"grey-input-filter":"default-input-filter",children:N(s,{form:y,autoComplete:"off",children:N(ht.Provider,{value:{form:y,allowPressEnter:!0,handleSubmit:v},children:A(p,{gutter:16,className:"row-filter",children:[N(u,gt(gt({},m),{},{children:n})),A(u,gt(gt({},h),{},{className:"row-action-bottom",children:[N(r,{type:"primary",className:"filterButton",onClick:v,children:g("button.filter")}),N(r,{className:"clearButton",onClick:()=>{y.resetFields(),c()},children:g("button.clearFilter")})]}))]})})})})},Pt=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=G.useRef(!1);z(()=>()=>{r.current=!1},[]),z(()=>{if(r.current)return e();r.current=!0},t)};function jt(e){let t=arguments.length>2?arguments[2]:void 0;z(()=>{let r=!0;return(async()=>{await e(r)})(),()=>{"function"==typeof t&&t(),r=!1}},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[])}const wt=["onData","beforeSubmitFilter","filter","columns","apiPath","useGetAllQuery","initialFilter","tabKey","resource","hasCreate","tabProps"],Dt=["apiPath"],xt=["apiPath"];function St(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ct(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?St(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):St(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const kt=e=>{var t,r;let n=e.onData,o=void 0===n?e=>e:n,i=e.beforeSubmitFilter,a=void 0===i?e=>e:i,l=e.filter,c=e.columns,s=e.apiPath,p=void 0===s?"":s,u=e.useGetAllQuery,d=e.initialFilter;e.tabKey;let m=e.resource,f=e.hasCreate,h=void 0===f||f;e.tabProps;let b=_(e,wt),O=I(),y=F();const g=Q((e=>{if(!e)return{};var t=e.substr(1),r={};return t.split("&").forEach(function(e){var t=e.split("=");t[1]&&(r[t[0]]=decodeURIComponent(t[1]))}),r})(O.search)),v=oe(g,1)[0],P=Q(Ct(Ct(Ct({},d),v),{},{apiPath:p,resource:m})),j=oe(P,2),w=j[0],D=j[1];Pt(()=>{le(d)||D(e=>Ct(Ct({},e),d))},[]);const x=u({queryParams:w,onData:o}),S=x.data,C=x.loading,k=e=>{const t=Ct(Ct({},w),e);D(t),t.apiPath;const r=_(t,Dt);y({search:$e(r)})};return A("div",{children:[l&&N(vt,{onSubmitFilter:e=>{k(Ct({resource:m,page:1},a(e)))},onClearFilter:()=>{const e={apiPath:w.apiPath,resource:m,page:1,limit:10};D(e);const t=_(e,xt);y({search:$e(t)})},defaultQueryParams:v,children:l}),N(ft,Ct({resource:m,queryParams:w,handleChangeQueryParams:k,columns:c,hasCreate:h,data:(null==S?void 0:S.embedded)||[],totalItems:null!==(t=null==S||null===(r=S.page)||void 0===r?void 0:r.totalElements)&&void 0!==t?t:0,loading:C,setTableFilter:e=>{var t,r;t="table filter",r=e,console.log("[component.RestLayout.RestList] "+t,r)}},b))]})};function Et(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function qt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Et(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Et(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const It=e=>{let t=e.children,r=e.record,n=e.form,o=e.isMergeRecordOnSubmit,i=void 0===o||o,a=e.formatOnSubmit,l=void 0===a?e=>e:a,c=e.updateRecord,p=void 0===c?e=>e:c,u=e.formatDefaultValues,d=void 0===u?e=>e:u,m=e.onSubmit;const f=s.useForm(),h=oe(f,1)[0],b=n||h;z(()=>{b.setFieldsValue(d(r))},[b,r]);const O=U(e=>{const t=i?qt(qt({},r),e):e;m(l(t))},[r,m]);return N(s,{form:b,layout:"vertical",onFinish:O,children:N(ht.Provider,{value:{form:b,record:r,updateRecord:p},children:t})})};class Ft{static encodeQueryData(e){if(!e)return"";const t=[];for(let r in e)e[r]&&t.push(encodeURIComponent(r)+"="+encodeURIComponent(e[r]));return t.length>0?"?"+t.join("&"):""}static generateUrlGetParams(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return String(e).concat(this.encodeQueryData(t))}static httpRequest(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"GET",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";const o=pt()+t;let i;return i="GET"===r?me.get(o+this.encodeQueryData(e)):me.post(o+this.encodeQueryData(n),e),i.then(e=>e.data).catch(e=>e)}static Get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.httpRequest(t,e,"GET")}static async GetAsList(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=await this.httpRequest(t,e,"GET"),n=r.data;return 200===r.errorCode?n:[]}static Post(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.httpRequest(t,e,"POST",r)}static getJsonFromUrl(e){if(!e)return{};var t=e.substr(1),r={};return t.split("&").forEach(function(e){var t=e.split("=");r[t[0]]=decodeURIComponent(t[1])}),r}}R(Ft,"uploadSigFile",e=>{let t=e.onSuccess,r=e.onError,n=e.file,o=e.onProgress,i=void 0===o?e=>e:o,a=e.onSuccessUploadServer,l=void 0===a?e=>e:a,c=e.api;const s=new FormData,p={headers:{"content-type":"multipart/form-data"},onUploadProgress:e=>{i({percent:e.loaded/e.total*100},n)}};s.append("files",n),me.post(pt()+"/"+c,s,p).then(e=>{let r=e.data;const o=r.data,i=r.errorCode;t(n),i===ot&&""!==((null==o?void 0:o.fileName)||"")&&l(o.fileName)}).catch(e=>{const t=new Error(e.message);r({event:t})})});const Tt=["title"];function Vt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Nt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Vt(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Vt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}class At{constructor(){this.events={}}_getEventListByName(e){return void 0===this.events[e]&&(this.events[e]=new Set),this.events[e]}on(e,t){this._getEventListByName(e).add(t)}once(e,t){const r=this,n=function(){r.removeListener(e,n);for(var o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];t.apply(r,i)};this.on(e,n)}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];this._getEventListByName(e).forEach(function(e){e.apply(this,r)}.bind(this))}addEventListener(e,t){this.on(e,t)}removeListener(e,t){this._getEventListByName(e).delete(t)}}class Lt{static hasPermission(e,t){return"*"===e||(""===(e||"")||(0===e.length||t))}static generateRoutesFromConfigs(e,t){let r=[];return e.forEach(e=>{r=[...r,...this.setRoutes(e,t)]}),r}static setRoutes(e,t){let r=[...e.routes];return(e.settings||e.auth)&&(r=r.map(r=>{let n=e.auth?[...e.auth]:t||null;return n=r.auth?[...n,...r.auth]:n,Nt(Nt({},r),{},{settings:Nt(Nt({},e.settings),r.settings),auth:n})})),[...r]}}R(Lt,"EventEmitter",At);const Rt=new class extends At{constructor(){super(...arguments),R(this,"openDrawer",(e,t)=>{let r=t.title,n=_(t,Tt);return this.emit(ct,{hash:e,title:r,data:n})})}normalSuccess(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.emit(lt,{type:"success",content:e,title:t})}normalInfo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.emit(lt,{type:"info",content:e,title:t})}normalError(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.emit(lt,{type:"error",content:e,title:t})}modal(e,t){this.emit(lt,{type:t,content:e,cate:"modal"})}changeStore(e){this.emit(it,e)}},_t=G.createContext(),Gt=["apiPath"],Ut="[hooks.useGetList]";const Kt=e=>Array.isArray(e)&&e.length>0;function zt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Qt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?zt(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):zt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Mt=e=>{let t=e.apiPath,r=void 0===t?"":t,n=e.filter,i=void 0===n?"":n,a=e.grid,l=void 0===a?{}:a,c=e.hasCreate,p=void 0!==c&&c,u=e.onClickCreate,m=void 0===u?e=>e:u,f=e.renderItem,h=void 0===f?e=>"":f,b=e.onData,O=void 0===b?e=>e:b;const y=s.useForm(),g=oe(y,1)[0],v=Q({apiPath:r,page:1}),P=oe(v,2),j=P[0],w=P[1],D=function(e){let t=e.queryParams,r=e.onData;const n=M(_t).f5List,o=Q(!0),i=oe(o,2),a=i[0],l=i[1],c=Q({embedded:[],page:{}}),s=oe(c,2),p=s[0],u=s[1],d=U(e=>{const t=e.apiPath,n=_(e,Gt);l(!0),Ft.Get("/"+t,n).then(async e=>{let t=e.data,n=e.errorCode,o=e.message;200===n?(Promise.resolve(r(t)).then(u),l(!1)):console.error(Ut,o)}).catch(e=>{console.error(Ut,e),l(!1)})},[r]);return z(()=>{d(t)},[t]),Pt(()=>{(null==n?void 0:n.apiPath)===t.apiPath&&d(t)},[n,t]),{data:p,loading:a}}({queryParams:j,onData:O}),x=D.data,S=x.embedded,C=x.page,k=D.loading;return A("div",{id:"content-list",children:[A(s,{onFinish:e=>{const t=Qt({},e);!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"YYYY-MM-DD HH:mm:ss";if("object"!=typeof e)return fe(e).format(r);for(let n of t){const t=e[n];t&&(e[n]=fe(t).format(r))}}(t,["from","to"]),w(e=>Qt(Qt({},e),t))},form:g,children:[i,A(o,{align:"end",children:[N(Ee,{title:"Tìm kiếm",htmlType:"submit"}),N(Ee,{title:"Xóa lọc",variant:"dashed",onClick:()=>{g.resetFields(),g.submit()}}),p&&N(Ee,{title:"Thêm mới",color:"primary",variant:"solid",onClick:m})]})]}),N(d,{style:{marginTop:20},grid:Qt({gutter:16,xs:1,sm:2,md:3,lg:3,xl:4,xxl:4},l),dataSource:S,renderItem:h,loading:k,pagination:{current:(null==j?void 0:j.page)||1,total:(null==C?void 0:C.totalElements)||0,pageSize:10,onChange:(e,t)=>{w(t=>Qt(Qt({},t),{},{page:e}))},showSizeChanger:!1}})]})},Bt=["src","fallbackSrc"];function Wt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const Ht=e=>{let t=e.src,r=e.fallbackSrc,n=void 0===r?"/img/image_not_found.png":r,o=_(e,Bt);const i=Q(t),a=oe(i,2),l=a[0],c=a[1];return N(m,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Wt(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Wt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({src:l,onError:()=>{l!==n&&c(n)}},o))},Yt=f.Text,Xt=()=>A(p,{justify:"start",align:"middle",children:[N(u,{span:7,className:"logo",children:N("img",{src:"/logo.png",alt:"Logo",style:{maxHeight:40,width:"auto"}})}),A(u,{span:14,className:"company",children:[N("p",{children:N("strong",{children:"CÔNG TY CỔ PHẦN FLAST SOLUTUON"})}),A("div",{className:"contact",children:[N(Yt,{children:"Hà Nội: Số 35 Lê Văn Lương, Thanh Xuân, TP.Hà Nội"}),A(p,{justify:"start",style:{marginTop:"5px"},children:[N(Yt,{children:"(0987) 938-491"}),N(Yt,{className:"left20",children:"flast.vn@printgo.vn"}),N(Yt,{className:"left20",children:"www.flast.vn"})]})]})]})]}),Jt=()=>N("span",{});var $t,Zt,er,tr,rr;const nr=V.div($t||($t=T(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: calc(100vh - 170px);\n background-color: #f5f8fa;\n text-align: center;\n"]))),or=V.img(Zt||(Zt=T(["\n width: 300px;\n margin-bottom: 24px;\n"]))),ir=V.p(er||(er=T(["\n font-size: 20px;\n color: #333;\n"]))),ar=V.p(tr||(tr=T(["\n font-size: 16px;\n color: #666;\n"]))),lr=V.a(rr||(rr=T(["\n background-color: #007bff;\n color: white;\n font-size: 16px;\n padding: 12px 24px;\n border-radius: 8px;\n &:hover {\n background-color: #0056b3;\n }\n"]))),cr=e=>{let t=e.message;return A(nr,{children:[N(or,{src:"/img/404.png",alt:"404 Image"}),N(ir,{children:"Yêu cầu không tìm thấy"}),N(ar,{children:t||"Trang yêu cầu không tìm thấy. Vui lòng tìm kiếm lại."}),N(lr,{href:"/",children:"Về trang chủ"})]})};var sr;const pr=V.div(sr||(sr=T(["\n .user-info-wrapper {\n display: flex;\n align-items: center;\n .user-content {\n flex: 1;\n overflow: hidden;\n }\n .ant-avatar {\n margin-right: 10px;\n }\n .user-note {\n font-size: 12px;\n color: ",";\n text-overflow: ellipsis;\n overflow: hidden;\n }\n }\n"])),e=>e.theme.text.mainL1),ur=t=>{let r=t.item,n=t.avatarProp,o=void 0===n?"avatar":n,i=t.nameProp,a=void 0===i?"name":i,l=t.noteProp,c=t.customNote,s=t.disabled,p=t.path,u=t.size;const d=e().t,m=A("div",{className:"user-info-wrapper",children:[N(h,{size:u,src:null==r?void 0:r[o],icon:N(Z,{})}),A("div",{className:"user-content",children:[N("div",{className:"user-name ellipsis-2-t",children:(null==r?void 0:r[a])||d("error.waitingUpdate")}),N("div",{className:"user-note",children:l?null==r?void 0:r[l]:c})]})]});return N(pr,{children:!p||s?m:N(q,{className:"link-default",to:p,children:m})})},dr=["path"];function mr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const fr=e=>{let t=e.path,r=_(e,dr);return N(ur,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mr(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({path:t},r))},hr=e=>{let t=e.files,r=void 0===t?[]:t,n=e.multiPathFile,o=e.onRemoveFile,i=void 0===o?e=>e:o,a=e.onRemoveMultiPathFile,l=void 0===a?e=>e:a;const c=Q([]),s=oe(c,2),p=s[0],d=s[1];z(()=>{let e=n.map(e=>e.name);d(e)},[n]);return[...p,...r].map((e,t)=>N(u,{span:8,children:N(b,{color:"#108ee9",icon:N(O,{title:"Bạn có chắc muốn xóa File này ?",onConfirm:()=>{return t=e,void(String(t).startsWith("http")?i(t):l(t));var t},okText:"Yes",cancelText:"No",children:N(ee,{})}),children:N("span",{onClick:()=>(e=>{String(e).startsWith("http")&&window.open(e,"_blank")})(e),children:e.split("/").filter(Boolean).pop()})})},t))};const br=new class extends Lt.EventEmitter{constructor(){super(...arguments),R(this,"handleAuthentication",()=>{let e=this.getAccessToken();e?this.isAuthTokenValid(e)?this.emit("onAutoLogin",!0):(this.setSession(null),this.emit("onAutoLogout","access_token expired")):this.emit("onNoAccessToken")}),R(this,"signInWithToken",async()=>{try{const e=await Ft.Post("/auth/sign-with-token",{token:this.getAccessToken()}),t=e.data,r=e.success;this.setSession(r?t:null)}catch(e){this.emit("onAutoLogout","sign-in-with-token "+e.message)}return"done"}),R(this,"setSession",e=>{if(e){const t=e.jwtToken,r=e.user;localStorage.setItem("jwt_access_token",t),me.defaults.headers.common.Authorization="Bearer "+t,Rt.emit(it,{type:at,data:r})}else localStorage.removeItem("jwt_access_token"),delete me.defaults.headers.common.Authorization}),R(this,"logout",()=>{this.setSession(null)}),R(this,"isAuthTokenValid",e=>""!==(e||"")),R(this,"getAccessToken",()=>window.localStorage.getItem("jwt_access_token"))}init(){this.handleAuthentication()}},Or=["fileName"];function yr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function gr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?yr(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const vr=e=>{let t=e.apiUploadMultiPart,n=e.apiUploadUrlFile,i=void 0===n?"":n,a=e.apiRemoveFile,l=void 0===a?"":a,c=e.title,s=void 0===c?"Upload ảnh sản phẩm":c,m=e.showImgSlide,f=void 0===m||m,h=e.imageSize,b=void 0===h?80:h,O=e.onBeforeSubmitMultiPart,j=void 0===O?e=>e:O,w=e.onBeforeSubmitUrl,D=void 0===w?e=>e:w,x=e.onClickAddImageToContent,S=void 0===x?e=>e:x,C=e.onToggleFeatured,k=void 0===C?e=>e:C,E=e.onToggleSlideShow,q=void 0===E?(e,t)=>!0:E;const I=M(ht).record,F=Q([]),T=oe(F,2),V=T[0],L=T[1],R=Q(!1),G=oe(R,2),U=G[0],K=G[1],B=Q(""),W=oe(B,2),H=W[0],Y=W[1];z(()=>{var e;L(null!==(e=null==I?void 0:I.images)&&void 0!==e?e:[])},[I]);const X=async()=>{if(!H.trim())return void P.warning("Vui lòng nhập URL hình ảnh!");if(i)return void P.warning("Vui lòng cấu hình API cập nhật Url file !");const e={url:H.trim(),name:H.trim().split("/").pop(),isFeatured:!1,isSlideshow:!1,fromUpload:!0},t=await Ft.Post(i,{method:"POST",body:D(e)}),r=t.errorCode,n=t.data;200===r?(L(e=>[...e,n]),Y(""),K(!1)):P.error("Update file url thất bại")},$=async e=>{const r=new FormData;r.append("image",e.originFile,e.name),r.append("isFeatured",e.isFeatured),r.append("isSlideshow",e.isSlideshow);const n=await fetch(String(pt()).concat(t),{method:"POST",headers:{Authorization:"Bearer ".concat(br.getAccessToken())},body:j(r)});if(!n.ok)return void P.error("Upload thất bại!");const o=await n.json(),i=o.data,a=o.errorCode,l=o.message;if(a!==ot)return void P.error(l);const c=i.fileName,s=_(i,Or);L(t=>t.map(t=>t.id===e.id?gr(gr({},s),{},{url:String(pt()).concat(c),originFile:null,fromUpload:!1}):t)),e.url&&e.fromUpload&&URL.revokeObjectURL(e.url)};return A("div",{style:{padding:"20px 0px",fontFamily:"Arial"},children:[N("h3",{children:s}),N("div",{style:{border:"1px solid #e8e8e8",borderRadius:"4px",marginBottom:"16px",padding:"12px"},children:A(p,{justify:"space-between",align:"middle",children:[A(o,{children:[N(y,{showUploadList:!1,beforeUpload:()=>!1,onChange:e=>{let t=e.file;e.fileList;const r={id:String(Date.now()),url:URL.createObjectURL(t),name:t.name,isFeatured:!1,isSlideshow:!1,fromUpload:!0,originFile:t};L(e=>e.some(e=>e.name===t.name&&e.size===t.size)?e:[r,...e])},children:N(r,{type:"primary",style:{backgroundColor:"#52c41a",borderColor:"#52c41a"},children:"Thêm ảnh..."})}),N(r,{type:"default",style:{backgroundColor:"#f5a623",borderColor:"#f5a623",color:"white"},children:"Hủy"})]}),N(r,{type:"primary",style:{backgroundColor:"#4096ff",borderColor:"#4096ff"},onClick:()=>{K(!0)},children:"Thêm Url"})]})}),U&&A("div",{style:{border:"1px solid #e8e8e8",borderRadius:"4px",marginBottom:"16px",padding:"12px"},children:[N(g,{placeholder:"Nhập URL hình ảnh...",value:H,onChange:e=>Y(e.target.value),onPressEnter:X,style:{marginBottom:"8px"}}),A(o,{children:[N(r,{type:"primary",onClick:X,children:"Xác nhận"}),N(r,{type:"default",onClick:()=>K(!1),children:"Hủy"})]})]}),N("div",{style:{border:"1px solid #e8e8e8",borderRadius:"4px"},children:N(d,{dataSource:V,renderItem:e=>{return A(d.Item,{style:{border:"1px solid #e8e8e8",borderBottom:"none",padding:"12px",display:"flex",alignItems:"center"},children:[N(u,{span:4,children:N(Ht,{preview:!1,src:e.url,alt:e.name,width:b,height:b,style:{objectFit:"cover",borderRadius:"4px"}})}),A(u,{span:12,style:{paddingLeft:"16px",overflow:"hidden"},children:[N("div",{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},children:e.name}),A("div",{style:{marginTop:"8px"},children:[N(v,{checked:e.isFeatured,onChange:t=>{return r=e.id,L(V.map(e=>gr(gr({},e),{},{isFeatured:e.id===r?!e.isFeatured:e.isFeatured}))),void k(r);var r},style:{marginRight:"16px"},children:"Chọn làm ảnh đại diện"}),f&&N(v,{checked:e.isSlideshow,onChange:t=>{return r=e.id,n=t.target.checked,L(V.map(e=>e.id===r?gr(gr({},e),{},{isSlideshow:n}):e)),void q(r,n);var r,n},children:"Chọn làm ảnh slide"})]})]}),N(u,{span:8,style:{textAlign:"right"},children:A(o,{children:[e.fromUpload&&N(r,{icon:N(te,{}),type:"primary",size:"small",style:{backgroundColor:"#1890ff",borderColor:"#1890ff"},onClick:()=>(e=>{const t=V.find(t=>t.id===e);t&&t.fromUpload&&t.originFile&&$(t)})(e.id),children:"Tải lên"}),(t=e.id,"number"==typeof t&&Number.isInteger(t)&&t>0&&N(r,{icon:N(J,{}),danger:!0,size:"small",onClick:()=>S(e.url)})),N(r,{icon:N(ee,{}),danger:!0,size:"small",onClick:()=>{return t=e.id,void(l?(Ft.Post("".concat(l,"/").concat(t),{}),L(V.filter(e=>e.id!==t))):P.error("Chưa cấu hình enpoint xóa file !"));var t}})]})})]},e.id);var t}})})]})},Pr=["name","label","required","messageRequire","placeholder","rules","initialValue","formItemProps","ContentComponent","whitespace","isShowTooltip","minLength","maxLength"];function jr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function wr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?jr(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):jr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Dr=t=>{let r=t.name,n=t.label,o=t.required,i=t.messageRequire,l=void 0===i?"error.required":i,c=t.placeholder,p=t.rules,u=void 0===p?[]:p,d=t.initialValue,m=t.formItemProps,f=t.ContentComponent,h=void 0===f?g:f,b=t.whitespace,O=t.isShowTooltip,y=t.minLength,v=t.maxLength,P=_(t,Pr);const j=e().t,w=M(ht),D=w.allowPressEnter,x=w.handleSubmit,S=B(()=>{const e=[];return y&&e.push({min:y,message:j("error.minLength",{min:y})}),v&&e.push({max:v,message:j("error.maxLength",{max:v})}),e},[]),C=N(s.Item,wr(wr(wr({},n&&{label:j(n)}),{},{name:r,initialValue:d,rules:[{required:o,message:j(l)},...b?[{whitespace:b,message:j("error.empty")}]:[],...S,...u]},m),{},{children:N(h,wr(wr(wr({},c&&{placeholder:j(c)}),P),{},{onPressEnter:D?x:void 0}))}));return O?N(a,{title:c?j(c):"",children:C}):C},xr=["name","label","required","messageRequire","placeholder","rules","initialValue","formItemProps","isShowTooltip","form"];function Sr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Cr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Sr(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Sr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const kr=t=>{let r=t.name,n=t.label,o=t.required,i=t.messageRequire,l=void 0===i?"error.required":i,c=t.placeholder,p=t.rules,u=void 0===p?[]:p,d=t.initialValue,m=t.formItemProps,f=t.isShowTooltip;t.form;let h=_(t,xr);const b=e().t,O=N(s.Item,Cr(Cr(Cr({},n&&{label:b(n)}),{},{name:r,initialValue:d,rules:[{required:o,message:b(l)},...u]},m),{},{children:N(j,Cr(Cr({},c&&{placeholder:b(c)}),{},{formatter:et,parser:tt},h))}));return f?N(a,{title:c?b(c):"",children:O}):O},Er=["name","label","required","messageRequire","placeholder","rules","resourceData","valueProp","titleProp","isFilterOption","formatText","formatValue","searchKey","loading","onEnter","enableWaypoint","initialValue","formItemProps","isShowTooltip","onChangeGetSelectedItem","onChange","isLimitWidth"];function qr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ir(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?qr(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Fr=w.Option,Tr=t=>{let r=t.name,n=t.label,o=void 0===n?"":n,l=t.required,c=t.messageRequire,p=void 0===c?"error.required":c,u=t.placeholder,d=void 0===u?"placeholder.select":u,m=t.rules,f=void 0===m?[]:m,h=t.resourceData,b=t.valueProp,O=void 0===b?"id":b,y=t.titleProp,g=void 0===y?"name":y,v=t.isFilterOption,P=void 0===v||v,j=t.formatText,D=void 0===j?e=>e:j,x=t.formatValue,S=void 0===x?e=>e:x,C=t.searchKey,k=void 0===C?"name":C,E=t.loading,q=t.onEnter,I=t.enableWaypoint,F=t.initialValue,T=t.formItemProps,V=t.isShowTooltip,L=t.onChangeGetSelectedItem,R=t.onChange,G=t.isLimitWidth,K=void 0!==G&&G,z=_(t,Er);const Q=e().t,M=U((e,t)=>{var r;const n=ce(t.children)?se(null===(r=t.children.props)||void 0===r?void 0:r.record,k):t.children;return Ze(n,e)?t.value:null},[k]),W=N(Fr,{className:"loading-select-option",disabled:!0,value:"waypointTracking",children:N("div",{style:{height:1},children:N(he,{onEnter:q})})},"waypoint"),H=B(()=>N(Fr,{className:"loading-select-option",disabled:!0,value:"loadingTracking",children:N("div",{className:"loading-select",children:N(i,{})})},"loading"),[]),Y=N(s.Item,Ir(Ir({label:Q(o),name:r,rules:[{required:l,message:Q(p)},...f],initialValue:F},T),{},{children:A(w,Ir(Ir({placeholder:Q(d),filterOption:!!P&&M,popupMatchSelectWidth:K},z),{},{onChange:R||(e=>{if(!L)return;const t=null==h?void 0:h.find(t=>se(t,O)===e);L(e,t)}),children:[pe(h,(e,t)=>N(Fr,{value:S(O?se(e,O):e,e),children:D(g?se(e,g):e,e)},String(t))),I&&W,E&&H]}))}));return V?N(a,{title:d?Q(d):"",children:Y}):Y},Vr=["apiPath","apiAddNewItem","name","label","required","messageRequire","placeholder","rules","valueProp","titleProp","isFetchOnMount","formatText","formatValue","searchKey","initialValue","formItemProps","isShowModalCreateNewItem","onChangeGetSelectedItem","onCreateNewItem","isLimitWidth","filter","createDefaultValues","onData","fnLoadData","title"];function Nr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ar(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Nr(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Nr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Lr=w.Option,Rr=t=>{let n=t.apiPath,o=void 0===n?"":n,a=t.apiAddNewItem,l=void 0===a?"":a,c=t.name,p=t.label,u=void 0===p?"":p,d=t.required,m=t.messageRequire,f=void 0===m?"error.required":m,h=t.placeholder,b=void 0===h?"placeholder.select":h,O=t.rules,y=void 0===O?[]:O,v=t.valueProp,j=void 0===v?"id":v,x=t.titleProp,S=void 0===x?"name":x,C=t.isFetchOnMount,k=void 0===C||C,E=t.formatText,q=void 0===E?e=>e:E,I=t.formatValue,F=void 0===I?e=>e:I,T=t.searchKey,V=void 0===T?"name":T,R=t.initialValue,G=t.formItemProps,K=t.isShowModalCreateNewItem,W=t.onChangeGetSelectedItem,H=t.onCreateNewItem,Y=void 0===H?()=>!1:H,X=t.isLimitWidth,$=void 0!==X&&X,Z=t.filter,ee=t.createDefaultValues,te=t.onData,re=void 0===te?e=>e:te,ne=t.fnLoadData;t.title;let ie=_(t,Vr);const ae=M(_t).f5List,le=Q(Z||{}),ce=oe(le,2),pe=ce[0],ue=ce[1],de=Q(!1),me=oe(de,2),fe=me[0],he=me[1],Oe=Q([]),ye=oe(Oe,2),ge=ye[0],ve=ye[1],Pe=Q(""),je=oe(Pe,2),we=je[0],De=je[1];var xe;z(()=>{ue(Z)},[Z]),xe=()=>{k&&!Kt(ge)&&Se(pe)},z(()=>{xe()},[]);const Se=U(e=>{o&&(ne?Promise.resolve(ne(e)).then(re).then(e=>{ve(e)}):(he(!0),Ft.Get("/"+o,e).then(async e=>{let t=e.data;if(200!==e.errorCode)return Promise.reject("Get not success from server .!");Promise.resolve(re(t)).then(e=>{ve(e)}),he(!1)}).catch(e=>{console.log("[form.FormSelectAPI] Error ",e),he(!1)})))},[re,o]);Pt(()=>{var e;(null==ae?void 0:ae.apiPath)!==o&&!1===(null!==(e=null==pe?void 0:pe.forceUpdate)&&void 0!==e&&e)||Se(pe)},[ae,pe,o]);const Ce=e().t,ke=B(()=>N(Lr,{className:"loading-select-option",disabled:!0,value:"loadingTracking",children:N("div",{className:"loading-select",children:N(i,{})})},"loading"),[]),Ee=U(async()=>{if(Y())return;if(!we||!l)return;let e=Ar({[V]:we},ee||{});const t=await Ft.Post("/"+l,e),r=t.data,n=t.errorCode,o=t.message;if(n===ot){const e=ge.concat(r);ve(e),De("")}P.info(o)},[we,ee,ne]),qe=U(e=>{Se(Ar(Ar({},pe),{},{[V]:e}))},[pe,V]),Ie=e=>{De(e.target.value)};return N(s.Item,Ar(Ar({label:Ce(u),name:c,rules:[{required:d,message:Ce(f)},...y],initialValue:R},G),{},{children:N(w,Ar(Ar({placeholder:Ce(b),filterOption:!1,popupMatchSelectWidth:$,dropdownRender:e=>A(L,{children:[e,N(D,{style:{margin:"8px 0"}}),A("div",{style:{padding:"0 8px 4px",display:"flex",alignItems:"end"},children:[!K&&N(g,{style:{width:"100%"},placeholder:"Add new item",value:we,onChange:Ie,onKeyDown:e=>e.stopPropagation()}),N(r,{type:"text",icon:N(J,{}),onClick:Ee,color:"primary",variant:"dashed",style:{marginLeft:20},children:"Add item"})]})]}),options:null==ge?void 0:ge.map(e=>({label:q(S?se(e,S):e,e),value:F(j?se(e,j):e,e)})),onSearch:be(qe,600),onChange:e=>{if(!W)return;const t=null==ge?void 0:ge.find(t=>se(t,j)===e);W(e,t)}},ie),{},{children:fe&&ke}))}))},_r=["name","label","required","messageRequire","initialValue","rules","placeholder","disabled","format","formItemProps"];function Gr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ur(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Gr(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Kr=t=>{let r=t.name,n=t.label,o=t.required,i=t.messageRequire,a=void 0===i?"error.required":i;t.initialValue;let l=t.rules,c=void 0===l?[]:l,p=t.placeholder,u=t.disabled,d=void 0!==u&&u,m=t.format,f=void 0===m?"DD-MM-YYYY":m,h=t.formItemProps,b=_(t,_r);const O=e().t;return N(s.Item,Ur(Ur(Ur({},n&&{label:O(n)}),{},{name:r,rules:[{required:o,message:O(a)},...c],normalize:e=>e&&fe(e),getValueProps:e=>({value:e&&fe(e)})},h),{},{children:N(x,Ur(Ur({style:{width:"100%"},format:f,disabled:d},p&&{placeholder:O(p)}),b))}))},zr=["name","label","required","messageRequire","onChange","initialValue","rules","placeholder","format","formItemProps"];function Qr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Mr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Qr(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Br=t=>{let r=t.name,n=t.label,o=t.required,i=t.messageRequire,a=void 0===i?"error.required":i,l=t.onChange,c=t.initialValue,p=t.rules,u=void 0===p?[]:p,d=t.placeholder,m=t.format,f=void 0===m?"HH:mm":m,h=t.formItemProps,b=_(t,zr);const O=e().t;return N(s.Item,Mr(Mr(Mr({},n&&{label:O(n)}),{},{name:r,rules:[{required:o,message:O(a)},...u],initialValue:c},h),{},{children:N(S,Mr(Mr({onChange:l,format:f},d&&{placeholder:O(d)}),b))}))},Wr=["name","label","required","messageRequire","placeholder","rules","formItemProps"];function Hr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Yr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Hr(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Hr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Xr=g.TextArea,Jr=t=>{let r=t.name,n=t.label,o=t.required,i=t.messageRequire,a=void 0===i?"error.required":i,l=t.placeholder,c=t.rules,p=void 0===c?[]:c,u=t.formItemProps,d=_(t,Wr);const m=e().t;return N(s.Item,Yr(Yr(Yr({},u),n&&{label:m(n)}),{},{name:r,rules:[{required:o,message:m(a)},{whitespace:!0,message:m("error.empty")},...p],children:N(Xr,Yr(Yr({},d),l&&{placeholder:m(l)}))}))},$r=["name","label","text","rules","formItemProps","initialValue"];function Zr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function en(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Zr(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Zr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const tn=t=>{let r=t.name,n=t.label,o=t.text,i=t.rules,a=void 0===i?[]:i,l=t.formItemProps,c=t.initialValue,p=_(t,$r);const u=e().t;return N(s.Item,en(en(en({},l),n&&{label:u(n)}),{},{name:r,initialValue:c,rules:a,valuePropName:"checked",children:A(v,en(en({},p),{},{children:[" ",o," "]}))}))},rn=["name","label","required","messageRequire","placeholder","valueProp","titleProp","formatText","formatValue","rules","resourceData","initialValue","formItemProps"];function nn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function on(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?nn(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const an=t=>{let r=t.name,n=t.label,o=t.required,i=t.messageRequire,a=void 0===i?"error.required":i,l=t.placeholder,c=t.valueProp,p=void 0===c?"id":c,u=t.titleProp,d=void 0===u?"name":u,m=t.formatText,f=void 0===m?e=>e:m,h=t.formatValue,b=void 0===h?e=>e:h,O=t.rules,y=void 0===O?[]:O,g=t.resourceData,v=void 0===g?[]:g,P=t.initialValue,j=t.formItemProps,w=_(t,rn);const D=e().t;return N(s.Item,on(on(on({},n&&{label:D(n)}),{},{name:r,initialValue:P,rules:[{required:o,message:D(a)},...y]},j),{},{children:N(C.Group,on(on(on({},l&&{placeholder:D(l)}),w),{},{children:pe(v,(e,t)=>N(C,{value:b(p?se(e,p):e,e),children:f(d?se(e,d):e,e)},String(t)))}))}))},ln=["name","label","required","messageRequire","placeholder","rules","resourceData","valueProp","titleProp","isFilterOption","formatText","formatValue","searchKey","loading","initialValue","formItemProps","customGetValueFromEvent"];function cn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function sn(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?cn(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):cn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const pn=k.Option,un=t=>{let r=t.name,n=t.label,o=void 0===n?"":n,a=t.required,l=t.messageRequire,c=void 0===l?"error.required":l,p=t.placeholder,u=void 0===p?"placeholder.select":p,d=t.rules,m=void 0===d?[]:d,f=t.resourceData,h=t.valueProp,b=void 0===h?"id":h,O=t.titleProp,y=void 0===O?"name":O,g=t.isFilterOption,v=void 0===g||g,P=t.formatText,j=void 0===P?e=>e:P,w=t.formatValue,D=void 0===w?e=>e.toString():w,x=t.searchKey,S=void 0===x?"name":x,C=t.loading,E=t.initialValue,q=t.formItemProps,I=t.customGetValueFromEvent,F=_(t,ln);const T=e().t,V=U((e,t)=>{var r;const n=ce(t.children)?se(null===(r=t.children.props)||void 0===r?void 0:r.record,S):t.children;return Ze(n,e)?t.value:null},[S]),L=B(()=>N(pn,{className:"loading-select-option",disabled:!0,value:"loadingTracking",children:N("div",{className:"loading-select",children:N(i,{})})},"loading"),[]);return N(s.Item,sn(sn(sn({label:T(o),name:r,rules:[{required:a,message:T(c)},...m],initialValue:E},I&&{getValueFromEvent:e=>{if(!I)return e;const t=null==f?void 0:f.find(t=>se(t,b).toString()===e);return I(e,t)}}),q),{},{children:A(k,sn(sn({placeholder:T(u),filterOption:!!v&&V},F),{},{children:[pe(f,(e,t)=>N(pn,{value:D(b?se(e,b):e),children:j(y?se(e,y):e)},String(t))),C&&L]}))}))},dn=["name","label","required","resourcesData","messageRequire","rules","initialValue","formItemProps"];function mn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function fn(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mn(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const hn=E.SHOW_CHILD,bn=t=>{let r=t.name,n=t.label,o=t.required,i=t.resourcesData,a=void 0===i?[]:i,l=t.messageRequire,c=void 0===l?"error.required":l,p=t.rules,u=void 0===p?[]:p,d=t.initialValue,m=t.formItemProps,f=_(t,dn);const h=e().t;return N(s.Item,fn(fn({label:h(n),name:r,rules:[{required:o,message:h(c)},...u],initialValue:d},m),{},{children:N(E,fn({style:{width:"100%"},options:a,onChange:e=>{console.log(e)},multiple:!0,maxTagCount:"responsive",showCheckedStrategy:hn},f))}))};function On(e){let t=e.queryParams,r=e.onCompleted,n=void 0===r?e=>e:r,o=e.api;const i=Q(!1),a=oe(i,2),l=a[0],c=a[1],s=Q({}),p=oe(s,2),u=p[0],d=p[1],m=M(_t).f5List,f=U(async e=>{if(l)return Promise.resolve({eMsg:"loading"});c(!0);const t=await Ft.Get("/"+o,e),r=t.data,i=t.errorCode;if(c(!1),i!==ot)return Promise.resolve({eMsg:o+" not fetch success .!"});let a=r;return ue(a)&&(a={embedded:a,page:{}}),d(a),n(a),a},[n,o,l]);z(()=>{f(t)},[t]);const h=U(async e=>{let r=e.filterField,n=e.defaultValue;!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";console.log("[hooks.useData] "+t,e)}({queryParams:t,filterField:r,defaultValue:n},"fetchMore");const i=await Ft.Get("/"+o,{[r]:n}),a=i.data;if(i.errorCode!==ot)return{embedded:[],page:{}};let l=a;return ue(l)&&(l={embedded:l,page:{}}),l},[t,o]);return Pt(()=>{f(t)},[m]),{loading:l,data:u,refetch:f,fetchMore:h}}const yn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"customer/find"}),gn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"user/list"}),vn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"product/fetch"}),Pn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"provider/fetch"}),jn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"province/find"}),wn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"warehouse/fetch-stock"}),Dn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"category/product/fetch"}),xn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"shipping/fetch-status"}),Sn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"order/fetch"}),Cn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"service/list"}),kn=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"material/fetch"}),En=e=>On({queryParams:e.queryParams,onCompleted:e.onCompleted,api:"faq/fetch"});function qn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function In(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?qn(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Fn=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return console.log("[hooks.useInfinite] "+t,e)},Tn=e=>{var t,r;let n=e.initialFilter,o=void 0===n?{}:n,i=e.useGetAllQuery,a=e.searchKey,l=void 0===a?"q":a,c=e.handleSelectedDefault;const s=Q(o),p=oe(s,2),u=p[0],d=p[1],m=Q(!c),f=oe(m,2),h=f[0],b=f[1],O=Q(1),y=oe(O,2),g=y[0],v=y[1],P=Q([]),j=oe(P,2),w=j[0],D=j[1],x=i({queryParams:u,onCompleted:e=>{var t;(D(null==e?void 0:e.embedded),h)||(b(!0),null==c||c(null==e||null===(t=e.embedded)||void 0===t||null===(t=t[0])||void 0===t?void 0:t.id))}}),S=x.loading,C=x.data,k=x.refetch,E=x.fetchMore;return{onLoadMore:()=>{var e,t;return Fn("onLoadMore .!!"),g!==(null==C||null===(e=C.page)||void 0===e?void 0:e.totalPages)||S?k(In(In({},u),{},{page:(null==C||null===(t=C.page)||void 0===t?void 0:t.currentPage)+1})).then(e=>{var t;v(null==e||null===(t=e.page)||void 0===t?void 0:t.currentPage);const r=ye(w,null==e?void 0:e.embedded,"id");D(r)}):Promise.resolve()},onSearch:e=>{d(In(In({},u),{},"q"===l?{page:1,q:(null==e?void 0:e.trim())||void 0}:{[l]:e,page:1}))},fetchMoreDefaultValue:(e,t)=>{var r;Fn({filterField:e,defaultValue:t},"fetchMoreDefaultValue .!!"),null===(r=E({filterField:e,defaultValue:t}))||void 0===r||r.then(e=>{const t=ye(w,null==e?void 0:e.embedded,"id");D(t)})},onSubmitFilter:e=>{d(In(In({},u),{},{page:1},e))},onClearFilter:()=>{d({page:1,limit:10})},enableWaypoint:!S&&(null==C||null===(t=C.embedded)||void 0===t?void 0:t.length)<(null==C||null===(r=C.page)||void 0===r?void 0:r.pageSize),loading:S,resourceData:w,refetch:k}},Vn=["useGetAllQuery","initialFilter","searchKey","filterField","customValue","handleSelectedDefault"];function Nn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function An(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Nn(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Nn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Ln=(e,t)=>{let r=e.useGetAllQuery,n=e.initialFilter,o=e.searchKey,i=void 0===o?"q":o,a=e.filterField,l=void 0===a?"id":a,c=e.customValue,s=e.handleSelectedDefault,p=_(e,Vn);const u=M(ht).record,d=Oe(u,p.name),m=B(()=>c||(null!=d?d:void 0),[d,c]),f=Tn({initialFilter:n,useGetAllQuery:r,searchKey:i,handleSelectedDefault:s}),h=f.onLoadMore,b=f.onSearch,O=f.enableWaypoint,y=f.fetchMoreDefaultValue,g=f.loading,v=f.resourceData,P=f.refetch;return z(()=>{m&&y(l,m)},[m]),H(t,()=>({refetchList:()=>{P()}}),[m]),N(Tr,An(An({onEnter:h,loading:g,resourceData:v,enableWaypoint:O,onSearch:be(b,600),isFilterOption:!1},p),{},{showSearch:!0}))};var Rn=W(Ln);const _n=["name"];function Gn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const Un=e=>{let t=e.name,r=_(e,_n);return N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Gn(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:jn,name:t||"provinceId",valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id"},r))},Kn=()=>A(L,{children:[N(u,{md:12,xs:24,children:N(Un,{name:"provinceId",label:"Tỉnh / TP",required:!0,placeholder:"Tỉnh / TP",initialFilter:{id:0}})}),N(u,{md:12,xs:24,children:N(s.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.provinceId!==t.provinceId,children:e=>{let t=e.getFieldValue;return N(zn,{parentId:t("provinceId")})}})}),N(u,{md:24,xs:24,children:N(Dr,{label:"Địa chỉ",name:"address",required:!0,placeholder:"Địa chỉ"})})]}),zn=G.memo(e=>{let t=e.parentId;const r=Q([]),n=oe(r,2),o=n[0],i=n[1];return jt(async()=>{if(!t)return;const e=await Ft.GetAsList("/province/find",{id:t});i(e)},[t]),N(Tr,{name:"wardId",label:"Phường / Xã",required:!0,resourceData:o,placeholder:"Phường / Xã"})}),Qn=["name"];function Mn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Bn(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Mn(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Mn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const Wn=e=>{let t=e.name,r=_(e,Qn);return N(s.Item,Bn(Bn({name:t},r),{},{hidden:!0,children:N(g,{})}))},Hn=W((e,t)=>{let r=e.name,n=e.initContent,o=void 0===n?"":n,i=e.placeholder,a=void 0===i?"Nhập nội dung":i;const l=M(ht).form,c=Q(""),s=oe(c,2),p=s[0],u=s[1],d=Y(null),m={placeholder:a||"",minHeight:700,spellcheck:!0,enter:"BR"},f=e=>{const t=e||"";l.setFieldValue(r,t)};return H(t,()=>({insertImage:e=>{if(!d.current)return;const t=d.current,r='\n <p style="text-align: center;">\n <img src="'.concat(e,'" style="max-width: 600px; height: auto;" />\n </p>\n ');try{t.selection.insertHTML(r),f(t.value)}catch(e){console.error("Insert failed:",e)}}}),[l,r]),jt(()=>{u(o)},[o]),N(ge,{value:p,config:m,onChange:f,ref:e=>{d.current=e}})});var Yn;const Xn=V.div(Yn||(Yn=T(["\n .form-list {\n &__list-item {\n position: relative;\n padding: 15px;\n border: 2px dashed ",";\n border-radius: 8px;\n margin-bottom: 20px;\n }\n &__remove-button {\n position: absolute;\n top: -10px;\n right: -10px;\n font-size: 25px;\n }\n }\n"])),e=>e.theme.border.default),Jn=t=>{let n=t.children,o=t.name,i=t.showBtnInLeft,a=void 0===i||i,l=t.textAddNew,c=void 0===l?"Thêm mới":l,p=t.title,u=t.formatInitialValue,d=void 0===u?e=>e:u,m=t.defaultValueItem;const h=e().t,b=M(ht).record,O=Oe(b,o),y=ve(O)?[{}]:d(O);return A(Xn,{className:"form-list__list-wrapper",children:[p&&N(f.Title,{level:4,children:h(p)}),N("div",{className:"form-list__list",children:N(s.List,{name:o,initialValue:y,children:(e,t,o)=>{let i=t.add,l=t.remove,p=o.errors;return A(L,{children:[e.map(e=>A("div",{className:"form-list__list-item",children:[G.cloneElement(n,{field:e}),N(re,{className:"form-list__remove-button",onClick:()=>l(e.name)})]},e.key)),A(s.Item,{children:[N("div",{style:{display:"flex",justifyContent:a?"flex-start":"flex-end"},children:N(r,{type:"dashed",onClick:()=>i(m),icon:N(J,{}),children:c})}),N(s.ErrorList,{errors:p})]})]})}})})]})},$n=["name","label","filter"];function Zn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const eo=e=>{let t=e.name,r=e.label,n=e.filter,o=_(e,$n);const i=Q([]),a=oe(i,2),l=a[0],c=a[1];return jt(async()=>{const e=(await Ft.Get("/user/list",n)).data;Kt(null==e?void 0:e.embedded)&&c(e.embedded)},[n]),N(Tr,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Zn(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Zn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({label:r,placeholder:r,name:t||"ssoId",valueProp:"id",titleProp:"ssoId",resourceData:l},o))},to=["useGetAllQuery","initialFilter","searchKey","filterField","customValue"];function ro(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const no=e=>{let t=e.useGetAllQuery,r=e.initialFilter,n=e.searchKey,o=void 0===n?"q":n,i=e.filterField,a=void 0===i?"id":i,l=e.customValue,c=_(e,to);const s=M(ht).record,p=B(()=>l||Oe(s,c.name),[s]),u=Tn({initialFilter:r,useGetAllQuery:t,searchKey:o}),d=u.onSearch,m=u.fetchMoreDefaultValue,f=u.loading,h=u.resourceData;return z(()=>{p&&m(a,p)},[p]),N(un,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ro(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ro(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({loading:f,resourceData:h,onSearch:be(d,600),isFilterOption:!1},c))};function oo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const io=e=>N(no,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?oo(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:yn,name:"customerId",valueProp:"name",titleProp:"name"},e)),ao=["name"];function lo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const co=e=>{let t=e.name,r=void 0===t?"customerId":t,n=_(e,ao);return N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?lo(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):lo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:yn,name:r,valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id"},n))};function so(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const po=e=>N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?so(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):so(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:vn,name:"productId",valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id"},e));function uo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const mo=e=>N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?uo(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):uo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:Pn,name:"providerId",valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id"},e));function fo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const ho=e=>N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?fo(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:kn,name:"materialId",valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id"},e)),bo=["name","valueProp"];function Oo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const yo=e=>{let t=e.name,r=void 0===t?"assigneeId":t,n=e.valueProp,o=void 0===n?"id":n,i=_(e,bo);return N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Oo(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Oo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:gn,name:r,valueProp:o,titleProp:"fullName",searchKey:"fullName",filterField:"id"},i))},go=["name"];function vo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const Po=e=>{let t=e.name,r=_(e,go);return N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?vo(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):vo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:Cn,name:t||"serviceId",valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id"},r))};function jo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const wo=e=>N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?jo(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):jo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:wn,name:"stockId",valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id",initialFilter:{page:1}},e)),Do=["name"];function xo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const So=e=>{let t=e.name,r=void 0===t?"categotyId":t,n=_(e,Do);return N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?xo(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:Dn,name:r,valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id",initialFilter:{page:1}},n))};function Co(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const ko=e=>N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Co(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Co(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:Sn,name:"orderCode",valueProp:"code",titleProp:"code",searchKey:"code",filterField:"code",initialFilter:{page:1,type:"order"}},e));function Eo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const qo=e=>N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Eo(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Eo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:xn,name:"status",valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id",initialFilter:{page:1}},e)),Io=["name"];function Fo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const To=e=>{let t=e.name,r=void 0===t?"pageCategoryId":t,n=_(e,Io);return N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Fo(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Fo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:Dn,name:r,valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id",initialFilter:{page:1}},n))},Vo=["name"];function No(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const Ao=e=>{let t=e.name,r=void 0===t?"faqId":t,n=_(e,Vo);return N(Rn,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?No(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):No(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({useGetAllQuery:En,name:r,valueProp:"id",titleProp:"name",searchKey:"name",filterField:"id",initialFilter:{page:1}},n))};export{we as BreadcrumbCustom,Me as CreateButton,Ee as CustomButton,Je as CustomButtonIcon,Ht as CustomImage,Mt as CustomList,ze as DrawerCustom,hr as FileUploadView,Kn as FormAddress,un as FormAutoComplete,io as FormAutoCompleteCustomer,no as FormAutoCompleteInfinite,bn as FormCascader,To as FormCategoryPost,tn as FormCheckbox,ht as FormContextCustom,Kr as FormDatePicker,Wn as FormHidden,So as FormInfiniteCategory,ko as FormInfiniteOrderCode,qo as FormInfiniteShipStatus,wo as FormInfiniteStock,Dr as FormInput,kr as FormInputNumber,Hn as FormJoditEditor,Jn as FormListAddtion,an as FormRadioGroup,Tr as FormSelect,Rr as FormSelectAPI,Rn as FormSelectInfinite,yo as FormSelectInfiniteBusinessUser,co as FormSelectInfiniteCustomer,ho as FormSelectInfiniteMaterial,po as FormSelectInfiniteProduct,mo as FormSelectInfiniteProvider,Un as FormSelectInfiniteProvince,Po as FormSelectInfiniteService,eo as FormSelectUser,Jr as FormTextArea,Br as FormTimePicker,Xt as HeaderCompany,vr as ImageUploader,Ao as InfiniteFaq,Qe as Loading,Jt as NoFooter,cr as Noresult,It as RestEditModal,vt as RestFilter,kt as RestList,fr as UserInfo};
|
|
2
|
+
//# sourceMappingURL=index.esm.js.map
|