Added a link type to the datatable columns.
This commit is contained in:
parent
37a405a1f2
commit
1a7f0d872a
1 changed files with 31 additions and 0 deletions
|
|
@ -300,6 +300,12 @@
|
||||||
@click="$emit('rowClick', slotProps)"
|
@click="$emit('rowClick', slotProps)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-if="col.type === 'link'" #body="slotProps">
|
||||||
|
<button class="datatable-link"
|
||||||
|
@click="handleLinkClick(col, slotProps.data)">
|
||||||
|
{{ slotProps.data[col.fieldName] }}
|
||||||
|
</button>
|
||||||
|
</template>
|
||||||
</Column>
|
</Column>
|
||||||
|
|
||||||
<!-- Actions Column -->
|
<!-- Actions Column -->
|
||||||
|
|
@ -1096,6 +1102,17 @@ const handleStatusButtonClick = (column, rowData) => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Handle link clicks
|
||||||
|
const handleLinkClick = (column, rowData) => {
|
||||||
|
try {
|
||||||
|
if (column.onLinkClick && typeof column.onLinkClick === "function") {
|
||||||
|
column.onLinkClick(rowData[column.fieldName], rowData);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error executing link click:", error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const getBadgeColor = (status) => {
|
const getBadgeColor = (status) => {
|
||||||
switch (status?.toLowerCase()) {
|
switch (status?.toLowerCase()) {
|
||||||
case "paid":
|
case "paid":
|
||||||
|
|
@ -1634,4 +1651,18 @@ defineExpose({
|
||||||
transform: none;
|
transform: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Link Styles */
|
||||||
|
.datatable-link {
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
padding: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.datatable-link:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue