Refactor data grid components

This commit is contained in:
Dede Fuji Abdul
2024-03-21 10:52:11 +07:00
parent f314367e76
commit 3e1c2ea137
72 changed files with 1639 additions and 991 deletions

View File

@ -4,6 +4,7 @@
</Filters>
<div id="data">
<DxDataGrid
ref="dataGridRef"
:allow-column-reordering="true"
class="max-h-[calc(100vh-140px)] mb-10"
:data-source="data"
@ -333,13 +334,13 @@
</DxColumn>
<template #formatText="{ data }">
<p class="text-left cursor-pointer" @click="showDetail()">
<p class="text-left cursor-pointer">
{{ data.text }}
</p>
</template>
<template #formatNumber="{ data }">
<p class="text-right cursor-pointer" @click="showDetail()">
<p class="text-right cursor-pointer">
{{
isNumber(data.text)
? data.column.caption == '%'
@ -351,13 +352,13 @@
</template>
<template #formatPercentage="{ data }">
<p class="text-right cursor-pointer" @click="showDetail()">
<p class="text-right cursor-pointer">
{{ parseFloat(data.text) ? formatPercentage(data.text) : '0%' }}
</p>
</template>
<template #formatTime="{ data }">
<p class="!text-right cursor-pointer" @click="showDetail()">
<p class="!text-right cursor-pointer">
{{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
</p>
</template>
@ -423,6 +424,7 @@
<div class="w-full mb-4 lg:w-[70%] lg:float-left">
<div class="p-4 bg-white rounded-xl lg:mr-4">
<DxDataGrid
ref="dataGridRef"
:allow-column-reordering="true"
class="max-h-[calc(100vh-140px)]"
:data-source="dataSub"
@ -830,14 +832,17 @@ const getDetail = () => {
})
}
const currentDataSelected = ref<any>(null)
const dataGridRef = ref<DxDataGrid | null>(null)
const clearSelection = () => {
const dataGrid = dataGridRef.value!.instance!
dataGrid.clearSelection()
}
const showDetail = () => {
if (currentDataSelected.value === dataSelected.value) {
dataSub.value = []
dataSubSelected.value = null
dialogDetail.value = true
getDetail()
}
clearSelection()
dataSub.value = []
dataSubSelected.value = null
dialogDetail.value = true
getDetail()
}
const closeDialog = () => {
@ -874,13 +879,16 @@ const onExporting = (e: any) => {
}
const onDataSelectionChanged = ({ selectedRowsData }: any) => {
dataSelected.value = selectedRowsData[0]
currentDataSelected.value = selectedRowsData[0]
if (selectedRowsData[0] != undefined) {
dataSelected.value = selectedRowsData[0]
}
showDetail()
}
const onDataSubSelectionChanged = ({ selectedRowsData }: any) => {
dataSubSelected.value = selectedRowsData[0]
if (selectedRowsData[0] != undefined) {
dataSubSelected.value = selectedRowsData[0]
}
console.log(data)
}