fix schedule
This commit is contained in:
parent
b3f2a77363
commit
e4bbd1c063
|
|
@ -182,7 +182,7 @@ export default function EditUserLevelForm() {
|
||||||
const fetchCategory = async () => {
|
const fetchCategory = async () => {
|
||||||
loading();
|
loading();
|
||||||
const request = {
|
const request = {
|
||||||
limit: 10,
|
limit: -1,
|
||||||
levelNumber: findSelectedLevel(selectedGroup)?.level
|
levelNumber: findSelectedLevel(selectedGroup)?.level
|
||||||
? findSelectedLevel(selectedGroup)!.level - 1
|
? findSelectedLevel(selectedGroup)!.level - 1
|
||||||
: "",
|
: "",
|
||||||
|
|
|
||||||
|
|
@ -177,7 +177,7 @@ export default function CreateMasterUserLevelForm() {
|
||||||
const fetchCategory = async () => {
|
const fetchCategory = async () => {
|
||||||
loading();
|
loading();
|
||||||
const request = {
|
const request = {
|
||||||
limit: 10,
|
limit: -1,
|
||||||
levelNumber: findSelectedLevel(selectedGroup)?.level
|
levelNumber: findSelectedLevel(selectedGroup)?.level
|
||||||
? findSelectedLevel(selectedGroup)!.level - 1
|
? findSelectedLevel(selectedGroup)!.level - 1
|
||||||
: "",
|
: "",
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ import {
|
||||||
DotsYIcon,
|
DotsYIcon,
|
||||||
EyeFilledIcon,
|
EyeFilledIcon,
|
||||||
EyeIconMdi,
|
EyeIconMdi,
|
||||||
|
SearchIcon,
|
||||||
} from "@/components/icons";
|
} from "@/components/icons";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { getAllUserLevels } from "@/services/user-levels/user-levels-service";
|
import { getAllUserLevels } from "@/services/user-levels/user-levels-service";
|
||||||
|
|
@ -45,6 +46,7 @@ type UserObject = {
|
||||||
export default function MasterUserLevelTable() {
|
export default function MasterUserLevelTable() {
|
||||||
const [totalPage, setTotalPage] = useState(1);
|
const [totalPage, setTotalPage] = useState(1);
|
||||||
const [masterUserLevelTable, setmasterUserLevel] = useState<UserObject[]>([]);
|
const [masterUserLevelTable, setmasterUserLevel] = useState<UserObject[]>([]);
|
||||||
|
const [search, setSearch] = useState("");
|
||||||
|
|
||||||
type TableRow = (typeof masterUserLevelTable)[0];
|
type TableRow = (typeof masterUserLevelTable)[0];
|
||||||
|
|
||||||
|
|
@ -63,17 +65,18 @@ export default function MasterUserLevelTable() {
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
fetchData();
|
fetchData();
|
||||||
}, []);
|
}, [page]);
|
||||||
|
|
||||||
async function fetchData() {
|
async function fetchData() {
|
||||||
loading();
|
loading();
|
||||||
const request = {
|
const request = {
|
||||||
page: page,
|
page: page,
|
||||||
limit: 10,
|
limit: 10,
|
||||||
|
search: search,
|
||||||
};
|
};
|
||||||
const res = await getAllUserLevels(request);
|
const res = await getAllUserLevels(request);
|
||||||
const data = res?.data?.data;
|
const data = res?.data?.data;
|
||||||
setTotalPage(Math.ceil(res?.data?.total / 10));
|
setTotalPage(Math.ceil(res?.data?.meta?.totalPage / 10));
|
||||||
await initUserData(10, data);
|
await initUserData(10, data);
|
||||||
close();
|
close();
|
||||||
}
|
}
|
||||||
|
|
@ -106,14 +109,27 @@ export default function MasterUserLevelTable() {
|
||||||
return name;
|
return name;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let typingTimer: NodeJS.Timeout;
|
||||||
|
const doneTypingInterval = 1500;
|
||||||
|
|
||||||
|
const handleKeyUp = () => {
|
||||||
|
clearTimeout(typingTimer);
|
||||||
|
typingTimer = setTimeout(doneTyping, doneTypingInterval);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleKeyDown = () => {
|
||||||
|
clearTimeout(typingTimer);
|
||||||
|
};
|
||||||
|
|
||||||
|
async function doneTyping() {
|
||||||
|
fetchData();
|
||||||
|
}
|
||||||
|
|
||||||
const renderCell = useCallback(
|
const renderCell = useCallback(
|
||||||
(masterUserLevel: TableRow, columnKey: Key) => {
|
(masterUserLevel: TableRow, columnKey: Key) => {
|
||||||
const cellValue = masterUserLevel[columnKey as keyof UserObject];
|
const cellValue = masterUserLevel[columnKey as keyof UserObject];
|
||||||
|
|
||||||
switch (columnKey) {
|
switch (columnKey) {
|
||||||
case "no":
|
|
||||||
return <div>{masterUserLevel.id}</div>;
|
|
||||||
|
|
||||||
case "parentLevelId":
|
case "parentLevelId":
|
||||||
return <p className="text-black">{findParentName(cellValue)}</p>;
|
return <p className="text-black">{findParentName(cellValue)}</p>;
|
||||||
case "actions":
|
case "actions":
|
||||||
|
|
@ -170,6 +186,25 @@ export default function MasterUserLevelTable() {
|
||||||
</Button>
|
</Button>
|
||||||
</Link> */}
|
</Link> */}
|
||||||
<div className="flex flex-col items-center rounded-2xl">
|
<div className="flex flex-col items-center rounded-2xl">
|
||||||
|
<div className="flex flex-col gap-1 w-full justify-start mb-3">
|
||||||
|
<p className="font-semibold text-sm">Pencarian</p>
|
||||||
|
<Input
|
||||||
|
aria-label="Search"
|
||||||
|
classNames={{
|
||||||
|
inputWrapper: "bg-default-100",
|
||||||
|
input: "text-sm",
|
||||||
|
}}
|
||||||
|
className="max-w-md"
|
||||||
|
labelPlacement="outside"
|
||||||
|
startContent={
|
||||||
|
<SearchIcon className="text-base text-default-400 pointer-events-none flex-shrink-0" />
|
||||||
|
}
|
||||||
|
type="text"
|
||||||
|
onChange={(e) => setSearch(e.target.value)}
|
||||||
|
onKeyUp={handleKeyUp}
|
||||||
|
onKeyDown={handleKeyDown}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<Table
|
<Table
|
||||||
// selectionMode="multiple"
|
// selectionMode="multiple"
|
||||||
aria-label="micro issue table"
|
aria-label="micro issue table"
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ export async function getAllUserLevels(data?: any) {
|
||||||
return await httpGet(
|
return await httpGet(
|
||||||
`user-levels?limit=${data?.limit || ""}&levelNumber=${
|
`user-levels?limit=${data?.limit || ""}&levelNumber=${
|
||||||
data?.levelNumber || ""
|
data?.levelNumber || ""
|
||||||
}`,
|
}&name=${data?.search || ""}`,
|
||||||
headers
|
headers
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue