@hostlink/nuxt-light 1.54.6 → 1.55.2

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.
Files changed (219) hide show
  1. package/README.md +120 -120
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/components/L/CustomField/Add.vue +40 -42
  4. package/dist/runtime/components/L/CustomField/List.vue +5 -5
  5. package/dist/runtime/components/L/Database/create-table-dialog.vue +33 -34
  6. package/dist/runtime/components/L/Fieldset.vue +8 -11
  7. package/dist/runtime/components/L/ForgetPasswordDialog.vue +26 -27
  8. package/dist/runtime/components/L/Revision.vue +89 -93
  9. package/dist/runtime/components/L/Storage.vue +7 -7
  10. package/dist/runtime/components/L/System/Setting/authentication.d.vue.ts +1 -5
  11. package/dist/runtime/components/L/System/Setting/authentication.vue +16 -16
  12. package/dist/runtime/components/L/System/Setting/authentication.vue.d.ts +1 -5
  13. package/dist/runtime/components/L/System/Setting/developer.vue +10 -11
  14. package/dist/runtime/components/L/System/Setting/forget-password.vue +9 -9
  15. package/dist/runtime/components/L/System/Setting/general.vue +9 -9
  16. package/dist/runtime/components/L/System/Setting/mail.d.vue.ts +1 -5
  17. package/dist/runtime/components/L/System/Setting/mail.vue +28 -32
  18. package/dist/runtime/components/L/System/Setting/mail.vue.d.ts +1 -5
  19. package/dist/runtime/components/L/System/Setting/modules.d.vue.ts +1 -5
  20. package/dist/runtime/components/L/System/Setting/modules.vue +6 -6
  21. package/dist/runtime/components/L/System/Setting/modules.vue.d.ts +1 -5
  22. package/dist/runtime/components/L/System/Setting/security.d.vue.ts +1 -5
  23. package/dist/runtime/components/L/System/Setting/security.vue +38 -41
  24. package/dist/runtime/components/L/System/Setting/security.vue.d.ts +1 -5
  25. package/dist/runtime/components/L/User/eventlog.vue +5 -5
  26. package/dist/runtime/components/L/User/overview.vue +19 -19
  27. package/dist/runtime/components/L/User/userlog.vue +1 -1
  28. package/dist/runtime/components/L/ValidationInput.vue +14 -14
  29. package/dist/runtime/components/MyTest.vue +3 -3
  30. package/dist/runtime/components/l-action-btn.vue +4 -4
  31. package/dist/runtime/components/l-add-btn.vue +3 -3
  32. package/dist/runtime/components/l-alert.vue +8 -8
  33. package/dist/runtime/components/l-app-main.d.vue.ts +1 -5
  34. package/dist/runtime/components/l-app-main.vue +170 -171
  35. package/dist/runtime/components/l-app-main.vue.d.ts +1 -5
  36. package/dist/runtime/components/l-app.vue +27 -27
  37. package/dist/runtime/components/l-audit-card.vue +8 -8
  38. package/dist/runtime/components/l-back-btn.vue +6 -6
  39. package/dist/runtime/components/l-banner.d.vue.ts +1 -1
  40. package/dist/runtime/components/l-banner.vue +10 -10
  41. package/dist/runtime/components/l-banner.vue.d.ts +1 -1
  42. package/dist/runtime/components/l-bar.vue +3 -3
  43. package/dist/runtime/components/l-btn.vue +4 -4
  44. package/dist/runtime/components/l-card.d.vue.ts +1 -9
  45. package/dist/runtime/components/l-card.vue +31 -31
  46. package/dist/runtime/components/l-card.vue.d.ts +1 -9
  47. package/dist/runtime/components/l-checkbox.vue +3 -3
  48. package/dist/runtime/components/l-col.vue +5 -5
  49. package/dist/runtime/components/l-customizer.d.vue.ts +2 -2
  50. package/dist/runtime/components/l-customizer.vue +95 -96
  51. package/dist/runtime/components/l-customizer.vue.d.ts +2 -2
  52. package/dist/runtime/components/l-date-picker.d.vue.ts +1 -1
  53. package/dist/runtime/components/l-date-picker.vue +17 -17
  54. package/dist/runtime/components/l-date-picker.vue.d.ts +1 -1
  55. package/dist/runtime/components/l-delete-btn.vue +1 -1
  56. package/dist/runtime/components/l-dialog-database-field-add.vue +25 -26
  57. package/dist/runtime/components/l-drag-drop-container.vue +5 -5
  58. package/dist/runtime/components/l-drag-drop-group.vue +1 -1
  59. package/dist/runtime/components/l-drag-drop.vue +6 -6
  60. package/dist/runtime/components/l-edit-btn.vue +2 -2
  61. package/dist/runtime/components/l-editor.d.vue.ts +1 -5
  62. package/dist/runtime/components/l-editor.vue +41 -41
  63. package/dist/runtime/components/l-editor.vue.d.ts +1 -5
  64. package/dist/runtime/components/l-facebook-button.vue +2 -2
  65. package/dist/runtime/components/l-fav-menu.vue +14 -14
  66. package/dist/runtime/components/l-field.vue +3 -3
  67. package/dist/runtime/components/l-file-manager-labels.vue +11 -11
  68. package/dist/runtime/components/l-file-manager-move.vue +67 -67
  69. package/dist/runtime/components/l-file-manager-preview.vue +22 -22
  70. package/dist/runtime/components/l-file-manager.vue +243 -248
  71. package/dist/runtime/components/l-file-upload.d.vue.ts +1 -1
  72. package/dist/runtime/components/l-file-upload.vue +25 -25
  73. package/dist/runtime/components/l-file-upload.vue.d.ts +1 -1
  74. package/dist/runtime/components/l-file.d.vue.ts +1 -5
  75. package/dist/runtime/components/l-file.vue +8 -8
  76. package/dist/runtime/components/l-file.vue.d.ts +1 -5
  77. package/dist/runtime/components/l-form-dialog.vue +27 -27
  78. package/dist/runtime/components/l-form.d.vue.ts +1 -33
  79. package/dist/runtime/components/l-form.vue +11 -11
  80. package/dist/runtime/components/l-form.vue.d.ts +1 -33
  81. package/dist/runtime/components/l-group-select.vue +22 -22
  82. package/dist/runtime/components/l-icon-picker.vue +35 -38
  83. package/dist/runtime/components/l-input-select.vue +4 -4
  84. package/dist/runtime/components/l-input-xlsx.vue +30 -31
  85. package/dist/runtime/components/l-input.d.vue.ts +1 -1
  86. package/dist/runtime/components/l-input.vue +23 -23
  87. package/dist/runtime/components/l-input.vue.d.ts +1 -1
  88. package/dist/runtime/components/l-item.vue +18 -18
  89. package/dist/runtime/components/l-link.vue +3 -3
  90. package/dist/runtime/components/l-list.vue +12 -12
  91. package/dist/runtime/components/l-login.d.vue.ts +1 -5
  92. package/dist/runtime/components/l-login.vue +57 -57
  93. package/dist/runtime/components/l-login.vue.d.ts +1 -5
  94. package/dist/runtime/components/l-menu.vue +33 -34
  95. package/dist/runtime/components/l-microsoft-button.d.vue.ts +1 -11
  96. package/dist/runtime/components/l-microsoft-button.vue +68 -68
  97. package/dist/runtime/components/l-microsoft-button.vue.d.ts +1 -11
  98. package/dist/runtime/components/l-page.vue +21 -21
  99. package/dist/runtime/components/l-repeater.d.vue.ts +36 -0
  100. package/dist/runtime/components/l-repeater.vue +153 -0
  101. package/dist/runtime/components/l-repeater.vue.d.ts +36 -0
  102. package/dist/runtime/components/l-row.vue +5 -5
  103. package/dist/runtime/components/l-save-btn.vue +2 -2
  104. package/dist/runtime/components/l-select.vue +1 -1
  105. package/dist/runtime/components/l-small-box.vue +9 -9
  106. package/dist/runtime/components/l-statistic.vue +9 -9
  107. package/dist/runtime/components/l-tab.vue +10 -10
  108. package/dist/runtime/components/l-table.d.vue.ts +1 -1
  109. package/dist/runtime/components/l-table.vue +176 -190
  110. package/dist/runtime/components/l-table.vue.d.ts +1 -1
  111. package/dist/runtime/components/l-tabs.vue +9 -9
  112. package/dist/runtime/components/l-test2.vue +3 -3
  113. package/dist/runtime/components/l-time-picker.d.vue.ts +1 -1
  114. package/dist/runtime/components/l-time-picker.vue +18 -18
  115. package/dist/runtime/components/l-time-picker.vue.d.ts +1 -1
  116. package/dist/runtime/components/l-view-btn.vue +2 -2
  117. package/dist/runtime/components/user-list.vue +3 -3
  118. package/dist/runtime/composables/mytest.js +2 -2
  119. package/dist/runtime/composables/tc2sc.js +85 -85
  120. package/dist/runtime/formkit/Checkbox.d.vue.ts +0 -1
  121. package/dist/runtime/formkit/Checkbox.vue +6 -6
  122. package/dist/runtime/formkit/Checkbox.vue.d.ts +0 -1
  123. package/dist/runtime/formkit/DatePicker.d.vue.ts +0 -1
  124. package/dist/runtime/formkit/DatePicker.vue +11 -11
  125. package/dist/runtime/formkit/DatePicker.vue.d.ts +0 -1
  126. package/dist/runtime/formkit/Editor.vue +7 -7
  127. package/dist/runtime/formkit/File.d.vue.ts +0 -1
  128. package/dist/runtime/formkit/File.vue +6 -6
  129. package/dist/runtime/formkit/File.vue.d.ts +0 -1
  130. package/dist/runtime/formkit/FilePicker.d.vue.ts +0 -1
  131. package/dist/runtime/formkit/FilePicker.vue +6 -6
  132. package/dist/runtime/formkit/FilePicker.vue.d.ts +0 -1
  133. package/dist/runtime/formkit/FileUpload.d.vue.ts +0 -1
  134. package/dist/runtime/formkit/FileUpload.vue +6 -6
  135. package/dist/runtime/formkit/FileUpload.vue.d.ts +0 -1
  136. package/dist/runtime/formkit/Form.d.vue.ts +1 -3
  137. package/dist/runtime/formkit/Form.vue +15 -13
  138. package/dist/runtime/formkit/Form.vue.d.ts +1 -3
  139. package/dist/runtime/formkit/GroupSelect.d.vue.ts +0 -1
  140. package/dist/runtime/formkit/GroupSelect.vue +7 -7
  141. package/dist/runtime/formkit/GroupSelect.vue.d.ts +0 -1
  142. package/dist/runtime/formkit/Input.d.vue.ts +1 -1
  143. package/dist/runtime/formkit/Input.vue +11 -11
  144. package/dist/runtime/formkit/Input.vue.d.ts +1 -1
  145. package/dist/runtime/formkit/InputSelect.d.vue.ts +1 -1
  146. package/dist/runtime/formkit/InputSelect.vue +7 -7
  147. package/dist/runtime/formkit/InputSelect.vue.d.ts +1 -1
  148. package/dist/runtime/formkit/InputXlsx.vue +4 -4
  149. package/dist/runtime/formkit/OptionGroup.vue +5 -5
  150. package/dist/runtime/formkit/Radio.vue +4 -4
  151. package/dist/runtime/formkit/Repeater.d.vue.ts +1 -1
  152. package/dist/runtime/formkit/Repeater.vue +49 -37
  153. package/dist/runtime/formkit/Repeater.vue.d.ts +1 -1
  154. package/dist/runtime/formkit/Select.d.vue.ts +0 -1
  155. package/dist/runtime/formkit/Select.vue +6 -6
  156. package/dist/runtime/formkit/Select.vue.d.ts +0 -1
  157. package/dist/runtime/formkit/Textarea.d.vue.ts +1 -1
  158. package/dist/runtime/formkit/Textarea.vue +11 -11
  159. package/dist/runtime/formkit/Textarea.vue.d.ts +1 -1
  160. package/dist/runtime/formkit/TimePicker.d.vue.ts +0 -1
  161. package/dist/runtime/formkit/TimePicker.vue +10 -10
  162. package/dist/runtime/formkit/TimePicker.vue.d.ts +0 -1
  163. package/dist/runtime/formkit/Toggle.vue +3 -3
  164. package/dist/runtime/formkit/index.js +1 -1
  165. package/dist/runtime/index.d.ts +39 -39
  166. package/dist/runtime/locales/en.json +9 -9
  167. package/dist/runtime/locales/zh-hk.json +213 -213
  168. package/dist/runtime/pages/CustomField/[custom_field_id]/edit.vue +33 -38
  169. package/dist/runtime/pages/CustomField/index.vue +12 -14
  170. package/dist/runtime/pages/EventLog/_eventlog_id/view.vue +36 -36
  171. package/dist/runtime/pages/EventLog/index.vue +7 -7
  172. package/dist/runtime/pages/FileManager/index.vue +4 -4
  173. package/dist/runtime/pages/MailLog/index.vue +18 -18
  174. package/dist/runtime/pages/Permission/add.vue +13 -13
  175. package/dist/runtime/pages/Permission/all.vue +63 -68
  176. package/dist/runtime/pages/Permission/export.vue +9 -10
  177. package/dist/runtime/pages/Permission/index.vue +4 -4
  178. package/dist/runtime/pages/Role/_name/update-child.vue +4 -4
  179. package/dist/runtime/pages/Role/add.vue +7 -7
  180. package/dist/runtime/pages/Role/add2.vue +30 -30
  181. package/dist/runtime/pages/Role/index.vue +41 -33
  182. package/dist/runtime/pages/System/database/backup.vue +72 -72
  183. package/dist/runtime/pages/System/database/check.vue +72 -72
  184. package/dist/runtime/pages/System/database/event.vue +51 -51
  185. package/dist/runtime/pages/System/database/process.vue +21 -21
  186. package/dist/runtime/pages/System/database/restore.vue +110 -110
  187. package/dist/runtime/pages/System/database/table.vue +67 -69
  188. package/dist/runtime/pages/System/fs.vue +99 -99
  189. package/dist/runtime/pages/System/index.vue +16 -18
  190. package/dist/runtime/pages/System/mailtest.vue +12 -12
  191. package/dist/runtime/pages/System/menu/index.vue +142 -144
  192. package/dist/runtime/pages/System/package.vue +11 -11
  193. package/dist/runtime/pages/System/phpinfo.vue +3 -3
  194. package/dist/runtime/pages/System/setting.vue +28 -30
  195. package/dist/runtime/pages/System/test.vue +12 -12
  196. package/dist/runtime/pages/System/view_as.vue +21 -22
  197. package/dist/runtime/pages/SystemValue/_systemvalue_id/edit.vue +6 -6
  198. package/dist/runtime/pages/SystemValue/add.vue +7 -7
  199. package/dist/runtime/pages/SystemValue/index.vue +4 -4
  200. package/dist/runtime/pages/Translate/index.vue +38 -38
  201. package/dist/runtime/pages/User/_user_id/change-password.vue +17 -18
  202. package/dist/runtime/pages/User/_user_id/edit.vue +28 -28
  203. package/dist/runtime/pages/User/_user_id/update-role.vue +7 -8
  204. package/dist/runtime/pages/User/_user_id/view.vue +27 -30
  205. package/dist/runtime/pages/User/add.vue +35 -35
  206. package/dist/runtime/pages/User/index.vue +11 -11
  207. package/dist/runtime/pages/User/profile.vue +45 -46
  208. package/dist/runtime/pages/User/setting/bio-auth.vue +22 -22
  209. package/dist/runtime/pages/User/setting/favorite.vue +61 -62
  210. package/dist/runtime/pages/User/setting/index.vue +6 -6
  211. package/dist/runtime/pages/User/setting/information.vue +6 -6
  212. package/dist/runtime/pages/User/setting/menu.vue +165 -165
  213. package/dist/runtime/pages/User/setting/open_id.vue +161 -161
  214. package/dist/runtime/pages/User/setting/password.vue +19 -19
  215. package/dist/runtime/pages/User/setting/style.vue +104 -106
  216. package/dist/runtime/pages/User/setting/two-factor-auth.vue +176 -176
  217. package/dist/runtime/pages/User/setting.vue +32 -32
  218. package/dist/runtime/pages/UserLog/index.vue +4 -4
  219. package/package.json +63 -63
@@ -4,9 +4,9 @@ const props = defineProps(["id"]);
4
4
  </script>
5
5
 
6
6
  <template>
7
- <div>
8
- <l-table row-key="eventlog_id" sort-by="eventlog_id:desc"
9
- :columns="model('EventLog').columns(['eventlog_id', 'class', 'id', 'action', 'created_time'])"
7
+ <div>
8
+ <l-table row-key="eventlog_id" sort-by="eventlog_id:desc"
9
+ :columns="model('EventLog').columns(['eventlog_id', 'class', 'id', 'action', 'created_time'])"
10
10
  @request-data="async (req) => {
11
11
  const a = {
12
12
  listUser: {
@@ -25,6 +25,6 @@ const props = defineProps(["id"]);
25
25
  };
26
26
  let resp = await q(a);
27
27
  req.setData(resp.listUser.data[0].eventLog);
28
- }" />
29
- </div>
28
+ }" />
29
+ </div>
30
30
  </template>
@@ -21,23 +21,23 @@ const obj = await collect("User", {
21
21
  </script>
22
22
 
23
23
  <template>
24
- <div class="row q-gutter-md">
25
- <q-list dense separator class="col-md-6 col-sm-12">
26
- <l-item label="Username">{{ obj.username }}</l-item>
27
- <l-item label="First name">{{ obj.first_name }}</l-item>
28
- <l-item label="Last name">{{ obj.last_name }}</l-item>
29
- <l-item label="Email">{{ obj.email }}</l-item>
30
- <l-item label="Phone">{{ obj.phone }}</l-item>
31
- <l-item label="Roles">
32
- <div class="q-gutter-xs float-left">
33
- <q-badge v-for="role in obj.roles" :key="role">{{ role
34
- }}</q-badge>
35
- </div>
36
- </l-item>
37
- <l-item label="Status">{{ model("User").columns(["status"])[0].format(obj.status) }}</l-item>
38
- <l-item label="Join date">{{ obj.join_date }}</l-item>
39
- <l-item label="Two factor authentication">{{ obj.twoFactorEnabled ? "Yes" : "No"
40
- }}</l-item>
41
- </q-list>
42
- </div>
24
+ <div class="row q-gutter-md">
25
+ <q-list dense separator class="col-md-6 col-sm-12">
26
+ <l-item label="Username">{{ obj.username }}</l-item>
27
+ <l-item label="First name">{{ obj.first_name }}</l-item>
28
+ <l-item label="Last name">{{ obj.last_name }}</l-item>
29
+ <l-item label="Email">{{ obj.email }}</l-item>
30
+ <l-item label="Phone">{{ obj.phone }}</l-item>
31
+ <l-item label="Roles">
32
+ <div class="q-gutter-xs float-left">
33
+ <q-badge v-for="role in obj.roles" :key="role">{{ role
34
+ }}</q-badge>
35
+ </div>
36
+ </l-item>
37
+ <l-item label="Status">{{ model("User").columns(["status"])[0].format(obj.status) }}</l-item>
38
+ <l-item label="Join date">{{ obj.join_date }}</l-item>
39
+ <l-item label="Two factor authentication">{{ obj.twoFactorEnabled ? "Yes" : "No"
40
+ }}</l-item>
41
+ </q-list>
42
+ </div>
43
43
  </template>
@@ -19,5 +19,5 @@ const onRequestData = async (req) => {
19
19
  </script>
20
20
 
21
21
  <template>
22
- <l-table row-key="userlog_id" sort-by="userlog_id:desc" :columns="columns" @request-data="onRequestData" />
22
+ <l-table row-key="userlog_id" sort-by="userlog_id:desc" :columns="columns" @request-data="onRequestData" />
23
23
  </template>
@@ -65,18 +65,18 @@ watch(form, () => {
65
65
  </script>
66
66
 
67
67
  <template>
68
- <q-checkbox left-label v-model="form.required" label="Required" />
69
-
70
- <q-checkbox left-label v-model="form.email" label="Email" v-if="type == 'text'" />
71
-
72
- <q-checkbox left-label v-model="form.number" label="Number" v-if="type == 'text'" />
73
-
74
- <l-row v-if="type = 'text'">
75
- <l-col :md="6">
76
- <q-input label="Length min" v-model="form.length_min" type="number" stack-label outlined dense :min="0" />
77
- </l-col>
78
- <l-col :md="6">
79
- <q-input label="Length max" v-model="form.length_max" type="number" stack-label outlined dense :min="0" />
80
- </l-col>
81
- </l-row>
68
+ <q-checkbox left-label v-model="form.required" label="Required" />
69
+
70
+ <q-checkbox left-label v-model="form.email" label="Email" v-if="type == 'text'" />
71
+
72
+ <q-checkbox left-label v-model="form.number" label="Number" v-if="type == 'text'" />
73
+
74
+ <l-row v-if="type = 'text'">
75
+ <l-col :md="6">
76
+ <q-input label="Length min" v-model="form.length_min" type="number" stack-label outlined dense :min="0" />
77
+ </l-col>
78
+ <l-col :md="6">
79
+ <q-input label="Length max" v-model="form.length_max" type="number" stack-label outlined dense :min="0" />
80
+ </l-col>
81
+ </l-row>
82
82
  </template>
@@ -5,7 +5,7 @@ const props = defineProps({
5
5
  </script>
6
6
 
7
7
  <template>
8
- <div>
9
- {{ props }}
10
- </div>
8
+ <div>
9
+ {{ props }}
10
+ </div>
11
11
  </template>
@@ -1,5 +1,5 @@
1
- <template>
2
- <q-btn flat round size="sm">
3
- <slot></slot>
4
- </q-btn>
1
+ <template>
2
+ <q-btn flat round size="sm">
3
+ <slot></slot>
4
+ </q-btn>
5
5
  </template>
@@ -10,7 +10,7 @@ const props = defineProps({
10
10
  </script>
11
11
 
12
12
  <template>
13
- <l-btn icon="sym_o_add" v-bind="$props" :to="to ?? $route.path + '/add'">
14
- <q-tooltip>{{ $t(label) }}</q-tooltip>
15
- </l-btn>
13
+ <l-btn icon="sym_o_add" v-bind="$props" :to="to ?? $route.path + '/add'">
14
+ <q-tooltip>{{ $t(label) }}</q-tooltip>
15
+ </l-btn>
16
16
  </template>
@@ -22,12 +22,12 @@ const icon = computed(() => {
22
22
  </script>
23
23
 
24
24
  <template>
25
- <q-item :class="`bg-${type}`">
26
- <q-item-section avatar>
27
- <q-icon :name="icon" class="text-white" />
28
- </q-item-section>
29
- <q-item-section class="text-white">
30
- <slot></slot>
31
- </q-item-section>
32
- </q-item>
25
+ <q-item :class="`bg-${type}`">
26
+ <q-item-section avatar>
27
+ <q-icon :name="icon" class="text-white" />
28
+ </q-item-section>
29
+ <q-item-section class="text-white">
30
+ <slot></slot>
31
+ </q-item-section>
32
+ </q-item>
33
33
  </template>
@@ -8,11 +8,7 @@ type __VLS_Slots = {} & {
8
8
  } & {
9
9
  'page-bottom'?: (props: typeof __VLS_376) => any;
10
10
  };
11
- declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
- logout: (...args: any[]) => void;
13
- }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
14
- onLogout?: ((...args: any[]) => any) | undefined;
15
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
12
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
13
  declare const _default: typeof __VLS_export;
18
14
  export default _default;
@@ -238,175 +238,174 @@ const onLogout = async () => {
238
238
  </style>
239
239
 
240
240
  <template>
241
- <q-layout :view="layoutView">
242
- <q-header bordered class="text-white" :class="`bg-${light.color}`">
243
- <q-toolbar>
244
- <q-btn dense flat round icon="sym_o_menu" class="q-mr-sm" @click="toggleLeftDrawer" />
245
-
246
- <q-toolbar-title>
247
- {{ light.company }}
248
- <template v-if="tt.system.devMode">
249
- <span style="font-size: 0.8em;">[Dev mode]</span>
250
- </template>
251
- </q-toolbar-title>
252
-
253
- <q-space />
254
-
255
- <slot name="header"></slot>
256
-
257
- <q-btn :icon="isFav ? 'favorite' : 'sym_o_favorite'" round flat dense class="q-mr-xs"
258
- @click="onToggleFav" v-if="app.hasFavorite">
259
- </q-btn>
260
-
261
- <q-btn :icon="$q.fullscreen.isActive ? 'fullscreen_exit' : 'fullscreen'" round flat dense
262
- class="q-mr-xs" @click="$q.fullscreen.toggle()">
263
- <q-tooltip>
264
- {{ $q.fullscreen.isActive ? $t("Exit Fullscreen") : $t("Fullscreen") }}
265
- </q-tooltip>
266
- </q-btn>
267
-
268
- <q-btn v-if="languages.length > 1" round flat dense icon="language" class="q-mr-xs">
269
- <q-tooltip>
270
- {{ my.language }}
271
- </q-tooltip>
272
- <q-menu>
273
- <q-list>
274
- <q-item v-for="language in languages" :key="language.value" v-close-popup clickable
275
- @click="onChangeLocale(language.value)" :active="language.value == my.language">
276
- <q-item-section>
277
- <q-item-label>{{ language.name }}</q-item-label>
278
- </q-item-section>
279
- </q-item>
280
- </q-list>
281
- </q-menu>
282
- </q-btn>
283
-
284
- <q-btn icon="sym_o_storage" flat round dense class="q-mr-sm" v-if="system.storage"
285
- :color="storageColor">
286
- <q-menu>
287
- <l-storage :storage="system.storage" style="width:250px" />
288
- </q-menu>
289
- </q-btn>
290
-
291
- <div class="q-mx-sm" v-if="$q.screen.gt.xs">
292
- <div class="text-bold text-right">
293
- {{ my.first_name }} {{ my.last_name }}
294
- </div>
295
-
296
- <div class="text-right ellipsis" style="max-width: 120px;">
297
- {{ my.roles.join(", ") }}
298
- <q-tooltip>
299
- {{ my.roles.join(", ") }}
300
- </q-tooltip>
301
- </div>
302
- </div>
303
-
304
- <q-btn flat round dense icon="sym_o_person" class="q-mr-sm">
305
- <q-menu max-width="250px">
306
- <q-list :dense="style.dense">
307
- <q-item v-close-popup to="/User/profile">
308
- <q-item-section avatar>
309
- <q-icon name="sym_o_person" />
310
- </q-item-section>
311
- <q-item-section>{{ $t("Profile") }}</q-item-section>
312
- </q-item>
313
-
314
- <q-item v-close-popup to="/User/setting">
315
- <q-item-section avatar>
316
- <q-icon name="sym_o_settings_account_box" />
317
- </q-item-section>
318
- <q-item-section>{{ $t("Setting") }}</q-item-section>
319
- </q-item>
320
-
321
- <q-item v-close-popup v-if="showViewAs" to="/System/view_as">
322
- <q-item-section avatar>
323
- <q-icon name="sym_o_visibility" />
324
- </q-item-section>
325
- <q-item-section>{{ $t("View as") }}</q-item-section>
326
- </q-item>
327
-
328
- <q-item v-close-popup v-if="app.viewAsMode" @click="exitViewAs" clickable>
329
- <q-item-section avatar>
330
- <q-icon name="sym_o_visibility_off" />
331
- </q-item-section>
332
- <q-item-section>{{ $t("Exit view as") }}</q-item-section>
333
- </q-item>
334
-
335
- <slot name="user-menu"></slot>
336
-
337
- <q-separator />
338
-
339
- <q-item @click="onLogout" clickable>
340
- <q-item-section avatar>
341
- <q-icon name="logout" />
342
- </q-item-section>
343
- <q-item-section>{{ $t("Logout") }}</q-item-section>
344
- </q-item>
345
-
346
- </q-list>
347
- </q-menu>
348
- </q-btn>
349
-
350
- <q-btn dense flat round icon="sym_o_menu" @click="toggleRightDrawer" />
351
- </q-toolbar>
352
- </q-header>
353
-
354
- <q-drawer v-model="leftDrawerOpen" bordered show-if-above side="left" :dark="menuDark" :width="menuWidth"
355
- :mini-to-overlay="style.miniState" :mini="isMini" @mouseout="isMouseOnDrawer = false"
356
- @mouseover="isMouseOnDrawer = true">
357
- <!-- drawer content -->
358
- <q-scroll-area class="fit">
359
- <div class="q-mx-xs q-mt-xs">
360
- <l-menu :value="my_menus" :dense="style.dense" />
361
- <l-fav-menu :value="myFavorites" :dense="style.dense" v-if="myFavoritesCount > 0" />
362
- <l-menu :value="menus" :dense="style.dense" />
363
- </div>
364
- </q-scroll-area>
365
- </q-drawer>
366
-
367
- <q-drawer overlay v-model="rightDrawerOpen" side="right" bordered>
368
- <!-- drawer content -->
369
- <q-scroll-area class="fit">
370
- <l-customizer v-model:color="light.color" v-model:theme="light.theme"
371
- v-model:miniState="style.miniState" v-model:dense="style.dense"
372
- v-model:menuOverlayHeader="style.menuOverlayHeader" v-model:footer="style.footer"
373
- v-model:menuWidth="menuWidth" :time="system.time" />
374
- </q-scroll-area>
375
- </q-drawer>
376
-
377
- <q-page-container :class="containerClass" :style="containerStyle"> <!-- Error message -->
378
- <div class="q-gutter-sm q-pa-sm" v-if="system.devMode && $light.errors.length > 0">
379
- <q-banner dense inline-actions class="bg-grey-4" v-for="error in $light.errors" rounded>
380
- {{ error }}
381
- <template v-slot:action>
382
- <q-btn flat icon="sym_o_close" round dense @click="$light.removeError(error)" />
383
- </template>
384
- </q-banner>
385
-
386
- </div>
387
-
388
-
389
- <!-- router-view v-slot="{ Component }">
390
-
391
- <template v-if="Component">
392
- <suspense>
393
- <component :is="Component" :reloadMenu="reloadMenu"></component>
394
- </suspense>
395
- </template>
396
- </router-view -->
397
- <NuxtLoadingIndicator />
398
- <slot name="page-top"></slot>
399
- <NuxtPage />
400
- <slot name="page-bottom"></slot>
401
- </q-page-container>
402
- <q-footer bordered v-if="style.footer">
403
- <q-item>
404
- <q-item-section>
405
- {{ light.company }} {{ appVersion }} - Copyright {{ app.copyrightYear }} {{ app.copyrightName
406
- }}. Build
407
- {{ light.version }}
408
- </q-item-section>
409
- </q-item>
410
- </q-footer>
411
- </q-layout>
241
+ <q-layout :view="layoutView">
242
+ <q-header bordered class="text-white" :class="`bg-${light.color}`">
243
+ <q-toolbar>
244
+ <q-btn dense flat round icon="sym_o_menu" class="q-mr-sm" @click="toggleLeftDrawer" />
245
+
246
+ <q-toolbar-title>
247
+ {{ light.company }}
248
+ <template v-if="tt.system.devMode">
249
+ <span style="font-size: 0.8em;">[Dev mode]</span>
250
+ </template>
251
+ </q-toolbar-title>
252
+
253
+ <q-space />
254
+
255
+ <slot name="header"></slot>
256
+
257
+ <q-btn :icon="isFav ? 'favorite' : 'sym_o_favorite'" round flat dense class="q-mr-xs"
258
+ @click="onToggleFav" v-if="app.hasFavorite">
259
+ </q-btn>
260
+
261
+ <q-btn :icon="$q.fullscreen.isActive ? 'fullscreen_exit' : 'fullscreen'" round flat dense
262
+ class="q-mr-xs" @click="$q.fullscreen.toggle()">
263
+ <q-tooltip>
264
+ {{ $q.fullscreen.isActive ? $t("Exit Fullscreen") : $t("Fullscreen") }}
265
+ </q-tooltip>
266
+ </q-btn>
267
+
268
+ <q-btn v-if="languages.length > 1" round flat dense icon="language" class="q-mr-xs">
269
+ <q-tooltip>
270
+ {{ my.language }}
271
+ </q-tooltip>
272
+ <q-menu>
273
+ <q-list>
274
+ <q-item v-for="language in languages" :key="language.value" v-close-popup clickable
275
+ @click="onChangeLocale(language.value)" :active="language.value == my.language">
276
+ <q-item-section>
277
+ <q-item-label>{{ language.name }}</q-item-label>
278
+ </q-item-section>
279
+ </q-item>
280
+ </q-list>
281
+ </q-menu>
282
+ </q-btn>
283
+
284
+ <q-btn icon="sym_o_storage" flat round dense class="q-mr-sm" v-if="system.storage"
285
+ :color="storageColor">
286
+ <q-menu>
287
+ <l-storage :storage="system.storage" style="width:250px" />
288
+ </q-menu>
289
+ </q-btn>
290
+
291
+ <div class="q-mx-sm" v-if="$q.screen.gt.xs">
292
+ <div class="text-bold text-right">
293
+ {{ my.first_name }} {{ my.last_name }}
294
+ </div>
295
+
296
+ <div class="text-right ellipsis" style="max-width: 120px;">
297
+ {{ my.roles.join(", ") }}
298
+ <q-tooltip>
299
+ {{ my.roles.join(", ") }}
300
+ </q-tooltip>
301
+ </div>
302
+ </div>
303
+
304
+ <q-btn flat round dense icon="sym_o_person" class="q-mr-sm">
305
+ <q-menu max-width="250px">
306
+ <q-list :dense="style.dense">
307
+ <q-item v-close-popup to="/User/profile">
308
+ <q-item-section avatar>
309
+ <q-icon name="sym_o_person" />
310
+ </q-item-section>
311
+ <q-item-section>{{ $t("Profile") }}</q-item-section>
312
+ </q-item>
313
+
314
+ <q-item v-close-popup to="/User/setting">
315
+ <q-item-section avatar>
316
+ <q-icon name="sym_o_settings_account_box" />
317
+ </q-item-section>
318
+ <q-item-section>{{ $t("Setting") }}</q-item-section>
319
+ </q-item>
320
+
321
+ <q-item v-close-popup v-if="showViewAs" to="/System/view_as">
322
+ <q-item-section avatar>
323
+ <q-icon name="sym_o_visibility" />
324
+ </q-item-section>
325
+ <q-item-section>{{ $t("View as") }}</q-item-section>
326
+ </q-item>
327
+
328
+ <q-item v-close-popup v-if="app.viewAsMode" @click="exitViewAs" clickable>
329
+ <q-item-section avatar>
330
+ <q-icon name="sym_o_visibility_off" />
331
+ </q-item-section>
332
+ <q-item-section>{{ $t("Exit view as") }}</q-item-section>
333
+ </q-item>
334
+
335
+ <slot name="user-menu"></slot>
336
+
337
+ <q-separator />
338
+
339
+ <q-item @click="onLogout" clickable>
340
+ <q-item-section avatar>
341
+ <q-icon name="logout" />
342
+ </q-item-section>
343
+ <q-item-section>{{ $t("Logout") }}</q-item-section>
344
+ </q-item>
345
+
346
+ </q-list>
347
+ </q-menu>
348
+ </q-btn>
349
+
350
+ <q-btn dense flat round icon="sym_o_menu" @click="toggleRightDrawer" />
351
+ </q-toolbar>
352
+ </q-header>
353
+
354
+ <q-drawer v-model="leftDrawerOpen" bordered show-if-above side="left" :dark="menuDark" :width="menuWidth"
355
+ :mini-to-overlay="style.miniState" :mini="isMini" @mouseout="isMouseOnDrawer = false"
356
+ @mouseover="isMouseOnDrawer = true">
357
+ <!-- drawer content -->
358
+ <q-scroll-area class="fit">
359
+ <div class="q-mx-xs q-mt-xs">
360
+ <l-menu :value="my_menus" :dense="style.dense" />
361
+ <l-fav-menu :value="myFavorites" :dense="style.dense" v-if="myFavoritesCount > 0" />
362
+ <l-menu :value="menus" :dense="style.dense" />
363
+ </div>
364
+ </q-scroll-area>
365
+ </q-drawer>
366
+
367
+ <q-drawer overlay v-model="rightDrawerOpen" side="right" bordered>
368
+ <!-- drawer content -->
369
+ <q-scroll-area class="fit">
370
+ <l-customizer v-model:color="light.color" v-model:theme="light.theme"
371
+ v-model:miniState="style.miniState" v-model:dense="style.dense"
372
+ v-model:menuOverlayHeader="style.menuOverlayHeader" v-model:footer="style.footer"
373
+ v-model:menuWidth="menuWidth" :time="system.time" />
374
+ </q-scroll-area>
375
+ </q-drawer>
376
+
377
+ <q-page-container :class="containerClass" :style="containerStyle"> <!-- Error message -->
378
+ <div class="q-gutter-sm q-pa-sm" v-if="system.devMode && $light.errors.length > 0">
379
+ <q-banner dense inline-actions class="bg-grey-4" v-for="error in $light.errors" rounded>
380
+ {{ error }}
381
+ <template v-slot:action>
382
+ <q-btn flat icon="sym_o_close" round dense @click="$light.removeError(error)" />
383
+ </template>
384
+ </q-banner>
385
+
386
+ </div>
387
+
388
+ <!-- router-view v-slot="{ Component }">
389
+
390
+ <template v-if="Component">
391
+ <suspense>
392
+ <component :is="Component" :reloadMenu="reloadMenu"></component>
393
+ </suspense>
394
+ </template>
395
+ </router-view -->
396
+ <NuxtLoadingIndicator />
397
+ <slot name="page-top"></slot>
398
+ <NuxtPage />
399
+ <slot name="page-bottom"></slot>
400
+ </q-page-container>
401
+ <q-footer bordered v-if="style.footer">
402
+ <q-item>
403
+ <q-item-section>
404
+ {{ light.company }} {{ appVersion }} - Copyright {{ app.copyrightYear }} {{ app.copyrightName
405
+ }}. Build
406
+ {{ light.version }}
407
+ </q-item-section>
408
+ </q-item>
409
+ </q-footer>
410
+ </q-layout>
412
411
  </template>
@@ -8,11 +8,7 @@ type __VLS_Slots = {} & {
8
8
  } & {
9
9
  'page-bottom'?: (props: typeof __VLS_376) => any;
10
10
  };
11
- declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
- logout: (...args: any[]) => void;
13
- }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
14
- onLogout?: ((...args: any[]) => any) | undefined;
15
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
12
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
13
  declare const _default: typeof __VLS_export;
18
14
  export default _default;
@@ -73,31 +73,31 @@ if (app.value.facebookAppId) {
73
73
  </script>
74
74
 
75
75
  <template>
76
- <q-layout v-if="!app.logged">
77
- <q-page-container class="bg-grey-2" style="color:#1f1f1f">
78
- <q-page padding>
79
- <div id="fb-root"></div>
80
- <l-login v-bind="app" @login="app.logged = true"></l-login>
81
- </q-page>
82
- </q-page-container>
83
- </q-layout>
84
-
85
- <l-app-main v-else @logout="app.logged = false" v-bind="app">
86
- <template #header>
87
- <slot name="header"></slot>
88
- </template>
89
-
90
- <template #user-menu>
91
- <slot name="user-menu"></slot>
92
- </template>
93
-
94
- <template #page-top>
95
- <slot name="page-top"></slot>
96
- </template>
97
-
98
- <template #page-bottom>
99
- <slot name="page-bottom"></slot>
100
- </template>
101
-
102
- </l-app-main>
76
+ <q-layout v-if="!app.logged">
77
+ <q-page-container class="bg-grey-2" style="color:#1f1f1f">
78
+ <q-page padding>
79
+ <div id="fb-root"></div>
80
+ <l-login v-bind="app" @login="app.logged = true"></l-login>
81
+ </q-page>
82
+ </q-page-container>
83
+ </q-layout>
84
+
85
+ <l-app-main v-else @logout="app.logged = false" v-bind="app">
86
+ <template #header>
87
+ <slot name="header"></slot>
88
+ </template>
89
+
90
+ <template #user-menu>
91
+ <slot name="user-menu"></slot>
92
+ </template>
93
+
94
+ <template #page-top>
95
+ <slot name="page-top"></slot>
96
+ </template>
97
+
98
+ <template #page-bottom>
99
+ <slot name="page-bottom"></slot>
100
+ </template>
101
+
102
+ </l-app-main>
103
103
  </template>
@@ -6,12 +6,12 @@ const modelValue = defineModel({ type: Object, ...{
6
6
  </script>
7
7
 
8
8
  <template>
9
- <l-card title="Audit info">
10
- <l-list>
11
- <l-item label="Created time" v-if="modelValue.createdTime">{{ modelValue.createdTime }}</l-item>
12
- <l-item label="Created by" v-if="modelValue.createdBy">{{ modelValue.createdBy }}</l-item>
13
- <l-item label="Updated time" v-if="modelValue.updatedTime">{{ modelValue.updatedTime }}</l-item>
14
- <l-item label="Updated by" v-if="modelValue.updatedBy">{{ modelValue.updatedBy }}</l-item>
15
- </l-list>
16
- </l-card>
9
+ <l-card title="Audit info">
10
+ <l-list>
11
+ <l-item label="Created time" v-if="modelValue.createdTime">{{ modelValue.createdTime }}</l-item>
12
+ <l-item label="Created by" v-if="modelValue.createdBy">{{ modelValue.createdBy }}</l-item>
13
+ <l-item label="Updated time" v-if="modelValue.updatedTime">{{ modelValue.updatedTime }}</l-item>
14
+ <l-item label="Updated by" v-if="modelValue.updatedBy">{{ modelValue.updatedBy }}</l-item>
15
+ </l-list>
16
+ </l-card>
17
17
  </template>