props.columns, (newVal) => {
@@ -73,6 +91,10 @@ watch(() => props.visibleColumns, (newVal) => {
localVisibility.value = { ...newVal }
}, { deep: true })
+watch(() => props.freezeFirstColumn, (newVal) => {
+ localFreezeFirst.value = newVal
+})
+
// Drag and drop for column reordering
let draggedIndex = null
@@ -96,6 +118,7 @@ const onDrop = (dropIndex) => {
const save = () => {
emit('update:columns', localColumns.value)
emit('update:visibleColumns', localVisibility.value)
+ emit('update:freezeFirstColumn', localFreezeFirst.value)
emit('save')
}
@@ -103,6 +126,7 @@ const cancel = () => {
// Reset local changes
localColumns.value = [...props.columns]
localVisibility.value = { ...props.visibleColumns }
+ localFreezeFirst.value = props.freezeFirstColumn
emit('update:visible', false)
}
diff --git a/assets/js/components/CrudDataTable.vue b/assets/js/components/CrudDataTable.vue
index cf3dbf1..52cbf3f 100644
--- a/assets/js/components/CrudDataTable.vue
+++ b/assets/js/components/CrudDataTable.vue
@@ -35,6 +35,27 @@
+
+
+
+
+
+ {{ filterCount }} {{ filterCount === 1 ? 'Filter aktiv' : 'Filter aktiv' }}
+
+ - {{ filteredData.length }} von {{ data.length }} {{ data.length === 1 ? 'Datensatz' : 'Datensätze' }} angezeigt
+
+
+
+
+
+
-
+
@@ -140,13 +163,14 @@
v-model:visible="columnConfigDialog"
v-model:columns="availableColumns"
v-model:visible-columns="visibleColumns"
+ v-model:freeze-first-column="freezeFirstColumn"
@save="saveColumnConfig"
/>