aq-fe-framework 0.1.317 → 0.1.319
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/{chunk-VECMRDKG.mjs → chunk-FBGCXKGK.mjs} +0 -36
- package/dist/chunk-I2XIN2R3.mjs +38 -0
- package/dist/columns/index.d.mts +6 -0
- package/dist/columns/index.mjs +20 -0
- package/dist/components/index.mjs +2 -2
- package/dist/core/index.mjs +2 -2
- package/dist/modules-features/index.d.mts +26 -62
- package/dist/modules-features/index.mjs +339 -759
- package/dist/utils/index.mjs +7 -5
- package/package.json +5 -1
- package/dist/{chunk-BSQT2XIP.mjs → chunk-PSV5MULK.mjs} +3 -3
- package/dist/{chunk-FUHOV7NB.mjs → chunk-QMQQZF6X.mjs} +3 -3
@@ -46,38 +46,6 @@ function utils_currency_formatWithSuffix(amount, suffix = "") {
|
|
46
46
|
return `${formattedAmount}${suffix}`;
|
47
47
|
}
|
48
48
|
|
49
|
-
// src/utils/utils_date.ts
|
50
|
-
function U0DateToDDMMYYYString(date) {
|
51
|
-
if (!(date instanceof Date) || isNaN(date.getTime())) return "";
|
52
|
-
const day = String(date.getDate()).padStart(2, "0");
|
53
|
-
const month = String(date.getMonth() + 1).padStart(2, "0");
|
54
|
-
const year = date.getFullYear();
|
55
|
-
return `${day}/${month}/${year}`;
|
56
|
-
}
|
57
|
-
function utils_date_dateToDDMMYYYString(date) {
|
58
|
-
if (!(date instanceof Date) || isNaN(date.getTime())) return "";
|
59
|
-
const day = String(date.getDate()).padStart(2, "0");
|
60
|
-
const month = String(date.getMonth() + 1).padStart(2, "0");
|
61
|
-
const year = date.getFullYear();
|
62
|
-
return `${day}/${month}/${year}`;
|
63
|
-
}
|
64
|
-
function utils_date_formatToDateTimeStartEnd(startDate, endDate) {
|
65
|
-
const startday = String(startDate.getDate()).padStart(2, "0");
|
66
|
-
const startmonth = String(startDate.getMonth() + 1).padStart(2, "0");
|
67
|
-
const startyear = startDate.getFullYear();
|
68
|
-
const starthour = String(startDate.getHours()).padStart(2, "0");
|
69
|
-
const startminute = String(startDate.getMinutes()).padStart(2, "0");
|
70
|
-
const endhour = String(endDate.getHours()).padStart(2, "0");
|
71
|
-
const endminuate = String(endDate.getMinutes()).padStart(2, "0");
|
72
|
-
return `${startday}/${startmonth}/${startyear} [${starthour}:${startminute} - ${endhour}:${endminuate}]`;
|
73
|
-
}
|
74
|
-
function utils_date_getHHmm(date) {
|
75
|
-
if (!(date instanceof Date) || isNaN(date.getTime())) return "";
|
76
|
-
const hour = String(date.getHours()).padStart(2, "0");
|
77
|
-
const minute = String(date.getMinutes()).padStart(2, "0");
|
78
|
-
return `${hour}:${minute}`;
|
79
|
-
}
|
80
|
-
|
81
49
|
// src/utils/utils_excel.ts
|
82
50
|
import saveAs from "file-saver";
|
83
51
|
function isObjectPath(path) {
|
@@ -315,10 +283,6 @@ export {
|
|
315
283
|
U0MyValidateEmail,
|
316
284
|
utils_validator_validateCode,
|
317
285
|
updateEnableList,
|
318
|
-
U0DateToDDMMYYYString,
|
319
|
-
utils_date_dateToDDMMYYYString,
|
320
|
-
utils_date_formatToDateTimeStartEnd,
|
321
|
-
utils_date_getHHmm,
|
322
286
|
utils_file_fileToAQDocumentType,
|
323
287
|
utils_file_AQDocumentTypeToFile,
|
324
288
|
utils_file_docxtemplaterDownload,
|
@@ -0,0 +1,38 @@
|
|
1
|
+
// src/utils/utils_date.ts
|
2
|
+
function U0DateToDDMMYYYString(date) {
|
3
|
+
if (!(date instanceof Date) || isNaN(date.getTime())) return "";
|
4
|
+
const day = String(date.getDate()).padStart(2, "0");
|
5
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
6
|
+
const year = date.getFullYear();
|
7
|
+
return `${day}/${month}/${year}`;
|
8
|
+
}
|
9
|
+
function utils_date_dateToDDMMYYYString(date) {
|
10
|
+
if (!(date instanceof Date) || isNaN(date.getTime())) return "";
|
11
|
+
const day = String(date.getDate()).padStart(2, "0");
|
12
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
13
|
+
const year = date.getFullYear();
|
14
|
+
return `${day}/${month}/${year}`;
|
15
|
+
}
|
16
|
+
function utils_date_formatToDateTimeStartEnd(startDate, endDate) {
|
17
|
+
const startday = String(startDate.getDate()).padStart(2, "0");
|
18
|
+
const startmonth = String(startDate.getMonth() + 1).padStart(2, "0");
|
19
|
+
const startyear = startDate.getFullYear();
|
20
|
+
const starthour = String(startDate.getHours()).padStart(2, "0");
|
21
|
+
const startminute = String(startDate.getMinutes()).padStart(2, "0");
|
22
|
+
const endhour = String(endDate.getHours()).padStart(2, "0");
|
23
|
+
const endminuate = String(endDate.getMinutes()).padStart(2, "0");
|
24
|
+
return `${startday}/${startmonth}/${startyear} [${starthour}:${startminute} - ${endhour}:${endminuate}]`;
|
25
|
+
}
|
26
|
+
function utils_date_getHHmm(date) {
|
27
|
+
if (!(date instanceof Date) || isNaN(date.getTime())) return "";
|
28
|
+
const hour = String(date.getHours()).padStart(2, "0");
|
29
|
+
const minute = String(date.getMinutes()).padStart(2, "0");
|
30
|
+
return `${hour}:${minute}`;
|
31
|
+
}
|
32
|
+
|
33
|
+
export {
|
34
|
+
U0DateToDDMMYYYString,
|
35
|
+
utils_date_dateToDDMMYYYString,
|
36
|
+
utils_date_formatToDateTimeStartEnd,
|
37
|
+
utils_date_getHHmm
|
38
|
+
};
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import {
|
2
|
+
utils_date_dateToDDMMYYYString
|
3
|
+
} from "../chunk-I2XIN2R3.mjs";
|
4
|
+
import "../chunk-FWCSY2DS.mjs";
|
5
|
+
|
6
|
+
// src/columns/baseColumns.ts
|
7
|
+
var baseColumns = [
|
8
|
+
{
|
9
|
+
header: "Ng\xE0y c\u1EADp nh\u1EADt",
|
10
|
+
accessorKey: "modifiedWhen",
|
11
|
+
Cell: ({ cell }) => utils_date_dateToDDMMYYYString(new Date(cell.getValue()))
|
12
|
+
},
|
13
|
+
{
|
14
|
+
header: "Ng\u01B0\u1EDDi c\u1EADp nh\u1EADt",
|
15
|
+
accessorKey: "modifiedFullName"
|
16
|
+
}
|
17
|
+
];
|
18
|
+
export {
|
19
|
+
baseColumns
|
20
|
+
};
|
@@ -64,7 +64,8 @@ import {
|
|
64
64
|
useS_BasicAppShell,
|
65
65
|
useS_ButtonImport,
|
66
66
|
utils_layout_getItemsWithoutLinks
|
67
|
-
} from "../chunk-
|
67
|
+
} from "../chunk-QMQQZF6X.mjs";
|
68
|
+
import "../chunk-Y3YGC5IH.mjs";
|
68
69
|
import "../chunk-5U2JSHSJ.mjs";
|
69
70
|
import {
|
70
71
|
MyFlexColumn,
|
@@ -73,7 +74,6 @@ import {
|
|
73
74
|
import "../chunk-NWBLJ3W3.mjs";
|
74
75
|
import "../chunk-YJ32RSH2.mjs";
|
75
76
|
import "../chunk-7ZCOFATU.mjs";
|
76
|
-
import "../chunk-Y3YGC5IH.mjs";
|
77
77
|
import "../chunk-FWCSY2DS.mjs";
|
78
78
|
export {
|
79
79
|
AQButtonCreateByImportFile,
|
package/dist/core/index.mjs
CHANGED
@@ -6,10 +6,10 @@ import {
|
|
6
6
|
MyDayOfWeekPicker,
|
7
7
|
MyTextInput,
|
8
8
|
MyWeeklySessionSchedulerPicker
|
9
|
-
} from "../chunk-
|
9
|
+
} from "../chunk-PSV5MULK.mjs";
|
10
|
+
import "../chunk-K6S7R6LU.mjs";
|
10
11
|
import "../chunk-HHJFKKE7.mjs";
|
11
12
|
import "../chunk-NWBLJ3W3.mjs";
|
12
|
-
import "../chunk-K6S7R6LU.mjs";
|
13
13
|
import "../chunk-YJ32RSH2.mjs";
|
14
14
|
import "../chunk-7ZCOFATU.mjs";
|
15
15
|
import "../chunk-FWCSY2DS.mjs";
|
@@ -27,7 +27,7 @@ interface I_accessControl_RolePermission {
|
|
27
27
|
isPrint?: boolean;
|
28
28
|
isExport?: boolean;
|
29
29
|
}
|
30
|
-
interface I$
|
30
|
+
interface I$l {
|
31
31
|
roleId?: number;
|
32
32
|
rolePermissions?: I_accessControl_RolePermission[];
|
33
33
|
}
|
@@ -36,11 +36,12 @@ declare function useS_accessControl(): {
|
|
36
36
|
findByPageId: (pageId: number) => I_accessControl_RolePermission | undefined;
|
37
37
|
updatePermission: (pageId: number, updatedPermission: Partial<I_accessControl_RolePermission>) => void;
|
38
38
|
isAllPermission: (field: keyof I_accessControl_RolePermission) => boolean;
|
39
|
-
state: I$
|
40
|
-
setState: (newState: I$
|
41
|
-
setProperty: <K extends keyof I$
|
39
|
+
state: I$l;
|
40
|
+
setState: (newState: I$l) => void;
|
41
|
+
setProperty: <K extends keyof I$l>(key: K, value: I$l[K]) => void;
|
42
42
|
resetState: () => void;
|
43
43
|
};
|
44
|
+
declare function utils_accessControl_mergePage(arr1: I_accessControl_RolePermission[], arr2: I_accessControl_RolePermission[]): I_accessControl_RolePermission[];
|
44
45
|
|
45
46
|
declare function F_accessControlLevel({ menuData }: {
|
46
47
|
menuData: I_BasicAppShell_LinkItem[];
|
@@ -91,7 +92,7 @@ interface IUserSkillCenters extends IBaseEntity {
|
|
91
92
|
userId?: number;
|
92
93
|
skillCenterId?: number;
|
93
94
|
}
|
94
|
-
interface I$
|
95
|
+
interface I$k {
|
95
96
|
id?: number;
|
96
97
|
userName?: string;
|
97
98
|
code?: string;
|
@@ -101,7 +102,7 @@ interface I$l {
|
|
101
102
|
userSkillCenters?: IUserSkillCenters[];
|
102
103
|
}
|
103
104
|
declare function F_accountManagement_Update({ user }: {
|
104
|
-
user: I$
|
105
|
+
user: I$k;
|
105
106
|
}): react_jsx_runtime.JSX.Element;
|
106
107
|
|
107
108
|
declare function F_core12196({ FormTypeId }: {
|
@@ -150,11 +151,11 @@ interface IDocument$b {
|
|
150
151
|
ngayChinhSua?: Date;
|
151
152
|
nguoiChinhSua?: string;
|
152
153
|
}
|
153
|
-
interface I$
|
154
|
+
interface I$j extends IDocument$b {
|
154
155
|
file?: File;
|
155
156
|
}
|
156
157
|
declare function F_core12196_Update({ values, FormTypeId, }: {
|
157
|
-
values: I$
|
158
|
+
values: I$j;
|
158
159
|
FormTypeId: number;
|
159
160
|
}): react_jsx_runtime.JSX.Element;
|
160
161
|
|
@@ -200,11 +201,11 @@ interface IDocument$a {
|
|
200
201
|
ngayChinhSua?: Date;
|
201
202
|
nguoiChinhSua?: string;
|
202
203
|
}
|
203
|
-
interface I$
|
204
|
+
interface I$i extends IDocument$a {
|
204
205
|
file?: File;
|
205
206
|
}
|
206
207
|
declare function F_core16209_Update({ values }: {
|
207
|
-
values: I$
|
208
|
+
values: I$i;
|
208
209
|
}): react_jsx_runtime.JSX.Element;
|
209
210
|
|
210
211
|
declare function F_core18256(): react_jsx_runtime.JSX.Element;
|
@@ -231,13 +232,13 @@ interface ISelect extends SelectProps {
|
|
231
232
|
}
|
232
233
|
declare function F_core18256_Select({ documentTypeId, label, dataMapper, ...rest }: ISelect): react_jsx_runtime.JSX.Element | "Loading...";
|
233
234
|
|
234
|
-
interface I$
|
235
|
+
interface I$h {
|
235
236
|
id?: number;
|
236
237
|
name?: string;
|
237
238
|
code?: string;
|
238
239
|
}
|
239
240
|
declare function F_core18256_Update({ values }: {
|
240
|
-
values: I$
|
241
|
+
values: I$h;
|
241
242
|
}): react_jsx_runtime.JSX.Element;
|
242
243
|
|
243
244
|
declare function F_core26965({ RegulationsTypeId }: {
|
@@ -282,11 +283,11 @@ interface IDocument$9 {
|
|
282
283
|
ngayChinhSua?: Date;
|
283
284
|
nguoiChinhSua?: string;
|
284
285
|
}
|
285
|
-
interface I$
|
286
|
+
interface I$g extends IDocument$9 {
|
286
287
|
file?: File;
|
287
288
|
}
|
288
289
|
declare function F_core26965_Update({ values, RegulationsTypeId, }: {
|
289
|
-
values: I$
|
290
|
+
values: I$g;
|
290
291
|
RegulationsTypeId: number;
|
291
292
|
}): react_jsx_runtime.JSX.Element;
|
292
293
|
|
@@ -336,11 +337,11 @@ interface IDocument$8 {
|
|
336
337
|
ngayChinhSua?: Date;
|
337
338
|
nguoiChinhSua?: string;
|
338
339
|
}
|
339
|
-
interface I$
|
340
|
+
interface I$f extends IDocument$8 {
|
340
341
|
file?: File;
|
341
342
|
}
|
342
343
|
declare function F_core27311_Update({ values, WorkflowTypeId, }: {
|
343
|
-
values: I$
|
344
|
+
values: I$f;
|
344
345
|
WorkflowTypeId: number;
|
345
346
|
}): react_jsx_runtime.JSX.Element;
|
346
347
|
|
@@ -392,11 +393,11 @@ interface IDocument$7 {
|
|
392
393
|
ngayChinhSua?: Date;
|
393
394
|
nguoiChinhSua?: string;
|
394
395
|
}
|
395
|
-
interface I$
|
396
|
+
interface I$e extends IDocument$7 {
|
396
397
|
file?: File;
|
397
398
|
}
|
398
399
|
declare function F_core40207_Update({ values }: {
|
399
|
-
values: I$
|
400
|
+
values: I$e;
|
400
401
|
}): react_jsx_runtime.JSX.Element;
|
401
402
|
|
402
403
|
declare function F_core47643(): react_jsx_runtime.JSX.Element;
|
@@ -405,13 +406,13 @@ declare function F_core47643_Delete({ values }: {
|
|
405
406
|
values: IBaseEntity;
|
406
407
|
}): react_jsx_runtime.JSX.Element;
|
407
408
|
|
408
|
-
interface I$
|
409
|
+
interface I$d {
|
409
410
|
id?: number;
|
410
411
|
code?: string;
|
411
412
|
name?: string;
|
412
413
|
}
|
413
414
|
declare function F_core47643_Form({ values }: {
|
414
|
-
values?: I$
|
415
|
+
values?: I$d;
|
415
416
|
}): react_jsx_runtime.JSX.Element;
|
416
417
|
|
417
418
|
declare function F_core47643_Read(): react_jsx_runtime.JSX.Element | "Có lỗi xảy ra!" | "Đang tải dữ liệu...";
|
@@ -422,11 +423,11 @@ declare function F_core64229_Delete({ values }: {
|
|
422
423
|
values: IBaseEntity;
|
423
424
|
}): react_jsx_runtime.JSX.Element;
|
424
425
|
|
425
|
-
interface I$
|
426
|
+
interface I$c extends IEmailConfig {
|
426
427
|
password?: string;
|
427
428
|
}
|
428
429
|
declare function F_core64229_Form({ values, emailModule }: {
|
429
|
-
values?: I$
|
430
|
+
values?: I$c;
|
430
431
|
emailModule: (string | {
|
431
432
|
value: string;
|
432
433
|
label: string;
|
@@ -482,50 +483,13 @@ interface IDocument$6 {
|
|
482
483
|
ngayChinhSua?: Date;
|
483
484
|
nguoiChinhSua?: string;
|
484
485
|
}
|
485
|
-
interface I$
|
486
|
+
interface I$b extends IDocument$6 {
|
486
487
|
file?: File;
|
487
488
|
}
|
488
489
|
declare function F_core76318_Update({ values }: {
|
489
|
-
values: I$
|
490
|
-
}): react_jsx_runtime.JSX.Element;
|
491
|
-
|
492
|
-
declare function F_core83092({ menuData }: {
|
493
|
-
menuData: I_BasicAppShell_LinkItem[];
|
490
|
+
values: I$b;
|
494
491
|
}): react_jsx_runtime.JSX.Element;
|
495
492
|
|
496
|
-
declare function F_core83092_ReadUser(): react_jsx_runtime.JSX.Element | "Có lỗi xảy ra!" | "Loading...";
|
497
|
-
|
498
|
-
declare function F_core83092_Save(): react_jsx_runtime.JSX.Element;
|
499
|
-
|
500
|
-
declare function F_core83092_ViewMenuPermissions({ menuData }: {
|
501
|
-
menuData: I_BasicAppShell_LinkItem[];
|
502
|
-
}): react_jsx_runtime.JSX.Element | "Đang tải...";
|
503
|
-
|
504
|
-
interface I_core83092_RolePermission {
|
505
|
-
pageId?: number;
|
506
|
-
isCreate?: boolean;
|
507
|
-
isUpdate?: boolean;
|
508
|
-
isDelete?: boolean;
|
509
|
-
isRead?: boolean;
|
510
|
-
isPrint?: boolean;
|
511
|
-
isExport?: boolean;
|
512
|
-
}
|
513
|
-
interface I$b {
|
514
|
-
roleId?: number;
|
515
|
-
rolePermissions?: I_core83092_RolePermission[];
|
516
|
-
}
|
517
|
-
declare function useS_core83092(): {
|
518
|
-
toogleAllPermissionWithType: (field: keyof I_core83092_RolePermission, isCheck: boolean) => void;
|
519
|
-
findByPageId: (pageId: number) => I_core83092_RolePermission | undefined;
|
520
|
-
updatePermission: (pageId: number, updatedPermission: Partial<I_core83092_RolePermission>) => void;
|
521
|
-
isAllPermission: (field: keyof I_core83092_RolePermission) => boolean;
|
522
|
-
state: I$b;
|
523
|
-
setState: (newState: I$b) => void;
|
524
|
-
setProperty: <K extends keyof I$b>(key: K, value: I$b[K]) => void;
|
525
|
-
resetState: () => void;
|
526
|
-
};
|
527
|
-
declare function utils_core83092_mergePage(arr1: I_core83092_RolePermission[], arr2: I_core83092_RolePermission[]): I_core83092_RolePermission[];
|
528
|
-
|
529
493
|
declare function F_formTemplateDocs({ FormTypeId }: {
|
530
494
|
FormTypeId: number;
|
531
495
|
}): react_jsx_runtime.JSX.Element;
|
@@ -908,4 +872,4 @@ interface I {
|
|
908
872
|
}
|
909
873
|
declare function F_authenticate_Login({ header, redirectUrlAfterLogin, additionalActions, backgroundImage, onSuccess, showLoginButton, showSaveLogin, showForgotPassword }: I): react_jsx_runtime.JSX.Element;
|
910
874
|
|
911
|
-
export { F_accessControl, F_accessControlLevel, F_accessControlLevel_ReadUser, F_accessControlLevel_Save, F_accessControlLevel_ViewMenuPermissions, F_accessControl_ReadUser, F_accessControl_Save, F_accessControl_ViewMenuPermissions, F_accountManagement, F_accountManagement_ChangePermission, F_accountManagement_Create, F_accountManagement_Delete, F_accountManagement_Read, F_accountManagement_Update, F_authenticate_Login, F_authenticate_Logout, F_authenticate_SplashPage, F_core12196, F_core12196_Create, F_core12196_Delete, F_core12196_Read, F_core12196_Update, F_core16209, F_core16209_Create, F_core16209_Delete, F_core16209_Update, F_core18256, F_core18256_Create, F_core18256_Delete, F_core18256_Read, F_core18256_Select, F_core18256_Update, F_core26965, F_core26965_Create, F_core26965_Delete, F_core26965_Update, F_core27311, F_core27311_Create, F_core27311_Delete, F_core27311_Read, F_core27311_Update, F_core35923, F_core40207, F_core40207_Create, F_core40207_Delete, F_core40207_Read, F_core40207_Update, F_core47643, F_core47643_Delete, F_core47643_Form, F_core47643_Read, F_core64229, F_core64229_Delete, F_core64229_Form, F_core64229_Read, F_core76318, F_core76318_Create, F_core76318_Delete, F_core76318_Update,
|
875
|
+
export { F_accessControl, F_accessControlLevel, F_accessControlLevel_ReadUser, F_accessControlLevel_Save, F_accessControlLevel_ViewMenuPermissions, F_accessControl_ReadUser, F_accessControl_Save, F_accessControl_ViewMenuPermissions, F_accountManagement, F_accountManagement_ChangePermission, F_accountManagement_Create, F_accountManagement_Delete, F_accountManagement_Read, F_accountManagement_Update, F_authenticate_Login, F_authenticate_Logout, F_authenticate_SplashPage, F_core12196, F_core12196_Create, F_core12196_Delete, F_core12196_Read, F_core12196_Update, F_core16209, F_core16209_Create, F_core16209_Delete, F_core16209_Update, F_core18256, F_core18256_Create, F_core18256_Delete, F_core18256_Read, F_core18256_Select, F_core18256_Update, F_core26965, F_core26965_Create, F_core26965_Delete, F_core26965_Update, F_core27311, F_core27311_Create, F_core27311_Delete, F_core27311_Read, F_core27311_Update, F_core35923, F_core40207, F_core40207_Create, F_core40207_Delete, F_core40207_Read, F_core40207_Update, F_core47643, F_core47643_Delete, F_core47643_Form, F_core47643_Read, F_core64229, F_core64229_Delete, F_core64229_Form, F_core64229_Read, F_core76318, F_core76318_Create, F_core76318_Delete, F_core76318_Update, F_formTemplateDocs, F_formTemplateDocs_Create, F_formTemplateDocs_Delete, F_formTemplateDocs_Read, F_formTemplateDocs_Update, F_moduleConfig, F_organizationPolicyDocs, F_organizationPolicyDocs_Create, F_organizationPolicyDocs_Delete, F_organizationPolicyDocs_Update, F_pageContentConfig, F_roleCatalog, F_roleCatalog_Delete, F_roleCatalog_Form, F_roleCatalog_Read, F_securityPolicyDocs, F_securityPolicyDocs_Create, F_securityPolicyDocs_Delete, F_securityPolicyDocs_Update, F_systemUpdateDocs, F_systemUpdateDocs_Create, F_systemUpdateDocs_Delete, F_systemUpdateDocs_Update, F_userGuideDocs, F_userGuideDocs_Create, F_userGuideDocs_Delete, F_userGuideDocs_Read, F_userGuideDocs_Update, F_workflowProcessDocs, F_workflowProcessDocs_Create, F_workflowProcessDocs_Delete, F_workflowProcessDocs_Read, F_workflowProcessDocs_Update, type I_accessControl_RolePermission, type I_accountManagement_Read, type I_core38677_User, type I_moduleConfig_AQModule, useS_accessControl, useS_authenticate, useS_moduleConfig, utils_accessControl_mergePage };
|