@hostlink/nuxt-light 1.66.0 → 1.66.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.
- package/README.md +1 -0
- package/dist/module.d.mts +1 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +24 -0
- package/dist/runtime/components/{l-audit-card.d.vue.ts → L/AuditCard.d.vue.ts} +1 -1
- package/dist/runtime/components/{l-audit-card.vue → L/AuditCard.vue} +1 -1
- package/dist/runtime/components/{l-audit-card.vue.d.ts → L/AuditCard.vue.d.ts} +1 -1
- package/dist/runtime/components/{l-bar.vue → L/Bar.vue} +1 -2
- package/dist/runtime/components/{l-btn.d.vue.ts → L/Btn.d.vue.ts} +0 -1
- package/dist/runtime/components/{l-btn.vue → L/Btn.vue} +17 -14
- package/dist/runtime/components/{l-btn.vue.d.ts → L/Btn.vue.d.ts} +0 -1
- package/dist/runtime/components/{l-card.vue → L/Card.vue} +8 -6
- package/dist/runtime/components/{l-checkbox.vue → L/Checkbox.vue} +4 -2
- package/dist/runtime/components/{l-date-picker.vue → L/DatePicker.vue} +85 -103
- package/dist/runtime/components/L/DialogDatabaseFieldAdd.d.vue.ts +21 -0
- package/dist/runtime/components/{l-dialog-database-field-add.vue → L/DialogDatabaseFieldAdd.vue} +14 -15
- package/dist/runtime/components/L/DialogDatabaseFieldAdd.vue.d.ts +21 -0
- package/dist/runtime/components/L/DocumentViewer.d.vue.ts +1 -1
- package/dist/runtime/components/L/DocumentViewer.vue.d.ts +1 -1
- package/dist/runtime/components/L/DocumentViewerDialog.d.vue.ts +2 -2
- package/dist/runtime/components/L/DocumentViewerDialog.vue.d.ts +2 -2
- package/dist/runtime/components/{l-editor.vue → L/Editor.vue} +31 -17
- package/dist/runtime/components/L/Fieldset.d.vue.ts +15 -27
- package/dist/runtime/components/L/Fieldset.vue +4 -10
- package/dist/runtime/components/L/Fieldset.vue.d.ts +15 -27
- package/dist/runtime/components/{l-file-manager.vue → L/FileManager.vue} +2 -5
- package/dist/runtime/components/{l-icon-picker.vue → L/IconPicker.vue} +13 -13
- package/dist/runtime/components/{l-input.d.vue.ts → L/Input.d.vue.ts} +7 -3
- package/dist/runtime/components/{l-input.vue → L/Input.vue} +59 -80
- package/dist/runtime/components/{l-input.vue.d.ts → L/Input.vue.d.ts} +7 -3
- package/dist/runtime/components/{l-input-select.d.vue.ts → L/InputSelect.d.vue.ts} +3 -2
- package/dist/runtime/components/{l-input-select.vue → L/InputSelect.vue} +27 -9
- package/dist/runtime/components/{l-input-select.vue.d.ts → L/InputSelect.vue.d.ts} +3 -2
- package/dist/runtime/components/L/InputXlsx.d.vue.ts +17 -0
- package/dist/runtime/components/L/InputXlsx.vue +81 -0
- package/dist/runtime/components/L/InputXlsx.vue.d.ts +17 -0
- package/dist/runtime/components/{l-item.vue → L/Item.vue} +14 -5
- package/dist/runtime/components/{l-list.vue → L/List.vue} +18 -21
- package/dist/runtime/components/{l-page.vue → L/Page.vue} +6 -8
- package/dist/runtime/components/L/Select.d.vue.ts +46 -0
- package/dist/runtime/components/{l-select.vue → L/Select.vue} +37 -18
- package/dist/runtime/components/L/Select.vue.d.ts +46 -0
- package/dist/runtime/components/L/System/Setting/logs.vue +75 -0
- package/dist/runtime/components/{l-tab.d.vue.ts → L/Tab.d.vue.ts} +2 -2
- package/dist/runtime/components/L/Tab.vue +38 -0
- package/dist/runtime/components/{l-tab.vue.d.ts → L/Tab.vue.d.ts} +2 -2
- package/dist/runtime/components/{l-table.vue → L/Table.vue} +71 -78
- package/dist/runtime/components/{l-tabs.vue → L/Tabs.vue} +15 -8
- package/dist/runtime/components/{l-time-picker.d.vue.ts → L/TimePicker.d.vue.ts} +3 -2
- package/dist/runtime/components/L/TimePicker.vue +73 -0
- package/dist/runtime/components/{l-time-picker.vue.d.ts → L/TimePicker.vue.d.ts} +3 -2
- package/dist/runtime/components/{MyTest.d.vue.ts → L/User/apikey.d.vue.ts} +4 -4
- package/dist/runtime/components/L/User/apikey.vue +18 -0
- package/dist/runtime/components/{MyTest.vue.d.ts → L/User/apikey.vue.d.ts} +4 -4
- package/dist/runtime/components/L/ViewBtn.d.vue.ts +3 -0
- package/dist/runtime/components/L/ViewBtn.vue.d.ts +3 -0
- package/dist/runtime/composables/defineLightModel.d.ts +1 -1
- package/dist/runtime/composables/model.d.ts +1 -1
- package/dist/runtime/composables/showUploadFilesDialog.js +1 -1
- package/dist/runtime/composables/useLight.d.ts +22 -22
- package/dist/runtime/composables/useLightProps.d.ts +26 -0
- package/dist/runtime/composables/useLightProps.js +73 -0
- package/dist/runtime/models/APIKey.d.ts +2 -0
- package/dist/runtime/models/APIKey.js +20 -0
- package/dist/runtime/models/SystemValue.d.ts +2 -0
- package/dist/runtime/models/SystemValue.js +15 -0
- package/dist/runtime/pages/System/database/table.vue +28 -1
- package/dist/runtime/pages/System/index.vue +1 -1
- package/dist/runtime/pages/System/menu/index.vue +5 -1
- package/dist/runtime/pages/System/setting.vue +2 -0
- package/dist/runtime/pages/System/view_as.vue +4 -1
- package/dist/runtime/pages/SystemValue/index.vue +4 -1
- package/dist/runtime/pages/User/createAccessToken.vue +2 -1
- package/dist/runtime/pages/User/index.vue +2 -2
- package/dist/runtime/pages/User/profile.d.vue.ts +1 -1
- package/dist/runtime/pages/User/profile.vue +48 -5
- package/dist/runtime/pages/User/profile.vue.d.ts +1 -1
- package/dist/runtime/plugin.js +1 -22
- package/package.json +2 -1
- package/dist/runtime/components/MyTest.vue +0 -11
- package/dist/runtime/components/l-dialog-database-field-add.d.vue.ts +0 -9
- package/dist/runtime/components/l-dialog-database-field-add.vue.d.ts +0 -9
- package/dist/runtime/components/l-input-xlsx.d.vue.ts +0 -11
- package/dist/runtime/components/l-input-xlsx.vue +0 -60
- package/dist/runtime/components/l-input-xlsx.vue.d.ts +0 -11
- package/dist/runtime/components/l-select.d.vue.ts +0 -20
- package/dist/runtime/components/l-select.vue.d.ts +0 -20
- package/dist/runtime/components/l-tab.vue +0 -30
- package/dist/runtime/components/l-time-picker.vue +0 -71
- package/dist/runtime/components/{l-action-btn.d.vue.ts → L/ActionBtn.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-action-btn.vue → L/ActionBtn.vue} +0 -0
- package/dist/runtime/components/{l-action-btn.vue.d.ts → L/ActionBtn.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-add-btn.d.vue.ts → L/AddBtn.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-add-btn.vue → L/AddBtn.vue} +0 -0
- package/dist/runtime/components/{l-add-btn.vue.d.ts → L/AddBtn.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-alert.d.vue.ts → L/Alert.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-alert.vue → L/Alert.vue} +0 -0
- package/dist/runtime/components/{l-alert.vue.d.ts → L/Alert.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-app.d.vue.ts → L/App.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-app.vue → L/App.vue} +0 -0
- package/dist/runtime/components/{l-app.vue.d.ts → L/App.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-app-main.d.vue.ts → L/AppMain.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-app-main.vue → L/AppMain.vue} +0 -0
- package/dist/runtime/components/{l-app-main.vue.d.ts → L/AppMain.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-back-btn.d.vue.ts → L/BackBtn.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-back-btn.vue → L/BackBtn.vue} +0 -0
- package/dist/runtime/components/{l-back-btn.vue.d.ts → L/BackBtn.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-banner.d.vue.ts → L/Banner.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-banner.vue → L/Banner.vue} +0 -0
- package/dist/runtime/components/{l-banner.vue.d.ts → L/Banner.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-bar.d.vue.ts → L/Bar.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-bar.vue.d.ts → L/Bar.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-card.d.vue.ts → L/Card.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-card.vue.d.ts → L/Card.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-checkbox.d.vue.ts → L/Checkbox.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-checkbox.vue.d.ts → L/Checkbox.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-col.d.vue.ts → L/Col.d.vue.ts} +1 -1
- package/dist/runtime/components/{l-col.vue → L/Col.vue} +0 -0
- package/dist/runtime/components/{l-col.vue.d.ts → L/Col.vue.d.ts} +1 -1
- package/dist/runtime/components/{l-customizer.vue.d.ts → L/Customizer.d.vue.ts} +2 -2
- package/dist/runtime/components/{l-customizer.vue → L/Customizer.vue} +0 -0
- package/dist/runtime/components/{l-customizer.d.vue.ts → L/Customizer.vue.d.ts} +2 -2
- package/dist/runtime/components/{l-date-picker.d.vue.ts → L/DatePicker.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-date-picker.vue.d.ts → L/DatePicker.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-delete-btn.d.vue.ts → L/DeleteBtn.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-delete-btn.vue → L/DeleteBtn.vue} +0 -0
- package/dist/runtime/components/{l-delete-btn.vue.d.ts → L/DeleteBtn.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-dialog-upload-files.d.vue.ts → L/DialogUploadFiles.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-dialog-upload-files.vue → L/DialogUploadFiles.vue} +0 -0
- package/dist/runtime/components/{l-dialog-upload-files.vue.d.ts → L/DialogUploadFiles.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-drag-drop.d.vue.ts → L/DragDrop.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-drag-drop.vue → L/DragDrop.vue} +0 -0
- package/dist/runtime/components/{l-drag-drop.vue.d.ts → L/DragDrop.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-drag-drop-container.d.vue.ts → L/DragDropContainer.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-drag-drop-container.vue → L/DragDropContainer.vue} +0 -0
- package/dist/runtime/components/{l-drag-drop-container.vue.d.ts → L/DragDropContainer.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-drag-drop-group.d.vue.ts → L/DragDropGroup.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-drag-drop-group.vue → L/DragDropGroup.vue} +0 -0
- package/dist/runtime/components/{l-drag-drop-group.vue.d.ts → L/DragDropGroup.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-edit-btn.d.vue.ts → L/EditBtn.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-edit-btn.vue → L/EditBtn.vue} +0 -0
- package/dist/runtime/components/{l-edit-btn.vue.d.ts → L/EditBtn.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-editor.d.vue.ts → L/Editor.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-editor.vue.d.ts → L/Editor.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-facebook-button.d.vue.ts → L/FacebookButton.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-facebook-button.vue → L/FacebookButton.vue} +0 -0
- package/dist/runtime/components/{l-facebook-button.vue.d.ts → L/FacebookButton.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-fav-menu.d.vue.ts → L/FavMenu.d.vue.ts} +2 -2
- package/dist/runtime/components/{l-fav-menu.vue → L/FavMenu.vue} +0 -0
- package/dist/runtime/components/{l-menu.d.vue.ts → L/FavMenu.vue.d.ts} +2 -2
- package/dist/runtime/components/{l-field.d.vue.ts → L/Field.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-field.vue → L/Field.vue} +0 -0
- package/dist/runtime/components/{l-field.vue.d.ts → L/Field.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-file.d.vue.ts → L/File.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-file.vue → L/File.vue} +0 -0
- package/dist/runtime/components/{l-file.vue.d.ts → L/File.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-file-manager.d.vue.ts → L/FileManager.d.vue.ts} +1 -1
- package/dist/runtime/components/{l-file-manager.vue.d.ts → L/FileManager.vue.d.ts} +1 -1
- package/dist/runtime/components/{l-file-manager-breadcrumbs.d.vue.ts → L/FileManagerBreadcrumbs.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-file-manager-breadcrumbs.vue → L/FileManagerBreadcrumbs.vue} +0 -0
- package/dist/runtime/components/{l-file-manager-breadcrumbs.vue.d.ts → L/FileManagerBreadcrumbs.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-file-manager-labels.d.vue.ts → L/FileManagerLabels.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-file-manager-labels.vue → L/FileManagerLabels.vue} +0 -0
- package/dist/runtime/components/{l-file-manager-labels.vue.d.ts → L/FileManagerLabels.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-file-manager-move.d.vue.ts → L/FileManagerMove.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-file-manager-move.vue → L/FileManagerMove.vue} +0 -0
- package/dist/runtime/components/{l-file-manager-move.vue.d.ts → L/FileManagerMove.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-file-manager-preview.d.vue.ts → L/FileManagerPreview.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-file-manager-preview.vue → L/FileManagerPreview.vue} +0 -0
- package/dist/runtime/components/{l-file-manager-preview.vue.d.ts → L/FileManagerPreview.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-file-upload.d.vue.ts → L/FileUpload.d.vue.ts} +1 -1
- package/dist/runtime/components/{l-file-upload.vue → L/FileUpload.vue} +0 -0
- package/dist/runtime/components/{l-file-upload.vue.d.ts → L/FileUpload.vue.d.ts} +1 -1
- package/dist/runtime/components/{l-form.d.vue.ts → L/Form.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-form.vue → L/Form.vue} +0 -0
- package/dist/runtime/components/{l-form.vue.d.ts → L/Form.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-form-dialog.d.vue.ts → L/FormDialog.d.vue.ts} +2 -2
- package/dist/runtime/components/{l-form-dialog.vue → L/FormDialog.vue} +0 -0
- package/dist/runtime/components/{l-form-dialog.vue.d.ts → L/FormDialog.vue.d.ts} +2 -2
- package/dist/runtime/components/{l-group-select.d.vue.ts → L/GroupSelect.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-group-select.vue → L/GroupSelect.vue} +0 -0
- package/dist/runtime/components/{l-group-select.vue.d.ts → L/GroupSelect.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-icon-picker.d.vue.ts → L/IconPicker.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-icon-picker.vue.d.ts → L/IconPicker.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-item.d.vue.ts → L/Item.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-item.vue.d.ts → L/Item.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-link.d.vue.ts → L/Link.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-link.vue → L/Link.vue} +0 -0
- package/dist/runtime/components/{l-link.vue.d.ts → L/Link.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-list.d.vue.ts → L/List.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-list.vue.d.ts → L/List.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-login.d.vue.ts → L/Login.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-login.vue → L/Login.vue} +0 -0
- package/dist/runtime/components/{l-login.vue.d.ts → L/Login.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-fav-menu.vue.d.ts → L/Menu.d.vue.ts} +2 -2
- package/dist/runtime/components/{l-menu.vue → L/Menu.vue} +0 -0
- package/dist/runtime/components/{l-menu.vue.d.ts → L/Menu.vue.d.ts} +2 -2
- package/dist/runtime/components/{l-microsoft-button.d.vue.ts → L/MicrosoftButton.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-microsoft-button.vue → L/MicrosoftButton.vue} +0 -0
- package/dist/runtime/components/{l-microsoft-button.vue.d.ts → L/MicrosoftButton.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-page.d.vue.ts → L/Page.d.vue.ts} +1 -1
- package/dist/runtime/components/{l-page.vue.d.ts → L/Page.vue.d.ts} +1 -1
- package/dist/runtime/components/{l-repeater.d.vue.ts → L/Repeater.d.vue.ts} +2 -2
- package/dist/runtime/components/{l-repeater.vue → L/Repeater.vue} +0 -0
- package/dist/runtime/components/{l-repeater.vue.d.ts → L/Repeater.vue.d.ts} +2 -2
- package/dist/runtime/components/{l-row.d.vue.ts → L/Row.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-row.vue → L/Row.vue} +0 -0
- package/dist/runtime/components/{l-row.vue.d.ts → L/Row.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-save-btn.d.vue.ts → L/SaveBtn.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-save-btn.vue → L/SaveBtn.vue} +0 -0
- package/dist/runtime/components/{l-save-btn.vue.d.ts → L/SaveBtn.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-setup-2fa-dialog.d.vue.ts → L/Setup2faDialog.d.vue.ts} +0 -0
- package/dist/runtime/components/{l-setup-2fa-dialog.vue → L/Setup2faDialog.vue} +0 -0
- package/dist/runtime/components/{l-setup-2fa-dialog.vue.d.ts → L/Setup2faDialog.vue.d.ts} +0 -0
- package/dist/runtime/components/{l-small-box.d.vue.ts → L/SmallBox.d.vue.ts} +1 -1
- package/dist/runtime/components/{l-small-box.vue → L/SmallBox.vue} +0 -0
- package/dist/runtime/components/{l-small-box.vue.d.ts → L/SmallBox.vue.d.ts} +1 -1
- /package/dist/runtime/components/{l-statistic.d.vue.ts → L/Statistic.d.vue.ts} +0 -0
- /package/dist/runtime/components/{l-statistic.vue → L/Statistic.vue} +0 -0
- /package/dist/runtime/components/{l-statistic.vue.d.ts → L/Statistic.vue.d.ts} +0 -0
- /package/dist/runtime/components/{l-view-btn.d.vue.ts → L/System/Setting/logs.d.vue.ts} +0 -0
- /package/dist/runtime/components/{l-view-btn.vue.d.ts → L/System/Setting/logs.vue.d.ts} +0 -0
- /package/dist/runtime/components/{l-table.d.vue.ts → L/Table.d.vue.ts} +0 -0
- /package/dist/runtime/components/{l-table.vue.d.ts → L/Table.vue.d.ts} +0 -0
- /package/dist/runtime/components/{l-tabs.d.vue.ts → L/Tabs.d.vue.ts} +0 -0
- /package/dist/runtime/components/{l-tabs.vue.d.ts → L/Tabs.vue.d.ts} +0 -0
- /package/dist/runtime/components/{l-test2.d.vue.ts → L/Test2.d.vue.ts} +0 -0
- /package/dist/runtime/components/{l-test2.vue → L/Test2.vue} +0 -0
- /package/dist/runtime/components/{l-test2.vue.d.ts → L/Test2.vue.d.ts} +0 -0
- /package/dist/runtime/components/{user-list.d.vue.ts → L/UserList.d.vue.ts} +0 -0
- /package/dist/runtime/components/{user-list.vue → L/UserList.vue} +0 -0
- /package/dist/runtime/components/{user-list.vue.d.ts → L/UserList.vue.d.ts} +0 -0
- /package/dist/runtime/components/{l-view-btn.vue → L/ViewBtn.vue} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { useQuasar, QTable, Dialog } from "quasar";
|
|
3
3
|
import { defu } from "defu";
|
|
4
|
-
import { ref, computed, onMounted, useSlots, watch,
|
|
5
|
-
import useLight from "
|
|
6
|
-
import
|
|
4
|
+
import { ref, computed, onMounted, useSlots, watch, useAttrs } from "vue";
|
|
5
|
+
import useLight from "../../composables/useLight";
|
|
6
|
+
import { useLightTableDefaults } from "../../composables/useLightProps";
|
|
7
|
+
import model from "../../composables/model";
|
|
7
8
|
import { toQuery } from "@hostlink/light";
|
|
8
9
|
import { list, navigateTo } from "#imports";
|
|
9
10
|
import { useI18n } from "vue-i18n";
|
|
@@ -134,40 +135,28 @@ const filters = useSessionStorage(storageKey.value, {});
|
|
|
134
135
|
if (!saveFilters.value) {
|
|
135
136
|
filters.value = {};
|
|
136
137
|
}
|
|
138
|
+
defineOptions({ inheritAttrs: false });
|
|
137
139
|
const light = useLight();
|
|
140
|
+
const vAttrs = useAttrs();
|
|
141
|
+
const L_KEYS = ["actions", "sortBy", "modelName", "searchable", "onRequestData", "addComponent", "addComponentProps", "name", "searchStyle", "canExpandRow"];
|
|
142
|
+
const base = useLightTableDefaults(props, vAttrs, L_KEYS);
|
|
138
143
|
const pagination = ref(props.pagination);
|
|
139
144
|
if (props.rowsPerPageOptions[0] == 0) {
|
|
140
145
|
pagination.value.rowsPerPage = 0;
|
|
141
146
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
col
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
});
|
|
151
|
-
if (props.columns) {
|
|
152
|
-
for (let i = 0; i < props.columns.length; i++) {
|
|
153
|
-
if (props.columns[i]?.searchOptions) {
|
|
154
|
-
let opts = props.columns[i]?.searchOptions;
|
|
155
|
-
if (typeof opts == "function") {
|
|
156
|
-
props.columns[i].searchOptions = await opts();
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
147
|
+
const localColumns = computed(
|
|
148
|
+
() => props.columns?.map((col) => ({
|
|
149
|
+
...col,
|
|
150
|
+
align: col.align ?? "left",
|
|
151
|
+
field: col.field ?? col.name,
|
|
152
|
+
label: t(col.label)
|
|
153
|
+
}))
|
|
154
|
+
);
|
|
161
155
|
const emits = defineEmits(["request-data", "update:selected", "delete"]);
|
|
162
156
|
const loading = ref(false);
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
if (props.actions.length > 0) {
|
|
167
|
-
actionView = props.actions.includes("view");
|
|
168
|
-
activeEdit = props.actions.includes("edit") || props.actions.includes("update");
|
|
169
|
-
actionDelete = props.actions.includes("delete");
|
|
170
|
-
}
|
|
157
|
+
const actionView = computed(() => props.actions.includes("view"));
|
|
158
|
+
const activeEdit = computed(() => props.actions.includes("edit") || props.actions.includes("update"));
|
|
159
|
+
const actionDelete = computed(() => props.actions.includes("delete"));
|
|
171
160
|
if (props.sortBy) {
|
|
172
161
|
let [sortBy, descending] = props.sortBy.split(":");
|
|
173
162
|
pagination.value.sortBy = sortBy;
|
|
@@ -179,14 +168,19 @@ const hasSearch = computed(() => {
|
|
|
179
168
|
});
|
|
180
169
|
});
|
|
181
170
|
const table = ref();
|
|
182
|
-
const rows = ref(props.rows);
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
171
|
+
const rows = ref(props.rows ?? []);
|
|
172
|
+
const resolvedSearchOptions = ref({});
|
|
173
|
+
const localSearchOptions = ref({});
|
|
174
|
+
onMounted(async () => {
|
|
175
|
+
for (const col of props.columns ?? []) {
|
|
176
|
+
if (!col.searchOptions) continue;
|
|
177
|
+
const resolved = typeof col.searchOptions === "function" ? await col.searchOptions() : col.searchOptions;
|
|
178
|
+
resolvedSearchOptions.value[col.name] = resolved;
|
|
179
|
+
localSearchOptions.value[col.name] = resolved;
|
|
180
|
+
}
|
|
181
|
+
table.value?.requestServerInteraction();
|
|
188
182
|
});
|
|
189
|
-
|
|
183
|
+
const primaryKey = ref(props.rowKey);
|
|
190
184
|
const modelName = ref(props.modelName);
|
|
191
185
|
const validateData = () => {
|
|
192
186
|
if (primaryKey.value == null) return;
|
|
@@ -234,13 +228,13 @@ const onLocalRequest = async (p) => {
|
|
|
234
228
|
}
|
|
235
229
|
localFields = defu(localFields, { [col.name]: true });
|
|
236
230
|
});
|
|
237
|
-
if (actionView) {
|
|
231
|
+
if (actionView.value) {
|
|
238
232
|
localFields = defu(localFields, { canView: true });
|
|
239
233
|
}
|
|
240
|
-
if (actionDelete) {
|
|
234
|
+
if (actionDelete.value) {
|
|
241
235
|
localFields = defu(localFields, { canDelete: true });
|
|
242
236
|
}
|
|
243
|
-
if (activeEdit) {
|
|
237
|
+
if (activeEdit.value) {
|
|
244
238
|
localFields = defu(localFields, { canUpdate: true });
|
|
245
239
|
}
|
|
246
240
|
const callback = {
|
|
@@ -316,7 +310,7 @@ const onLocalRequest = async (p) => {
|
|
|
316
310
|
}
|
|
317
311
|
this.setData(await l.fetchWithMeta());
|
|
318
312
|
} catch (e) {
|
|
319
|
-
|
|
313
|
+
$q.dialog({
|
|
320
314
|
message: e,
|
|
321
315
|
color: "negative"
|
|
322
316
|
});
|
|
@@ -378,16 +372,13 @@ const onFilters = () => {
|
|
|
378
372
|
});
|
|
379
373
|
};
|
|
380
374
|
const slots = useSlots();
|
|
381
|
-
const ss = Object.
|
|
382
|
-
return key;
|
|
383
|
-
});
|
|
384
|
-
const quasar = useQuasar();
|
|
375
|
+
const ss = computed(() => Object.keys(slots));
|
|
385
376
|
const onDelete = async (id) => {
|
|
386
377
|
if (modelName.value == null) return;
|
|
387
378
|
try {
|
|
388
379
|
await model(modelName.value).delete(id);
|
|
389
380
|
} catch (e) {
|
|
390
|
-
|
|
381
|
+
$q.notify({
|
|
391
382
|
message: e.message,
|
|
392
383
|
color: "negative"
|
|
393
384
|
});
|
|
@@ -399,12 +390,9 @@ const onDelete = async (id) => {
|
|
|
399
390
|
emits("delete", id);
|
|
400
391
|
};
|
|
401
392
|
const attrs = computed(() => {
|
|
402
|
-
const a = { ...light.styles.table, ...Object.fromEntries(Object.entries(props).filter(([key, value]) => value !== void 0)) };
|
|
403
|
-
if (props.name) {
|
|
404
|
-
a.visibleColumns = visibleColumns.value;
|
|
405
|
-
}
|
|
406
393
|
return {
|
|
407
|
-
...
|
|
394
|
+
...base.value,
|
|
395
|
+
...props.name ? { visibleColumns: visibleColumns.value } : {},
|
|
408
396
|
loadingLabel: t(props.loadingLabel),
|
|
409
397
|
noDataLabel: t(props.noDataLabel),
|
|
410
398
|
rowsPerPageOptions: props.rowsPerPageOptions,
|
|
@@ -414,20 +402,14 @@ const attrs = computed(() => {
|
|
|
414
402
|
};
|
|
415
403
|
});
|
|
416
404
|
const filter = ref("");
|
|
417
|
-
const toColumns = props.columns?.filter((col) => {
|
|
418
|
-
return col.to;
|
|
419
|
-
}).map((col) => {
|
|
420
|
-
col.slot_name = "body-cell-" + col.name;
|
|
421
|
-
return col;
|
|
422
|
-
});
|
|
423
405
|
const isDark = computed(() => {
|
|
424
406
|
return light.theme == "dark";
|
|
425
407
|
});
|
|
426
408
|
const hasRowExpand = computed(() => {
|
|
427
|
-
return ss.indexOf("row-expand") >= 0;
|
|
409
|
+
return ss.value.indexOf("row-expand") >= 0;
|
|
428
410
|
});
|
|
429
411
|
const hasActions = computed(() => {
|
|
430
|
-
return props.actions.length > 0 || ss.indexOf("actions") >= 0;
|
|
412
|
+
return props.actions.length > 0 || ss.value.indexOf("actions") >= 0;
|
|
431
413
|
});
|
|
432
414
|
const localSelected = computed({
|
|
433
415
|
get() {
|
|
@@ -440,9 +422,6 @@ const localSelected = computed({
|
|
|
440
422
|
watch(() => props.rows, (val) => {
|
|
441
423
|
rows.value = val;
|
|
442
424
|
});
|
|
443
|
-
const computedColumns = computed(() => {
|
|
444
|
-
return props.columns;
|
|
445
|
-
});
|
|
446
425
|
function requestServerInteraction() {
|
|
447
426
|
table.value && table.value.requestServerInteraction();
|
|
448
427
|
}
|
|
@@ -458,26 +437,37 @@ const onAdd = () => {
|
|
|
458
437
|
requestServerInteraction();
|
|
459
438
|
});
|
|
460
439
|
};
|
|
461
|
-
const localSearchOptions = ref({});
|
|
462
440
|
const searchSelectFilter = (val, update, name) => {
|
|
463
|
-
|
|
441
|
+
const allOptions = resolvedSearchOptions.value[name] ?? [];
|
|
442
|
+
if (val === "") {
|
|
464
443
|
update(() => {
|
|
465
|
-
|
|
466
|
-
localSearchOptions.value[name] = column?.searchOptions;
|
|
444
|
+
localSearchOptions.value[name] = allOptions;
|
|
467
445
|
});
|
|
468
446
|
} else {
|
|
469
447
|
update(() => {
|
|
470
448
|
const needle = val.toLocaleLowerCase();
|
|
471
|
-
|
|
472
|
-
const options = column?.searchOptions;
|
|
473
|
-
if (Array.isArray(options)) {
|
|
474
|
-
localSearchOptions.value[name] = options.filter((v) => v.label.toLocaleLowerCase().indexOf(needle) > -1);
|
|
475
|
-
} else {
|
|
476
|
-
localSearchOptions.value[name] = options;
|
|
477
|
-
}
|
|
449
|
+
localSearchOptions.value[name] = Array.isArray(allOptions) ? allOptions.filter((v) => v.label.toLocaleLowerCase().indexOf(needle) > -1) : allOptions;
|
|
478
450
|
});
|
|
479
451
|
}
|
|
480
452
|
};
|
|
453
|
+
const localFilterMethod = (rows2, terms) => {
|
|
454
|
+
if (!terms || Object.keys(terms).length === 0) return rows2;
|
|
455
|
+
return rows2.filter((row) => {
|
|
456
|
+
for (const [key, value] of Object.entries(terms)) {
|
|
457
|
+
if (value === null || value === void 0 || value === "") continue;
|
|
458
|
+
const cell = row[key];
|
|
459
|
+
if (typeof value === "object" && value !== null && "contains" in value) {
|
|
460
|
+
if (!String(cell ?? "").toLowerCase().includes(String(value.contains).toLowerCase())) return false;
|
|
461
|
+
} else if (typeof value === "object" && value !== null && "_between" in value) {
|
|
462
|
+
if (cell < value._between[0] || cell > value._between[1]) return false;
|
|
463
|
+
} else {
|
|
464
|
+
if (cell !== value) return false;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
return true;
|
|
468
|
+
});
|
|
469
|
+
};
|
|
470
|
+
const clientFilterTerms = computed(() => isServerSide ? null : getFilterValue());
|
|
481
471
|
const showTopRight = computed(() => {
|
|
482
472
|
return props.name && hasFilters.value || props.searchable || props.name && (props.columns && props.columns.length > 0);
|
|
483
473
|
});
|
|
@@ -517,8 +507,11 @@ const hasFilters = computed(() => {
|
|
|
517
507
|
</script>
|
|
518
508
|
|
|
519
509
|
<template>
|
|
520
|
-
<q-table v-bind="attrs" :loading="loading" :rows="rows" ref="table" @request="onLocalRequest" :columns="
|
|
521
|
-
v-model:pagination="pagination"
|
|
510
|
+
<q-table v-bind="attrs" :loading="loading" :rows="rows" ref="table" @request="onLocalRequest" :columns="localColumns"
|
|
511
|
+
v-model:pagination="pagination"
|
|
512
|
+
:filter="isServerSide ? filter : clientFilterTerms"
|
|
513
|
+
:filter-method="isServerSide ? void 0 : localFilterMethod"
|
|
514
|
+
v-model:selected="localSelected">
|
|
522
515
|
<template #header="props">
|
|
523
516
|
<q-tr :props="props">
|
|
524
517
|
<q-th v-if="selection != 'none'" auto-width>
|
|
@@ -571,10 +564,10 @@ const hasFilters = computed(() => {
|
|
|
571
564
|
|
|
572
565
|
<template v-for="col in props.cols">
|
|
573
566
|
<template v-if="ss.indexOf('body-cell-' + col.name) >= 0">
|
|
574
|
-
<slot :name="'body-cell-' + col.name" v-bind="props"></slot>
|
|
567
|
+
<slot :name="'body-cell-' + col.name" v-bind="{ ...props, col, value: props.row[col.field] }"></slot>
|
|
575
568
|
</template>
|
|
576
569
|
<template v-else>
|
|
577
|
-
<q-td :key="col.name" :props="props" :auto-width="col.autoWidth ?? false"><template
|
|
570
|
+
<q-td :key="col.name" :props="props" :auto-width="col.autoWidth ?? false" :style="col.style"><template
|
|
578
571
|
v-if="col.to" class="bg-primary">
|
|
579
572
|
<l-link :to="col.to(props.row)" v-if="col.to(props.row)">{{ col.value }}</l-link>
|
|
580
573
|
</template>
|
|
@@ -646,7 +639,7 @@ const hasFilters = computed(() => {
|
|
|
646
639
|
</q-td>
|
|
647
640
|
</template -->
|
|
648
641
|
|
|
649
|
-
<template #top-row="props" v-if="hasSearch
|
|
642
|
+
<template #top-row="props" v-if="hasSearch">
|
|
650
643
|
<q-tr>
|
|
651
644
|
<q-td v-if="selection != 'none'" auto-width />
|
|
652
645
|
<q-td v-if="hasRowExpand" auto-width />
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import {
|
|
2
|
+
import { useLight } from "#imports";
|
|
3
|
+
import { useSlots, useRouter, useRoute, watch, computed } from "#imports";
|
|
3
4
|
const props = defineProps({
|
|
4
5
|
name: { type: String, required: false, default: "tab" },
|
|
5
6
|
route: { type: Boolean, required: false },
|
|
@@ -25,6 +26,7 @@ const props = defineProps({
|
|
|
25
26
|
dense: { type: Boolean, required: false, skipCheck: true },
|
|
26
27
|
"onUpdate:modelValue": { type: Function, required: false }
|
|
27
28
|
});
|
|
29
|
+
const light = useLight();
|
|
28
30
|
const slots = useSlots();
|
|
29
31
|
const router = useRouter();
|
|
30
32
|
const route = useRoute();
|
|
@@ -38,12 +40,7 @@ if (modelValue.value === void 0) {
|
|
|
38
40
|
}
|
|
39
41
|
watch(modelValue, (newValue) => {
|
|
40
42
|
if (props.route && props.name && newValue) {
|
|
41
|
-
router.push({
|
|
42
|
-
query: {
|
|
43
|
-
...route.query,
|
|
44
|
-
[props.name]: newValue
|
|
45
|
-
}
|
|
46
|
-
});
|
|
43
|
+
router.push({ query: { ...route.query, [props.name]: newValue } });
|
|
47
44
|
}
|
|
48
45
|
}, { immediate: false });
|
|
49
46
|
watch(() => props.name ? route.query[props.name] : null, (newTab) => {
|
|
@@ -51,11 +48,21 @@ watch(() => props.name ? route.query[props.name] : null, (newTab) => {
|
|
|
51
48
|
modelValue.value = newTab;
|
|
52
49
|
}
|
|
53
50
|
});
|
|
51
|
+
const L_KEYS = ["route", "name"];
|
|
52
|
+
const tabsProps = computed(() => {
|
|
53
|
+
const result = {};
|
|
54
|
+
for (const [k, v] of Object.entries(props)) {
|
|
55
|
+
if (!L_KEYS.includes(k) && v !== void 0) result[k] = v;
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
});
|
|
54
59
|
</script>
|
|
55
60
|
|
|
56
61
|
<template>
|
|
57
62
|
<l-card>
|
|
58
|
-
<q-tabs v-bind="
|
|
63
|
+
<q-tabs v-bind="tabsProps" class="text-grey"
|
|
64
|
+
:active-color="light.color"
|
|
65
|
+
:indicator-color="light.color"
|
|
59
66
|
v-model="modelValue">
|
|
60
67
|
<slot></slot>
|
|
61
68
|
</q-tabs>
|
|
@@ -6,9 +6,11 @@ export interface LTimePickerProps {
|
|
|
6
6
|
nowBtn?: boolean;
|
|
7
7
|
withSeconds?: boolean;
|
|
8
8
|
format24h?: boolean;
|
|
9
|
-
mask?: string;
|
|
10
9
|
hideBottomSpace?: boolean;
|
|
11
10
|
color?: string;
|
|
11
|
+
disable?: boolean;
|
|
12
|
+
readonly?: boolean;
|
|
13
|
+
dark?: boolean;
|
|
12
14
|
}
|
|
13
15
|
type __VLS_Props = LTimePickerProps;
|
|
14
16
|
type __VLS_ModelProps = {
|
|
@@ -24,7 +26,6 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
24
26
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
25
27
|
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
26
28
|
}>, {
|
|
27
|
-
mask: string;
|
|
28
29
|
format24h: boolean;
|
|
29
30
|
required: boolean;
|
|
30
31
|
hideBottomSpace: boolean;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, ref, useAttrs } from "vue";
|
|
3
|
+
import { useLightInputDefaults } from "../../composables/useLightProps";
|
|
4
|
+
import { useI18n } from "vue-i18n";
|
|
5
|
+
defineOptions({ inheritAttrs: false });
|
|
6
|
+
const { t } = useI18n();
|
|
7
|
+
const modelValue = defineModel({ type: null });
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
modelValue: { type: null, required: false },
|
|
10
|
+
required: { type: Boolean, required: false, default: false },
|
|
11
|
+
label: { type: String, required: false },
|
|
12
|
+
hint: { type: String, required: false },
|
|
13
|
+
nowBtn: { type: Boolean, required: false },
|
|
14
|
+
withSeconds: { type: Boolean, required: false },
|
|
15
|
+
format24h: { type: Boolean, required: false, default: true },
|
|
16
|
+
hideBottomSpace: { type: Boolean, required: false, default: true },
|
|
17
|
+
color: { type: String, required: false },
|
|
18
|
+
disable: { type: Boolean, required: false },
|
|
19
|
+
readonly: { type: Boolean, required: false },
|
|
20
|
+
dark: { type: Boolean, required: false }
|
|
21
|
+
});
|
|
22
|
+
const attrs = useAttrs();
|
|
23
|
+
const popup = ref(null);
|
|
24
|
+
const TIME_KEYS = ["nowBtn", "withSeconds", "format24h"];
|
|
25
|
+
const base = useLightInputDefaults(props, attrs, TIME_KEYS);
|
|
26
|
+
const inputProps = computed(() => ({
|
|
27
|
+
...base.value,
|
|
28
|
+
mask: props.withSeconds ? "##:##:##" : "##:##",
|
|
29
|
+
rules: rules.value
|
|
30
|
+
}));
|
|
31
|
+
const rules = computed(() => {
|
|
32
|
+
const r = [];
|
|
33
|
+
if (props.required) {
|
|
34
|
+
r.push((v) => !!v || t("This field is required"));
|
|
35
|
+
}
|
|
36
|
+
r.push((v) => {
|
|
37
|
+
if (!v) return true;
|
|
38
|
+
const parts = v.split(":");
|
|
39
|
+
const valid2 = parts.length === 2 && parseInt(parts[0]) >= 0 && parseInt(parts[0]) <= 23 && parseInt(parts[1]) >= 0 && parseInt(parts[1]) <= 59;
|
|
40
|
+
const valid3 = parts.length === 3 && parseInt(parts[0]) >= 0 && parseInt(parts[0]) <= 23 && parseInt(parts[1]) >= 0 && parseInt(parts[1]) <= 59 && parseInt(parts[2]) >= 0 && parseInt(parts[2]) <= 59;
|
|
41
|
+
return valid2 || valid3 || t("Invalid time format");
|
|
42
|
+
});
|
|
43
|
+
return r;
|
|
44
|
+
});
|
|
45
|
+
const timeProps = computed(() => ({
|
|
46
|
+
format24h: props.format24h,
|
|
47
|
+
nowBtn: props.nowBtn,
|
|
48
|
+
withSeconds: props.withSeconds,
|
|
49
|
+
...props.color !== void 0 && { color: props.color },
|
|
50
|
+
...props.dark !== void 0 && { dark: props.dark },
|
|
51
|
+
...props.disable !== void 0 && { disable: props.disable }
|
|
52
|
+
}));
|
|
53
|
+
</script>
|
|
54
|
+
|
|
55
|
+
<template>
|
|
56
|
+
<q-input v-model="modelValue" v-bind="inputProps">
|
|
57
|
+
<template #prepend>
|
|
58
|
+
<q-icon name="sym_o_access_time" class="cursor-pointer">
|
|
59
|
+
<q-popup-proxy cover transition-show="scale" transition-hide="scale" ref="popup">
|
|
60
|
+
<q-time v-model="modelValue" v-bind="timeProps">
|
|
61
|
+
<div class="row items-center justify-end">
|
|
62
|
+
<q-btn v-close-popup :label="$t('Close')" flat />
|
|
63
|
+
</div>
|
|
64
|
+
</q-time>
|
|
65
|
+
</q-popup-proxy>
|
|
66
|
+
</q-icon>
|
|
67
|
+
</template>
|
|
68
|
+
|
|
69
|
+
<template v-for="(_, name) in $slots" #[name]="slotProps" :key="name">
|
|
70
|
+
<slot :name="name" v-bind="slotProps ?? {}"></slot>
|
|
71
|
+
</template>
|
|
72
|
+
</q-input>
|
|
73
|
+
</template>
|
|
@@ -6,9 +6,11 @@ export interface LTimePickerProps {
|
|
|
6
6
|
nowBtn?: boolean;
|
|
7
7
|
withSeconds?: boolean;
|
|
8
8
|
format24h?: boolean;
|
|
9
|
-
mask?: string;
|
|
10
9
|
hideBottomSpace?: boolean;
|
|
11
10
|
color?: string;
|
|
11
|
+
disable?: boolean;
|
|
12
|
+
readonly?: boolean;
|
|
13
|
+
dark?: boolean;
|
|
12
14
|
}
|
|
13
15
|
type __VLS_Props = LTimePickerProps;
|
|
14
16
|
type __VLS_ModelProps = {
|
|
@@ -24,7 +26,6 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
24
26
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
25
27
|
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
26
28
|
}>, {
|
|
27
|
-
mask: string;
|
|
28
29
|
format24h: boolean;
|
|
29
30
|
required: boolean;
|
|
30
31
|
hideBottomSpace: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
declare const _default: typeof __VLS_export;
|
|
2
|
-
export default _default;
|
|
3
1
|
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
-
|
|
2
|
+
id: StringConstructor;
|
|
5
3
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
6
|
-
|
|
4
|
+
id: StringConstructor;
|
|
7
5
|
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
declare const _default: typeof __VLS_export;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { model } from "#imports";
|
|
3
|
+
const props = defineProps({
|
|
4
|
+
id: String
|
|
5
|
+
});
|
|
6
|
+
const columns = model("APIKey").columns({
|
|
7
|
+
apikey_id: true,
|
|
8
|
+
name: true,
|
|
9
|
+
created_time: true
|
|
10
|
+
});
|
|
11
|
+
const onRequestData = async (req) => {
|
|
12
|
+
req.loadObjects("APIKey", { user_id: props.id });
|
|
13
|
+
};
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<template>
|
|
17
|
+
<l-table row-key="apikey_id" sort-by="apikey_id:desc" :columns="columns" @request-data="onRequestData" />
|
|
18
|
+
</template>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
declare const _default: typeof __VLS_export;
|
|
2
|
-
export default _default;
|
|
3
1
|
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
-
|
|
2
|
+
id: StringConstructor;
|
|
5
3
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
6
|
-
|
|
4
|
+
id: StringConstructor;
|
|
7
5
|
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
declare const _default: typeof __VLS_export;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Field } from "@hostlink/light";
|
|
2
|
-
import { type LTableColumn } from "../components/
|
|
2
|
+
import { type LTableColumn } from "../components/L/Table.vue.js";
|
|
3
3
|
export type LightModelField = Omit<LTableColumn, "name" | "field"> & Field & {
|
|
4
4
|
name?: string;
|
|
5
5
|
field?: string | ((row: any) => any);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LTableColumn } from "../components/
|
|
1
|
+
import type { LTableColumn } from "../components/L/Table.vue.js";
|
|
2
2
|
declare const _default: (name: string) => Omit<{
|
|
3
3
|
field: (f: string) => import("@hostlink/light").Field | null;
|
|
4
4
|
$fields: Record<string, import("@hostlink/light").Field>;
|
|
@@ -2,7 +2,7 @@ import { defineAsyncComponent } from "vue";
|
|
|
2
2
|
import { Dialog } from "quasar";
|
|
3
3
|
export const showUploadFilesDialog = (selectedLocation, initialFiles) => {
|
|
4
4
|
return Dialog.create({
|
|
5
|
-
component: defineAsyncComponent(() => import("../components/
|
|
5
|
+
component: defineAsyncComponent(() => import("../components/L/DialogUploadFiles.vue")),
|
|
6
6
|
componentProps: {
|
|
7
7
|
selectedLocation,
|
|
8
8
|
...initialFiles && { initialFiles }
|