diff --git a/public/assets/vendor/css/core.css b/public/assets/vendor/css/core.css index 48163eb5..244677ff 100644 --- a/public/assets/vendor/css/core.css +++ b/public/assets/vendor/css/core.css @@ -480,6 +480,24 @@ th { border-style: solid; border-width: 0; } +.vs-th { + position: relative; + border: none; + background-color: #f8f9fa; + padding: 0.75rem 1rem; + vertical-align: middle; +} + + +.vs-th::after { +content: ""; + position: absolute; + left: 0; + top: 6px; + bottom: 6px; + width: 1px; + background-color: #dee2e6; +} label { display: inline-block; diff --git a/src/components/Expenses/ExpenseList.jsx b/src/components/Expenses/ExpenseList.jsx index 752ad7b4..6c5c2d74 100644 --- a/src/components/Expenses/ExpenseList.jsx +++ b/src/components/Expenses/ExpenseList.jsx @@ -26,14 +26,18 @@ import { useNavigate } from "react-router-dom"; const ExpenseList = ({ filters, groupBy = "transactionDate", searchText }) => { const [deletingId, setDeletingId] = useState(null); const [IsDeleteModalOpen, setIsDeleteModalOpen] = useState(false); - const { setViewExpense, setManageExpenseModal, filterData, removeFilterChip } = useExpenseContext(); + const { + setViewExpense, + setManageExpenseModal, + filterData, + removeFilterChip, + } = useExpenseContext(); const IsExpenseEditable = useHasUserPermission(); const IsExpesneApprpve = useHasUserPermission(APPROVE_EXPENSE); const [currentPage, setCurrentPage] = useState(1); const debouncedSearch = useDebounce(searchText, 500); const navigate = useNavigate(); - const { mutate: DeleteExpense, isPending } = useDeleteExpense(); const { data, isLoading, isError, isInitialLoading, error } = useExpenseList( ITEMS_PER_PAGE, @@ -80,8 +84,9 @@ const ExpenseList = ({ filters, groupBy = "transactionDate", searchText }) => { displayField = "Status"; break; case "submittedBy": - key = `${item?.createdBy?.firstName ?? ""} ${item.createdBy?.lastName ?? "" - }`.trim(); + key = `${item?.createdBy?.firstName ?? ""} ${ + item.createdBy?.lastName ?? "" + }`.trim(); displayField = "Submitted By"; break; case "project": @@ -139,11 +144,14 @@ const ExpenseList = ({ filters, groupBy = "transactionDate", searchText }) => { label: "Submitted By", align: "text-start", getValue: (e) => - `${e.createdBy?.firstName ?? ""} ${e.createdBy?.lastName ?? "" - }`.trim() || "N/A", + `${e.createdBy?.firstName ?? ""} ${ + e.createdBy?.lastName ?? "" + }`.trim() || "N/A", customRender: (e) => ( -
|
0 &&
currentRows.every((r) => selected.has(r[rowKey]))
@@ -232,19 +238,25 @@ export default function PmsGrid({
onDragStart={(e) => onDragStart(e, col.key)}
onDragOver={(e) => e.preventDefault()}
onDrop={(e) => onDrop(e, col.key)}
- className={`pms-col-header ${col.pinned ? "pinned" : ""}`}
+ className={`pms-col-header vs-th ${
+ col.pinned ? "pinned" : ""
+ }`}
style={style}
>
-
+ col.sortable && changeSort(col.key)}
style={{ cursor: col.sortable ? "pointer" : "default" }}
>
{col.title}
{sortBy.key === col.key && (
-
- [{sortBy.dir}]
-
+
)}
@@ -270,7 +282,7 @@ export default function PmsGrid({
})}
{features.actions && (
Actions
@@ -357,12 +369,12 @@ export default function PmsGrid({
function renderRow(row) {
return (
|
toggleSelect(row[rowKey])}
/>
@@ -379,13 +391,17 @@ export default function PmsGrid({
if (col.pinned === "right")
style.right = `${getRightOffset(colState, col.key)}px`;
return (
- |
+ |
{col.render ? col.render(row) : row[col.key] ?? ""}
|
);
})}
{features.actions && (
-
+ |
{features.actions(row, toggleExpand)}
|
)}
@@ -461,3 +477,4 @@ function ColumnVisibilityPanel({ columns, onToggle }) {
);
}
+
\ No newline at end of file
|
|---|