@hostlink/nuxt-light 1.45.4 → 1.46.0
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/module.json +1 -1
- package/dist/runtime/components/l-fav-menu.vue +11 -2
- package/dist/runtime/components/l-list.vue +1 -0
- package/dist/runtime/components/l-table.d.vue.ts +4 -2
- package/dist/runtime/components/l-table.vue +35 -15
- package/dist/runtime/components/l-table.vue.d.ts +4 -2
- package/dist/runtime/composables/defineLightModel.d.ts +3 -1
- package/dist/runtime/composables/getGQLFields.d.ts +1 -1
- package/dist/runtime/composables/getModelField.d.ts +1 -1
- package/dist/runtime/composables/getObject.js +5 -1
- package/dist/runtime/composables/list.d.ts +1 -1
- package/dist/runtime/composables/model.js +8 -18
- package/dist/runtime/models/EventLog.d.ts +38 -0
- package/dist/runtime/models/EventLog.js +37 -0
- package/dist/runtime/models/MailLog.d.ts +34 -0
- package/dist/runtime/models/MailLog.js +33 -0
- package/dist/runtime/models/SystemValue.d.ts +14 -0
- package/dist/runtime/models/SystemValue.js +13 -0
- package/dist/runtime/models/User.d.ts +72 -0
- package/dist/runtime/models/User.js +90 -0
- package/dist/runtime/models/UserLog.d.ts +51 -0
- package/dist/runtime/models/UserLog.js +56 -0
- package/dist/runtime/pages/User/_user_id/edit.vue +1 -1
- package/dist/runtime/pages/User/index.vue +1 -1
- package/dist/runtime/plugin.js +12 -12
- package/package.json +2 -2
- package/dist/runtime/types/EventLog.d.ts +0 -35
- package/dist/runtime/types/EventLog.js +0 -34
- package/dist/runtime/types/MailLog.d.ts +0 -31
- package/dist/runtime/types/MailLog.js +0 -30
- package/dist/runtime/types/SystemValue.d.ts +0 -11
- package/dist/runtime/types/SystemValue.js +0 -10
- package/dist/runtime/types/User.d.ts +0 -60
- package/dist/runtime/types/User.js +0 -76
- package/dist/runtime/types/UserLog.d.ts +0 -48
- package/dist/runtime/types/UserLog.js +0 -53
- /package/dist/runtime/{model → models}/CustomField.d.ts +0 -0
- /package/dist/runtime/{model → models}/CustomField.js +0 -0
package/dist/module.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { computed } from "vue";
|
|
2
|
+
import { computed, ref, watch } from "vue";
|
|
3
3
|
import { useLight } from "#imports";
|
|
4
4
|
const light = useLight();
|
|
5
5
|
const props = defineProps(["value", "dense"]);
|
|
6
|
+
const favMenuExpanded = ref(
|
|
7
|
+
typeof window !== "undefined" ? JSON.parse(localStorage.getItem("fav-menu-expanded") || "false") : false
|
|
8
|
+
);
|
|
9
|
+
watch(favMenuExpanded, (newValue) => {
|
|
10
|
+
if (typeof window !== "undefined") {
|
|
11
|
+
localStorage.setItem("fav-menu-expanded", JSON.stringify(newValue));
|
|
12
|
+
}
|
|
13
|
+
});
|
|
6
14
|
const color1 = computed(() => {
|
|
7
15
|
return light.getColorValue();
|
|
8
16
|
});
|
|
@@ -18,7 +26,8 @@ const color2 = computed(() => {
|
|
|
18
26
|
</style>
|
|
19
27
|
|
|
20
28
|
<template>
|
|
21
|
-
<q-expansion-item :label="$t('My favorite')" :dense="dense" icon="sym_o_favorite"
|
|
29
|
+
<q-expansion-item :label="$t('My favorite')" :dense="dense" icon="sym_o_favorite"
|
|
30
|
+
v-model="favMenuExpanded">
|
|
22
31
|
<q-list class="q-pl-md menu-list" :dense="dense">
|
|
23
32
|
<q-item v-ripple :to="item.path" v-for="item in value">
|
|
24
33
|
<q-item-section avatar>
|
|
@@ -5,6 +5,7 @@ export interface LTableColumn extends QTableColumn {
|
|
|
5
5
|
searchType?: string;
|
|
6
6
|
searchOptions?: Array<any> | Function;
|
|
7
7
|
searchMultiple?: boolean;
|
|
8
|
+
searchIndex?: string;
|
|
8
9
|
gqlField?: string | Array<string> | Object;
|
|
9
10
|
backgroundColor?: string | Function;
|
|
10
11
|
searchMethod?: string;
|
|
@@ -21,6 +22,7 @@ export type LTableProps = QTableProps & {
|
|
|
21
22
|
addComponent?: Dialog;
|
|
22
23
|
addComponentProps?: any;
|
|
23
24
|
rows?: Array<any>;
|
|
25
|
+
name?: string;
|
|
24
26
|
};
|
|
25
27
|
export interface LTableRequest {
|
|
26
28
|
sort: string;
|
|
@@ -58,11 +60,11 @@ export interface LTableRequest {
|
|
|
58
60
|
}) => void;
|
|
59
61
|
}
|
|
60
62
|
declare function requestServerInteraction(): void;
|
|
61
|
-
declare var __VLS_91: any, __VLS_94: string, __VLS_95: any, __VLS_117: any,
|
|
63
|
+
declare var __VLS_91: any, __VLS_94: string, __VLS_95: any, __VLS_117: any, __VLS_204: string, __VLS_205: any;
|
|
62
64
|
type __VLS_Slots = {} & {
|
|
63
65
|
[K in NonNullable<typeof __VLS_94>]?: (props: typeof __VLS_95) => any;
|
|
64
66
|
} & {
|
|
65
|
-
[K in NonNullable<typeof
|
|
67
|
+
[K in NonNullable<typeof __VLS_204>]?: (props: typeof __VLS_205) => any;
|
|
66
68
|
} & {
|
|
67
69
|
actions?: (props: typeof __VLS_91) => any;
|
|
68
70
|
} & {
|
|
@@ -7,6 +7,7 @@ import model from "../composables/model";
|
|
|
7
7
|
import { toQuery } from "@hostlink/light";
|
|
8
8
|
import { list } from "#imports";
|
|
9
9
|
import { useI18n } from "vue-i18n";
|
|
10
|
+
import { useStorage } from "@vueuse/core";
|
|
10
11
|
const $q = useQuasar();
|
|
11
12
|
const { t } = useI18n();
|
|
12
13
|
const errors = ref([]);
|
|
@@ -75,7 +76,7 @@ const props = defineProps({
|
|
|
75
76
|
sortBy: null,
|
|
76
77
|
descending: true,
|
|
77
78
|
page: 1,
|
|
78
|
-
rowsPerPage:
|
|
79
|
+
rowsPerPage: 20
|
|
79
80
|
};
|
|
80
81
|
} },
|
|
81
82
|
rowsPerPageOptions: { type: null, required: false, default: () => [5, 10, 20, 50, 100, 0] },
|
|
@@ -100,7 +101,8 @@ const props = defineProps({
|
|
|
100
101
|
searchable: { type: Boolean, required: false, default: false },
|
|
101
102
|
onRequestData: { type: Function, required: false },
|
|
102
103
|
addComponent: { type: Object, required: false },
|
|
103
|
-
addComponentProps: { type: null, required: false }
|
|
104
|
+
addComponentProps: { type: null, required: false },
|
|
105
|
+
name: { type: String, required: false }
|
|
104
106
|
});
|
|
105
107
|
const isServerSide = props.rows == void 0;
|
|
106
108
|
const light = useLight();
|
|
@@ -299,21 +301,22 @@ const getFilterValue = () => {
|
|
|
299
301
|
props.columns?.forEach((col) => {
|
|
300
302
|
if (col.searchable) {
|
|
301
303
|
if (filters[col.name] !== null && filters[col.name] !== "" && filters[col.name] !== void 0) {
|
|
304
|
+
const k = col.searchIndex ?? col.name;
|
|
302
305
|
if (col.searchType == "number") {
|
|
303
|
-
f[
|
|
306
|
+
f[k] = filters[col.name];
|
|
304
307
|
} else if (col.searchType == "date") {
|
|
305
|
-
if (filters[
|
|
306
|
-
f[
|
|
308
|
+
if (filters[k].from) {
|
|
309
|
+
f[k] = {
|
|
307
310
|
between: [filters[col.name].from, filters[col.name].to]
|
|
308
311
|
};
|
|
309
312
|
}
|
|
310
313
|
} else if (col.searchType == "select") {
|
|
311
|
-
f[
|
|
314
|
+
f[k] = filters[col.name];
|
|
312
315
|
} else {
|
|
313
316
|
if (col.searchMethod == "equals") {
|
|
314
|
-
f[
|
|
317
|
+
f[k] = filters[col.name];
|
|
315
318
|
} else {
|
|
316
|
-
f[
|
|
319
|
+
f[k] = {
|
|
317
320
|
contains: filters[col.name]
|
|
318
321
|
};
|
|
319
322
|
}
|
|
@@ -454,11 +457,19 @@ const searchSelectFilter = (val, update, name) => {
|
|
|
454
457
|
});
|
|
455
458
|
}
|
|
456
459
|
};
|
|
460
|
+
const showTopRight = computed(() => {
|
|
461
|
+
return props.searchable || props.name && (props.columns && props.columns.length > 0);
|
|
462
|
+
});
|
|
463
|
+
const hidableColumns = computed(() => {
|
|
464
|
+
return props.columns?.filter((c) => !c.required) || [];
|
|
465
|
+
});
|
|
466
|
+
const visibleColumns = props.name ? useStorage(`l-table-visible-columns-${props.name}`, hidableColumns.value.map((c) => c.name)) : ref(hidableColumns.value.map((c) => c.name));
|
|
457
467
|
</script>
|
|
458
468
|
|
|
459
469
|
<template>
|
|
460
470
|
<q-table v-bind="attrs" :loading="loading" :rows="rows" ref="table" @request="onLocalRequest" :columns="columns"
|
|
461
|
-
v-model:pagination="pagination" :filter="filter" v-model:selected="localSelected" :color="$light.color"
|
|
471
|
+
v-model:pagination="pagination" :filter="filter" v-model:selected="localSelected" :color="$light.color"
|
|
472
|
+
:visible-columns="visibleColumns">
|
|
462
473
|
|
|
463
474
|
<template #header="props">
|
|
464
475
|
<q-tr :props="props">
|
|
@@ -544,17 +555,26 @@ const searchSelectFilter = (val, update, name) => {
|
|
|
544
555
|
</template>
|
|
545
556
|
|
|
546
557
|
|
|
547
|
-
<template #top-right="props" v-if="
|
|
548
|
-
<q-input
|
|
549
|
-
|
|
558
|
+
<template #top-right="props" v-if="showTopRight">
|
|
559
|
+
<q-input outlined dense debounce="300" v-model="filter" :placeholder="$t('Search')" :color="$light.color"
|
|
560
|
+
v-if="searchable">
|
|
550
561
|
<template v-slot:append>
|
|
551
562
|
<q-icon name="search" />
|
|
552
563
|
</template>
|
|
553
564
|
</q-input>
|
|
554
565
|
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
566
|
+
<q-icon name="sym_o_view_column" size="sm" class="cursor-pointer" :color="$light.color">
|
|
567
|
+
<q-popup-proxy>
|
|
568
|
+
<q-card>
|
|
569
|
+
<q-card-section>
|
|
570
|
+
<div v-for="column in hidableColumns" :key="column.name" class="q-mb-xs">
|
|
571
|
+
<q-checkbox v-model="visibleColumns" :val="column.name" :label="column.label"
|
|
572
|
+
:color="$light.color" dense />
|
|
573
|
+
</div>
|
|
574
|
+
</q-card-section>
|
|
575
|
+
</q-card>
|
|
576
|
+
</q-popup-proxy>
|
|
577
|
+
</q-icon>
|
|
558
578
|
</template>
|
|
559
579
|
|
|
560
580
|
|
|
@@ -5,6 +5,7 @@ export interface LTableColumn extends QTableColumn {
|
|
|
5
5
|
searchType?: string;
|
|
6
6
|
searchOptions?: Array<any> | Function;
|
|
7
7
|
searchMultiple?: boolean;
|
|
8
|
+
searchIndex?: string;
|
|
8
9
|
gqlField?: string | Array<string> | Object;
|
|
9
10
|
backgroundColor?: string | Function;
|
|
10
11
|
searchMethod?: string;
|
|
@@ -21,6 +22,7 @@ export type LTableProps = QTableProps & {
|
|
|
21
22
|
addComponent?: Dialog;
|
|
22
23
|
addComponentProps?: any;
|
|
23
24
|
rows?: Array<any>;
|
|
25
|
+
name?: string;
|
|
24
26
|
};
|
|
25
27
|
export interface LTableRequest {
|
|
26
28
|
sort: string;
|
|
@@ -58,11 +60,11 @@ export interface LTableRequest {
|
|
|
58
60
|
}) => void;
|
|
59
61
|
}
|
|
60
62
|
declare function requestServerInteraction(): void;
|
|
61
|
-
declare var __VLS_91: any, __VLS_94: string, __VLS_95: any, __VLS_117: any,
|
|
63
|
+
declare var __VLS_91: any, __VLS_94: string, __VLS_95: any, __VLS_117: any, __VLS_204: string, __VLS_205: any;
|
|
62
64
|
type __VLS_Slots = {} & {
|
|
63
65
|
[K in NonNullable<typeof __VLS_94>]?: (props: typeof __VLS_95) => any;
|
|
64
66
|
} & {
|
|
65
|
-
[K in NonNullable<typeof
|
|
67
|
+
[K in NonNullable<typeof __VLS_204>]?: (props: typeof __VLS_205) => any;
|
|
66
68
|
} & {
|
|
67
69
|
actions?: (props: typeof __VLS_91) => any;
|
|
68
70
|
} & {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { Component } from "vue";
|
|
2
|
+
import { type Field } from "@hostlink/light";
|
|
2
3
|
export interface LightModelGqlField {
|
|
3
4
|
[key: string]: string | LightModelGqlField | boolean;
|
|
4
5
|
}
|
|
5
|
-
export interface LightModelField {
|
|
6
|
+
export interface LightModelField extends Field {
|
|
6
7
|
label: string;
|
|
7
8
|
sortable?: boolean;
|
|
8
9
|
searchable?: boolean;
|
|
@@ -17,6 +18,7 @@ export interface LightModelField {
|
|
|
17
18
|
format?: (value: any) => any;
|
|
18
19
|
style?: any;
|
|
19
20
|
align?: "left" | "center" | "right";
|
|
21
|
+
searchOptions?: Record<string, any>[];
|
|
20
22
|
}
|
|
21
23
|
export interface LightModelFields {
|
|
22
24
|
[key: string]: LightModelField;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (name: string, fields: string[]) => any
|
|
1
|
+
declare const _default: (name: string, fields: string[]) => Record<string, any>;
|
|
2
2
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (name: string, field: string) => import("@hostlink/light").
|
|
1
|
+
declare const _default: (name: string, field: string) => import("@hostlink/light").Field | null;
|
|
2
2
|
export default _default;
|
|
@@ -19,7 +19,11 @@ export default async function(fields = []) {
|
|
|
19
19
|
if (typeof field == "string") {
|
|
20
20
|
const f = getModelField(module, field);
|
|
21
21
|
if (f) {
|
|
22
|
-
|
|
22
|
+
if (f.gqlField) {
|
|
23
|
+
return f.gqlField;
|
|
24
|
+
} else {
|
|
25
|
+
return field;
|
|
26
|
+
}
|
|
23
27
|
}
|
|
24
28
|
}
|
|
25
29
|
return field;
|
|
@@ -1,26 +1,16 @@
|
|
|
1
1
|
import { default as api } from "./api.js";
|
|
2
2
|
export default (name) => {
|
|
3
|
-
const m = api.
|
|
3
|
+
const m = api.models.get(name);
|
|
4
4
|
return Object.assign(m, {
|
|
5
5
|
columns(fields) {
|
|
6
6
|
let columns = [];
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
} else {
|
|
16
|
-
for (let f in fields) {
|
|
17
|
-
if (!fields[f]) continue;
|
|
18
|
-
const field = m.field(f);
|
|
19
|
-
if (!field) continue;
|
|
20
|
-
const option = field.getRaw();
|
|
21
|
-
option.name = field.getName();
|
|
22
|
-
columns.push(option);
|
|
23
|
-
}
|
|
7
|
+
const fs = Array.isArray(fields) ? fields : Object.keys(fields);
|
|
8
|
+
for (let f of fs) {
|
|
9
|
+
const field = m.field(f);
|
|
10
|
+
if (!field) continue;
|
|
11
|
+
const option = field;
|
|
12
|
+
option.name = field.name ?? f;
|
|
13
|
+
columns.push(option);
|
|
24
14
|
}
|
|
25
15
|
return columns;
|
|
26
16
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
name: string;
|
|
3
|
+
fields: {
|
|
4
|
+
eventlog_id: {
|
|
5
|
+
label: string;
|
|
6
|
+
sortable: boolean;
|
|
7
|
+
searchable: boolean;
|
|
8
|
+
autoWidth: boolean;
|
|
9
|
+
};
|
|
10
|
+
class: {
|
|
11
|
+
label: string;
|
|
12
|
+
sortable: boolean;
|
|
13
|
+
searchable: boolean;
|
|
14
|
+
};
|
|
15
|
+
id: {
|
|
16
|
+
label: string;
|
|
17
|
+
sortable: boolean;
|
|
18
|
+
searchable: boolean;
|
|
19
|
+
};
|
|
20
|
+
action: {
|
|
21
|
+
label: string;
|
|
22
|
+
sortable: boolean;
|
|
23
|
+
searchable: boolean;
|
|
24
|
+
};
|
|
25
|
+
created_time: {
|
|
26
|
+
label: string;
|
|
27
|
+
sortable: boolean;
|
|
28
|
+
searchable: boolean;
|
|
29
|
+
searchType: string;
|
|
30
|
+
};
|
|
31
|
+
username: {
|
|
32
|
+
label: string;
|
|
33
|
+
sortable: boolean;
|
|
34
|
+
searchable: boolean;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export default _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
name: "EventLog",
|
|
3
|
+
fields: {
|
|
4
|
+
eventlog_id: {
|
|
5
|
+
label: "EventLog ID",
|
|
6
|
+
sortable: true,
|
|
7
|
+
searchable: true,
|
|
8
|
+
autoWidth: true
|
|
9
|
+
},
|
|
10
|
+
class: {
|
|
11
|
+
label: "Class",
|
|
12
|
+
sortable: true,
|
|
13
|
+
searchable: true
|
|
14
|
+
},
|
|
15
|
+
id: {
|
|
16
|
+
label: "ID",
|
|
17
|
+
sortable: true,
|
|
18
|
+
searchable: true
|
|
19
|
+
},
|
|
20
|
+
action: {
|
|
21
|
+
label: "Action",
|
|
22
|
+
sortable: true,
|
|
23
|
+
searchable: true
|
|
24
|
+
},
|
|
25
|
+
created_time: {
|
|
26
|
+
label: "Created time",
|
|
27
|
+
sortable: true,
|
|
28
|
+
searchable: true,
|
|
29
|
+
searchType: "date"
|
|
30
|
+
},
|
|
31
|
+
username: {
|
|
32
|
+
label: "Username",
|
|
33
|
+
sortable: true,
|
|
34
|
+
searchable: true
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
name: string;
|
|
3
|
+
fields: {
|
|
4
|
+
maillog_id: {
|
|
5
|
+
label: string;
|
|
6
|
+
sortable: boolean;
|
|
7
|
+
searchable: boolean;
|
|
8
|
+
searchType: string;
|
|
9
|
+
autoWidth: boolean;
|
|
10
|
+
};
|
|
11
|
+
from: {
|
|
12
|
+
label: string;
|
|
13
|
+
sortable: boolean;
|
|
14
|
+
searchable: boolean;
|
|
15
|
+
};
|
|
16
|
+
to: {
|
|
17
|
+
label: string;
|
|
18
|
+
sortable: boolean;
|
|
19
|
+
searchable: boolean;
|
|
20
|
+
};
|
|
21
|
+
subject: {
|
|
22
|
+
label: string;
|
|
23
|
+
sortable: boolean;
|
|
24
|
+
searchable: boolean;
|
|
25
|
+
};
|
|
26
|
+
created_time: {
|
|
27
|
+
label: string;
|
|
28
|
+
sortable: boolean;
|
|
29
|
+
searchable: boolean;
|
|
30
|
+
searchType: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export default _default;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
name: "MailLog",
|
|
3
|
+
fields: {
|
|
4
|
+
maillog_id: {
|
|
5
|
+
label: "ID",
|
|
6
|
+
sortable: true,
|
|
7
|
+
searchable: true,
|
|
8
|
+
searchType: "number",
|
|
9
|
+
autoWidth: true
|
|
10
|
+
},
|
|
11
|
+
from: {
|
|
12
|
+
label: "From",
|
|
13
|
+
sortable: true,
|
|
14
|
+
searchable: true
|
|
15
|
+
},
|
|
16
|
+
to: {
|
|
17
|
+
label: "To",
|
|
18
|
+
sortable: true,
|
|
19
|
+
searchable: true
|
|
20
|
+
},
|
|
21
|
+
subject: {
|
|
22
|
+
label: "Subject",
|
|
23
|
+
sortable: true,
|
|
24
|
+
searchable: true
|
|
25
|
+
},
|
|
26
|
+
created_time: {
|
|
27
|
+
label: "Created time",
|
|
28
|
+
sortable: true,
|
|
29
|
+
searchable: true,
|
|
30
|
+
searchType: "date"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
name: string;
|
|
3
|
+
fields: {
|
|
4
|
+
Name: {
|
|
5
|
+
label: string;
|
|
6
|
+
gql: {
|
|
7
|
+
first_name: boolean;
|
|
8
|
+
last_name: boolean;
|
|
9
|
+
};
|
|
10
|
+
format: (row: any) => string;
|
|
11
|
+
};
|
|
12
|
+
username: {
|
|
13
|
+
label: string;
|
|
14
|
+
sortable: boolean;
|
|
15
|
+
searchable: boolean;
|
|
16
|
+
required: boolean;
|
|
17
|
+
};
|
|
18
|
+
first_name: {
|
|
19
|
+
label: string;
|
|
20
|
+
sortable: boolean;
|
|
21
|
+
searchable: boolean;
|
|
22
|
+
};
|
|
23
|
+
last_name: {
|
|
24
|
+
label: string;
|
|
25
|
+
sortable: boolean;
|
|
26
|
+
searchable: boolean;
|
|
27
|
+
};
|
|
28
|
+
email: {
|
|
29
|
+
label: string;
|
|
30
|
+
sortable: boolean;
|
|
31
|
+
searchable: boolean;
|
|
32
|
+
};
|
|
33
|
+
phone: {
|
|
34
|
+
label: string;
|
|
35
|
+
sortable: boolean;
|
|
36
|
+
searchable: boolean;
|
|
37
|
+
};
|
|
38
|
+
join_date: {
|
|
39
|
+
label: string;
|
|
40
|
+
sortable: boolean;
|
|
41
|
+
searchable: boolean;
|
|
42
|
+
searchType: string;
|
|
43
|
+
};
|
|
44
|
+
roles: {
|
|
45
|
+
label: string;
|
|
46
|
+
format: (value: any) => any;
|
|
47
|
+
};
|
|
48
|
+
status: {
|
|
49
|
+
label: string;
|
|
50
|
+
searchable: boolean;
|
|
51
|
+
searchType: string;
|
|
52
|
+
searchOptions: {
|
|
53
|
+
label: string;
|
|
54
|
+
value: number;
|
|
55
|
+
}[];
|
|
56
|
+
format: (value: any) => string;
|
|
57
|
+
};
|
|
58
|
+
has2FA: {
|
|
59
|
+
label: string;
|
|
60
|
+
searchType: string;
|
|
61
|
+
format: (value: any) => "" | "✔️";
|
|
62
|
+
};
|
|
63
|
+
_test2: {
|
|
64
|
+
label: string;
|
|
65
|
+
component: any;
|
|
66
|
+
componentProps: (a: any) => {
|
|
67
|
+
test: any;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
export default _default;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import MyTest from "../components/MyTest.vue";
|
|
2
|
+
export default {
|
|
3
|
+
name: "User",
|
|
4
|
+
fields: {
|
|
5
|
+
Name: {
|
|
6
|
+
label: "Name",
|
|
7
|
+
gql: {
|
|
8
|
+
first_name: true,
|
|
9
|
+
last_name: true
|
|
10
|
+
},
|
|
11
|
+
format: (row) => {
|
|
12
|
+
return row.first_name + " " + row.last_name;
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
username: {
|
|
16
|
+
label: "Username",
|
|
17
|
+
sortable: true,
|
|
18
|
+
searchable: true,
|
|
19
|
+
required: true
|
|
20
|
+
//cellClass: (row: any) => (row.username == "admin" ? "text-danger" : ""),
|
|
21
|
+
/* backgroundColor: (row: any) => {
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
if (row.username == "admin") {
|
|
25
|
+
return "red";
|
|
26
|
+
} else {
|
|
27
|
+
return "white";
|
|
28
|
+
}
|
|
29
|
+
} */
|
|
30
|
+
},
|
|
31
|
+
first_name: {
|
|
32
|
+
label: "First name",
|
|
33
|
+
sortable: true,
|
|
34
|
+
searchable: true
|
|
35
|
+
},
|
|
36
|
+
last_name: {
|
|
37
|
+
label: "Last name",
|
|
38
|
+
sortable: true,
|
|
39
|
+
searchable: true
|
|
40
|
+
},
|
|
41
|
+
email: {
|
|
42
|
+
label: "Email",
|
|
43
|
+
sortable: true,
|
|
44
|
+
searchable: true
|
|
45
|
+
},
|
|
46
|
+
phone: {
|
|
47
|
+
label: "Phone",
|
|
48
|
+
sortable: true,
|
|
49
|
+
searchable: true
|
|
50
|
+
},
|
|
51
|
+
join_date: {
|
|
52
|
+
label: "Join date",
|
|
53
|
+
sortable: true,
|
|
54
|
+
searchable: true,
|
|
55
|
+
searchType: "date"
|
|
56
|
+
},
|
|
57
|
+
roles: {
|
|
58
|
+
label: "Roles",
|
|
59
|
+
format: (value) => value.join(", ")
|
|
60
|
+
},
|
|
61
|
+
status: {
|
|
62
|
+
label: "Status",
|
|
63
|
+
searchable: true,
|
|
64
|
+
searchType: "select",
|
|
65
|
+
searchOptions: [
|
|
66
|
+
{ label: "Active", value: 0 },
|
|
67
|
+
{ label: "Inactive", value: 1 }
|
|
68
|
+
],
|
|
69
|
+
format: (value) => {
|
|
70
|
+
return ["Active", "Inactive"][value];
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
has2FA: {
|
|
74
|
+
label: "2FA",
|
|
75
|
+
searchType: "select",
|
|
76
|
+
format: (value) => {
|
|
77
|
+
return value ? "\u2714\uFE0F" : "";
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
_test2: {
|
|
81
|
+
label: "Test",
|
|
82
|
+
component: MyTest,
|
|
83
|
+
componentProps: (a) => {
|
|
84
|
+
return {
|
|
85
|
+
test: a.username
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
name: string;
|
|
3
|
+
fields: {
|
|
4
|
+
userlog_id: {
|
|
5
|
+
label: string;
|
|
6
|
+
sortable: boolean;
|
|
7
|
+
searchable: boolean;
|
|
8
|
+
autoWidth: boolean;
|
|
9
|
+
};
|
|
10
|
+
username: {
|
|
11
|
+
label: string;
|
|
12
|
+
sortable: boolean;
|
|
13
|
+
searchable: boolean;
|
|
14
|
+
};
|
|
15
|
+
login_dt: {
|
|
16
|
+
label: string;
|
|
17
|
+
sortable: boolean;
|
|
18
|
+
searchable: boolean;
|
|
19
|
+
searchType: string;
|
|
20
|
+
};
|
|
21
|
+
logout_dt: {
|
|
22
|
+
label: string;
|
|
23
|
+
sortable: boolean;
|
|
24
|
+
searchable: boolean;
|
|
25
|
+
};
|
|
26
|
+
result: {
|
|
27
|
+
label: string;
|
|
28
|
+
sortable: boolean;
|
|
29
|
+
searchable: boolean;
|
|
30
|
+
searchType: string;
|
|
31
|
+
searchOptions: {
|
|
32
|
+
label: string;
|
|
33
|
+
value: string;
|
|
34
|
+
}[];
|
|
35
|
+
autoWidth: boolean;
|
|
36
|
+
};
|
|
37
|
+
user_agent: {
|
|
38
|
+
label: string;
|
|
39
|
+
sortable: boolean;
|
|
40
|
+
searchable: boolean;
|
|
41
|
+
whiteSpace: string;
|
|
42
|
+
};
|
|
43
|
+
last_access_time: {
|
|
44
|
+
label: string;
|
|
45
|
+
sortable: boolean;
|
|
46
|
+
searchable: boolean;
|
|
47
|
+
searchType: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export default _default;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
name: "UserLog",
|
|
3
|
+
fields: {
|
|
4
|
+
userlog_id: {
|
|
5
|
+
label: "ID",
|
|
6
|
+
sortable: true,
|
|
7
|
+
searchable: true,
|
|
8
|
+
autoWidth: true
|
|
9
|
+
},
|
|
10
|
+
username: {
|
|
11
|
+
label: "User",
|
|
12
|
+
sortable: true,
|
|
13
|
+
searchable: true
|
|
14
|
+
},
|
|
15
|
+
login_dt: {
|
|
16
|
+
label: "Login time",
|
|
17
|
+
sortable: true,
|
|
18
|
+
searchable: true,
|
|
19
|
+
searchType: "date"
|
|
20
|
+
},
|
|
21
|
+
logout_dt: {
|
|
22
|
+
label: "Logout time",
|
|
23
|
+
sortable: true,
|
|
24
|
+
searchable: true
|
|
25
|
+
},
|
|
26
|
+
result: {
|
|
27
|
+
label: "Result",
|
|
28
|
+
sortable: true,
|
|
29
|
+
searchable: true,
|
|
30
|
+
searchType: "select",
|
|
31
|
+
searchOptions: [
|
|
32
|
+
{
|
|
33
|
+
label: "SUCCESS",
|
|
34
|
+
value: "SUCCESS"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
label: "FAIL",
|
|
38
|
+
value: "FAIL"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
autoWidth: true
|
|
42
|
+
},
|
|
43
|
+
user_agent: {
|
|
44
|
+
label: "User agent",
|
|
45
|
+
sortable: true,
|
|
46
|
+
searchable: true,
|
|
47
|
+
whiteSpace: "pre-line"
|
|
48
|
+
},
|
|
49
|
+
last_access_time: {
|
|
50
|
+
label: "Last access time",
|
|
51
|
+
sortable: true,
|
|
52
|
+
searchable: true,
|
|
53
|
+
searchType: "date"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
@@ -34,7 +34,7 @@ const languages = tt.app.languages.map((lang) => {
|
|
|
34
34
|
<template>
|
|
35
35
|
<l-page>
|
|
36
36
|
<FormKit type="l-form" :value="obj" gutter="none">
|
|
37
|
-
<l-row>
|
|
37
|
+
<l-row class="col col-12">
|
|
38
38
|
<l-col md="6">
|
|
39
39
|
<FormKit type="l-input" label="Username" name="username" validation="required" />
|
|
40
40
|
<FormKit type="l-input" label="First name" name="first_name" validation="required" />
|
|
@@ -22,7 +22,7 @@ const columns = model("User").columns({
|
|
|
22
22
|
<l-tabs route>
|
|
23
23
|
<l-tab label="Active" name="active">
|
|
24
24
|
<l-table ref="table" row-key="user_id" @request-data="onRequest" :columns="columns"
|
|
25
|
-
:actions="['view', 'edit', 'delete']"></l-table>
|
|
25
|
+
:actions="['view', 'edit', 'delete']" name="user-index-active"></l-table>
|
|
26
26
|
</l-tab>
|
|
27
27
|
<l-tab label="Inactive" name="inactive">
|
|
28
28
|
<l-table row-key="user_id" @request-data="onRequest" :columns="columns"
|
package/dist/runtime/plugin.js
CHANGED
|
@@ -14,12 +14,12 @@ import { createLightPlugin } from "./formkit/index.js";
|
|
|
14
14
|
import { plugin, defaultConfig } from "@formkit/vue";
|
|
15
15
|
import getApiBase from "./composables/getApiBase.js";
|
|
16
16
|
import useLight from "./composables/useLight.js";
|
|
17
|
-
import TypeUser from "./
|
|
18
|
-
import TypeUserLog from "./
|
|
19
|
-
import TypeSystemValue from "./
|
|
20
|
-
import TypeMailLog from "./
|
|
21
|
-
import TypeEventLog from "./
|
|
22
|
-
import TypeCustomerField from "./
|
|
17
|
+
import TypeUser from "./models/User.js";
|
|
18
|
+
import TypeUserLog from "./models/UserLog.js";
|
|
19
|
+
import TypeSystemValue from "./models/SystemValue.js";
|
|
20
|
+
import TypeMailLog from "./models/MailLog.js";
|
|
21
|
+
import TypeEventLog from "./models/EventLog.js";
|
|
22
|
+
import TypeCustomerField from "./models/CustomField.js";
|
|
23
23
|
import { zhTW } from "@formkit/i18n";
|
|
24
24
|
export default defineNuxtPlugin((nuxtApp) => {
|
|
25
25
|
addRouteMiddleware("auth", async (to, from) => {
|
|
@@ -44,12 +44,12 @@ export default defineNuxtPlugin((nuxtApp) => {
|
|
|
44
44
|
}
|
|
45
45
|
}, { global: true });
|
|
46
46
|
api.axios.defaults.baseURL = getApiBase();
|
|
47
|
-
api.models.create(
|
|
48
|
-
api.models.create("User", TypeUser);
|
|
49
|
-
api.models.create("UserLog", TypeUserLog);
|
|
50
|
-
api.models.create("SystemValue", TypeSystemValue);
|
|
51
|
-
api.models.create("MailLog", TypeMailLog);
|
|
52
|
-
api.models.create("EventLog", TypeEventLog);
|
|
47
|
+
api.models.create("CustomField", TypeCustomerField.fields);
|
|
48
|
+
api.models.create("User", TypeUser.fields);
|
|
49
|
+
api.models.create("UserLog", TypeUserLog.fields);
|
|
50
|
+
api.models.create("SystemValue", TypeSystemValue.fields);
|
|
51
|
+
api.models.create("MailLog", TypeMailLog.fields);
|
|
52
|
+
api.models.create("EventLog", TypeEventLog.fields);
|
|
53
53
|
api.model("MailLog").setDataPath("app.listMailLog");
|
|
54
54
|
api.model("EventLog").setDataPath("app.listEventLog");
|
|
55
55
|
api.model("User").setDataPath("app.listUser");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hostlink/nuxt-light",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.46.0",
|
|
4
4
|
"description": "HostLink Nuxt Light Framework",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@azure/msal-browser": "^3.26.1",
|
|
34
34
|
"@formkit/drag-and-drop": "^0.5.3",
|
|
35
|
-
"@hostlink/light": "^2.
|
|
35
|
+
"@hostlink/light": "^2.13.2",
|
|
36
36
|
"@nuxt/module-builder": "^1.0.1",
|
|
37
37
|
"@quasar/extras": "^1.17.0",
|
|
38
38
|
"@quasar/quasar-ui-qmarkdown": "^2.0.5",
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
eventlog_id: {
|
|
3
|
-
label: string;
|
|
4
|
-
sortable: boolean;
|
|
5
|
-
searchable: boolean;
|
|
6
|
-
autoWidth: boolean;
|
|
7
|
-
};
|
|
8
|
-
class: {
|
|
9
|
-
label: string;
|
|
10
|
-
sortable: boolean;
|
|
11
|
-
searchable: boolean;
|
|
12
|
-
};
|
|
13
|
-
id: {
|
|
14
|
-
label: string;
|
|
15
|
-
sortable: boolean;
|
|
16
|
-
searchable: boolean;
|
|
17
|
-
};
|
|
18
|
-
action: {
|
|
19
|
-
label: string;
|
|
20
|
-
sortable: boolean;
|
|
21
|
-
searchable: boolean;
|
|
22
|
-
};
|
|
23
|
-
created_time: {
|
|
24
|
-
label: string;
|
|
25
|
-
sortable: boolean;
|
|
26
|
-
searchable: boolean;
|
|
27
|
-
searchType: string;
|
|
28
|
-
};
|
|
29
|
-
username: {
|
|
30
|
-
label: string;
|
|
31
|
-
sortable: boolean;
|
|
32
|
-
searchable: boolean;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
export default _default;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
eventlog_id: {
|
|
3
|
-
label: "EventLog ID",
|
|
4
|
-
sortable: true,
|
|
5
|
-
searchable: true,
|
|
6
|
-
autoWidth: true
|
|
7
|
-
},
|
|
8
|
-
class: {
|
|
9
|
-
label: "Class",
|
|
10
|
-
sortable: true,
|
|
11
|
-
searchable: true
|
|
12
|
-
},
|
|
13
|
-
id: {
|
|
14
|
-
label: "ID",
|
|
15
|
-
sortable: true,
|
|
16
|
-
searchable: true
|
|
17
|
-
},
|
|
18
|
-
action: {
|
|
19
|
-
label: "Action",
|
|
20
|
-
sortable: true,
|
|
21
|
-
searchable: true
|
|
22
|
-
},
|
|
23
|
-
created_time: {
|
|
24
|
-
label: "Created time",
|
|
25
|
-
sortable: true,
|
|
26
|
-
searchable: true,
|
|
27
|
-
searchType: "date"
|
|
28
|
-
},
|
|
29
|
-
username: {
|
|
30
|
-
label: "Username",
|
|
31
|
-
sortable: true,
|
|
32
|
-
searchable: true
|
|
33
|
-
}
|
|
34
|
-
};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
maillog_id: {
|
|
3
|
-
label: string;
|
|
4
|
-
sortable: boolean;
|
|
5
|
-
searchable: boolean;
|
|
6
|
-
searchType: string;
|
|
7
|
-
autoWidth: boolean;
|
|
8
|
-
};
|
|
9
|
-
from: {
|
|
10
|
-
label: string;
|
|
11
|
-
sortable: boolean;
|
|
12
|
-
searchable: boolean;
|
|
13
|
-
};
|
|
14
|
-
to: {
|
|
15
|
-
label: string;
|
|
16
|
-
sortable: boolean;
|
|
17
|
-
searchable: boolean;
|
|
18
|
-
};
|
|
19
|
-
subject: {
|
|
20
|
-
label: string;
|
|
21
|
-
sortable: boolean;
|
|
22
|
-
searchable: boolean;
|
|
23
|
-
};
|
|
24
|
-
created_time: {
|
|
25
|
-
label: string;
|
|
26
|
-
sortable: boolean;
|
|
27
|
-
searchable: boolean;
|
|
28
|
-
searchType: string;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
export default _default;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
maillog_id: {
|
|
3
|
-
label: "ID",
|
|
4
|
-
sortable: true,
|
|
5
|
-
searchable: true,
|
|
6
|
-
searchType: "number",
|
|
7
|
-
autoWidth: true
|
|
8
|
-
},
|
|
9
|
-
from: {
|
|
10
|
-
label: "From",
|
|
11
|
-
sortable: true,
|
|
12
|
-
searchable: true
|
|
13
|
-
},
|
|
14
|
-
to: {
|
|
15
|
-
label: "To",
|
|
16
|
-
sortable: true,
|
|
17
|
-
searchable: true
|
|
18
|
-
},
|
|
19
|
-
subject: {
|
|
20
|
-
label: "Subject",
|
|
21
|
-
sortable: true,
|
|
22
|
-
searchable: true
|
|
23
|
-
},
|
|
24
|
-
created_time: {
|
|
25
|
-
label: "Created time",
|
|
26
|
-
sortable: true,
|
|
27
|
-
searchable: true,
|
|
28
|
-
searchType: "date"
|
|
29
|
-
}
|
|
30
|
-
};
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
username: {
|
|
3
|
-
label: string;
|
|
4
|
-
sortable: boolean;
|
|
5
|
-
searchable: boolean;
|
|
6
|
-
};
|
|
7
|
-
first_name: {
|
|
8
|
-
label: string;
|
|
9
|
-
sortable: boolean;
|
|
10
|
-
searchable: boolean;
|
|
11
|
-
};
|
|
12
|
-
last_name: {
|
|
13
|
-
label: string;
|
|
14
|
-
sortable: boolean;
|
|
15
|
-
searchable: boolean;
|
|
16
|
-
};
|
|
17
|
-
email: {
|
|
18
|
-
label: string;
|
|
19
|
-
sortable: boolean;
|
|
20
|
-
searchable: boolean;
|
|
21
|
-
};
|
|
22
|
-
phone: {
|
|
23
|
-
label: string;
|
|
24
|
-
sortable: boolean;
|
|
25
|
-
searchable: boolean;
|
|
26
|
-
};
|
|
27
|
-
join_date: {
|
|
28
|
-
label: string;
|
|
29
|
-
sortable: boolean;
|
|
30
|
-
searchable: boolean;
|
|
31
|
-
searchType: string;
|
|
32
|
-
};
|
|
33
|
-
roles: {
|
|
34
|
-
label: string;
|
|
35
|
-
format: (value: any) => any;
|
|
36
|
-
};
|
|
37
|
-
status: {
|
|
38
|
-
label: string;
|
|
39
|
-
searchable: boolean;
|
|
40
|
-
searchType: string;
|
|
41
|
-
searchOptions: {
|
|
42
|
-
label: string;
|
|
43
|
-
value: number;
|
|
44
|
-
}[];
|
|
45
|
-
format: (value: any) => string;
|
|
46
|
-
};
|
|
47
|
-
has2FA: {
|
|
48
|
-
label: string;
|
|
49
|
-
searchType: string;
|
|
50
|
-
format: (value: any) => "" | "✔️";
|
|
51
|
-
};
|
|
52
|
-
_test: {
|
|
53
|
-
label: string;
|
|
54
|
-
component: any;
|
|
55
|
-
componentProps: (a: any) => {
|
|
56
|
-
test: any;
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
};
|
|
60
|
-
export default _default;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import MyTest from "../components/MyTest.vue";
|
|
2
|
-
export default {
|
|
3
|
-
username: {
|
|
4
|
-
label: "Username",
|
|
5
|
-
sortable: true,
|
|
6
|
-
searchable: true
|
|
7
|
-
//cellClass: (row: any) => (row.username == "admin" ? "text-danger" : ""),
|
|
8
|
-
/* backgroundColor: (row: any) => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (row.username == "admin") {
|
|
12
|
-
return "red";
|
|
13
|
-
} else {
|
|
14
|
-
return "white";
|
|
15
|
-
}
|
|
16
|
-
} */
|
|
17
|
-
},
|
|
18
|
-
first_name: {
|
|
19
|
-
label: "First name",
|
|
20
|
-
sortable: true,
|
|
21
|
-
searchable: true
|
|
22
|
-
},
|
|
23
|
-
last_name: {
|
|
24
|
-
label: "Last name",
|
|
25
|
-
sortable: true,
|
|
26
|
-
searchable: true
|
|
27
|
-
},
|
|
28
|
-
email: {
|
|
29
|
-
label: "Email",
|
|
30
|
-
sortable: true,
|
|
31
|
-
searchable: true
|
|
32
|
-
},
|
|
33
|
-
phone: {
|
|
34
|
-
label: "Phone",
|
|
35
|
-
sortable: true,
|
|
36
|
-
searchable: true
|
|
37
|
-
},
|
|
38
|
-
join_date: {
|
|
39
|
-
label: "Join date",
|
|
40
|
-
sortable: true,
|
|
41
|
-
searchable: true,
|
|
42
|
-
searchType: "date"
|
|
43
|
-
},
|
|
44
|
-
roles: {
|
|
45
|
-
label: "Roles",
|
|
46
|
-
format: (value) => value.join(", ")
|
|
47
|
-
},
|
|
48
|
-
status: {
|
|
49
|
-
label: "Status",
|
|
50
|
-
searchable: true,
|
|
51
|
-
searchType: "select",
|
|
52
|
-
searchOptions: [
|
|
53
|
-
{ label: "Active", value: 0 },
|
|
54
|
-
{ label: "Inactive", value: 1 }
|
|
55
|
-
],
|
|
56
|
-
format: (value) => {
|
|
57
|
-
return ["Active", "Inactive"][value];
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
has2FA: {
|
|
61
|
-
label: "2FA",
|
|
62
|
-
searchType: "select",
|
|
63
|
-
format: (value) => {
|
|
64
|
-
return value ? "\u2714\uFE0F" : "";
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
_test: {
|
|
68
|
-
label: "Test",
|
|
69
|
-
component: MyTest,
|
|
70
|
-
componentProps: (a) => {
|
|
71
|
-
return {
|
|
72
|
-
test: a.username
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
userlog_id: {
|
|
3
|
-
label: string;
|
|
4
|
-
sortable: boolean;
|
|
5
|
-
searchable: boolean;
|
|
6
|
-
autoWidth: boolean;
|
|
7
|
-
};
|
|
8
|
-
username: {
|
|
9
|
-
label: string;
|
|
10
|
-
sortable: boolean;
|
|
11
|
-
searchable: boolean;
|
|
12
|
-
};
|
|
13
|
-
login_dt: {
|
|
14
|
-
label: string;
|
|
15
|
-
sortable: boolean;
|
|
16
|
-
searchable: boolean;
|
|
17
|
-
searchType: string;
|
|
18
|
-
};
|
|
19
|
-
logout_dt: {
|
|
20
|
-
label: string;
|
|
21
|
-
sortable: boolean;
|
|
22
|
-
searchable: boolean;
|
|
23
|
-
};
|
|
24
|
-
result: {
|
|
25
|
-
label: string;
|
|
26
|
-
sortable: boolean;
|
|
27
|
-
searchable: boolean;
|
|
28
|
-
searchType: string;
|
|
29
|
-
searchOptions: {
|
|
30
|
-
label: string;
|
|
31
|
-
value: string;
|
|
32
|
-
}[];
|
|
33
|
-
autoWidth: boolean;
|
|
34
|
-
};
|
|
35
|
-
user_agent: {
|
|
36
|
-
label: string;
|
|
37
|
-
sortable: boolean;
|
|
38
|
-
searchable: boolean;
|
|
39
|
-
whiteSpace: string;
|
|
40
|
-
};
|
|
41
|
-
last_access_time: {
|
|
42
|
-
label: string;
|
|
43
|
-
sortable: boolean;
|
|
44
|
-
searchable: boolean;
|
|
45
|
-
searchType: string;
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
export default _default;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
userlog_id: {
|
|
3
|
-
label: "ID",
|
|
4
|
-
sortable: true,
|
|
5
|
-
searchable: true,
|
|
6
|
-
autoWidth: true
|
|
7
|
-
},
|
|
8
|
-
username: {
|
|
9
|
-
label: "User",
|
|
10
|
-
sortable: true,
|
|
11
|
-
searchable: true
|
|
12
|
-
},
|
|
13
|
-
login_dt: {
|
|
14
|
-
label: "Login time",
|
|
15
|
-
sortable: true,
|
|
16
|
-
searchable: true,
|
|
17
|
-
searchType: "date"
|
|
18
|
-
},
|
|
19
|
-
logout_dt: {
|
|
20
|
-
label: "Logout time",
|
|
21
|
-
sortable: true,
|
|
22
|
-
searchable: true
|
|
23
|
-
},
|
|
24
|
-
result: {
|
|
25
|
-
label: "Result",
|
|
26
|
-
sortable: true,
|
|
27
|
-
searchable: true,
|
|
28
|
-
searchType: "select",
|
|
29
|
-
searchOptions: [
|
|
30
|
-
{
|
|
31
|
-
label: "SUCCESS",
|
|
32
|
-
value: "SUCCESS"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
label: "FAIL",
|
|
36
|
-
value: "FAIL"
|
|
37
|
-
}
|
|
38
|
-
],
|
|
39
|
-
autoWidth: true
|
|
40
|
-
},
|
|
41
|
-
user_agent: {
|
|
42
|
-
label: "User agent",
|
|
43
|
-
sortable: true,
|
|
44
|
-
searchable: true,
|
|
45
|
-
whiteSpace: "pre-line"
|
|
46
|
-
},
|
|
47
|
-
last_access_time: {
|
|
48
|
-
label: "Last access time",
|
|
49
|
-
sortable: true,
|
|
50
|
-
searchable: true,
|
|
51
|
-
searchType: "date"
|
|
52
|
-
}
|
|
53
|
-
};
|
|
File without changes
|
|
File without changes
|