Skip to content

Commit 793844b

Browse files
committed
update two pan
1 parent a2987f0 commit 793844b

File tree

1 file changed

+26
-10
lines changed

1 file changed

+26
-10
lines changed

src/components/2pan/index.vue

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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'
111112
import type { PropType } from 'vue'
112113
import { crush, pick } from 'radash'
114+
import { routerKey } from 'vue-router'
113115
114116
defineOptions({
115117
name: '2pan',
116118
})
117119
118120
const $q = useQuasar()
119-
const splitterModel = ref($q.screen.xs ? 100 : 50)
121+
const router = useRouter()
120122
121123
const 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+
209225
const visibleColumnsInternal = ref(props.visibleColumns)
210226
const visibleColumnsComputed = computed({
211227
get() {
@@ -240,7 +256,7 @@ const daysjs = useDayjs()
240256
241257
watch(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
}
267283
async function read(row) {
268284
const response = await props.actions.read(row)

0 commit comments

Comments
 (0)