@hostlink/nuxt-light 1.8.3 → 1.8.4

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 CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "light",
3
3
  "configKey": "light",
4
- "version": "1.8.3"
4
+ "version": "1.8.4"
5
5
  }
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import { useLight, q, m } from '#imports'
3
- import { ref, computed } from 'vue'
3
+ import { ref, computed, useSlots, onMounted } from 'vue'
4
4
  import { type QCardProps } from 'quasar';
5
5
 
6
6
  const minimized = defineModel<boolean>("minimized", { default: false })
@@ -16,7 +16,6 @@ export interface LCardProps extends QCardProps {
16
16
  closeable?: boolean
17
17
  minimizable?: boolean,
18
18
  maximizable?: boolean
19
-
20
19
  }
21
20
 
22
21
  const light = useLight();
@@ -26,6 +25,8 @@ const props = withDefaults(defineProps<LCardProps>(), {
26
25
  square: undefined,
27
26
  });
28
27
 
28
+
29
+
29
30
  const attrs = computed(() => {
30
31
  const a = { ...props };
31
32
  if (props.flat === undefined) a.flat = light.getStyle("cardFlat");
@@ -64,29 +65,29 @@ const roles = ref<{
64
65
  }[]>([]);
65
66
 
66
67
  if (props.permission && light.isAdmin) {
67
- //get role
68
- const data = await q({
69
- listRole: {
70
- name: true
71
- },
72
- listPermission: {
73
- __args: {
74
- filters: {
75
- value: props.permission
76
- }
77
- }, data: {
78
- role: true
79
- }
80
-
81
- }
82
- });
83
-
84
- roles.value = (data.listRole.map((r: any) => {
85
- return {
86
- name: r.name,
87
- granted: data.listPermission.data.find((p: any) => p.role == r.name) != undefined
88
- }
89
- }));
68
+ /* //get role
69
+ const data = await q({
70
+ listRole: {
71
+ name: true
72
+ },
73
+ listPermission: {
74
+ __args: {
75
+ filters: {
76
+ value: props.permission
77
+ }
78
+ }, data: {
79
+ role: true
80
+ }
81
+
82
+ }
83
+ });
84
+
85
+ roles.value = (data.listRole.map((r: any) => {
86
+ return {
87
+ name: r.name,
88
+ granted: data.listPermission.data.find((p: any) => p.role == r.name) != undefined
89
+ }
90
+ })); */
90
91
  }
91
92
 
92
93
  const onUpdatePermission = async (role: any) => {
@@ -104,6 +105,35 @@ const onUpdatePermission = async (role: any) => {
104
105
  }
105
106
  }
106
107
 
108
+ onMounted(async () => {
109
+ if (props.permission && light.isAdmin) {
110
+ //get role
111
+ const data = await q({
112
+ listRole: {
113
+ name: true
114
+ },
115
+ listPermission: {
116
+ __args: {
117
+ filters: {
118
+ value: props.permission
119
+ }
120
+ }, data: {
121
+ role: true
122
+ }
123
+
124
+ }
125
+ });
126
+
127
+ roles.value = (data.listRole.map((r: any) => {
128
+ return {
129
+ name: r.name,
130
+ granted: data.listPermission.data.find((p: any) => p.role == r.name) != undefined
131
+ }
132
+ }));
133
+ }
134
+ })
135
+
136
+
107
137
 
108
138
 
109
139
  </script>
@@ -133,9 +163,7 @@ const onUpdatePermission = async (role: any) => {
133
163
  :icon="maximized ? 'sym_o_select_window_2' : 'sym_o_crop_square'" v-if="maximizable" />
134
164
  <q-btn dense flat icon="sym_o_close" v-close-popup v-if="closeable" />
135
165
  </q-bar>
136
- <template v-if="!minimized || maximized">
137
- <slot></slot>
138
- </template>
166
+ <slot v-if="!minimized || maximized"></slot>
139
167
 
140
168
  <q-inner-loading :showing="loading" label="Please wait..." label-class="text-primary" />
141
169
  </q-card>
@@ -1,7 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { QTabProps } from 'quasar';
3
- defineProps<QTabProps>()
2
+ import type { QTabPanelProps } from 'quasar';
3
+ defineProps<QTabPanelProps>()
4
4
  </script>
5
5
  <template>
6
- <q-tab></q-tab>
6
+ <q-tab-panel :name="name">
7
+ <slot></slot>
8
+ </q-tab-panel>
7
9
  </template>
@@ -43,15 +43,12 @@ const localValue = computed({
43
43
 
44
44
  <template>
45
45
  <l-card>
46
-
47
46
  <q-tabs class="text-grey" :active-color="$light.color" :indicator-color="$light.color" align="justify"
48
47
  v-model="localValue">
49
48
  <q-tab v-for="tab in tabContents" :label="$t(tab.label)" :name="tab.name"></q-tab>
50
49
  </q-tabs>
51
- <q-tab-panels v-model="localValue" keep-alive >
52
- <q-tab-panel v-for="tab in tabContents" :name="tab.name">
53
- <component :is="tab.content.default"></component>
54
- </q-tab-panel>
50
+ <q-tab-panels v-model="localValue">
51
+ <slot></slot>
55
52
  </q-tab-panels>
56
53
  </l-card>
57
54
  </template>
@@ -1,12 +1,11 @@
1
1
  <script setup>
2
2
  import { model } from "#imports"
3
- import { ref } from 'vue'
4
3
  const columns = model('EventLog').columns(['eventlog_id', 'class', 'id', 'action', 'created_time', 'username'])
5
4
  </script>
6
5
  <template>
7
6
  <l-page>
8
7
 
9
- <l-table @request="$event.loadObjects('EventLog')" :columns="columns"
8
+ <l-table @request="$event.loadObjects('EventLog')" :columns="columns"
10
9
  sort-by="eventlog_id:desc" :actions="['view']">
11
10
 
12
11
  </l-table>
@@ -2,22 +2,23 @@
2
2
  import { ref } from 'vue'
3
3
  import { model } from "#imports"
4
4
  const onRequest = async (request) => {
5
+
5
6
  request.loadObjects("User", { status: status.value });
6
7
  };
7
- const columns = model("User").columns(["username", "first_name", "label_name", "email", "phone", "join_date", "status","has2FA"]);
8
+ const columns = model("User").columns(["username", "first_name", "label_name", "email", "phone", "join_date", "status", "has2FA"]);
8
9
  const status = ref("0");
9
10
  </script>
10
11
 
11
12
  <template>
12
13
  <l-page>
13
-
14
14
  <l-tabs v-model="status">
15
15
  <l-tab label="Active" name="0">
16
16
  <l-table row-key="user_id" @request="onRequest" :columns="columns"
17
17
  :actions="['view', 'edit', 'delete']"></l-table>
18
18
  </l-tab>
19
19
  <l-tab label="Inactive" name="1">
20
- <l-table row-key="user_id" @request="onRequest" :columns="columns" :actions="['view', 'edit', 'delete']">
20
+ <l-table row-key="user_id" @request="onRequest" :columns="columns"
21
+ :actions="['view', 'edit', 'delete']">
21
22
  </l-table>
22
23
  </l-tab>
23
24
  </l-tabs>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hostlink/nuxt-light",
3
- "version": "1.8.3",
3
+ "version": "1.8.4",
4
4
  "description": "HostLink Nuxt Light Framework",
5
5
  "repository": "@hostlink/nuxt-light",
6
6
  "license": "MIT",