refactor: extract navigator into store instead
This commit is contained in:
parent
caa3e59777
commit
6b29d3b017
10 changed files with 68 additions and 76 deletions
|
|
@ -14,9 +14,9 @@ import { CanvasComponent, DialogForm } from 'components/index';
|
||||||
import useOptionStore from 'stores/options';
|
import useOptionStore from 'stores/options';
|
||||||
import { dialog } from 'stores/utils';
|
import { dialog } from 'stores/utils';
|
||||||
import { setLocale } from 'src/utils/datetime';
|
import { setLocale } from 'src/utils/datetime';
|
||||||
import useUtilsStore from 'stores/utils';
|
|
||||||
import useMyBranchStore from 'stores/my-branch';
|
import useMyBranchStore from 'stores/my-branch';
|
||||||
import { useConfigStore } from 'src/stores/config';
|
import { useConfigStore } from 'src/stores/config';
|
||||||
|
import { useNavigator } from 'src/stores/navigator';
|
||||||
|
|
||||||
const useMyBranch = useMyBranchStore();
|
const useMyBranch = useMyBranchStore();
|
||||||
const { fetchListMyBranch } = useMyBranch;
|
const { fetchListMyBranch } = useMyBranch;
|
||||||
|
|
@ -37,7 +37,7 @@ interface Notification {
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const loaderStore = useLoader();
|
const loaderStore = useLoader();
|
||||||
const utilsStore = useUtilsStore();
|
const navigatorStore = useNavigator();
|
||||||
const optionStore = useOptionStore();
|
const optionStore = useOptionStore();
|
||||||
const configStore = useConfigStore();
|
const configStore = useConfigStore();
|
||||||
|
|
||||||
|
|
@ -88,12 +88,6 @@ const notification = ref<Notification[]>([
|
||||||
content: 'Unread',
|
content: 'Unread',
|
||||||
read: false,
|
read: false,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
id: '2',
|
|
||||||
title: 'test',
|
|
||||||
content: 'test',
|
|
||||||
read: false,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: '3',
|
id: '3',
|
||||||
title: 'Read',
|
title: 'Read',
|
||||||
|
|
@ -268,8 +262,8 @@ onMounted(async () => {
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
{{
|
{{
|
||||||
utilsStore.currentTitle?.title
|
navigatorStore.current?.title
|
||||||
? $t(utilsStore.currentTitle?.title)
|
? $t(navigatorStore.current?.title)
|
||||||
: $q.screen.gt.xs
|
: $q.screen.gt.xs
|
||||||
? 'Welcome to Jobs Worker Service'
|
? 'Welcome to Jobs Worker Service'
|
||||||
: 'Jobs Worker Service'
|
: 'Jobs Worker Service'
|
||||||
|
|
@ -277,15 +271,15 @@ onMounted(async () => {
|
||||||
</span>
|
</span>
|
||||||
<div class="flex items-center" style="gap: var(--size-1)">
|
<div class="flex items-center" style="gap: var(--size-1)">
|
||||||
<template
|
<template
|
||||||
v-for="(item, i) in utilsStore.currentTitle.path"
|
v-for="(item, i) in navigatorStore.current.path"
|
||||||
:key="i"
|
:key="i"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="text-caption cursor-pointer"
|
class="text-caption cursor-pointer"
|
||||||
@click="item.handler?.()"
|
@click="item.handler?.()"
|
||||||
:class="{
|
:class="{
|
||||||
'text-info': i !== utilsStore.currentTitle.path.length - 1,
|
'text-info': i !== navigatorStore.current.path.length - 1,
|
||||||
'hover-item': i !== utilsStore.currentTitle.path.length - 1,
|
'hover-item': i !== navigatorStore.current.path.length - 1,
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
{{
|
{{
|
||||||
|
|
@ -300,10 +294,10 @@ onMounted(async () => {
|
||||||
</span>
|
</span>
|
||||||
<q-icon
|
<q-icon
|
||||||
:class="{
|
:class="{
|
||||||
'text-info': i !== utilsStore.currentTitle.path.length - 1,
|
'text-info': i !== navigatorStore.current.path.length - 1,
|
||||||
}"
|
}"
|
||||||
name="mdi-chevron-right"
|
name="mdi-chevron-right"
|
||||||
v-if="i + 1 !== utilsStore.currentTitle.path.length"
|
v-if="i + 1 !== navigatorStore.current.path.length"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ import {
|
||||||
import NoData from 'src/components/NoData.vue';
|
import NoData from 'src/components/NoData.vue';
|
||||||
import QrCodeUploadDialog from 'src/components/QrCodeUploadDialog.vue';
|
import QrCodeUploadDialog from 'src/components/QrCodeUploadDialog.vue';
|
||||||
import ItemCard from 'src/components/ItemCard.vue';
|
import ItemCard from 'src/components/ItemCard.vue';
|
||||||
import useUtilsStore, { dialog, baseUrl } from 'stores/utils';
|
import { dialog, baseUrl } from 'stores/utils';
|
||||||
import EmptyAddButton from 'components/AddButton.vue';
|
import EmptyAddButton from 'components/AddButton.vue';
|
||||||
import TooltipComponent from 'components/TooltipComponent.vue';
|
import TooltipComponent from 'components/TooltipComponent.vue';
|
||||||
import StatCard from 'components/StatCardComponent.vue';
|
import StatCard from 'components/StatCardComponent.vue';
|
||||||
|
|
@ -49,10 +49,11 @@ import {
|
||||||
SaveButton,
|
SaveButton,
|
||||||
UndoButton,
|
UndoButton,
|
||||||
} from 'components/button';
|
} from 'components/button';
|
||||||
|
import { useNavigator } from 'src/stores/navigator';
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const utilsStore = useUtilsStore();
|
const navigatorStore = useNavigator();
|
||||||
const modelCreateTypeBranch = ref<boolean>(false);
|
const modelCreateTypeBranch = ref<boolean>(false);
|
||||||
const typeBranchItem = [
|
const typeBranchItem = [
|
||||||
{
|
{
|
||||||
|
|
@ -230,8 +231,8 @@ async function calculateStats(headOfficeId?: string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
utilsStore.currentTitle.title = 'menu.branch';
|
navigatorStore.current.title = 'menu.branch';
|
||||||
utilsStore.currentTitle.path = [
|
navigatorStore.current.path = [
|
||||||
{
|
{
|
||||||
text: 'branch.page.captionManage',
|
text: 'branch.page.captionManage',
|
||||||
i18n: true,
|
i18n: true,
|
||||||
|
|
@ -914,7 +915,7 @@ watch(
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(currentHq, () => {
|
watch(currentHq, () => {
|
||||||
const tmp: typeof utilsStore.currentTitle.path = [
|
const tmp: typeof navigatorStore.current.path = [
|
||||||
{
|
{
|
||||||
text: 'branch.page.captionManage',
|
text: 'branch.page.captionManage',
|
||||||
i18n: true,
|
i18n: true,
|
||||||
|
|
@ -940,7 +941,7 @@ watch(currentHq, () => {
|
||||||
|
|
||||||
selectedSubBranche(currentHq.value.id);
|
selectedSubBranche(currentHq.value.id);
|
||||||
|
|
||||||
utilsStore.currentTitle.path = tmp;
|
navigatorStore.current.path = tmp;
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,8 @@ import useAddressStore from 'stores/address';
|
||||||
import useMyBranch from 'src/stores/my-branch';
|
import useMyBranch from 'src/stores/my-branch';
|
||||||
import { calculateAge } from 'src/utils/datetime';
|
import { calculateAge } from 'src/utils/datetime';
|
||||||
import { useQuasar, type QTableProps } from 'quasar';
|
import { useQuasar, type QTableProps } from 'quasar';
|
||||||
import useUtilsStore, { dialog, baseUrl } from 'stores/utils';
|
import { dialog, baseUrl } from 'stores/utils';
|
||||||
|
import { useNavigator } from 'src/stores/navigator';
|
||||||
import { isRoleInclude, resetScrollBar } from 'src/stores/utils';
|
import { isRoleInclude, resetScrollBar } from 'src/stores/utils';
|
||||||
import { BranchUserStats } from 'stores/branch/types';
|
import { BranchUserStats } from 'stores/branch/types';
|
||||||
|
|
||||||
|
|
@ -53,7 +54,7 @@ const $q = useQuasar();
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const flowStore = useFlowStore();
|
const flowStore = useFlowStore();
|
||||||
const utilsStore = useUtilsStore();
|
const navigatorStore = useNavigator();
|
||||||
const optionStore = useOptionStore();
|
const optionStore = useOptionStore();
|
||||||
const branchStore = useBranchStore();
|
const branchStore = useBranchStore();
|
||||||
const adrressStore = useAddressStore();
|
const adrressStore = useAddressStore();
|
||||||
|
|
@ -662,8 +663,8 @@ async function fetchUserList() {
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
utilsStore.currentTitle.title = 'personnel.title';
|
navigatorStore.current.title = 'personnel.title';
|
||||||
utilsStore.currentTitle.path = [{ text: 'personnel.caption', i18n: true }];
|
navigatorStore.current.path = [{ text: 'personnel.caption', i18n: true }];
|
||||||
modeView.value = $q.screen.lt.md ? true : false;
|
modeView.value = $q.screen.lt.md ? true : false;
|
||||||
|
|
||||||
await fetchUserList();
|
await fetchUserList();
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,8 @@ import useOcrStore from 'stores/ocr';
|
||||||
import useCustomerStore from 'stores/customer';
|
import useCustomerStore from 'stores/customer';
|
||||||
import useEmployeeStore from 'stores/employee';
|
import useEmployeeStore from 'stores/employee';
|
||||||
import useMyBranchStore from 'stores/my-branch';
|
import useMyBranchStore from 'stores/my-branch';
|
||||||
import useUtilsStore, { dialog, notify, resetScrollBar } from 'stores/utils';
|
import { dialog, notify, resetScrollBar } from 'stores/utils';
|
||||||
|
import { useNavigator } from 'src/stores/navigator';
|
||||||
import useFlowStore from 'stores/flow';
|
import useFlowStore from 'stores/flow';
|
||||||
import { Status } from 'stores/types';
|
import { Status } from 'stores/types';
|
||||||
import {
|
import {
|
||||||
|
|
@ -81,7 +82,7 @@ const $q = useQuasar();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const flowStore = useFlowStore();
|
const flowStore = useFlowStore();
|
||||||
const utilsStore = useUtilsStore();
|
const navigatorStore = useNavigator();
|
||||||
const customerStore = useCustomerStore();
|
const customerStore = useCustomerStore();
|
||||||
const userBranchStore = useMyBranchStore();
|
const userBranchStore = useMyBranchStore();
|
||||||
const employeeStore = useEmployeeStore();
|
const employeeStore = useEmployeeStore();
|
||||||
|
|
@ -112,8 +113,8 @@ const { state: employeeFormState, currentFromDataEmployee } =
|
||||||
storeToRefs(employeeFormStore);
|
storeToRefs(employeeFormStore);
|
||||||
|
|
||||||
async function init() {
|
async function init() {
|
||||||
utilsStore.currentTitle.title = 'menu.customer';
|
navigatorStore.current.title = 'menu.customer';
|
||||||
utilsStore.currentTitle.path = [
|
navigatorStore.current.path = [
|
||||||
{
|
{
|
||||||
text: 'menu.customerCaption',
|
text: 'menu.customerCaption',
|
||||||
i18n: true,
|
i18n: true,
|
||||||
|
|
@ -133,7 +134,7 @@ async function init() {
|
||||||
|
|
||||||
if (_data) {
|
if (_data) {
|
||||||
currentCustomer.value = _data;
|
currentCustomer.value = _data;
|
||||||
utilsStore.currentTitle.path.push({
|
navigatorStore.current.path.push({
|
||||||
text: `${
|
text: `${
|
||||||
_data.customerType === 'CORP'
|
_data.customerType === 'CORP'
|
||||||
? _data.branch[0].registerName
|
? _data.branch[0].registerName
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,8 @@ const { currentMyBranch } = storeToRefs(userBranchStore);
|
||||||
|
|
||||||
import { Status } from 'stores/types';
|
import { Status } from 'stores/types';
|
||||||
|
|
||||||
import useUtilsStore, { dialog, dialogWarningClose } from 'stores/utils';
|
import { dialog, dialogWarningClose } from 'stores/utils';
|
||||||
|
import { useNavigator } from 'src/stores/navigator';
|
||||||
|
|
||||||
import useProductServiceStore from 'stores/product-service';
|
import useProductServiceStore from 'stores/product-service';
|
||||||
import {
|
import {
|
||||||
|
|
@ -66,7 +67,7 @@ import { computed } from 'vue';
|
||||||
import { WorkflowTemplate } from 'src/stores/workflow-template/types';
|
import { WorkflowTemplate } from 'src/stores/workflow-template/types';
|
||||||
|
|
||||||
const flowStore = useFlowStore();
|
const flowStore = useFlowStore();
|
||||||
const utilsStore = useUtilsStore();
|
const navigatorStore = useNavigator();
|
||||||
const productServiceStore = useProductServiceStore();
|
const productServiceStore = useProductServiceStore();
|
||||||
const optionStore = useOptionStore();
|
const optionStore = useOptionStore();
|
||||||
|
|
||||||
|
|
@ -1463,8 +1464,8 @@ async function fetchImageList(
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
utilsStore.currentTitle.title = 'productService.title';
|
navigatorStore.current.title = 'productService.title';
|
||||||
utilsStore.currentTitle.path = [
|
navigatorStore.current.path = [
|
||||||
{
|
{
|
||||||
text: 'productService.caption',
|
text: 'productService.caption',
|
||||||
i18n: true,
|
i18n: true,
|
||||||
|
|
@ -1489,7 +1490,7 @@ watch(
|
||||||
inputSearch.value = '';
|
inputSearch.value = '';
|
||||||
currentStatus.value = 'All';
|
currentStatus.value = 'All';
|
||||||
|
|
||||||
let tmp: typeof utilsStore.currentTitle.path = [
|
let tmp: typeof navigatorStore.current.path = [
|
||||||
{
|
{
|
||||||
text: 'productService.caption',
|
text: 'productService.caption',
|
||||||
i18n: true,
|
i18n: true,
|
||||||
|
|
@ -1521,12 +1522,12 @@ watch(
|
||||||
filterStat.value = [];
|
filterStat.value = [];
|
||||||
productMode.value = 'group';
|
productMode.value = 'group';
|
||||||
expandedTree.value.pop();
|
expandedTree.value.pop();
|
||||||
utilsStore.currentTitle.path.pop();
|
navigatorStore.current.path.pop();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
if (expandedTree.value.length === 0) {
|
if (expandedTree.value.length === 0) {
|
||||||
utilsStore.currentTitle.path = [
|
navigatorStore.current.path = [
|
||||||
{ text: 'productService.caption', i18n: true },
|
{ text: 'productService.caption', i18n: true },
|
||||||
];
|
];
|
||||||
return;
|
return;
|
||||||
|
|
@ -1546,7 +1547,7 @@ watch(
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
utilsStore.currentTitle.path = tmp;
|
navigatorStore.current.path = tmp;
|
||||||
},
|
},
|
||||||
{ deep: true },
|
{ deep: true },
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,8 @@ import { storeToRefs } from 'pinia';
|
||||||
|
|
||||||
// NOTE: Import stores
|
// NOTE: Import stores
|
||||||
import { useQuotationStore } from 'src/stores/quotations';
|
import { useQuotationStore } from 'src/stores/quotations';
|
||||||
import useUtilsStore, { isRoleInclude } from 'stores/utils';
|
import { isRoleInclude } from 'stores/utils';
|
||||||
|
import { useNavigator } from 'src/stores/navigator';
|
||||||
import useFlowStore from 'src/stores/flow';
|
import useFlowStore from 'src/stores/flow';
|
||||||
import useMyBranch from 'stores/my-branch';
|
import useMyBranch from 'stores/my-branch';
|
||||||
import { useQuotationForm } from './form';
|
import { useQuotationForm } from './form';
|
||||||
|
|
@ -44,7 +45,7 @@ const quotationFormStore = useQuotationForm();
|
||||||
const customerFormStore = useCustomerForm();
|
const customerFormStore = useCustomerForm();
|
||||||
const flowStore = useFlowStore();
|
const flowStore = useFlowStore();
|
||||||
const userBranch = useMyBranch();
|
const userBranch = useMyBranch();
|
||||||
const utilsStore = useUtilsStore();
|
const navigatorStore = useNavigator();
|
||||||
|
|
||||||
const {
|
const {
|
||||||
currentFormData: quotationFormData,
|
currentFormData: quotationFormData,
|
||||||
|
|
@ -220,8 +221,8 @@ const {
|
||||||
} = storeToRefs(quotationStore);
|
} = storeToRefs(quotationStore);
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
utilsStore.currentTitle.title = 'quotation.title';
|
navigatorStore.current.title = 'quotation.title';
|
||||||
utilsStore.currentTitle.path = [
|
navigatorStore.current.path = [
|
||||||
{
|
{
|
||||||
text: 'quotation.caption',
|
text: 'quotation.caption',
|
||||||
i18n: true,
|
i18n: true,
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, ref, watch } from 'vue';
|
import { onMounted, ref, watch } from 'vue';
|
||||||
import { getInstance } from 'src/services/keycloak';
|
import { getInstance } from 'src/services/keycloak';
|
||||||
import useUtilsStore from 'stores/utils';
|
import { useNavigator } from 'src/stores/navigator';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { useQuasar } from 'quasar';
|
import { useQuasar } from 'quasar';
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const { locale } = useI18n();
|
const { locale } = useI18n();
|
||||||
const utilsStore = useUtilsStore();
|
const navigatorStore = useNavigator();
|
||||||
const EDM_SERVICE = import.meta.env.VITE_EDM_MICRO_FRONTEND_URL;
|
const EDM_SERVICE = import.meta.env.VITE_EDM_MICRO_FRONTEND_URL;
|
||||||
const kc = getInstance();
|
const kc = getInstance();
|
||||||
const at = ref(kc.token);
|
const at = ref(kc.token);
|
||||||
|
|
@ -25,8 +25,8 @@ function sendMessage() {
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
utilsStore.currentTitle.title = 'menu.dms';
|
navigatorStore.current.title = 'menu.dms';
|
||||||
utilsStore.currentTitle.path = [
|
navigatorStore.current.path = [
|
||||||
{
|
{
|
||||||
text: '',
|
text: '',
|
||||||
i18n: true,
|
i18n: true,
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import MenuItem from 'components/00_home/MenuItem.vue';
|
import MenuItem from 'components/00_home/MenuItem.vue';
|
||||||
import useUtilsStore from 'stores/utils';
|
import { useNavigator } from 'src/stores/navigator';
|
||||||
import { onMounted, ref } from 'vue';
|
import { onMounted, ref } from 'vue';
|
||||||
import { getRole } from 'src/services/keycloak';
|
import { getRole } from 'src/services/keycloak';
|
||||||
|
|
||||||
const utilsStore = useUtilsStore();
|
const navigatorStore = useNavigator();
|
||||||
const menu = ref<InstanceType<typeof MenuItem>['$props']['list']>([]);
|
const menu = ref<InstanceType<typeof MenuItem>['$props']['list']>([]);
|
||||||
const role = ref();
|
const role = ref();
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
utilsStore.currentTitle.title = '';
|
navigatorStore.current.title = '';
|
||||||
utilsStore.currentTitle.path = [{ text: '' }];
|
navigatorStore.current.path = [{ text: '' }];
|
||||||
|
|
||||||
role.value = getRole();
|
role.value = getRole();
|
||||||
menu.value = [
|
menu.value = [
|
||||||
|
|
|
||||||
19
src/stores/navigator/index.ts
Normal file
19
src/stores/navigator/index.ts
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
import { defineStore } from 'pinia';
|
||||||
|
import { ref } from 'vue';
|
||||||
|
|
||||||
|
export const useNavigator = defineStore('navigator-store', () => {
|
||||||
|
const current = ref<{
|
||||||
|
title: string;
|
||||||
|
path: {
|
||||||
|
text: string;
|
||||||
|
i18n?: boolean;
|
||||||
|
argsi18n?: Record<string, string>;
|
||||||
|
handler?: () => unknown;
|
||||||
|
}[];
|
||||||
|
}>({
|
||||||
|
title: '',
|
||||||
|
path: [{ text: '', handler: () => {} }],
|
||||||
|
});
|
||||||
|
|
||||||
|
return { current };
|
||||||
|
});
|
||||||
|
|
@ -207,30 +207,6 @@ export function checkTabBeforeAdd(data: unknown[], except?: string[]) {
|
||||||
return canAdd;
|
return canAdd;
|
||||||
}
|
}
|
||||||
|
|
||||||
const useUtilsStore = defineStore('utilsStore', () => {
|
|
||||||
const currentTitle = ref<{
|
|
||||||
title: string;
|
|
||||||
path: {
|
|
||||||
text: string;
|
|
||||||
i18n?: boolean;
|
|
||||||
argsi18n?: Record<string, string>;
|
|
||||||
handler?: () => unknown;
|
|
||||||
}[];
|
|
||||||
}>({
|
|
||||||
title: '',
|
|
||||||
path: [
|
|
||||||
{
|
|
||||||
text: '',
|
|
||||||
handler: () => {},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
return {
|
|
||||||
currentTitle,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
export function isRoleInclude(role2check: string[]): boolean {
|
export function isRoleInclude(role2check: string[]): boolean {
|
||||||
const roles = getRole() ?? [];
|
const roles = getRole() ?? [];
|
||||||
const isIncluded = role2check.some((r) => roles.includes(r));
|
const isIncluded = role2check.some((r) => roles.includes(r));
|
||||||
|
|
@ -521,5 +497,3 @@ export function createDataRefBase<T>(
|
||||||
pageSize: ref<number>(defaultPageSize),
|
pageSize: ref<number>(defaultPageSize),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export default useUtilsStore;
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue