@@ -4,12 +4,12 @@ q-splitter(
44 separator-style ="width: 8px"
55 background-color ="primary"
66 class ="full-height"
7- :limits ="!$q.platform.is.mobile ? [20,80] : [0,100]"
8- :horizontal ='$q.platform.is.mobile '
9- :style ='{ "padding": $q.platform.is.mobile ? "6px 0" : "0" }'
7+ :limits ="!isSimple ? [20,80] : [0,100]"
8+ :horizontal ='isSimple '
9+ :style ='{ "padding": isSimple ? "6px 0" : "0" }'
1010)
1111 template( #before )
12- q-card.full-height.q-pa-sm ( bordered :class ='{"desktop-only": target}' )
12+ q-card.full-height.q-pa-sm ( bordered :class ='{"hidden": isSimple && target}' )
1313 q-table.sesame-sticky-last-column-table.full-height (
1414 v-bind ="$attrs"
1515 selection ="multiple"
@@ -43,6 +43,7 @@ q-splitter(
4343 slot( name ="top-right-btn-grp" )
4444 slot( name ="top-right-btn-grp-content-before" )
4545 sesame-2pan-btns-add( @add ="create" v-if ="crud.create" )
46+ q-btn( :label ="isSimple ? 'Simple' : 'Two'" @click ="simple = !simple" )
4647 q-btn( flat icon ="mdi-table-headers-eye" color ="primary" )
4748 q-tooltip.text-body2 ( transition-show ="scale" transition-hide ="scale" ) Afficher/cacher des colones
4849 q-menu( max-width ="350px" max-height ="350px" ) .q-pa-md
@@ -62,10 +63,10 @@ q-splitter(
6263 slot( name ="body-cell-actions-content-after" )
6364
6465 template( #separator )
65- q-avatar( v-if ='!$q.platform.is.mobile ' size ="sm" color ="primary" icon ="mdi-unfold-more-vertical" class ="text-white" )
66+ q-avatar( v-if ='!isSimple ' size ="sm" color ="primary" icon ="mdi-unfold-more-vertical" class ="text-white" )
6667
6768 template( #after )
68- q-card.full-height.q-pa-sm ( bordered :class ='{"desktop-only": !target}' )
69+ q-card.full-height.q-pa-sm ( bordered :class ='{"hidden": isSimple && !target}' )
6970 q-card-section.q-pa-none.flex.items-center.full-height.justify-center ( v-if ='!target' )
7071 slot( name ="right-panel-empty" )
7172 slot( name ="right-panel-empty-content-before" )
@@ -92,7 +93,7 @@ q-splitter(
9293 q-tooltip.text-body2 Supprimer
9394 slot( name ="right-panel-actions-content-after" : target= "target" )
9495 q-card-section.q-pa-none.fit.flex ( style ='flex-flow: column; overflow: hidden;' )
95- slot( name ="right-panel-content" : target = " target")
96+ slot( name ="right-panel-content" : payload = "{ target } ")
9697 slot( name ="right-panel-content-before" )
9798 slot( name ="right-panel-content-after" )
9899 q-expansion-item.bg-blue-grey-10 ( v-if ='debug' label ='Debug' icon ='mdi-bug' dense )
@@ -110,15 +111,20 @@ import { useResizeObserver } from '@vueuse/core'
110111// import type { components } from '#build/types/service-api'
111112import type { PropType } from ' vue'
112113import { crush , pick } from ' radash'
114+ import { routerKey } from ' vue-router'
113115
114116defineOptions ({
115117 name: ' 2pan' ,
116118})
117119
118120const $q = useQuasar ()
119- const splitterModel = ref ( $q . screen . xs ? 100 : 50 )
121+ const router = useRouter ( )
120122
121123const props = defineProps ({
124+ simple: {
125+ type: Boolean ,
126+ default: false ,
127+ },
122128 rowKey: {
123129 type: String ,
124130 default: ' _id' ,
@@ -206,6 +212,16 @@ const props = defineProps({
206212 },
207213})
208214
215+ const simple = ref (props .simple )
216+ const isSimple = computed (() => {
217+ if ($q .platform .is .mobile ) return true
218+ return simple .value
219+ })
220+ watch (simple , (v ) => {
221+ splitterModel .value = v ? 100 : 50
222+ })
223+ const splitterModel = ref (isSimple .value ? 100 : 50 )
224+
209225const visibleColumnsInternal = ref (props .visibleColumns )
210226const visibleColumnsComputed = computed ({
211227 get() {
@@ -240,7 +256,7 @@ const daysjs = useDayjs()
240256
241257watch (target , (t ) => {
242258 // if (t) selected.value = [t]
243- if ($q . platform . is . mobile ) {
259+ if (isSimple ) {
244260 splitterModel .value = ! t ? 100 : 0
245261 }
246262})
@@ -262,7 +278,7 @@ async function cancel() {
262278 await props .actions .cancel ()
263279 target .value = null
264280 selected .value = []
265-
281+ router . push ({ query: { ... route . query , read: undefined } })
266282}
267283async function read(row ) {
268284 const response = await props .actions .read (row )
0 commit comments