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