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