parent
0218139589
commit
89a020e80f
8 changed files with 304 additions and 103 deletions
@ -0,0 +1,26 @@ |
||||
export function FileType({ value }) { |
||||
return ( |
||||
<div className=""> |
||||
{(() => { |
||||
switch (value) { |
||||
case 1: |
||||
return <span>JPG</span>; |
||||
case 2: |
||||
return <span>PNG</span>; |
||||
|
||||
case 3: |
||||
return <span>PDF</span>; |
||||
|
||||
case 4: |
||||
return <span>CSV</span>; |
||||
|
||||
case 5: |
||||
return <span>PPT</span>; |
||||
|
||||
default: |
||||
return <span>MP4</span>; |
||||
} |
||||
})()} |
||||
</div> |
||||
); |
||||
} |
@ -0,0 +1,58 @@ |
||||
import React from "react"; |
||||
|
||||
export const FilterFileType = ({ |
||||
column: { filterValue, setFilter, preFilteredRows, id, render }, |
||||
}) => { |
||||
const options = React.useMemo(() => { |
||||
const options = new Set(); |
||||
preFilteredRows.forEach((row) => { |
||||
options.add(row.values[id]); |
||||
}); |
||||
return [...options.values()]; |
||||
}, [id, preFilteredRows]); |
||||
|
||||
return ( |
||||
<select |
||||
className="text-xs flex flex-row items-start justify-start p-1 text-blue-400 rounded focus:outline-none border focus:border-blue-200 focus:ring focus:ring-blue-200 focus:ring-opacity-20" |
||||
style={{ backgroundColor: "#F9FBFF", borderColor: "#B5D6FF" }} |
||||
name={id} |
||||
id={id} |
||||
value={filterValue} |
||||
onChange={(e) => { |
||||
setFilter(e.target.value || undefined); |
||||
}} |
||||
> |
||||
<option |
||||
className="text-white" |
||||
value="" |
||||
style={{ backgroundColor: "#65A9FF" }} |
||||
> |
||||
همه |
||||
</option> |
||||
{options.map((option, i) => ( |
||||
<option |
||||
key={i} |
||||
value={option} |
||||
className="text-right text-white px-2" |
||||
style={{ backgroundColor: "#65A9FF" }} |
||||
> |
||||
{(() => { |
||||
if (option === 1) { |
||||
return "JPG"; |
||||
} else if (option === 2) { |
||||
return "PNG"; |
||||
} else if (option === 3) { |
||||
return "PDF"; |
||||
} else if (option === 4) { |
||||
return "CSV"; |
||||
} else if (option === 5) { |
||||
return "PPT"; |
||||
} else { |
||||
return "MP4"; |
||||
} |
||||
})()}{" "} |
||||
</option> |
||||
))} |
||||
</select> |
||||
); |
||||
}; |
Loading…
Reference in new issue