Adding Message for Card and list view in Services and Infra

This commit is contained in:
Kartik Sharma 2025-11-24 12:45:51 +05:30 committed by pramod.mahajan
parent 6dde240926
commit 4d2e37f52e
3 changed files with 162 additions and 124 deletions

View File

@ -8,7 +8,12 @@ const ProjectCardView = ({ data, currentPage, totalPages, paginate }) => {
return ( return (
<div className="row page-min-h"> <div className="row page-min-h">
{data?.length === 0 && ( {data?.length === 0 && (
<p className="text-center text-muted">No projects found.</p> <div
className="col-12 d-flex justify-content-center align-items-center"
style={{ minHeight: "250px" }}
>
<p className="text-center text-muted m-0">No Infra projects found.</p>
</div>
)} )}
{data?.map((project) => ( {data?.map((project) => (

View File

@ -143,77 +143,94 @@ const ProjectListView = ({ data, currentPage, totalPages, paginate }) => {
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{data?.map((project) => ( {data?.length > 0 ? (
<tr key={project.id}> data?.map((project) => (
{projectColumns.map((col) => ( <tr key={project.id}>
<td {projectColumns.map((col) => (
key={col.key} <td
colSpan={col.colSpan} key={col.key}
className={`${col.className} py-5`} colSpan={col.colSpan}
style={{ paddingTop: "20px", paddingBottom: "20px" }} className={`${col.className} py-5`}
> style={{ paddingTop: "20px", paddingBottom: "20px" }}
{col.getValue
? col.getValue(project)
: project[col.key] || "N/A"}
</td>
))}
<td
className={`mx-2 ${
canManageProject ? "d-sm-table-cell" : "d-none"
}`}
>
<div className="dropdown z-2">
<button
type="button"
className="btn btn-icon btn-text-secondary rounded-pill dropdown-toggle hide-arrow p-0"
data-bs-toggle="dropdown"
aria-expanded="false"
> >
<i {col.getValue
className="bx bx-dots-vertical-rounded bx-sm text-muted" ? col.getValue(project)
data-bs-toggle="tooltip" : project[col.key] || "N/A"}
data-bs-offset="0,8" </td>
data-bs-placement="top" ))}
data-bs-custom-class="tooltip-dark" <td
title="More Action" className={`mx-2 ${canManageProject ? "d-sm-table-cell" : "d-none"
></i> }`}
</button> >
<ul className="dropdown-menu dropdown-menu-end"> <div className="dropdown z-2">
<li> <button
<a type="button"
aria-label="click to View details" className="btn btn-icon btn-text-secondary rounded-pill dropdown-toggle hide-arrow p-0"
className="dropdown-item cursor-pointer" data-bs-toggle="dropdown"
> aria-expanded="false"
<i className="bx bx-detail me-2"></i> >
<span className="align-left">View details</span> <i
</a> className="bx bx-dots-vertical-rounded bx-sm text-muted"
</li> data-bs-toggle="tooltip"
data-bs-offset="0,8"
data-bs-placement="top"
data-bs-custom-class="tooltip-dark"
title="More Action"
></i>
</button>
<ul className="dropdown-menu dropdown-menu-end">
<li>
<a
aria-label="click to View details"
className="dropdown-item cursor-pointer"
>
<i className="bx bx-detail me-2"></i>
<span className="align-left">View details</span>
</a>
</li>
<li> <li>
<a <a
className="dropdown-item cursor-pointer" className="dropdown-item cursor-pointer"
onClick={() => onClick={() =>
setMangeProject({ setMangeProject({
isOpen: true, isOpen: true,
Project: project.id, Project: project.id,
}) })
} }
> >
<i className="bx bx-pencil me-2"></i> <i className="bx bx-pencil me-2"></i>
<span className="align-left">Modify</span> <span className="align-left">Modify</span>
</a> </a>
</li> </li>
<li onClick={() => handleViewActivities(project.id)}> <li onClick={() => handleViewActivities(project.id)}>
<a className="dropdown-item cursor-pointer"> <a className="dropdown-item cursor-pointer">
<i className="bx bx-task me-2"></i> <i className="bx bx-task me-2"></i>
<span className="align-left">Activities</span> <span className="align-left">Activities</span>
</a> </a>
</li> </li>
</ul> </ul>
</div> </div>
</td>
</tr>
))
) : (
<tr
className="no-hover"
style={{
pointerEvents: "none",
backgroundColor: "transparent",
}}
>
<td
colSpan={projectColumns.length + 1}
className="text-center align-middle"
style={{ height: "300px", borderBottom: "none" }}
>
No Infra projects available
</td> </td>
</tr> </tr>
))} )}
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@ -105,66 +105,82 @@ const ServiceProjectList = ({ data, currentPage, totalPages, paginate, isCore =
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{data?.map((project) => ( {data?.length > 0 ? (
<tr key={project.id}> data.map((project) => (
{projectColumns.map((col) => ( <tr key={project.id}>
<td {projectColumns.map((col) => (
key={col.key} <td
colSpan={col.colSpan} key={col.key}
className={`${col.className} py-5`} colSpan={col.colSpan}
style={{ paddingTop: "20px", paddingBottom: "20px" }} className={`${col.className} py-5`}
> style={{ paddingTop: "20px", paddingBottom: "20px" }}
{col.getValue
? col.getValue(project)
: project[col.key] || "N/A"}
</td>
))}
<td
className={`mx-2 ${canManageProject ? "d-sm-table-cell" : "d-none"
}`}
>
<div className="dropdown z-2">
<button
type="button"
className="btn btn-icon btn-text-secondary rounded-pill dropdown-toggle hide-arrow p-0"
data-bs-toggle="dropdown"
aria-expanded="false"
> >
<i {col.getValue ? col.getValue(project) : project[col.key] || "N/A"}
className="bx bx-dots-vertical-rounded bx-sm text-muted" </td>
data-bs-toggle="tooltip" ))}
data-bs-offset="0,8" <td
data-bs-placement="top" className={`mx-2 ${canManageProject ? "d-sm-table-cell" : "d-none"}`}
data-bs-custom-class="tooltip-dark" >
title="More Action" <div className="dropdown z-2">
></i> <button
</button> type="button"
<ul className="dropdown-menu dropdown-menu-end"> className="btn btn-icon btn-text-secondary rounded-pill dropdown-toggle hide-arrow p-0"
<li> data-bs-toggle="dropdown"
<a aria-expanded="false"
aria-label="click to View details" >
className="dropdown-item" <i
onClick={() => handleViewProject(project)} className="bx bx-dots-vertical-rounded bx-sm text-muted"
data-bs-toggle="tooltip"
> data-bs-offset="0,8"
<i className="bx bx-detail me-2"></i> data-bs-placement="top"
<span className="align-left">View details</span> data-bs-custom-class="tooltip-dark"
</a> title="More Action"
</li> ></i>
</button>
<li> <ul className="dropdown-menu dropdown-menu-end">
<a className="dropdown-item" onClick={() => handleManage(project)} <li>
> <a
<i className="bx bx-pencil me-2"></i> aria-label="click to View details"
<span className="align-left">Modify</span> className="dropdown-item"
</a> onClick={() => handleViewProject(project)}
</li> >
</ul> <i className="bx bx-detail me-2"></i>
</div> <span className="align-left">View details</span>
</a>
</li>
<li>
<a
className="dropdown-item"
onClick={() => handleManage(project)}
>
<i className="bx bx-pencil me-2"></i>
<span className="align-left">Modify</span>
</a>
</li>
</ul>
</div>
</td>
</tr>
))
) : (
<tr
className="no-hover"
style={{
pointerEvents: "none",
backgroundColor: "transparent",
}}
>
<td
colSpan={projectColumns.length + 1}
className="text-center align-middle"
style={{ height: "300px", borderBottom: "none" }}
>
No Service projects available
</td> </td>
</tr> </tr>
))} )}
</tbody> </tbody>
</table> </table>
</div> </div>