@hostlink/nuxt-light 0.0.78 → 0.0.80
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/module.mjs +3 -1
- package/dist/runtime/components/l-app-main.vue +6 -6
- package/dist/runtime/components/l-form.vue +5 -1
- package/dist/runtime/components/l-table.vue +3 -5
- package/dist/runtime/lib/defineType.d.ts +3 -0
- package/dist/runtime/lib/defineType.mjs +5 -0
- package/dist/runtime/lib/getTypeColumns.d.ts +2 -0
- package/dist/runtime/lib/getTypeColumns.mjs +19 -0
- package/dist/runtime/lib/index.d.ts +3 -1
- package/dist/runtime/lib/index.mjs +5 -1
- package/dist/runtime/lib/sv.d.ts +2 -0
- package/dist/runtime/lib/sv.mjs +11 -0
- package/dist/runtime/pages/SystemValue/_systemvalue_id/edit.vue +15 -0
- package/dist/runtime/pages/SystemValue/add.vue +15 -0
- package/dist/runtime/pages/SystemValue/index.vue +12 -0
- package/dist/runtime/pages/User/index.vue +2 -39
- package/dist/runtime/pages/UserLog/index.vue +2 -49
- package/dist/runtime/plugin.mjs +7 -1
- package/dist/runtime/routes.mjs +30 -0
- package/dist/runtime/types/SystemValue.d.ts +11 -0
- package/dist/runtime/types/SystemValue.mjs +10 -0
- package/dist/runtime/types/User.d.ts +34 -0
- package/dist/runtime/types/User.mjs +33 -0
- package/dist/runtime/types/UserLog.d.ts +39 -0
- package/dist/runtime/types/UserLog.mjs +44 -0
- package/package.json +1 -1
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -52,7 +52,9 @@ const module = defineNuxtModule({
|
|
|
52
52
|
{ name: "updateObject", from },
|
|
53
53
|
{ name: "listObject", from },
|
|
54
54
|
{ name: "useLight", from: index },
|
|
55
|
-
{ name: "isGranted", from }
|
|
55
|
+
{ name: "isGranted", from },
|
|
56
|
+
{ name: "getTypeColumns", from },
|
|
57
|
+
{ name: "defineType", from }
|
|
56
58
|
]);
|
|
57
59
|
addPlugin({
|
|
58
60
|
src: resolver.resolve("./runtime/plugin"),
|
|
@@ -312,12 +312,12 @@ const storageUsagePercent = computed(() => {
|
|
|
312
312
|
|
|
313
313
|
<q-page-container class="bg-grey-2" style="color:#1f1f1f">
|
|
314
314
|
<!-- Error message -->
|
|
315
|
-
<q-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
</
|
|
320
|
-
</q-
|
|
315
|
+
<q-banner dense inline-actions class="bg-grey-4 q-ma-md" v-for="error in errors" rounded>
|
|
316
|
+
{{ error }}
|
|
317
|
+
<template v-slot:action>
|
|
318
|
+
<q-btn flat icon="sym_o_close" round dense @click="light.removeError(error)" />
|
|
319
|
+
</template>
|
|
320
|
+
</q-banner>
|
|
321
321
|
|
|
322
322
|
<router-view v-slot="{ Component }">
|
|
323
323
|
<template v-if="Component">
|
|
@@ -30,6 +30,8 @@ const props = defineProps({
|
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
|
|
33
|
+
const loading = ref(false)
|
|
34
|
+
|
|
33
35
|
const que = useQuasar();
|
|
34
36
|
const emit = defineEmits(["save", "submit"]);
|
|
35
37
|
const save = async () => {
|
|
@@ -37,6 +39,7 @@ const save = async () => {
|
|
|
37
39
|
let valid = await form.value.validate();
|
|
38
40
|
if (!valid) return;
|
|
39
41
|
if (valid) {
|
|
42
|
+
loading.value = true;
|
|
40
43
|
emit("save");
|
|
41
44
|
emit('submit');
|
|
42
45
|
}
|
|
@@ -72,6 +75,7 @@ const save = async () => {
|
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
77
|
}
|
|
78
|
+
loading.value = false
|
|
75
79
|
}
|
|
76
80
|
const onSubmit = (e) => {
|
|
77
81
|
e.preventDefault();
|
|
@@ -90,7 +94,7 @@ const onSubmit = (e) => {
|
|
|
90
94
|
</q-card-section>
|
|
91
95
|
|
|
92
96
|
<q-card-actions align="right">
|
|
93
|
-
<l-btn color="primary" :icon="submitIcon" :label="submitLabel" @click="save" />
|
|
97
|
+
<l-btn color="primary" :icon="submitIcon" :label="submitLabel" @click="save" :loading="loading" />
|
|
94
98
|
</q-card-actions>
|
|
95
99
|
</l-card>
|
|
96
100
|
</q-form>
|
|
@@ -168,7 +168,7 @@ const validateData = () => {
|
|
|
168
168
|
let row = rows.value[0];
|
|
169
169
|
//check has primary key
|
|
170
170
|
|
|
171
|
-
if (!primaryKey.value) {
|
|
171
|
+
if (!row[primaryKey.value]) {
|
|
172
172
|
errors.value.push("[edit] Primary key not found in the data");
|
|
173
173
|
}
|
|
174
174
|
}
|
|
@@ -409,10 +409,8 @@ const filter = ref('');
|
|
|
409
409
|
</script>
|
|
410
410
|
<template>
|
|
411
411
|
<template v-if="errors.length > 0">
|
|
412
|
-
<div class="
|
|
413
|
-
<
|
|
414
|
-
<li v-for="e in errors">{{ e }}</li>
|
|
415
|
-
</ul>
|
|
412
|
+
<div class="q-gutter-sm">
|
|
413
|
+
<q-banner inline-actions v-for="e in errors" rounded class="bg-negative text-white">{{ e }}</q-banner>
|
|
416
414
|
</div>
|
|
417
415
|
</template>
|
|
418
416
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { getData } from "./defineType.mjs";
|
|
2
|
+
export default (type, names) => {
|
|
3
|
+
let data = getData();
|
|
4
|
+
let columns = [];
|
|
5
|
+
for (let name of names) {
|
|
6
|
+
if (!data[type])
|
|
7
|
+
continue;
|
|
8
|
+
if (!data[type][name])
|
|
9
|
+
continue;
|
|
10
|
+
let options = data[type][name];
|
|
11
|
+
if (!options)
|
|
12
|
+
continue;
|
|
13
|
+
if (!options.name) {
|
|
14
|
+
options.name = name;
|
|
15
|
+
}
|
|
16
|
+
columns.push(options);
|
|
17
|
+
}
|
|
18
|
+
return columns;
|
|
19
|
+
};
|
|
@@ -15,7 +15,9 @@ import listObject from "./listObject";
|
|
|
15
15
|
import loadObject from "./loadObject";
|
|
16
16
|
import isGranted from "./isGranted";
|
|
17
17
|
import GQLFieldBuilder from "./GQLFieldBuilder";
|
|
18
|
+
import getTypeColumns from "./getTypeColumns";
|
|
18
19
|
declare const notify: (message: string, color?: string) => void;
|
|
19
20
|
import getID from "./getID";
|
|
20
21
|
declare const getApiBase: () => {};
|
|
21
|
-
|
|
22
|
+
import defineType from './defineType';
|
|
23
|
+
export { addObject, f, getApiUrl, getCurrentUser, getObject, list, listData, m, q, removeObject, t, updateObject, notify, getID, deleteObject, listObject, isGranted, getApiBase, loadObject, GQLFieldBuilder, defineType, getTypeColumns };
|
|
@@ -17,6 +17,7 @@ import listObject from "./listObject.mjs";
|
|
|
17
17
|
import loadObject from "./loadObject.mjs";
|
|
18
18
|
import isGranted from "./isGranted.mjs";
|
|
19
19
|
import GQLFieldBuilder from "./GQLFieldBuilder.mjs";
|
|
20
|
+
import getTypeColumns from "./getTypeColumns.mjs";
|
|
20
21
|
const notify = function(message, color = "green") {
|
|
21
22
|
Notify.create({
|
|
22
23
|
message,
|
|
@@ -29,6 +30,7 @@ const getApiBase = () => {
|
|
|
29
30
|
const config = useRuntimeConfig();
|
|
30
31
|
return config?.public?.apiBase ?? "/api/";
|
|
31
32
|
};
|
|
33
|
+
import defineType from "./defineType.mjs";
|
|
32
34
|
export {
|
|
33
35
|
addObject,
|
|
34
36
|
f,
|
|
@@ -49,5 +51,7 @@ export {
|
|
|
49
51
|
isGranted,
|
|
50
52
|
getApiBase,
|
|
51
53
|
loadObject,
|
|
52
|
-
GQLFieldBuilder
|
|
54
|
+
GQLFieldBuilder,
|
|
55
|
+
defineType,
|
|
56
|
+
getTypeColumns
|
|
53
57
|
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { reactive } from 'vue'
|
|
3
|
+
import { getObject } from '../../../'
|
|
4
|
+
const obj = reactive(await getObject(["name", "value"]))
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<template>
|
|
8
|
+
<l-page>
|
|
9
|
+
<l-form v-model="obj">
|
|
10
|
+
<l-input label="Name" v-model="obj.name" required />
|
|
11
|
+
<l-input label="Value" v-model="obj.value" required type="textarea" />
|
|
12
|
+
</l-form>
|
|
13
|
+
|
|
14
|
+
</l-page>
|
|
15
|
+
</template>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { reactive } from 'vue'
|
|
3
|
+
|
|
4
|
+
const obj = reactive({})
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<template>
|
|
8
|
+
<l-page>
|
|
9
|
+
<l-form v-model="obj">
|
|
10
|
+
<l-input label="Name" v-model="obj.name" required />
|
|
11
|
+
<l-input label="Value" v-model="obj.value" required type="textarea" />
|
|
12
|
+
</l-form>
|
|
13
|
+
|
|
14
|
+
</l-page>
|
|
15
|
+
</template>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { ref } from 'vue'
|
|
3
|
+
import getTypeColumns from "../../lib/getTypeColumns";
|
|
4
|
+
import sv from "../../lib/sv";
|
|
5
|
+
const columns = getTypeColumns("SystemValue", ["name", "value"]);
|
|
6
|
+
</script>
|
|
7
|
+
<template>
|
|
8
|
+
<l-page>
|
|
9
|
+
<l-table row-key="systemvalue_id" :columns="columns" @request="$event.loadObjects('SystemValue')"
|
|
10
|
+
:actions="['edit', 'delete']"></l-table>
|
|
11
|
+
</l-page>
|
|
12
|
+
</template>
|
|
@@ -1,51 +1,15 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { ref } from 'vue'
|
|
3
|
+
import getTypeColumns from "../../lib/getTypeColumns";
|
|
3
4
|
const onRequest = async (request) => {
|
|
4
5
|
request.loadObjects("User", { status: status.value });
|
|
5
6
|
};
|
|
6
|
-
|
|
7
|
-
const columns = [
|
|
8
|
-
{
|
|
9
|
-
label: "Username",
|
|
10
|
-
name: "username",
|
|
11
|
-
sortable: true,
|
|
12
|
-
searchable: true,
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
label: "First name",
|
|
16
|
-
name: "first_name",
|
|
17
|
-
sortable: true,
|
|
18
|
-
searchable: true,
|
|
19
|
-
}, {
|
|
20
|
-
|
|
21
|
-
label: "Last name",
|
|
22
|
-
name: "last_name",
|
|
23
|
-
sortable: true,
|
|
24
|
-
searchable: true,
|
|
25
|
-
}, {
|
|
26
|
-
label: "Email",
|
|
27
|
-
name: "email",
|
|
28
|
-
sortable: true,
|
|
29
|
-
searchable: true,
|
|
30
|
-
}, {
|
|
31
|
-
label: "Phone",
|
|
32
|
-
name: "phone",
|
|
33
|
-
sortable: true,
|
|
34
|
-
searchable: true,
|
|
35
|
-
}, {
|
|
36
|
-
label: "Join date",
|
|
37
|
-
name: "join_date",
|
|
38
|
-
sortable: true,
|
|
39
|
-
searchable: true,
|
|
40
|
-
searchType: "date"
|
|
41
|
-
}
|
|
42
|
-
]
|
|
7
|
+
const columns = getTypeColumns("User", ["username", "first_name", "label_name", "email", "phone", "join_date"]);
|
|
43
8
|
const status = ref("0");
|
|
44
9
|
</script>
|
|
45
10
|
|
|
46
11
|
<template>
|
|
47
12
|
<l-page>
|
|
48
|
-
|
|
49
13
|
<l-tabs v-model="status">
|
|
50
14
|
<l-tab label="Active" name="0">
|
|
51
15
|
<l-table row-key="user_id" @request="onRequest" :columns="columns" :actions="['view', 'edit', 'delete']">
|
|
@@ -56,6 +20,5 @@ const status = ref("0");
|
|
|
56
20
|
</l-table>
|
|
57
21
|
</l-tab>
|
|
58
22
|
</l-tabs>
|
|
59
|
-
|
|
60
23
|
</l-page>
|
|
61
24
|
</template>
|
|
@@ -1,53 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
label: "ID",
|
|
5
|
-
name: "userlog_id",
|
|
6
|
-
sortable: true,
|
|
7
|
-
searchable: true,
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
label: "User",
|
|
11
|
-
name: "username",
|
|
12
|
-
sortable: true,
|
|
13
|
-
searchable: true,
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
label: "Login time",
|
|
17
|
-
name: "login_dt",
|
|
18
|
-
sortable: true,
|
|
19
|
-
searchable: true,
|
|
20
|
-
searchType: "date",
|
|
21
|
-
}, {
|
|
22
|
-
label: "Logout time",
|
|
23
|
-
name: "logout_dt",
|
|
24
|
-
sortable: true,
|
|
25
|
-
searchable: true,
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
label: "Result",
|
|
29
|
-
name: "result",
|
|
30
|
-
sortable: true,
|
|
31
|
-
searchable: true,
|
|
32
|
-
searchType: "select",
|
|
33
|
-
searchOptions: [
|
|
34
|
-
{
|
|
35
|
-
label: "SUCCESS",
|
|
36
|
-
value: "SUCCESS"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
label: "FAIL",
|
|
40
|
-
value: "FAIL"
|
|
41
|
-
}
|
|
42
|
-
]
|
|
43
|
-
}, {
|
|
44
|
-
label: "User agent",
|
|
45
|
-
name: "user_agent",
|
|
46
|
-
sortable: true,
|
|
47
|
-
searchable: true,
|
|
48
|
-
},
|
|
49
|
-
]
|
|
50
|
-
|
|
2
|
+
import getTypeColumns from "../../lib/getTypeColumns";
|
|
3
|
+
const columns = getTypeColumns("UserLog", ["userlog_id", "username", "login_dt", "logout_dt", "result", "user_agent"]);
|
|
51
4
|
</script>
|
|
52
5
|
<template>
|
|
53
6
|
<l-page>
|
package/dist/runtime/plugin.mjs
CHANGED
|
@@ -7,8 +7,14 @@ import message_en from "./locales/en.json";
|
|
|
7
7
|
import message_zh from "./locales/zh-hk.json";
|
|
8
8
|
import routes from "./routes.mjs";
|
|
9
9
|
localStorage.getItem("locale") || localStorage.setItem("locale", "en");
|
|
10
|
-
import { useLight } from "./index.mjs";
|
|
10
|
+
import { useLight, defineType } from "./index.mjs";
|
|
11
|
+
import TypeUser from "./types/User.mjs";
|
|
12
|
+
import TypeUserLog from "./types/UserLog.mjs";
|
|
13
|
+
import TypeSystemValue from "./types/SystemValue.mjs";
|
|
11
14
|
export default defineNuxtPlugin((nuxtApp) => {
|
|
15
|
+
defineType("User", TypeUser);
|
|
16
|
+
defineType("UserLog", TypeUserLog);
|
|
17
|
+
defineType("SystemValue", TypeSystemValue);
|
|
12
18
|
nuxtApp.vueApp.config.errorHandler = (error) => {
|
|
13
19
|
console.log(error);
|
|
14
20
|
const light = useLight();
|
package/dist/runtime/routes.mjs
CHANGED
|
@@ -29,6 +29,11 @@ function System_index() {
|
|
|
29
29
|
/* webpackChunkName: "System-index" */ './pages/System/index.vue'
|
|
30
30
|
)
|
|
31
31
|
}
|
|
32
|
+
function SystemValue_index() {
|
|
33
|
+
return import(
|
|
34
|
+
/* webpackChunkName: "SystemValue-index" */ './pages/SystemValue/index.vue'
|
|
35
|
+
)
|
|
36
|
+
}
|
|
32
37
|
function Translate_index() {
|
|
33
38
|
return import(
|
|
34
39
|
/* webpackChunkName: "Translate-index" */ './pages/Translate/index.vue'
|
|
@@ -93,6 +98,11 @@ function System_menu_index() {
|
|
|
93
98
|
/* webpackChunkName: "System-menu-index" */ './pages/System/menu/index.vue'
|
|
94
99
|
)
|
|
95
100
|
}
|
|
101
|
+
function SystemValue_add() {
|
|
102
|
+
return import(
|
|
103
|
+
/* webpackChunkName: "SystemValue-add" */ './pages/SystemValue/add.vue'
|
|
104
|
+
)
|
|
105
|
+
}
|
|
96
106
|
function User_add() {
|
|
97
107
|
return import(/* webpackChunkName: "User-add" */ './pages/User/add.vue')
|
|
98
108
|
}
|
|
@@ -166,6 +176,11 @@ function Role__name_update_child() {
|
|
|
166
176
|
/* webpackChunkName: "Role-name-update-child" */ './pages/Role/_name/update-child.vue'
|
|
167
177
|
)
|
|
168
178
|
}
|
|
179
|
+
function SystemValue__systemvalue_id_edit() {
|
|
180
|
+
return import(
|
|
181
|
+
/* webpackChunkName: "SystemValue-systemvalue_id-edit" */ './pages/SystemValue/_systemvalue_id/edit.vue'
|
|
182
|
+
)
|
|
183
|
+
}
|
|
169
184
|
function User__user_id_change_password() {
|
|
170
185
|
return import(
|
|
171
186
|
/* webpackChunkName: "User-user_id-change-password" */ './pages/User/_user_id/change-password.vue'
|
|
@@ -223,6 +238,11 @@ export default [
|
|
|
223
238
|
path: '/System',
|
|
224
239
|
component: System_index,
|
|
225
240
|
},
|
|
241
|
+
{
|
|
242
|
+
name: 'SystemValue',
|
|
243
|
+
path: '/SystemValue',
|
|
244
|
+
component: SystemValue_index,
|
|
245
|
+
},
|
|
226
246
|
{
|
|
227
247
|
name: 'Translate',
|
|
228
248
|
path: '/Translate',
|
|
@@ -293,6 +313,11 @@ export default [
|
|
|
293
313
|
path: '/System/menu',
|
|
294
314
|
component: System_menu_index,
|
|
295
315
|
},
|
|
316
|
+
{
|
|
317
|
+
name: 'SystemValue-add',
|
|
318
|
+
path: '/SystemValue/add',
|
|
319
|
+
component: SystemValue_add,
|
|
320
|
+
},
|
|
296
321
|
{
|
|
297
322
|
name: 'User-add',
|
|
298
323
|
path: '/User/add',
|
|
@@ -369,6 +394,11 @@ export default [
|
|
|
369
394
|
path: '/Role/:name/update-child',
|
|
370
395
|
component: Role__name_update_child,
|
|
371
396
|
},
|
|
397
|
+
{
|
|
398
|
+
name: 'SystemValue-systemvalue_id-edit',
|
|
399
|
+
path: '/SystemValue/:systemvalue_id/edit',
|
|
400
|
+
component: SystemValue__systemvalue_id_edit,
|
|
401
|
+
},
|
|
372
402
|
{
|
|
373
403
|
name: 'User-user_id-change-password',
|
|
374
404
|
path: '/User/:user_id/change-password',
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
};
|
|
34
|
+
export default _default;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
username: {
|
|
3
|
+
label: "Username",
|
|
4
|
+
sortable: true,
|
|
5
|
+
searchable: true
|
|
6
|
+
},
|
|
7
|
+
first_name: {
|
|
8
|
+
label: "First Name",
|
|
9
|
+
sortable: true,
|
|
10
|
+
searchable: true
|
|
11
|
+
},
|
|
12
|
+
last_name: {
|
|
13
|
+
label: "Last Name",
|
|
14
|
+
sortable: true,
|
|
15
|
+
searchable: true
|
|
16
|
+
},
|
|
17
|
+
email: {
|
|
18
|
+
label: "Email",
|
|
19
|
+
sortable: true,
|
|
20
|
+
searchable: true
|
|
21
|
+
},
|
|
22
|
+
phone: {
|
|
23
|
+
label: "Phone",
|
|
24
|
+
sortable: true,
|
|
25
|
+
searchable: true
|
|
26
|
+
},
|
|
27
|
+
join_date: {
|
|
28
|
+
label: "Join Date",
|
|
29
|
+
sortable: true,
|
|
30
|
+
searchable: true,
|
|
31
|
+
searchType: "date"
|
|
32
|
+
}
|
|
33
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
userlog_id: {
|
|
3
|
+
label: string;
|
|
4
|
+
sortable: boolean;
|
|
5
|
+
searchable: boolean;
|
|
6
|
+
};
|
|
7
|
+
username: {
|
|
8
|
+
label: string;
|
|
9
|
+
sortable: boolean;
|
|
10
|
+
searchable: boolean;
|
|
11
|
+
};
|
|
12
|
+
login_dt: {
|
|
13
|
+
label: string;
|
|
14
|
+
sortable: boolean;
|
|
15
|
+
searchable: boolean;
|
|
16
|
+
searchType: string;
|
|
17
|
+
};
|
|
18
|
+
logout_dt: {
|
|
19
|
+
label: string;
|
|
20
|
+
sortable: boolean;
|
|
21
|
+
searchable: boolean;
|
|
22
|
+
};
|
|
23
|
+
result: {
|
|
24
|
+
label: string;
|
|
25
|
+
sortable: boolean;
|
|
26
|
+
searchable: boolean;
|
|
27
|
+
searchType: string;
|
|
28
|
+
searchOptions: {
|
|
29
|
+
label: string;
|
|
30
|
+
value: string;
|
|
31
|
+
}[];
|
|
32
|
+
};
|
|
33
|
+
user_agent: {
|
|
34
|
+
label: string;
|
|
35
|
+
sortable: boolean;
|
|
36
|
+
searchable: boolean;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
userlog_id: {
|
|
3
|
+
label: "ID",
|
|
4
|
+
sortable: true,
|
|
5
|
+
searchable: true
|
|
6
|
+
},
|
|
7
|
+
username: {
|
|
8
|
+
label: "User",
|
|
9
|
+
sortable: true,
|
|
10
|
+
searchable: true
|
|
11
|
+
},
|
|
12
|
+
login_dt: {
|
|
13
|
+
label: "Login time",
|
|
14
|
+
sortable: true,
|
|
15
|
+
searchable: true,
|
|
16
|
+
searchType: "date"
|
|
17
|
+
},
|
|
18
|
+
logout_dt: {
|
|
19
|
+
label: "Logout time",
|
|
20
|
+
sortable: true,
|
|
21
|
+
searchable: true
|
|
22
|
+
},
|
|
23
|
+
result: {
|
|
24
|
+
label: "Result",
|
|
25
|
+
sortable: true,
|
|
26
|
+
searchable: true,
|
|
27
|
+
searchType: "select",
|
|
28
|
+
searchOptions: [
|
|
29
|
+
{
|
|
30
|
+
label: "SUCCESS",
|
|
31
|
+
value: "SUCCESS"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
label: "FAIL",
|
|
35
|
+
value: "FAIL"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
user_agent: {
|
|
40
|
+
label: "User agent",
|
|
41
|
+
sortable: true,
|
|
42
|
+
searchable: true
|
|
43
|
+
}
|
|
44
|
+
};
|