Untitled
unknown
plain_text
a year ago
6.0 kB
8
Indexable
<tbody>
{data.map((item, index) => (
<React.Fragment key={index}>
<tr>
{columns.map(
(
{
accessorKey,
expandable,
transform,
className,
header,
hide = false,
isChecked = false,
editable = false,
percentage = false,
},
cIndex
) =>
expandable ? (
<td
key={cIndex}
className={className}
onClick={() => toggleCollapse(index)}
>
<span className={`${styles["collapse-div"]}`}>
<span className={`${styles["option-div"]}`}>
<input type={"checkbox"} className={`${styles['option-input']}`} checked={isChecked} />
{accessorKey === "index"
? formatIndex(index)
: item[accessorKey]}
</span>
<span className={`${styles["cursor-pointer"]} m-1`}>
{collapseData?.includes(index) ? (
<FontAwesomeIcon icon={faChevronUp} />
) : (
<FontAwesomeIcon icon={faChevronDown} />
)}
</span>
</span>
</td>
) : (
!hide && (
<td
key={cIndex}
className={
className === "text-color-green"
? styles[className]
: className
}
>
{editable ? (
<span className={`${styles['editable-div']}`} >
<input
className={`${styles['editable-input']}`}
type={"text"}
value={getTransformValue(
getAccessorValue(item, accessorKey),
transform
)}
onChange={(e) =>
handleChangeInput(
e.target.value,
index,
accessorKey
)
}
/>
{percentage && "%"}
</span>
) : (
getTransformValue(
getAccessorValue(item, accessorKey),
transform
)
)}
</td>
)
)
)}
</tr>
{collapseData?.includes(index) && (
<>
{showAvgCost && (
<tr className="span-margin-tr">
<td
className={`text-start ${styles["text-bold-green"]}`}
colSpan={2}
>
<span>IQUW Share</span>
</td>
<td colSpan={2}>
<span>
{putThousandSeparator(item?.details?.limit)}
</span>
</td>
<td colSpan={5}>
<span>
{putThousandSeparator(item?.details?.premiumQuoted)}
</span>
</td>
<td colSpan={2}>
<span></span>
</td>
</tr>
)}
<tr>
<td colSpan={13}>
<table className="collapseble-row">
<tr>
<td
className={item?.details ? "" : "text-center"}
colSpan={columns.length}
>
<QuoteDetailsAccordion
qouteBuilderData={item.details}
initialOpenState={true}
accordionId={`accordion-${item.id}`}
toggleCollapse={toggleCollapse}
viewType={viewType}
showAvgCost={showAvgCost}
/>
</td>
</tr>
</table>
</td>
</tr>
</>
)}
</React.Fragment>
))}
</tbody>
///
tbody .text-color-green:not(:first-child) {
color: var(--fg-brand-primary);
}
.text-bold-green {
color: var(--primary-brand-green-alt) !important;
font-weight: var(--font-weight-600);
}
.cursor-pointer {
cursor: pointer;
}
.custom-tbody-border tbody{
border-left: 1px solid #ccc;
}
.collapse-div{
display: flex;
}
.option-div{
display: flex;
align-items: center;
}
.option-input {
margin-right: 4px;
}
.editable-div{
display: flex;
align-items: center;
}
Editor is loading...
Leave a Comment