feat: filter isDialogOpened
This commit is contained in:
parent
007abf307c
commit
82a350c38f
|
@ -4,6 +4,7 @@ import { useRoute } from 'vue-router';
|
|||
import SkeletonSummary from 'components/ui/SkeletonSummary.vue';
|
||||
import VnLv from 'src/components/ui/VnLv.vue';
|
||||
import { useArrayData } from 'src/composables/useArrayData';
|
||||
import { isDialogOpened } from 'src/filters';
|
||||
|
||||
const props = defineProps({
|
||||
url: {
|
||||
|
@ -58,11 +59,6 @@ async function fetch() {
|
|||
emit('onFetch', Array.isArray(data) ? data[0] : data);
|
||||
isLoading.value = false;
|
||||
}
|
||||
|
||||
const showRedirectToSummaryIcon = computed(() => {
|
||||
const isDialog = document.querySelectorAll('[role="dialog"]').length > 0;
|
||||
return isDialog;
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -73,13 +69,14 @@ const showRedirectToSummaryIcon = computed(() => {
|
|||
<div class="summaryHeader bg-primary q-pa-sm text-weight-bolder">
|
||||
<slot name="header-left">
|
||||
<router-link
|
||||
v-if="showRedirectToSummaryIcon"
|
||||
v-if="isDialogOpened()"
|
||||
class="header link"
|
||||
:to="{
|
||||
name: `${moduleName ?? route.meta.moduleName}Summary`,
|
||||
params: { id: entityId || entity.id },
|
||||
}"
|
||||
>
|
||||
<QIcon name="open_in_new" color="white" size="sm" />
|
||||
</router-link>
|
||||
<span v-else></span>
|
||||
</slot>
|
||||
|
|
|
@ -3,6 +3,7 @@ import { useRouter, useRoute } from 'vue-router';
|
|||
import axios from 'axios';
|
||||
import { useArrayDataStore } from 'stores/useArrayDataStore';
|
||||
import { buildFilter } from 'filters/filterPanel';
|
||||
import { isDialogOpened } from 'src/filters';
|
||||
|
||||
const arrayDataStore = useArrayDataStore();
|
||||
|
||||
|
@ -114,8 +115,7 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) {
|
|||
for (const row of response.data) store.data.push(row);
|
||||
} else {
|
||||
store.data = response.data;
|
||||
if (!document.querySelectorAll('[role="dialog"]').length)
|
||||
updateRouter && updateStateParams();
|
||||
if (!isDialogOpened()) updateRouter && updateStateParams();
|
||||
}
|
||||
|
||||
store.isLoading = false;
|
||||
|
|
|
@ -12,8 +12,10 @@ import dateRange from './dateRange';
|
|||
import toHour from './toHour';
|
||||
import dashOrCurrency from './dashOrCurrency';
|
||||
import getParamWhere from './getParamWhere';
|
||||
import isDialogOpened from './isDialogOpened';
|
||||
|
||||
export {
|
||||
isDialogOpened,
|
||||
toLowerCase,
|
||||
toLowerCamel,
|
||||
toDate,
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
export default function isDialogOpened(query = '[role="dialog"]') {
|
||||
return document.querySelectorAll(query).length > 0;
|
||||
}
|
Loading…
Reference in New Issue