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