fix: hidden fields in data table (#3087)

Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
This commit is contained in:
Dhruwang Jariwala
2024-09-04 14:15:30 +05:30
committed by GitHub
parent a1d83ac7b9
commit 4bcca2daf4
3 changed files with 18 additions and 8 deletions

View File

@@ -20,6 +20,8 @@ interface ResponseCardModalProps {
updateResponse: (responseId: string, updatedResponse: TResponse) => void;
deleteResponses: (responseIds: string[]) => void;
isViewer: boolean;
open: boolean;
setOpen: React.Dispatch<React.SetStateAction<boolean>>;
}
export const ResponseCardModal = ({
@@ -33,9 +35,11 @@ export const ResponseCardModal = ({
updateResponse,
deleteResponses,
isViewer,
open,
setOpen,
}: ResponseCardModalProps) => {
const [currentIndex, setCurrentIndex] = useState<number | null>(null);
const [open, setOpen] = useState(selectedResponse !== null);
useEffect(() => {
if (selectedResponse) {
setOpen(true);
@@ -44,7 +48,7 @@ export const ResponseCardModal = ({
} else {
setOpen(false);
}
}, [selectedResponse, responses]);
}, [selectedResponse, responses, setOpen]);
const handleNext = () => {
if (currentIndex !== null && currentIndex < responses.length - 1) {

View File

@@ -226,6 +226,12 @@ export const ResponseTable = ({
deleteResponses={deleteResponses}
setSelectedResponse={setSelectedResponse}
selectedResponse={selectedResponse}
open={selectedResponse !== null}
setOpen={(open) => {
if (!open) {
setSelectedResponse(null);
}
}}
/>
)}
</DndContext>

View File

@@ -193,8 +193,8 @@ export const generateColumns = (
const tagsColumn: ColumnDef<TResponseTableData> = {
accessorKey: "tags",
header: "Tags",
cell: ({ getValue }) => {
const tags = getValue(); // Get the ISO date string
cell: ({ row }) => {
const tags = row.original.tags;
if (Array.isArray(tags)) {
const tagsArray = tags.map((tag) => tag.name);
return (
@@ -211,8 +211,8 @@ export const generateColumns = (
const notesColumn: ColumnDef<TResponseTableData> = {
accessorKey: "notes",
header: "Notes",
cell: ({ getValue }) => {
const notes = getValue();
cell: ({ row }) => {
const notes = row.original.notes;
if (Array.isArray(notes)) {
const notesArray = notes.map((note) => note.text);
return processResponseData(notesArray);
@@ -232,8 +232,8 @@ export const generateColumns = (
<span className="truncate">{hiddenFieldId}</span>
</div>
),
cell: ({ getValue }) => {
const hiddenFieldResponse = getValue();
cell: ({ row }) => {
const hiddenFieldResponse = row.original.responseData[hiddenFieldId];
if (typeof hiddenFieldResponse === "string") {
return <div className="text-slate-900">{hiddenFieldResponse}</div>;
}