@fctc/interface-logic 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-type-cZ3zwGsZ.d.mts +86 -0
- package/dist/api-type-cZ3zwGsZ.d.ts +86 -0
- package/dist/configs.d.mts +15 -0
- package/dist/configs.d.ts +15 -0
- package/dist/configs.js +2386 -0
- package/dist/configs.mjs +2349 -0
- package/dist/constants.d.mts +131 -0
- package/dist/constants.d.ts +131 -0
- package/dist/constants.js +205 -0
- package/dist/constants.mjs +166 -0
- package/dist/environment.d.mts +55 -0
- package/dist/environment.d.ts +55 -0
- package/dist/environment.js +3094 -0
- package/dist/environment.mjs +3054 -0
- package/dist/hooks.d.mts +370 -0
- package/dist/hooks.d.ts +370 -0
- package/dist/{index.js → hooks.js} +10 -1242
- package/dist/{index.mjs → hooks.mjs} +5 -1093
- package/dist/provider.d.mts +15 -0
- package/dist/provider.d.ts +15 -0
- package/dist/provider.js +3603 -0
- package/dist/provider.mjs +3564 -0
- package/dist/services.d.mts +268 -0
- package/dist/services.d.ts +268 -0
- package/dist/services.js +4661 -0
- package/dist/services.mjs +4616 -0
- package/dist/store.d.mts +643 -0
- package/dist/store.d.ts +643 -0
- package/dist/store.js +814 -0
- package/dist/store.mjs +709 -0
- package/dist/utils.d.mts +93 -0
- package/dist/utils.d.ts +93 -0
- package/dist/utils.js +2962 -0
- package/dist/utils.mjs +2896 -0
- package/package.json +6 -17
- package/dist/index.d.mts +0 -1709
- package/dist/index.d.ts +0 -1709
|
@@ -27,150 +27,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
// src/
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
33
|
-
ActionService: () => action_service_default,
|
|
34
|
-
AuthService: () => auth_service_default,
|
|
35
|
-
BaseModel: () => base_model_default,
|
|
36
|
-
CompanyModel: () => company_model_default,
|
|
37
|
-
CompanyService: () => company_service_default,
|
|
38
|
-
ComponentType: () => ComponentType,
|
|
39
|
-
EnvStore: () => EnvStore,
|
|
40
|
-
ExcelService: () => excel_service_default,
|
|
41
|
-
FieldTypeConstants: () => FieldTypeConstants,
|
|
42
|
-
FormService: () => form_service_default,
|
|
43
|
-
KanbanService: () => kanban_service_default,
|
|
44
|
-
KeyConstants: () => KeyConstants,
|
|
45
|
-
MainProvider: () => MainProvider,
|
|
46
|
-
MethodConstants: () => MethodConstants,
|
|
47
|
-
MethodType: () => MethodType,
|
|
48
|
-
ModelConstants: () => ModelConstants,
|
|
49
|
-
ModelService: () => model_service_default,
|
|
50
|
-
ReactQueryProvider: () => ReactQueryProvider,
|
|
51
|
-
SearchType: () => SearchType,
|
|
52
|
-
UriConstants: () => UriConstants,
|
|
53
|
-
UserModel: () => user_model_default,
|
|
54
|
-
UserService: () => user_service_default,
|
|
55
|
-
VersionGate: () => VersionGate,
|
|
56
|
-
ViewService: () => view_service_default,
|
|
57
|
-
WIDGETAVATAR: () => WIDGETAVATAR,
|
|
58
|
-
WIDGETCOLOR: () => WIDGETCOLOR,
|
|
59
|
-
WIDGETCURRENCY: () => WIDGETCURRENCY,
|
|
60
|
-
WIDGETNOSTRING: () => WIDGETNOSTRING,
|
|
61
|
-
WIDGETSTATUS: () => WIDGETSTATUS,
|
|
62
|
-
WesapError: () => WesapError,
|
|
63
|
-
axiosClient: () => axiosClient,
|
|
64
|
-
breadcrumbsSlice: () => breadcrumbsSlice,
|
|
65
|
-
checkIsImageLink: () => checkIsImageLink,
|
|
66
|
-
clearSearchMap: () => clearSearchMap,
|
|
67
|
-
convertFloatToTime: () => convertFloatToTime,
|
|
68
|
-
convertTimeToFloat: () => convertTimeToFloat,
|
|
69
|
-
copyTextToClipboard: () => copyTextToClipboard,
|
|
70
|
-
domainHelper: () => domainHelper,
|
|
71
|
-
env: () => env,
|
|
72
|
-
envSlice: () => envSlice,
|
|
73
|
-
envStore: () => envStore,
|
|
74
|
-
evalJSONContext: () => evalJSONContext,
|
|
75
|
-
evalJSONDomain: () => evalJSONDomain,
|
|
76
|
-
excelSlice: () => excelSlice,
|
|
77
|
-
filterFieldDirty: () => filterFieldDirty,
|
|
78
|
-
formSlice: () => formSlice,
|
|
79
|
-
formatCurrency: () => formatCurrency,
|
|
80
|
-
formatDate: () => formatDate,
|
|
81
|
-
formatFileSize: () => formatFileSize,
|
|
82
|
-
formatSortingString: () => formatSortingString,
|
|
83
|
-
formatUrlPath: () => formatUrlPath,
|
|
84
|
-
getEnv: () => getEnv,
|
|
85
|
-
getFieldsOnChange: () => getFieldsOnChange,
|
|
86
|
-
getOffSet: () => getOffSet,
|
|
87
|
-
getSubdomain: () => getSubdomain,
|
|
88
|
-
handleError: () => handleError,
|
|
89
|
-
headerSlice: () => headerSlice,
|
|
90
|
-
initEnv: () => initEnv,
|
|
91
|
-
isBase64File: () => isBase64File,
|
|
92
|
-
isBase64Image: () => isBase64Image,
|
|
93
|
-
isObjectEmpty: () => isObjectEmpty,
|
|
94
|
-
listSlice: () => listSlice,
|
|
95
|
-
localStorageUtils: () => localStorageUtils,
|
|
96
|
-
loginSlice: () => loginSlice,
|
|
97
|
-
mergeObjects: () => mergeObjects,
|
|
98
|
-
navbarSlice: () => navbarSlice,
|
|
99
|
-
profileSlice: () => profileSlice,
|
|
100
|
-
removeKeyFromSearchMap: () => removeKeyFromSearchMap,
|
|
101
|
-
removeUndefinedFields: () => removeUndefinedFields,
|
|
102
|
-
resequence: () => resequence,
|
|
103
|
-
searchSlice: () => searchSlice,
|
|
104
|
-
selectBreadCrumbs: () => selectBreadCrumbs,
|
|
105
|
-
selectEnv: () => selectEnv,
|
|
106
|
-
selectExcel: () => selectExcel,
|
|
107
|
-
selectForm: () => selectForm,
|
|
108
|
-
selectHeader: () => selectHeader,
|
|
109
|
-
selectList: () => selectList,
|
|
110
|
-
selectLogin: () => selectLogin,
|
|
111
|
-
selectNavbar: () => selectNavbar,
|
|
112
|
-
selectProfile: () => selectProfile,
|
|
113
|
-
selectSearch: () => selectSearch,
|
|
114
|
-
selectSearchMap: () => selectSearchMap,
|
|
115
|
-
sessionStorageUtils: () => sessionStorageUtils,
|
|
116
|
-
setAllowCompanies: () => setAllowCompanies,
|
|
117
|
-
setAllowedCompanyIds: () => setAllowedCompanyIds,
|
|
118
|
-
setBreadCrumbs: () => setBreadCrumbs,
|
|
119
|
-
setCompanies: () => setCompanies,
|
|
120
|
-
setConfig: () => setConfig,
|
|
121
|
-
setDataParse: () => setDataParse,
|
|
122
|
-
setDataUser: () => setDataUser,
|
|
123
|
-
setDb: () => setDb,
|
|
124
|
-
setDefaultCompany: () => setDefaultCompany,
|
|
125
|
-
setDomainTable: () => setDomainTable,
|
|
126
|
-
setEnv: () => setEnv,
|
|
127
|
-
setEnvFile: () => setEnvFile,
|
|
128
|
-
setErrorData: () => setErrorData,
|
|
129
|
-
setFieldTranslate: () => setFieldTranslate,
|
|
130
|
-
setFields: () => setFields,
|
|
131
|
-
setFilterBy: () => setFilterBy,
|
|
132
|
-
setFirstDomain: () => setFirstDomain,
|
|
133
|
-
setForgotPasswordUrl: () => setForgotPasswordUrl,
|
|
134
|
-
setFormSubmitComponent: () => setFormSubmitComponent,
|
|
135
|
-
setGroupBy: () => setGroupBy,
|
|
136
|
-
setGroupByDomain: () => setGroupByDomain,
|
|
137
|
-
setHeader: () => setHeader,
|
|
138
|
-
setHoveredIndexSearchList: () => setHoveredIndexSearchList,
|
|
139
|
-
setIdFile: () => setIdFile,
|
|
140
|
-
setIndexRowTableModal: () => setIndexRowTableModal,
|
|
141
|
-
setIsFileLoaded: () => setIsFileLoaded,
|
|
142
|
-
setIsShowModalTranslate: () => setIsShowModalTranslate,
|
|
143
|
-
setIsShowingModalDetail: () => setIsShowingModalDetail,
|
|
144
|
-
setIsUpdateTableModal: () => setIsUpdateTableModal,
|
|
145
|
-
setLang: () => setLang,
|
|
146
|
-
setListSubject: () => setListSubject,
|
|
147
|
-
setLoadingImport: () => setLoadingImport,
|
|
148
|
-
setMenuFocus: () => setMenuFocus,
|
|
149
|
-
setMenuFocusAction: () => setMenuFocusAction,
|
|
150
|
-
setMenuList: () => setMenuList,
|
|
151
|
-
setNavbarWidth: () => setNavbarWidth,
|
|
152
|
-
setOrder: () => setOrder,
|
|
153
|
-
setPage: () => setPage,
|
|
154
|
-
setPageLimit: () => setPageLimit,
|
|
155
|
-
setProfile: () => setProfile,
|
|
156
|
-
setRedirectTo: () => setRedirectTo,
|
|
157
|
-
setSearchBy: () => setSearchBy,
|
|
158
|
-
setSearchMap: () => setSearchMap,
|
|
159
|
-
setSearchString: () => setSearchString,
|
|
160
|
-
setSelectedFile: () => setSelectedFile,
|
|
161
|
-
setSelectedRadioKey: () => setSelectedRadioKey,
|
|
162
|
-
setSelectedRowKeys: () => setSelectedRowKeys,
|
|
163
|
-
setSelectedTags: () => setSelectedTags,
|
|
164
|
-
setTransferDetail: () => setTransferDetail,
|
|
165
|
-
setUid: () => setUid,
|
|
166
|
-
setUser: () => setUser,
|
|
167
|
-
setViewDataStore: () => setViewDataStore,
|
|
168
|
-
stringToColor: () => stringToColor,
|
|
169
|
-
toQueryString: () => toQueryString,
|
|
170
|
-
updateSearchMap: () => updateSearchMap,
|
|
171
|
-
updateTokenParamInOriginalRequest: () => updateTokenParamInOriginalRequest,
|
|
172
|
-
useAppDispatch: () => useAppDispatch,
|
|
173
|
-
useAppSelector: () => useAppSelector,
|
|
30
|
+
// src/hooks.ts
|
|
31
|
+
var hooks_exports = {};
|
|
32
|
+
__export(hooks_exports, {
|
|
174
33
|
useButton: () => use_button_default,
|
|
175
34
|
useChangeStatus: () => use_change_status_default,
|
|
176
35
|
useDelete: () => use_delete_default,
|
|
@@ -178,7 +37,6 @@ __export(index_exports, {
|
|
|
178
37
|
useDuplicateRecord: () => use_duplicate_record_default,
|
|
179
38
|
useExecuteImport: () => uss_execute_import_default,
|
|
180
39
|
useExportExcel: () => use_export_excel_default,
|
|
181
|
-
useField: () => useField,
|
|
182
40
|
useForgotPassword: () => use_forgot_password_default,
|
|
183
41
|
useForgotPasswordSSO: () => use_forgotpassword_sso_default,
|
|
184
42
|
useGet2FAMethods: () => uset_get_2FA_method_default,
|
|
@@ -234,48 +92,17 @@ __export(index_exports, {
|
|
|
234
92
|
useSettingsWebRead2fa: () => use_settings_web_read_2fa_default,
|
|
235
93
|
useSignInSSO: () => use_signin_sso_default,
|
|
236
94
|
useSwitchLocale: () => use_switch_locale_default,
|
|
237
|
-
useTabModel: () => useTabModel,
|
|
238
95
|
useUpdatePassword: () => use_update_password_default,
|
|
239
96
|
useUploadFile: () => use_upload_file_default,
|
|
240
97
|
useUploadIdFile: () => use_upload_id_file_default,
|
|
241
98
|
useUploadImage: () => use_upload_image_default,
|
|
242
99
|
useVerify2FA: () => use_verify_2FA_default,
|
|
243
|
-
useVerifyTotp: () => use_verify_totp_default
|
|
244
|
-
validateAndParseDate: () => validateAndParseDate
|
|
100
|
+
useVerifyTotp: () => use_verify_totp_default
|
|
245
101
|
});
|
|
246
|
-
module.exports = __toCommonJS(
|
|
102
|
+
module.exports = __toCommonJS(hooks_exports);
|
|
247
103
|
|
|
248
|
-
// src/
|
|
249
|
-
var
|
|
250
|
-
|
|
251
|
-
// src/constants/api/key-constant.ts
|
|
252
|
-
var KeyConstants = /* @__PURE__ */ ((KeyConstants2) => {
|
|
253
|
-
KeyConstants2["PROFILE"] = "userinfo";
|
|
254
|
-
KeyConstants2["CURRENT_COMPANY"] = "current_company";
|
|
255
|
-
KeyConstants2["LIST_COMPANY"] = "list_company";
|
|
256
|
-
KeyConstants2["COMPANY_INFO"] = "company_info";
|
|
257
|
-
KeyConstants2["MENU"] = "menus";
|
|
258
|
-
KeyConstants2["GET_VIEW_BY_ACTION"] = "get_view_by_action";
|
|
259
|
-
KeyConstants2["ACTION_DETAIL"] = "action_detail";
|
|
260
|
-
KeyConstants2["GET_DATA_SELECTION"] = "get_data_select";
|
|
261
|
-
KeyConstants2["WEB_SAVE"] = "web_save";
|
|
262
|
-
KeyConstants2["WEB_READ"] = "web_read";
|
|
263
|
-
KeyConstants2["GET_PROVIDER"] = "get_provider";
|
|
264
|
-
return KeyConstants2;
|
|
265
|
-
})(KeyConstants || {});
|
|
266
|
-
|
|
267
|
-
// src/constants/api/method-constant.ts
|
|
268
|
-
var MethodConstants = /* @__PURE__ */ ((MethodConstants2) => {
|
|
269
|
-
MethodConstants2["WEB_SEARCH_READ"] = "web_search_read";
|
|
270
|
-
MethodConstants2["WEB_READ_GROUP"] = "web_read_group";
|
|
271
|
-
MethodConstants2["WEB_READ"] = "web_read";
|
|
272
|
-
MethodConstants2["WEB_SAVE"] = "web_save";
|
|
273
|
-
MethodConstants2["UNLINK"] = "unlink";
|
|
274
|
-
MethodConstants2["ONCHANGE"] = "onchange";
|
|
275
|
-
MethodConstants2["GET_ONCHANGE_FIELDS"] = "get_fields_onchange";
|
|
276
|
-
MethodConstants2["GET_FIELD_VIEW"] = "get_fields_view_v2";
|
|
277
|
-
return MethodConstants2;
|
|
278
|
-
})(MethodConstants || {});
|
|
104
|
+
// src/hooks/auth/use-forgot-password.ts
|
|
105
|
+
var import_react_query = require("@tanstack/react-query");
|
|
279
106
|
|
|
280
107
|
// src/constants/api/uri-constant.ts
|
|
281
108
|
var UriConstants = /* @__PURE__ */ ((UriConstants2) => {
|
|
@@ -307,380 +134,11 @@ var UriConstants = /* @__PURE__ */ ((UriConstants2) => {
|
|
|
307
134
|
return UriConstants2;
|
|
308
135
|
})(UriConstants || {});
|
|
309
136
|
|
|
310
|
-
// src/
|
|
311
|
-
var
|
|
312
|
-
code;
|
|
313
|
-
constructor(message, code) {
|
|
314
|
-
super(message);
|
|
315
|
-
this.code = code;
|
|
316
|
-
}
|
|
317
|
-
};
|
|
318
|
-
function handleError(error, env2) {
|
|
319
|
-
if (error instanceof WesapError) {
|
|
320
|
-
env2.services.notification.error(error.message);
|
|
321
|
-
} else {
|
|
322
|
-
env2.services.notification.error("An unexpected error occurred");
|
|
323
|
-
}
|
|
324
|
-
}
|
|
137
|
+
// src/configs/axios-client.ts
|
|
138
|
+
var import_axios = __toESM(require("axios"));
|
|
325
139
|
|
|
326
140
|
// src/utils/format.ts
|
|
327
141
|
var import_moment = __toESM(require("moment"));
|
|
328
|
-
var formatCurrency = (amount, currency = "USD") => {
|
|
329
|
-
const formatter = new Intl.NumberFormat("vi-VN", {
|
|
330
|
-
style: "currency",
|
|
331
|
-
currency,
|
|
332
|
-
minimumFractionDigits: 0
|
|
333
|
-
});
|
|
334
|
-
return formatter.format(amount).replaceAll(".", ",");
|
|
335
|
-
};
|
|
336
|
-
var formatDate = (date, locale = "en-US") => {
|
|
337
|
-
return new Intl.DateTimeFormat(locale).format(new Date(date));
|
|
338
|
-
};
|
|
339
|
-
var validateAndParseDate = (input, isDateTime = false) => {
|
|
340
|
-
if (!input || typeof input !== "string") return null;
|
|
341
|
-
const cleanInput = input.replace(/[^0-9-\/:\s]/g, "");
|
|
342
|
-
const dateFormat = "YYYY-MM-DD";
|
|
343
|
-
const dateTimeFormat = "YYYY-MM-DD HH:mm:ss";
|
|
344
|
-
const currentDay = (0, import_moment.default)().format("DD");
|
|
345
|
-
const currentMonth = (0, import_moment.default)().format("MM");
|
|
346
|
-
const currentYear = (0, import_moment.default)().format("YYYY");
|
|
347
|
-
const defaultTime = "00:00:00";
|
|
348
|
-
const maxYear = parseInt(currentYear) + 10;
|
|
349
|
-
const isValidDate = (day, month, year) => {
|
|
350
|
-
const date = (0, import_moment.default)(`${day}-${month}-${year}`, "DD-MM-YYYY", true);
|
|
351
|
-
return date.isValid();
|
|
352
|
-
};
|
|
353
|
-
const isValidTime = (hour, minute = "00", second = "00") => {
|
|
354
|
-
const h = parseInt(hour, 10);
|
|
355
|
-
const m = parseInt(minute, 10);
|
|
356
|
-
const s = parseInt(second, 10);
|
|
357
|
-
return h >= 0 && h <= 23 && m >= 0 && m <= 59 && s >= 0 && s <= 59;
|
|
358
|
-
};
|
|
359
|
-
const formatOutput = (day, month, year, time = defaultTime) => {
|
|
360
|
-
let result = (0, import_moment.default)(
|
|
361
|
-
`${day}-${month}-${year} ${time}`,
|
|
362
|
-
"DD-MM-YYYY HH:mm:ss"
|
|
363
|
-
);
|
|
364
|
-
if (!result.isValid()) return null;
|
|
365
|
-
if (isDateTime) {
|
|
366
|
-
result = result.subtract(7, "hours");
|
|
367
|
-
return result.format(dateTimeFormat);
|
|
368
|
-
}
|
|
369
|
-
return result.format(dateFormat);
|
|
370
|
-
};
|
|
371
|
-
if (isDateTime && input.match(
|
|
372
|
-
/^\d{1,2}[\/-]\d{1,2}[\/-]\d{2,4}\s+\d{1,2}(:\d{1,2}(:\d{1,2})?)?$/
|
|
373
|
-
)) {
|
|
374
|
-
const [datePart, timePart] = input.split(/\s+/);
|
|
375
|
-
const dateParts = datePart.split(/[\/-]/);
|
|
376
|
-
const timeParts = timePart.split(":");
|
|
377
|
-
const day = dateParts[0].padStart(2, "0");
|
|
378
|
-
const month = dateParts[1].padStart(2, "0");
|
|
379
|
-
const year = dateParts[2].length <= 2 ? `20${dateParts[2].padStart(2, "0")}` : dateParts[2].padStart(4, "0");
|
|
380
|
-
const hour = timeParts[0].padStart(2, "0");
|
|
381
|
-
const minute = timeParts[1] ? timeParts[1].padStart(2, "0") : "00";
|
|
382
|
-
const second = timeParts[2] ? timeParts[2].padStart(2, "0") : "00";
|
|
383
|
-
if (isValidDate(day, month, year) && isValidTime(hour, minute, second)) {
|
|
384
|
-
let result = (0, import_moment.default)(
|
|
385
|
-
`${day}-${month}-${year} ${hour}:${minute}:${second}`,
|
|
386
|
-
"DD-MM-YYYY HH:mm:ss"
|
|
387
|
-
);
|
|
388
|
-
if (!result.isValid()) return null;
|
|
389
|
-
result = result.subtract(7, "hours");
|
|
390
|
-
return result.format(dateTimeFormat);
|
|
391
|
-
}
|
|
392
|
-
return null;
|
|
393
|
-
}
|
|
394
|
-
if (cleanInput.match(/^\d{4}-\d{2}-\d{2}$/)) {
|
|
395
|
-
const [year, month, day] = cleanInput.split("-");
|
|
396
|
-
if (isValidDate(day, month, year)) {
|
|
397
|
-
return formatOutput(day, month, year);
|
|
398
|
-
}
|
|
399
|
-
return null;
|
|
400
|
-
}
|
|
401
|
-
if (cleanInput.match(/^\d{1,2}\/\d{1,2}\/\d{2,4}$/)) {
|
|
402
|
-
const [day, month, year] = cleanInput.split("/");
|
|
403
|
-
const paddedDay = day.padStart(2, "0");
|
|
404
|
-
const paddedMonth = month.padStart(2, "0");
|
|
405
|
-
const fullYear = year.length <= 2 ? `20${year.padStart(2, "0")}` : year.padStart(4, "0");
|
|
406
|
-
if (isValidDate(paddedDay, paddedMonth, fullYear)) {
|
|
407
|
-
return formatOutput(paddedDay, paddedMonth, fullYear);
|
|
408
|
-
}
|
|
409
|
-
return null;
|
|
410
|
-
}
|
|
411
|
-
if (cleanInput.match(/^\d{1,2}-\d{1,2}-\d{2,4}$/)) {
|
|
412
|
-
const [day, month, year] = cleanInput.split("-");
|
|
413
|
-
const paddedDay = day.padStart(2, "0");
|
|
414
|
-
const paddedMonth = month.padStart(2, "0");
|
|
415
|
-
const fullYear = year.length <= 2 ? `20${year.padStart(2, "0")}` : year.padStart(4, "0");
|
|
416
|
-
if (isValidDate(paddedDay, paddedMonth, fullYear)) {
|
|
417
|
-
return formatOutput(paddedDay, paddedMonth, fullYear);
|
|
418
|
-
}
|
|
419
|
-
return null;
|
|
420
|
-
}
|
|
421
|
-
if (cleanInput.match(/^\d{1,2}[\/-]\d{1,2}$/)) {
|
|
422
|
-
const [day, month] = cleanInput.split(/[\/-]/);
|
|
423
|
-
const paddedDay = day.padStart(2, "0");
|
|
424
|
-
const paddedMonth = month.padStart(2, "0");
|
|
425
|
-
if (isValidDate(paddedDay, paddedMonth, currentYear)) {
|
|
426
|
-
return formatOutput(paddedDay, paddedMonth, currentYear);
|
|
427
|
-
}
|
|
428
|
-
return null;
|
|
429
|
-
}
|
|
430
|
-
if (cleanInput.match(/^\d{4}$/)) {
|
|
431
|
-
const num = parseInt(cleanInput, 10);
|
|
432
|
-
if (num >= 2e3 && num <= maxYear) {
|
|
433
|
-
if (isValidDate(currentDay, currentMonth, num.toString())) {
|
|
434
|
-
return formatOutput(currentDay, currentMonth, num.toString());
|
|
435
|
-
}
|
|
436
|
-
return null;
|
|
437
|
-
}
|
|
438
|
-
const day = cleanInput.slice(0, 2);
|
|
439
|
-
const month = cleanInput.slice(2, 4);
|
|
440
|
-
if (isValidDate(day, month, currentYear)) {
|
|
441
|
-
return formatOutput(day, month, currentYear);
|
|
442
|
-
}
|
|
443
|
-
return null;
|
|
444
|
-
}
|
|
445
|
-
if (cleanInput.startsWith("-") && /^\-\d+$/.test(cleanInput)) {
|
|
446
|
-
const daysToSubtract = Math.abs(parseInt(cleanInput, 10));
|
|
447
|
-
let result = (0, import_moment.default)().subtract(daysToSubtract, "days");
|
|
448
|
-
if (isDateTime) {
|
|
449
|
-
result = result.subtract(7, "hours");
|
|
450
|
-
}
|
|
451
|
-
if (result.isValid()) {
|
|
452
|
-
return isDateTime ? result.format(dateTimeFormat) : result.format(dateFormat);
|
|
453
|
-
}
|
|
454
|
-
return null;
|
|
455
|
-
}
|
|
456
|
-
if (input.match(/^\d{1,2}[^0-9-\/]+\d{1,2}[^0-9-\/]+\d{2,4}.*$/)) {
|
|
457
|
-
const parts = input.split(/[^0-9-\/]+/).filter(Boolean);
|
|
458
|
-
const day = parts[0].padStart(2, "0");
|
|
459
|
-
const month = parts[1].padStart(2, "0");
|
|
460
|
-
let year = parts[2];
|
|
461
|
-
year = year.length === 2 ? `20${year}` : year.padStart(4, "0");
|
|
462
|
-
if (isValidDate(day, month, year)) {
|
|
463
|
-
return formatOutput(day, month, year);
|
|
464
|
-
}
|
|
465
|
-
return null;
|
|
466
|
-
}
|
|
467
|
-
if (isDateTime) {
|
|
468
|
-
if (cleanInput.length === 9) {
|
|
469
|
-
const day = cleanInput.slice(0, 2);
|
|
470
|
-
const month = cleanInput.slice(2, 4);
|
|
471
|
-
const year = cleanInput.slice(4, 8);
|
|
472
|
-
const hour = cleanInput.slice(8, 9).padStart(2, "0");
|
|
473
|
-
if (isValidDate(day, month, year) && isValidTime(hour)) {
|
|
474
|
-
let result = (0, import_moment.default)(
|
|
475
|
-
`${day}-${month}-${year} ${hour}:00:00`,
|
|
476
|
-
"DD-MM-YYYY HH:mm:ss"
|
|
477
|
-
);
|
|
478
|
-
if (!result.isValid()) return null;
|
|
479
|
-
result = result.subtract(7, "hours");
|
|
480
|
-
return result.format(dateTimeFormat);
|
|
481
|
-
}
|
|
482
|
-
return null;
|
|
483
|
-
}
|
|
484
|
-
if (cleanInput.length === 10) {
|
|
485
|
-
const day = cleanInput.slice(0, 2);
|
|
486
|
-
const month = cleanInput.slice(2, 4);
|
|
487
|
-
const year = cleanInput.slice(4, 8);
|
|
488
|
-
const hour = cleanInput.slice(8, 10);
|
|
489
|
-
if (isValidDate(day, month, year) && isValidTime(hour)) {
|
|
490
|
-
let result = (0, import_moment.default)(
|
|
491
|
-
`${day}-${month}-${year} ${hour}:00:00`,
|
|
492
|
-
"DD-MM-YYYY HH:mm:ss"
|
|
493
|
-
);
|
|
494
|
-
if (!result.isValid()) return null;
|
|
495
|
-
result = result.subtract(7, "hours");
|
|
496
|
-
return result.format(dateTimeFormat);
|
|
497
|
-
}
|
|
498
|
-
return null;
|
|
499
|
-
}
|
|
500
|
-
if (cleanInput.length === 11) {
|
|
501
|
-
const day = cleanInput.slice(0, 2);
|
|
502
|
-
const month = cleanInput.slice(2, 4);
|
|
503
|
-
const year = cleanInput.slice(4, 8);
|
|
504
|
-
const hour = cleanInput.slice(8, 10);
|
|
505
|
-
const minute = cleanInput.slice(10, 11).padStart(2, "0");
|
|
506
|
-
if (isValidDate(day, month, year) && isValidTime(hour, minute)) {
|
|
507
|
-
let result = (0, import_moment.default)(
|
|
508
|
-
`${day}-${month}-${year} ${hour}:${minute}:00`,
|
|
509
|
-
"DD-MM-YYYY HH:mm:ss"
|
|
510
|
-
);
|
|
511
|
-
if (!result.isValid()) return null;
|
|
512
|
-
result = result.subtract(7, "hours");
|
|
513
|
-
return result.format(dateTimeFormat);
|
|
514
|
-
}
|
|
515
|
-
return null;
|
|
516
|
-
}
|
|
517
|
-
if (cleanInput.length === 12) {
|
|
518
|
-
const day = cleanInput.slice(0, 2);
|
|
519
|
-
const month = cleanInput.slice(2, 4);
|
|
520
|
-
const year = cleanInput.slice(4, 8);
|
|
521
|
-
const hour = cleanInput.slice(8, 10);
|
|
522
|
-
const minute = cleanInput.slice(10, 12);
|
|
523
|
-
if (isValidDate(day, month, year) && isValidTime(hour, minute)) {
|
|
524
|
-
let result = (0, import_moment.default)(
|
|
525
|
-
`${day}-${month}-${year} ${hour}:${minute}:00`,
|
|
526
|
-
"DD-MM-YYYY HH:mm:ss"
|
|
527
|
-
);
|
|
528
|
-
if (!result.isValid()) return null;
|
|
529
|
-
result = result.subtract(7, "hours");
|
|
530
|
-
return result.format(dateTimeFormat);
|
|
531
|
-
}
|
|
532
|
-
return null;
|
|
533
|
-
}
|
|
534
|
-
if (cleanInput.length === 13) {
|
|
535
|
-
const day = cleanInput.slice(0, 2);
|
|
536
|
-
const month = cleanInput.slice(2, 4);
|
|
537
|
-
const year = cleanInput.slice(4, 8);
|
|
538
|
-
const hour = cleanInput.slice(8, 10);
|
|
539
|
-
const minute = cleanInput.slice(10, 12);
|
|
540
|
-
const second = cleanInput.slice(12, 13).padStart(2, "0");
|
|
541
|
-
if (isValidDate(day, month, year) && isValidTime(hour, minute, second)) {
|
|
542
|
-
let result = (0, import_moment.default)(
|
|
543
|
-
`${day}-${month}-${year} ${hour}:${minute}:${second}`,
|
|
544
|
-
"DD-MM-YYYY HH:mm:ss"
|
|
545
|
-
);
|
|
546
|
-
if (!result.isValid()) return null;
|
|
547
|
-
result = result.subtract(7, "hours");
|
|
548
|
-
return result.format(dateTimeFormat);
|
|
549
|
-
}
|
|
550
|
-
return null;
|
|
551
|
-
}
|
|
552
|
-
if (cleanInput.length === 14) {
|
|
553
|
-
const day = cleanInput.slice(0, 2);
|
|
554
|
-
const month = cleanInput.slice(2, 4);
|
|
555
|
-
const year = cleanInput.slice(4, 8);
|
|
556
|
-
const hour = cleanInput.slice(8, 10);
|
|
557
|
-
const minute = cleanInput.slice(10, 12);
|
|
558
|
-
const second = cleanInput.slice(12, 14);
|
|
559
|
-
if (isValidDate(day, month, year) && isValidTime(hour, minute, second)) {
|
|
560
|
-
let result = (0, import_moment.default)(
|
|
561
|
-
`${day}-${month}-${year} ${hour}:${minute}:${second}`,
|
|
562
|
-
"DD-MM-YYYY HH:mm:ss"
|
|
563
|
-
);
|
|
564
|
-
if (!result.isValid()) return null;
|
|
565
|
-
result = result.subtract(7, "hours");
|
|
566
|
-
return result.format(dateTimeFormat);
|
|
567
|
-
}
|
|
568
|
-
return null;
|
|
569
|
-
}
|
|
570
|
-
}
|
|
571
|
-
const len = cleanInput.length;
|
|
572
|
-
if (len === 1 || len === 2) {
|
|
573
|
-
const paddedDay = cleanInput.padStart(2, "0");
|
|
574
|
-
if (isValidDate(paddedDay, currentMonth, currentYear)) {
|
|
575
|
-
return formatOutput(paddedDay, currentMonth, currentYear);
|
|
576
|
-
}
|
|
577
|
-
return null;
|
|
578
|
-
}
|
|
579
|
-
if (len === 3) {
|
|
580
|
-
const day = cleanInput.slice(0, 2);
|
|
581
|
-
const month = cleanInput.slice(2, 3).padStart(2, "0");
|
|
582
|
-
if (isValidDate(day, month, currentYear)) {
|
|
583
|
-
return formatOutput(day, month, currentYear);
|
|
584
|
-
}
|
|
585
|
-
return null;
|
|
586
|
-
}
|
|
587
|
-
if (len === 6) {
|
|
588
|
-
const day = cleanInput.slice(0, 2);
|
|
589
|
-
const month = cleanInput.slice(2, 4);
|
|
590
|
-
let year = cleanInput.slice(4, 6);
|
|
591
|
-
year = `20${year}`;
|
|
592
|
-
if (parseInt(month) > 12) {
|
|
593
|
-
if (isValidDate(day, currentMonth, currentYear)) {
|
|
594
|
-
return formatOutput(day, currentMonth, currentYear);
|
|
595
|
-
}
|
|
596
|
-
return null;
|
|
597
|
-
}
|
|
598
|
-
if (isValidDate(day, month, year)) {
|
|
599
|
-
return formatOutput(day, month, year);
|
|
600
|
-
}
|
|
601
|
-
return null;
|
|
602
|
-
}
|
|
603
|
-
if (len === 7) {
|
|
604
|
-
return null;
|
|
605
|
-
}
|
|
606
|
-
if (len === 8) {
|
|
607
|
-
const day = cleanInput.slice(0, 2);
|
|
608
|
-
const month = cleanInput.slice(2, 4);
|
|
609
|
-
const year = cleanInput.slice(4, 8);
|
|
610
|
-
if (isValidDate(day, month, year)) {
|
|
611
|
-
return formatOutput(day, month, year);
|
|
612
|
-
}
|
|
613
|
-
return null;
|
|
614
|
-
}
|
|
615
|
-
if (len > 8 && !isDateTime) {
|
|
616
|
-
return null;
|
|
617
|
-
}
|
|
618
|
-
return null;
|
|
619
|
-
};
|
|
620
|
-
|
|
621
|
-
// src/constants/field/field-type-constant.ts
|
|
622
|
-
var FieldTypeConstants = /* @__PURE__ */ ((FieldTypeConstants2) => {
|
|
623
|
-
FieldTypeConstants2["CHAR"] = "char";
|
|
624
|
-
FieldTypeConstants2["TEXT"] = "text";
|
|
625
|
-
FieldTypeConstants2["INTEGER"] = "integer";
|
|
626
|
-
FieldTypeConstants2["FLOAT"] = "float";
|
|
627
|
-
FieldTypeConstants2["BOOLEAN"] = "boolean";
|
|
628
|
-
FieldTypeConstants2["DATE"] = "date";
|
|
629
|
-
FieldTypeConstants2["DATETIME"] = "datetime";
|
|
630
|
-
FieldTypeConstants2["BINARY"] = "binary";
|
|
631
|
-
FieldTypeConstants2["SELECTION"] = "selection";
|
|
632
|
-
FieldTypeConstants2["HTML"] = "html";
|
|
633
|
-
FieldTypeConstants2["MANY2ONE"] = "many2one";
|
|
634
|
-
FieldTypeConstants2["ONE2MANY"] = "one2many";
|
|
635
|
-
FieldTypeConstants2["MANY2MANY"] = "many2many";
|
|
636
|
-
FieldTypeConstants2["MONETARY"] = "monetary";
|
|
637
|
-
FieldTypeConstants2["REFERENCE"] = "reference";
|
|
638
|
-
FieldTypeConstants2["FUNCTION"] = "function";
|
|
639
|
-
FieldTypeConstants2["PROPERTY"] = "property";
|
|
640
|
-
return FieldTypeConstants2;
|
|
641
|
-
})(FieldTypeConstants || {});
|
|
642
|
-
|
|
643
|
-
// src/constants/method/method-type-constant.ts
|
|
644
|
-
var MethodType = /* @__PURE__ */ ((MethodType2) => {
|
|
645
|
-
MethodType2[MethodType2["CREATE"] = 0] = "CREATE";
|
|
646
|
-
MethodType2[MethodType2["UPDATE"] = 1] = "UPDATE";
|
|
647
|
-
MethodType2[MethodType2["DELETE"] = 2] = "DELETE";
|
|
648
|
-
MethodType2[MethodType2["UNLINK"] = 3] = "UNLINK";
|
|
649
|
-
MethodType2[MethodType2["NO_CHANGE"] = 4] = "NO_CHANGE";
|
|
650
|
-
return MethodType2;
|
|
651
|
-
})(MethodType || {});
|
|
652
|
-
|
|
653
|
-
// src/constants/model/model-constant.ts
|
|
654
|
-
var ModelConstants = /* @__PURE__ */ ((ModelConstants2) => {
|
|
655
|
-
ModelConstants2["MENU"] = "ir.ui.menu";
|
|
656
|
-
ModelConstants2["USER"] = "res.users";
|
|
657
|
-
ModelConstants2["COMPANY"] = "res.company";
|
|
658
|
-
ModelConstants2["WINDOW_ACTION"] = "ir.actions.act_window";
|
|
659
|
-
ModelConstants2["BASE_IMPORT"] = "base_import.import";
|
|
660
|
-
ModelConstants2["GET_IMPORT"] = "get_import_templates";
|
|
661
|
-
return ModelConstants2;
|
|
662
|
-
})(ModelConstants || {});
|
|
663
|
-
|
|
664
|
-
// src/constants/type/index.ts
|
|
665
|
-
var ComponentType = /* @__PURE__ */ ((ComponentType2) => {
|
|
666
|
-
ComponentType2["GROUP"] = "group";
|
|
667
|
-
ComponentType2["FIELD"] = "field";
|
|
668
|
-
ComponentType2["TREE"] = "tree";
|
|
669
|
-
ComponentType2["DIV"] = "div";
|
|
670
|
-
ComponentType2["LIST"] = "list";
|
|
671
|
-
ComponentType2["FORM"] = "form";
|
|
672
|
-
ComponentType2["SETTINGS"] = "setting";
|
|
673
|
-
ComponentType2["SPAN"] = "span";
|
|
674
|
-
ComponentType2["KANBAN"] = "kanban";
|
|
675
|
-
ComponentType2["CALENDAR"] = "calendar";
|
|
676
|
-
ComponentType2["TYPE"] = "view-type";
|
|
677
|
-
return ComponentType2;
|
|
678
|
-
})(ComponentType || {});
|
|
679
|
-
var SearchType = {
|
|
680
|
-
FILTER: "filter_by",
|
|
681
|
-
SEARCH: "search_by",
|
|
682
|
-
GROUP: "group_by"
|
|
683
|
-
};
|
|
684
142
|
|
|
685
143
|
// src/constants/widget/widget-avatar-constant.ts
|
|
686
144
|
var WIDGETAVATAR = /* @__PURE__ */ ((WIDGETAVATAR2) => {
|
|
@@ -688,28 +146,6 @@ var WIDGETAVATAR = /* @__PURE__ */ ((WIDGETAVATAR2) => {
|
|
|
688
146
|
WIDGETAVATAR2["many2many_avatar_user"] = "many2many_avatar_user";
|
|
689
147
|
return WIDGETAVATAR2;
|
|
690
148
|
})(WIDGETAVATAR || {});
|
|
691
|
-
var WIDGETCURRENCY = /* @__PURE__ */ ((WIDGETCURRENCY2) => {
|
|
692
|
-
WIDGETCURRENCY2["many2one_avatar_user"] = "many2one_avatar_user";
|
|
693
|
-
WIDGETCURRENCY2["many2many_avatar_user"] = "many2many_avatar_user";
|
|
694
|
-
return WIDGETCURRENCY2;
|
|
695
|
-
})(WIDGETCURRENCY || {});
|
|
696
|
-
|
|
697
|
-
// src/constants/widget/widget-color-constant.ts
|
|
698
|
-
var WIDGETCOLOR = /* @__PURE__ */ ((WIDGETCOLOR2) => {
|
|
699
|
-
WIDGETCOLOR2["many2many_tags"] = "many2many_tags";
|
|
700
|
-
WIDGETCOLOR2["helpdesk_sla_many2many_tags"] = "helpdesk_sla_many2many_tags";
|
|
701
|
-
return WIDGETCOLOR2;
|
|
702
|
-
})(WIDGETCOLOR || {});
|
|
703
|
-
|
|
704
|
-
// src/constants/widget/widget-status-constant.ts
|
|
705
|
-
var WIDGETSTATUS = /* @__PURE__ */ ((WIDGETSTATUS2) => {
|
|
706
|
-
WIDGETSTATUS2["sla_status_ids"] = "sla_status_ids";
|
|
707
|
-
return WIDGETSTATUS2;
|
|
708
|
-
})(WIDGETSTATUS || {});
|
|
709
|
-
var WIDGETNOSTRING = /* @__PURE__ */ ((WIDGETNOSTRING2) => {
|
|
710
|
-
WIDGETNOSTRING2["sla_status_ids"] = "sla_status_ids";
|
|
711
|
-
return WIDGETNOSTRING2;
|
|
712
|
-
})(WIDGETNOSTRING || {});
|
|
713
149
|
|
|
714
150
|
// src/utils/domain/py_tokenizer.ts
|
|
715
151
|
var TokenizerError = class extends Error {
|
|
@@ -2478,48 +1914,6 @@ function parseExpr(expr) {
|
|
|
2478
1914
|
const tokens = tokenize(expr);
|
|
2479
1915
|
return parse(tokens);
|
|
2480
1916
|
}
|
|
2481
|
-
function evaluateExpr(expr, context = {}) {
|
|
2482
|
-
let ast;
|
|
2483
|
-
try {
|
|
2484
|
-
ast = parseExpr(expr);
|
|
2485
|
-
} catch (error) {
|
|
2486
|
-
throw new EvalError(
|
|
2487
|
-
`Can not parse python expression: (${expr})
|
|
2488
|
-
Error: ${error.message}`
|
|
2489
|
-
);
|
|
2490
|
-
}
|
|
2491
|
-
try {
|
|
2492
|
-
return evaluate(ast, context);
|
|
2493
|
-
} catch (error) {
|
|
2494
|
-
throw new EvalError(
|
|
2495
|
-
`Can not evaluate python expression: (${expr})
|
|
2496
|
-
Error: ${error.message}`
|
|
2497
|
-
);
|
|
2498
|
-
}
|
|
2499
|
-
}
|
|
2500
|
-
function evaluateBooleanExpr(expr, context = {}) {
|
|
2501
|
-
if (!expr || expr === "False" || expr === "0") {
|
|
2502
|
-
return false;
|
|
2503
|
-
}
|
|
2504
|
-
if (expr === "True" || expr === "1") {
|
|
2505
|
-
return true;
|
|
2506
|
-
}
|
|
2507
|
-
return evaluateExpr(`bool(${expr})`, context);
|
|
2508
|
-
}
|
|
2509
|
-
|
|
2510
|
-
// src/utils/domain/context.ts
|
|
2511
|
-
function evalPartialContext(_context, evaluationContext = {}) {
|
|
2512
|
-
const ast = parseExpr(_context);
|
|
2513
|
-
const context = {};
|
|
2514
|
-
for (const key in ast.value) {
|
|
2515
|
-
const value = ast.value[key];
|
|
2516
|
-
try {
|
|
2517
|
-
context[key] = evaluate(value, evaluationContext);
|
|
2518
|
-
} catch {
|
|
2519
|
-
}
|
|
2520
|
-
}
|
|
2521
|
-
return context;
|
|
2522
|
-
}
|
|
2523
1917
|
|
|
2524
1918
|
// src/utils/domain/objects.ts
|
|
2525
1919
|
function shallowEqual(obj1, obj2, comparisonFn = (a, b) => a === b) {
|
|
@@ -2858,280 +2252,14 @@ function matchDomain(record, domain) {
|
|
|
2858
2252
|
}
|
|
2859
2253
|
return matchCondition(record, condStack.pop());
|
|
2860
2254
|
}
|
|
2861
|
-
var checkDomain = (context, domain) => {
|
|
2862
|
-
try {
|
|
2863
|
-
if (domain === void 0 || domain === "0" || domain === "False" || domain === false) {
|
|
2864
|
-
return false;
|
|
2865
|
-
} else if (domain === "1" || domain === "True" || domain === true) {
|
|
2866
|
-
return true;
|
|
2867
|
-
}
|
|
2868
|
-
try {
|
|
2869
|
-
if (context && domain) {
|
|
2870
|
-
const d = new Domain(domain);
|
|
2871
|
-
return d.contains(context);
|
|
2872
|
-
}
|
|
2873
|
-
} catch (error) {
|
|
2874
|
-
if (context && domain) {
|
|
2875
|
-
const domainEval = evaluateBooleanExpr(domain, context);
|
|
2876
|
-
return domainEval;
|
|
2877
|
-
}
|
|
2878
|
-
return false;
|
|
2879
|
-
}
|
|
2880
|
-
return false;
|
|
2881
|
-
} catch (e) {
|
|
2882
|
-
return false;
|
|
2883
|
-
}
|
|
2884
|
-
};
|
|
2885
|
-
var matchDomains = (context, domains) => {
|
|
2886
|
-
if (Array.isArray(domains)) {
|
|
2887
|
-
if (domains?.length > 0) {
|
|
2888
|
-
return domains && domains.some((domain) => checkDomain(context, domain));
|
|
2889
|
-
}
|
|
2890
|
-
} else return checkDomain(context, domains);
|
|
2891
|
-
return false;
|
|
2892
|
-
};
|
|
2893
2255
|
|
|
2894
2256
|
// src/utils/function.ts
|
|
2895
2257
|
var import_react = require("react");
|
|
2896
|
-
var evalJSONContext = (_context, context = {}) => {
|
|
2897
|
-
try {
|
|
2898
|
-
return evalPartialContext(_context, context);
|
|
2899
|
-
} catch (err) {
|
|
2900
|
-
return null;
|
|
2901
|
-
}
|
|
2902
|
-
};
|
|
2903
|
-
var evalJSONDomain = (domain, context) => {
|
|
2904
|
-
try {
|
|
2905
|
-
if (context) {
|
|
2906
|
-
Object.keys(context)?.forEach((key) => {
|
|
2907
|
-
if (Array.isArray(context[key])) {
|
|
2908
|
-
const isTypeObject = context[key]?.every(
|
|
2909
|
-
(item) => typeof item === "object" && item !== null && item?.id !== void 0
|
|
2910
|
-
);
|
|
2911
|
-
if (isTypeObject) {
|
|
2912
|
-
context[key] = context[key]?.map((item) => item?.id);
|
|
2913
|
-
}
|
|
2914
|
-
}
|
|
2915
|
-
});
|
|
2916
|
-
}
|
|
2917
|
-
const value = evaluateExpr(domain, context);
|
|
2918
|
-
return value;
|
|
2919
|
-
} catch (err) {
|
|
2920
|
-
try {
|
|
2921
|
-
const domainObject = new Domain(domain).toList(context);
|
|
2922
|
-
return domainObject;
|
|
2923
|
-
} catch (err2) {
|
|
2924
|
-
return [];
|
|
2925
|
-
}
|
|
2926
|
-
}
|
|
2927
|
-
};
|
|
2928
|
-
var formatSortingString = (input) => {
|
|
2929
|
-
if (!input) return null;
|
|
2930
|
-
return input.split(",").map((field) => {
|
|
2931
|
-
const [key, order] = field.trim().split(/\s+/);
|
|
2932
|
-
const sortOrder = order?.toUpperCase() === "DESC" ? "DESC" : "ASC";
|
|
2933
|
-
return `${key} ${sortOrder}`;
|
|
2934
|
-
}).join(", ");
|
|
2935
|
-
};
|
|
2936
|
-
var domainHelper = {
|
|
2937
|
-
checkDomain,
|
|
2938
|
-
matchDomains,
|
|
2939
|
-
Domain
|
|
2940
|
-
};
|
|
2941
2258
|
var toQueryString = (params) => {
|
|
2942
2259
|
return Object.keys(params).map(
|
|
2943
2260
|
(key) => encodeURIComponent(key) + "=" + encodeURIComponent(params[key].toString())
|
|
2944
2261
|
).join("&");
|
|
2945
2262
|
};
|
|
2946
|
-
var convertFloatToTime = (floatValue) => {
|
|
2947
|
-
const hours = Math.floor(floatValue);
|
|
2948
|
-
const minutes = Math.round((floatValue - hours) * 60);
|
|
2949
|
-
const formattedHours = String(hours).padStart(2, "0");
|
|
2950
|
-
const formattedMinutes = String(minutes).padStart(2, "0");
|
|
2951
|
-
return `${formattedHours}:${formattedMinutes}`;
|
|
2952
|
-
};
|
|
2953
|
-
var convertTimeToFloat = (timeString) => {
|
|
2954
|
-
const [hours, minutes] = timeString.split(":").map(Number);
|
|
2955
|
-
return hours + minutes / 60;
|
|
2956
|
-
};
|
|
2957
|
-
var stringToColor = (name, id) => {
|
|
2958
|
-
const combined = name + id / 2;
|
|
2959
|
-
let hash = 0;
|
|
2960
|
-
for (let i = 0; i < combined.length; i++) {
|
|
2961
|
-
hash = combined.charCodeAt(i) + ((hash << 5) - hash);
|
|
2962
|
-
}
|
|
2963
|
-
const r = hash >> 16 & 255;
|
|
2964
|
-
const g = hash >> 8 & 255;
|
|
2965
|
-
const b = hash & 255;
|
|
2966
|
-
const adjustedR = 120 + r % 61;
|
|
2967
|
-
const adjustedG = 120 + g % 61;
|
|
2968
|
-
const adjustedB = 120 + b % 61;
|
|
2969
|
-
return `#${adjustedR.toString(16).padStart(2, "0")}${adjustedG.toString(16).padStart(2, "0")}${adjustedB.toString(16).padStart(2, "0")}`;
|
|
2970
|
-
};
|
|
2971
|
-
var getFieldsOnChange = (fields) => {
|
|
2972
|
-
const result = [];
|
|
2973
|
-
function traverse(items) {
|
|
2974
|
-
for (const item of items) {
|
|
2975
|
-
if (item) {
|
|
2976
|
-
if (item?.type_co === "field" && matchDomains(fields, item?.on_change)) {
|
|
2977
|
-
result.push(item.name);
|
|
2978
|
-
}
|
|
2979
|
-
if (item?.fields && Array.isArray(item?.fields)) {
|
|
2980
|
-
traverse(item?.fields);
|
|
2981
|
-
}
|
|
2982
|
-
}
|
|
2983
|
-
}
|
|
2984
|
-
}
|
|
2985
|
-
traverse(fields);
|
|
2986
|
-
return result;
|
|
2987
|
-
};
|
|
2988
|
-
var filterFieldDirty = ({
|
|
2989
|
-
id,
|
|
2990
|
-
viewData,
|
|
2991
|
-
formValues,
|
|
2992
|
-
dirtyFields,
|
|
2993
|
-
model,
|
|
2994
|
-
defaultData
|
|
2995
|
-
}) => {
|
|
2996
|
-
const data = id ? { ...dirtyFields } : { ...formValues };
|
|
2997
|
-
for (const key in data) {
|
|
2998
|
-
if (viewData?.models?.[model]?.[key]?.type === "one2many" /* ONE2MANY */) {
|
|
2999
|
-
const lineData = [];
|
|
3000
|
-
(formValues[key] ?? []).forEach((itemData, index) => {
|
|
3001
|
-
if (typeof itemData?.id === "string" && itemData?.id.includes("virtual")) {
|
|
3002
|
-
delete itemData?.id;
|
|
3003
|
-
}
|
|
3004
|
-
if (!itemData?.id) {
|
|
3005
|
-
lineData.push([
|
|
3006
|
-
0 /* CREATE */,
|
|
3007
|
-
`virtual_${index}`,
|
|
3008
|
-
filterFieldDirty({
|
|
3009
|
-
id: itemData?.id,
|
|
3010
|
-
viewData,
|
|
3011
|
-
formValues: itemData,
|
|
3012
|
-
dirtyFields: {},
|
|
3013
|
-
model: viewData?.models?.[model]?.[key]?.relation,
|
|
3014
|
-
defaultData
|
|
3015
|
-
})
|
|
3016
|
-
]);
|
|
3017
|
-
} else if (dirtyFields[key]?.length) {
|
|
3018
|
-
dirtyFields[key].forEach((itemDirty, indexDirty) => {
|
|
3019
|
-
if (Object.values(itemDirty).includes(true) && indexDirty === index) {
|
|
3020
|
-
lineData.push([
|
|
3021
|
-
1 /* UPDATE */,
|
|
3022
|
-
itemData?.id,
|
|
3023
|
-
filterFieldDirty({
|
|
3024
|
-
id: itemData?.id,
|
|
3025
|
-
viewData,
|
|
3026
|
-
formValues: itemData,
|
|
3027
|
-
dirtyFields: itemDirty,
|
|
3028
|
-
model: viewData?.models?.[model]?.[key]?.relation,
|
|
3029
|
-
defaultData: {}
|
|
3030
|
-
})
|
|
3031
|
-
]);
|
|
3032
|
-
}
|
|
3033
|
-
});
|
|
3034
|
-
}
|
|
3035
|
-
});
|
|
3036
|
-
(defaultData[key] ?? []).forEach((item) => {
|
|
3037
|
-
if (!(formValues[key] ?? []).find(
|
|
3038
|
-
(itemData) => itemData?.id === item?.id
|
|
3039
|
-
)) {
|
|
3040
|
-
lineData.push([2 /* DELETE */, item?.id, item]);
|
|
3041
|
-
}
|
|
3042
|
-
});
|
|
3043
|
-
data[key] = lineData;
|
|
3044
|
-
} else if (viewData?.models?.[model]?.[key]?.type === "many2many" /* MANY2MANY */) {
|
|
3045
|
-
const lineData = [];
|
|
3046
|
-
(formValues[key] || []).forEach((itemData) => {
|
|
3047
|
-
if (itemData?.id) {
|
|
3048
|
-
lineData.push([4 /* NO_CHANGE */, itemData?.id]);
|
|
3049
|
-
}
|
|
3050
|
-
});
|
|
3051
|
-
(defaultData[key] ?? []).forEach((item) => {
|
|
3052
|
-
if (!(formValues[key] ?? []).find(
|
|
3053
|
-
(itemData) => itemData?.id === item?.id
|
|
3054
|
-
)) {
|
|
3055
|
-
lineData.push([3 /* UNLINK */, item?.id]);
|
|
3056
|
-
}
|
|
3057
|
-
});
|
|
3058
|
-
data[key] = lineData;
|
|
3059
|
-
} else {
|
|
3060
|
-
if (id && (typeof dirtyFields?.[key] === "object" && !dirtyFields?.[key]?.id || typeof dirtyFields[key] !== "object" && !dirtyFields[key])) {
|
|
3061
|
-
delete data[key];
|
|
3062
|
-
} else {
|
|
3063
|
-
if (!data[key]) {
|
|
3064
|
-
delete data[key];
|
|
3065
|
-
} else {
|
|
3066
|
-
data[key] = formValues?.[key]?.display_name ? formValues?.[key]?.id : formValues?.[key];
|
|
3067
|
-
}
|
|
3068
|
-
}
|
|
3069
|
-
}
|
|
3070
|
-
}
|
|
3071
|
-
return data;
|
|
3072
|
-
};
|
|
3073
|
-
var mergeObjects = (object1, object2) => {
|
|
3074
|
-
if (!object1 || !object2) return void 0;
|
|
3075
|
-
const mergedObject = { ...object2 };
|
|
3076
|
-
Object.keys(object1).forEach((key) => {
|
|
3077
|
-
if (Array.isArray(object1[key]) && Array.isArray(object2[key])) {
|
|
3078
|
-
mergedObject[key] = object2[key].map((item, index) => {
|
|
3079
|
-
if (object1[key][index]) {
|
|
3080
|
-
return {
|
|
3081
|
-
...item,
|
|
3082
|
-
...object1[key][index]
|
|
3083
|
-
};
|
|
3084
|
-
}
|
|
3085
|
-
return item;
|
|
3086
|
-
});
|
|
3087
|
-
} else if (typeof object1[key] === "object" && typeof object2[key] === "object" && object1[key] !== null && object2[key] !== null) {
|
|
3088
|
-
mergedObject[key] = mergeObjects(object1[key], object2[key]);
|
|
3089
|
-
} else {
|
|
3090
|
-
mergedObject[key] = object1[key] !== void 0 ? object1[key] : object2[key];
|
|
3091
|
-
}
|
|
3092
|
-
});
|
|
3093
|
-
if (object2) {
|
|
3094
|
-
Object.keys(object2).forEach((key) => {
|
|
3095
|
-
if (!mergedObject.hasOwnProperty(key)) {
|
|
3096
|
-
mergedObject[key] = object2[key];
|
|
3097
|
-
}
|
|
3098
|
-
});
|
|
3099
|
-
}
|
|
3100
|
-
return mergedObject;
|
|
3101
|
-
};
|
|
3102
|
-
var formatUrlPath = ({
|
|
3103
|
-
viewType,
|
|
3104
|
-
aid,
|
|
3105
|
-
model,
|
|
3106
|
-
id,
|
|
3107
|
-
actionPath
|
|
3108
|
-
}) => {
|
|
3109
|
-
let _url = `/${viewType}/${actionPath}?aid=${aid}&model=${model}`;
|
|
3110
|
-
if (id) {
|
|
3111
|
-
_url += `&id=${id}`;
|
|
3112
|
-
}
|
|
3113
|
-
return _url;
|
|
3114
|
-
};
|
|
3115
|
-
var removeUndefinedFields = (obj) => {
|
|
3116
|
-
const newObj = {};
|
|
3117
|
-
for (const key in obj) {
|
|
3118
|
-
if (obj[key] !== void 0) {
|
|
3119
|
-
newObj[key] = obj[key];
|
|
3120
|
-
}
|
|
3121
|
-
}
|
|
3122
|
-
return newObj;
|
|
3123
|
-
};
|
|
3124
|
-
var useTabModel = (viewData, onchangeData) => {
|
|
3125
|
-
const tabsData = viewData?.views?.form?.tabs?.filter((val) => {
|
|
3126
|
-
if (!val) return null;
|
|
3127
|
-
const hide = checkDomain(onchangeData, val.invisible);
|
|
3128
|
-
if (!hide) {
|
|
3129
|
-
return val;
|
|
3130
|
-
}
|
|
3131
|
-
return false;
|
|
3132
|
-
}) || [];
|
|
3133
|
-
return tabsData;
|
|
3134
|
-
};
|
|
3135
2263
|
var isBase64File = (str) => {
|
|
3136
2264
|
try {
|
|
3137
2265
|
const dataUriPattern = /^data:([a-zA-Z]+\/[a-zA-Z0-9-.+]+)?;base64,/;
|
|
@@ -3147,69 +2275,6 @@ var isBase64File = (str) => {
|
|
|
3147
2275
|
return false;
|
|
3148
2276
|
}
|
|
3149
2277
|
};
|
|
3150
|
-
var isBase64Image = (str) => {
|
|
3151
|
-
const base64Regex = /^data:image\/(png|jpeg|jpg|gif|webp);base64,/;
|
|
3152
|
-
if (!base64Regex.test(str)) {
|
|
3153
|
-
return false;
|
|
3154
|
-
}
|
|
3155
|
-
try {
|
|
3156
|
-
const base64Data = str.split(",")[1];
|
|
3157
|
-
return !!base64Data && atob(base64Data).length > 0;
|
|
3158
|
-
} catch (error) {
|
|
3159
|
-
return false;
|
|
3160
|
-
}
|
|
3161
|
-
};
|
|
3162
|
-
var checkIsImageLink = (url) => {
|
|
3163
|
-
const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i;
|
|
3164
|
-
return imageExtensions.test(url) || isBase64Image(url);
|
|
3165
|
-
};
|
|
3166
|
-
var formatFileSize = (size) => {
|
|
3167
|
-
if (size < 1024) return `${size} B`;
|
|
3168
|
-
const i = Math.floor(Math.log(size) / Math.log(1024));
|
|
3169
|
-
const sizes = ["B", "KB", "MB", "GB", "TB"];
|
|
3170
|
-
return `${(size / Math.pow(1024, i)).toFixed(2)} ${sizes[i]}`;
|
|
3171
|
-
};
|
|
3172
|
-
var getSubdomain = (url = window.location.href) => {
|
|
3173
|
-
const parts = url?.split(".");
|
|
3174
|
-
if (parts.length > 2) {
|
|
3175
|
-
return parts[0].replace("https://", "").replace("http://", "");
|
|
3176
|
-
}
|
|
3177
|
-
return null;
|
|
3178
|
-
};
|
|
3179
|
-
var resequence = (arr, start, end) => {
|
|
3180
|
-
if (start < 0 || start >= arr.length || end < 0 || end >= arr.length) {
|
|
3181
|
-
return [];
|
|
3182
|
-
}
|
|
3183
|
-
const [element] = arr.splice(start, 1);
|
|
3184
|
-
arr.splice(end, 0, element);
|
|
3185
|
-
return arr.slice(Math.min(start, end), Math.max(start, end) + 1);
|
|
3186
|
-
};
|
|
3187
|
-
var getOffSet = (arr, start, end) => {
|
|
3188
|
-
if (start < 0 || start >= arr.length || end < 0 || end >= arr.length) {
|
|
3189
|
-
return 0;
|
|
3190
|
-
}
|
|
3191
|
-
if (start > end) {
|
|
3192
|
-
return end;
|
|
3193
|
-
}
|
|
3194
|
-
return arr.slice(0, start).length;
|
|
3195
|
-
};
|
|
3196
|
-
var copyTextToClipboard = async (text) => {
|
|
3197
|
-
if ("clipboard" in navigator) {
|
|
3198
|
-
return await navigator.clipboard.writeText(text);
|
|
3199
|
-
} else {
|
|
3200
|
-
const textArea = document.createElement("textarea");
|
|
3201
|
-
textArea.value = text;
|
|
3202
|
-
textArea.style.position = "fixed";
|
|
3203
|
-
document.body.appendChild(textArea);
|
|
3204
|
-
textArea.focus();
|
|
3205
|
-
textArea.select();
|
|
3206
|
-
try {
|
|
3207
|
-
document.execCommand("copy");
|
|
3208
|
-
} finally {
|
|
3209
|
-
document.body.removeChild(textArea);
|
|
3210
|
-
}
|
|
3211
|
-
}
|
|
3212
|
-
};
|
|
3213
2278
|
var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
|
|
3214
2279
|
if (!originalRequest.data) return originalRequest.data;
|
|
3215
2280
|
if (typeof originalRequest.data === "string") {
|
|
@@ -3229,41 +2294,6 @@ var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
|
|
|
3229
2294
|
}
|
|
3230
2295
|
return originalRequest.data;
|
|
3231
2296
|
};
|
|
3232
|
-
var isObjectEmpty = (obj) => {
|
|
3233
|
-
return Object.keys(obj).length === 0;
|
|
3234
|
-
};
|
|
3235
|
-
var useField = (props) => {
|
|
3236
|
-
const [invisible, setInvisible] = (0, import_react.useState)(true);
|
|
3237
|
-
const [required, setRequired] = (0, import_react.useState)(false);
|
|
3238
|
-
const [readonly, setReadOnly] = (0, import_react.useState)(false);
|
|
3239
|
-
const {
|
|
3240
|
-
invisible: inv,
|
|
3241
|
-
required: req,
|
|
3242
|
-
readonly: rea,
|
|
3243
|
-
onchangeData,
|
|
3244
|
-
rootField,
|
|
3245
|
-
index,
|
|
3246
|
-
name
|
|
3247
|
-
} = props;
|
|
3248
|
-
const nameField = rootField ? `${rootField?.name}.${index}.${name}` : null;
|
|
3249
|
-
(0, import_react.useEffect)(() => {
|
|
3250
|
-
if (onchangeData && Object.keys(onchangeData).length > 0) {
|
|
3251
|
-
setRequired(
|
|
3252
|
-
typeof req === "object" ? matchDomains(onchangeData, req) : checkDomain(onchangeData, req)
|
|
3253
|
-
);
|
|
3254
|
-
setInvisible(matchDomains(onchangeData, inv));
|
|
3255
|
-
setReadOnly(
|
|
3256
|
-
typeof req === "object" ? matchDomains(onchangeData, rea) : checkDomain(onchangeData, rea)
|
|
3257
|
-
);
|
|
3258
|
-
}
|
|
3259
|
-
}, [onchangeData]);
|
|
3260
|
-
return {
|
|
3261
|
-
invisible,
|
|
3262
|
-
required,
|
|
3263
|
-
readonly,
|
|
3264
|
-
nameField
|
|
3265
|
-
};
|
|
3266
|
-
};
|
|
3267
2297
|
|
|
3268
2298
|
// src/utils/storage/local-storage.ts
|
|
3269
2299
|
var localStorageUtils = () => {
|
|
@@ -3496,7 +2526,6 @@ var breadcrumbsSlice = (0, import_toolkit.createSlice)({
|
|
|
3496
2526
|
}
|
|
3497
2527
|
});
|
|
3498
2528
|
var { setBreadCrumbs } = breadcrumbsSlice.actions;
|
|
3499
|
-
var selectBreadCrumbs = (state) => state.breadcrumbs;
|
|
3500
2529
|
var breadcrums_slice_default = breadcrumbsSlice.reducer;
|
|
3501
2530
|
|
|
3502
2531
|
// src/store/reducers/env-slice/index.ts
|
|
@@ -3565,7 +2594,6 @@ var {
|
|
|
3565
2594
|
setConfig,
|
|
3566
2595
|
setEnvFile
|
|
3567
2596
|
} = envSlice.actions;
|
|
3568
|
-
var selectEnv = (state) => state.env;
|
|
3569
2597
|
var env_slice_default = envSlice.reducer;
|
|
3570
2598
|
|
|
3571
2599
|
// src/store/reducers/excel-slice/index.ts
|
|
@@ -3610,7 +2638,6 @@ var {
|
|
|
3610
2638
|
setSelectedFile,
|
|
3611
2639
|
setErrorData
|
|
3612
2640
|
} = excelSlice.actions;
|
|
3613
|
-
var selectExcel = (state) => state.excel;
|
|
3614
2641
|
var excel_slice_default = excelSlice.reducer;
|
|
3615
2642
|
|
|
3616
2643
|
// src/store/reducers/form-slice/index.ts
|
|
@@ -3660,7 +2687,6 @@ var {
|
|
|
3660
2687
|
setListSubject,
|
|
3661
2688
|
setDataUser
|
|
3662
2689
|
} = formSlice.actions;
|
|
3663
|
-
var selectForm = (state) => state.form;
|
|
3664
2690
|
var form_slice_default = formSlice.reducer;
|
|
3665
2691
|
|
|
3666
2692
|
// src/store/reducers/header-slice/index.ts
|
|
@@ -3680,7 +2706,6 @@ var headerSlice = (0, import_toolkit5.createSlice)({
|
|
|
3680
2706
|
}
|
|
3681
2707
|
});
|
|
3682
2708
|
var { setAllowedCompanyIds, setHeader } = headerSlice.actions;
|
|
3683
|
-
var selectHeader = (state) => state.header;
|
|
3684
2709
|
var header_slice_default = headerSlice.reducer;
|
|
3685
2710
|
|
|
3686
2711
|
// src/store/reducers/list-slice/index.ts
|
|
@@ -3746,7 +2771,6 @@ var {
|
|
|
3746
2771
|
setTransferDetail,
|
|
3747
2772
|
setDomainTable
|
|
3748
2773
|
} = listSlice.actions;
|
|
3749
|
-
var selectList = (state) => state.list;
|
|
3750
2774
|
var list_slice_default = listSlice.reducer;
|
|
3751
2775
|
|
|
3752
2776
|
// src/store/reducers/login-slice/index.ts
|
|
@@ -3772,7 +2796,6 @@ var loginSlice = (0, import_toolkit7.createSlice)({
|
|
|
3772
2796
|
}
|
|
3773
2797
|
});
|
|
3774
2798
|
var { setDb, setRedirectTo, setForgotPasswordUrl } = loginSlice.actions;
|
|
3775
|
-
var selectLogin = (state) => state.login;
|
|
3776
2799
|
var login_slice_default = loginSlice.reducer;
|
|
3777
2800
|
|
|
3778
2801
|
// src/store/reducers/navbar-slice/index.ts
|
|
@@ -3802,7 +2825,6 @@ var navbarSlice = (0, import_toolkit8.createSlice)({
|
|
|
3802
2825
|
}
|
|
3803
2826
|
});
|
|
3804
2827
|
var { setMenuFocus, setMenuFocusAction, setNavbarWidth, setMenuList } = navbarSlice.actions;
|
|
3805
|
-
var selectNavbar = (state) => state.navbar;
|
|
3806
2828
|
var navbar_slice_default = navbarSlice.reducer;
|
|
3807
2829
|
|
|
3808
2830
|
// src/store/reducers/profile-slice/index.ts
|
|
@@ -3820,7 +2842,6 @@ var profileSlice = (0, import_toolkit9.createSlice)({
|
|
|
3820
2842
|
}
|
|
3821
2843
|
});
|
|
3822
2844
|
var { setProfile } = profileSlice.actions;
|
|
3823
|
-
var selectProfile = (state) => state.profile;
|
|
3824
2845
|
var profile_slice_default = profileSlice.reducer;
|
|
3825
2846
|
|
|
3826
2847
|
// src/store/reducers/search-slice/index.ts
|
|
@@ -3907,14 +2928,8 @@ var {
|
|
|
3907
2928
|
setGroupBy,
|
|
3908
2929
|
clearSearchMap
|
|
3909
2930
|
} = searchSlice.actions;
|
|
3910
|
-
var selectSearch = (state) => state.search;
|
|
3911
|
-
var selectSearchMap = (state) => state.search.searchMap;
|
|
3912
2931
|
var search_slice_default = searchSlice.reducer;
|
|
3913
2932
|
|
|
3914
|
-
// src/store/index.ts
|
|
3915
|
-
var useAppDispatch = import_react_redux.useDispatch;
|
|
3916
|
-
var useAppSelector = import_react_redux.useSelector;
|
|
3917
|
-
|
|
3918
2933
|
// src/store/store.ts
|
|
3919
2934
|
var import_toolkit11 = require("@reduxjs/toolkit");
|
|
3920
2935
|
|
|
@@ -4182,22 +3197,12 @@ var EnvStore = class {
|
|
|
4182
3197
|
}
|
|
4183
3198
|
};
|
|
4184
3199
|
var env = null;
|
|
4185
|
-
function initEnv({
|
|
4186
|
-
localStorageUtils: localStorageUtils2,
|
|
4187
|
-
sessionStorageUtils: sessionStorageUtils2
|
|
4188
|
-
}) {
|
|
4189
|
-
env = new EnvStore(envStore, localStorageUtils2, sessionStorageUtils2);
|
|
4190
|
-
return env;
|
|
4191
|
-
}
|
|
4192
3200
|
function getEnv() {
|
|
4193
3201
|
if (!env)
|
|
4194
3202
|
env = new EnvStore(envStore, localStorageUtils(), sessionStorageUtils());
|
|
4195
3203
|
return env;
|
|
4196
3204
|
}
|
|
4197
3205
|
|
|
4198
|
-
// src/hooks/auth/use-forgot-password.ts
|
|
4199
|
-
var import_react_query = require("@tanstack/react-query");
|
|
4200
|
-
|
|
4201
3206
|
// src/services/action-service/index.ts
|
|
4202
3207
|
var ActionService = {
|
|
4203
3208
|
// Load Action
|
|
@@ -6939,242 +5944,8 @@ var useVerifyTotp = () => {
|
|
|
6939
5944
|
});
|
|
6940
5945
|
};
|
|
6941
5946
|
var use_verify_totp_default = useVerifyTotp;
|
|
6942
|
-
|
|
6943
|
-
// src/models/company-model/index.ts
|
|
6944
|
-
var CompanyModel = class extends base_model_default {
|
|
6945
|
-
constructor(init) {
|
|
6946
|
-
super(init);
|
|
6947
|
-
}
|
|
6948
|
-
async getCurrentCompany() {
|
|
6949
|
-
return await company_service_default.getCurrentCompany();
|
|
6950
|
-
}
|
|
6951
|
-
async getUserCompany(id) {
|
|
6952
|
-
return await company_service_default.getInfoCompany(id);
|
|
6953
|
-
}
|
|
6954
|
-
};
|
|
6955
|
-
var company_model_default = CompanyModel;
|
|
6956
|
-
|
|
6957
|
-
// src/models/user-model/index.ts
|
|
6958
|
-
var UserModel = class extends base_model_default {
|
|
6959
|
-
constructor(init) {
|
|
6960
|
-
super(init);
|
|
6961
|
-
}
|
|
6962
|
-
async getProfile() {
|
|
6963
|
-
return await user_service_default.getProfile();
|
|
6964
|
-
}
|
|
6965
|
-
};
|
|
6966
|
-
var user_model_default = UserModel;
|
|
6967
|
-
|
|
6968
|
-
// src/provider/react-query-provider.tsx
|
|
6969
|
-
var import_react_query67 = require("@tanstack/react-query");
|
|
6970
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
6971
|
-
var ReactQueryProvider = ({ children }) => {
|
|
6972
|
-
const queryClient = new import_react_query67.QueryClient({
|
|
6973
|
-
defaultOptions: {
|
|
6974
|
-
queries: {
|
|
6975
|
-
// placeholderData: keepPreviousData,
|
|
6976
|
-
refetchOnWindowFocus: false,
|
|
6977
|
-
refetchOnMount: false,
|
|
6978
|
-
refetchOnReconnect: false,
|
|
6979
|
-
retry: false
|
|
6980
|
-
}
|
|
6981
|
-
}
|
|
6982
|
-
});
|
|
6983
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_query67.QueryClientProvider, { client: queryClient, children });
|
|
6984
|
-
};
|
|
6985
|
-
|
|
6986
|
-
// src/provider/redux-provider.tsx
|
|
6987
|
-
var import_react_redux2 = require("react-redux");
|
|
6988
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
6989
|
-
var ReduxProvider = ({ children }) => {
|
|
6990
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_redux2.Provider, { store: envStore, children });
|
|
6991
|
-
};
|
|
6992
|
-
|
|
6993
|
-
// src/provider/main-provider.tsx
|
|
6994
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
6995
|
-
var MainProvider = ({ children }) => {
|
|
6996
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ReduxProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ReactQueryProvider, { children }) });
|
|
6997
|
-
};
|
|
6998
|
-
|
|
6999
|
-
// src/provider/version-gate-provider.tsx
|
|
7000
|
-
var import_react2 = require("react");
|
|
7001
|
-
var import_react_query68 = require("@tanstack/react-query");
|
|
7002
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
7003
|
-
var VersionGate = ({ children }) => {
|
|
7004
|
-
const queryClient = (0, import_react_query68.useQueryClient)();
|
|
7005
|
-
const [ready, setReady] = (0, import_react2.useState)(false);
|
|
7006
|
-
(0, import_react2.useEffect)(() => {
|
|
7007
|
-
const clearVersion = () => {
|
|
7008
|
-
queryClient.clear();
|
|
7009
|
-
localStorage.removeItem("__api_version__");
|
|
7010
|
-
};
|
|
7011
|
-
const validateVersion = async () => {
|
|
7012
|
-
const serverVersion = await view_service_default.getVersion();
|
|
7013
|
-
const cached = localStorage.getItem("__api_version__");
|
|
7014
|
-
if (cached !== serverVersion?.api_version) {
|
|
7015
|
-
clearVersion();
|
|
7016
|
-
localStorage.setItem("__api_version__", serverVersion?.api_version);
|
|
7017
|
-
} else {
|
|
7018
|
-
console.log("Api version:", serverVersion?.api_version);
|
|
7019
|
-
}
|
|
7020
|
-
setReady(true);
|
|
7021
|
-
};
|
|
7022
|
-
validateVersion();
|
|
7023
|
-
if (typeof window !== "undefined") {
|
|
7024
|
-
const onKey = (e) => {
|
|
7025
|
-
const key = e.key.toLowerCase();
|
|
7026
|
-
const isHardRefresh = (key === "f5" || key === "r") && e.ctrlKey && (key !== "r" || e.shiftKey) || key === "r" && e.metaKey && e.shiftKey || key === "r" && e.metaKey && e.altKey;
|
|
7027
|
-
if (isHardRefresh) clearVersion();
|
|
7028
|
-
};
|
|
7029
|
-
window.addEventListener("keydown", onKey);
|
|
7030
|
-
return () => window.removeEventListener("keydown", onKey);
|
|
7031
|
-
}
|
|
7032
|
-
}, [queryClient]);
|
|
7033
|
-
return ready ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children }) : null;
|
|
7034
|
-
};
|
|
7035
5947
|
// Annotate the CommonJS export names for ESM import in node:
|
|
7036
5948
|
0 && (module.exports = {
|
|
7037
|
-
ActionService,
|
|
7038
|
-
AuthService,
|
|
7039
|
-
BaseModel,
|
|
7040
|
-
CompanyModel,
|
|
7041
|
-
CompanyService,
|
|
7042
|
-
ComponentType,
|
|
7043
|
-
EnvStore,
|
|
7044
|
-
ExcelService,
|
|
7045
|
-
FieldTypeConstants,
|
|
7046
|
-
FormService,
|
|
7047
|
-
KanbanService,
|
|
7048
|
-
KeyConstants,
|
|
7049
|
-
MainProvider,
|
|
7050
|
-
MethodConstants,
|
|
7051
|
-
MethodType,
|
|
7052
|
-
ModelConstants,
|
|
7053
|
-
ModelService,
|
|
7054
|
-
ReactQueryProvider,
|
|
7055
|
-
SearchType,
|
|
7056
|
-
UriConstants,
|
|
7057
|
-
UserModel,
|
|
7058
|
-
UserService,
|
|
7059
|
-
VersionGate,
|
|
7060
|
-
ViewService,
|
|
7061
|
-
WIDGETAVATAR,
|
|
7062
|
-
WIDGETCOLOR,
|
|
7063
|
-
WIDGETCURRENCY,
|
|
7064
|
-
WIDGETNOSTRING,
|
|
7065
|
-
WIDGETSTATUS,
|
|
7066
|
-
WesapError,
|
|
7067
|
-
axiosClient,
|
|
7068
|
-
breadcrumbsSlice,
|
|
7069
|
-
checkIsImageLink,
|
|
7070
|
-
clearSearchMap,
|
|
7071
|
-
convertFloatToTime,
|
|
7072
|
-
convertTimeToFloat,
|
|
7073
|
-
copyTextToClipboard,
|
|
7074
|
-
domainHelper,
|
|
7075
|
-
env,
|
|
7076
|
-
envSlice,
|
|
7077
|
-
envStore,
|
|
7078
|
-
evalJSONContext,
|
|
7079
|
-
evalJSONDomain,
|
|
7080
|
-
excelSlice,
|
|
7081
|
-
filterFieldDirty,
|
|
7082
|
-
formSlice,
|
|
7083
|
-
formatCurrency,
|
|
7084
|
-
formatDate,
|
|
7085
|
-
formatFileSize,
|
|
7086
|
-
formatSortingString,
|
|
7087
|
-
formatUrlPath,
|
|
7088
|
-
getEnv,
|
|
7089
|
-
getFieldsOnChange,
|
|
7090
|
-
getOffSet,
|
|
7091
|
-
getSubdomain,
|
|
7092
|
-
handleError,
|
|
7093
|
-
headerSlice,
|
|
7094
|
-
initEnv,
|
|
7095
|
-
isBase64File,
|
|
7096
|
-
isBase64Image,
|
|
7097
|
-
isObjectEmpty,
|
|
7098
|
-
listSlice,
|
|
7099
|
-
localStorageUtils,
|
|
7100
|
-
loginSlice,
|
|
7101
|
-
mergeObjects,
|
|
7102
|
-
navbarSlice,
|
|
7103
|
-
profileSlice,
|
|
7104
|
-
removeKeyFromSearchMap,
|
|
7105
|
-
removeUndefinedFields,
|
|
7106
|
-
resequence,
|
|
7107
|
-
searchSlice,
|
|
7108
|
-
selectBreadCrumbs,
|
|
7109
|
-
selectEnv,
|
|
7110
|
-
selectExcel,
|
|
7111
|
-
selectForm,
|
|
7112
|
-
selectHeader,
|
|
7113
|
-
selectList,
|
|
7114
|
-
selectLogin,
|
|
7115
|
-
selectNavbar,
|
|
7116
|
-
selectProfile,
|
|
7117
|
-
selectSearch,
|
|
7118
|
-
selectSearchMap,
|
|
7119
|
-
sessionStorageUtils,
|
|
7120
|
-
setAllowCompanies,
|
|
7121
|
-
setAllowedCompanyIds,
|
|
7122
|
-
setBreadCrumbs,
|
|
7123
|
-
setCompanies,
|
|
7124
|
-
setConfig,
|
|
7125
|
-
setDataParse,
|
|
7126
|
-
setDataUser,
|
|
7127
|
-
setDb,
|
|
7128
|
-
setDefaultCompany,
|
|
7129
|
-
setDomainTable,
|
|
7130
|
-
setEnv,
|
|
7131
|
-
setEnvFile,
|
|
7132
|
-
setErrorData,
|
|
7133
|
-
setFieldTranslate,
|
|
7134
|
-
setFields,
|
|
7135
|
-
setFilterBy,
|
|
7136
|
-
setFirstDomain,
|
|
7137
|
-
setForgotPasswordUrl,
|
|
7138
|
-
setFormSubmitComponent,
|
|
7139
|
-
setGroupBy,
|
|
7140
|
-
setGroupByDomain,
|
|
7141
|
-
setHeader,
|
|
7142
|
-
setHoveredIndexSearchList,
|
|
7143
|
-
setIdFile,
|
|
7144
|
-
setIndexRowTableModal,
|
|
7145
|
-
setIsFileLoaded,
|
|
7146
|
-
setIsShowModalTranslate,
|
|
7147
|
-
setIsShowingModalDetail,
|
|
7148
|
-
setIsUpdateTableModal,
|
|
7149
|
-
setLang,
|
|
7150
|
-
setListSubject,
|
|
7151
|
-
setLoadingImport,
|
|
7152
|
-
setMenuFocus,
|
|
7153
|
-
setMenuFocusAction,
|
|
7154
|
-
setMenuList,
|
|
7155
|
-
setNavbarWidth,
|
|
7156
|
-
setOrder,
|
|
7157
|
-
setPage,
|
|
7158
|
-
setPageLimit,
|
|
7159
|
-
setProfile,
|
|
7160
|
-
setRedirectTo,
|
|
7161
|
-
setSearchBy,
|
|
7162
|
-
setSearchMap,
|
|
7163
|
-
setSearchString,
|
|
7164
|
-
setSelectedFile,
|
|
7165
|
-
setSelectedRadioKey,
|
|
7166
|
-
setSelectedRowKeys,
|
|
7167
|
-
setSelectedTags,
|
|
7168
|
-
setTransferDetail,
|
|
7169
|
-
setUid,
|
|
7170
|
-
setUser,
|
|
7171
|
-
setViewDataStore,
|
|
7172
|
-
stringToColor,
|
|
7173
|
-
toQueryString,
|
|
7174
|
-
updateSearchMap,
|
|
7175
|
-
updateTokenParamInOriginalRequest,
|
|
7176
|
-
useAppDispatch,
|
|
7177
|
-
useAppSelector,
|
|
7178
5949
|
useButton,
|
|
7179
5950
|
useChangeStatus,
|
|
7180
5951
|
useDelete,
|
|
@@ -7182,7 +5953,6 @@ var VersionGate = ({ children }) => {
|
|
|
7182
5953
|
useDuplicateRecord,
|
|
7183
5954
|
useExecuteImport,
|
|
7184
5955
|
useExportExcel,
|
|
7185
|
-
useField,
|
|
7186
5956
|
useForgotPassword,
|
|
7187
5957
|
useForgotPasswordSSO,
|
|
7188
5958
|
useGet2FAMethods,
|
|
@@ -7238,12 +6008,10 @@ var VersionGate = ({ children }) => {
|
|
|
7238
6008
|
useSettingsWebRead2fa,
|
|
7239
6009
|
useSignInSSO,
|
|
7240
6010
|
useSwitchLocale,
|
|
7241
|
-
useTabModel,
|
|
7242
6011
|
useUpdatePassword,
|
|
7243
6012
|
useUploadFile,
|
|
7244
6013
|
useUploadIdFile,
|
|
7245
6014
|
useUploadImage,
|
|
7246
6015
|
useVerify2FA,
|
|
7247
|
-
useVerifyTotp
|
|
7248
|
-
validateAndParseDate
|
|
6016
|
+
useVerifyTotp
|
|
7249
6017
|
});
|