fix schedule

This commit is contained in:
Rama Priyanto 2025-03-03 09:58:33 +07:00
parent b3f2a77363
commit e4bbd1c063
4 changed files with 43 additions and 8 deletions

View File

@ -182,7 +182,7 @@ export default function EditUserLevelForm() {
const fetchCategory = async () => {
loading();
const request = {
limit: 10,
limit: -1,
levelNumber: findSelectedLevel(selectedGroup)?.level
? findSelectedLevel(selectedGroup)!.level - 1
: "",

View File

@ -177,7 +177,7 @@ export default function CreateMasterUserLevelForm() {
const fetchCategory = async () => {
loading();
const request = {
limit: 10,
limit: -1,
levelNumber: findSelectedLevel(selectedGroup)?.level
? findSelectedLevel(selectedGroup)!.level - 1
: "",

View File

@ -27,6 +27,7 @@ import {
DotsYIcon,
EyeFilledIcon,
EyeIconMdi,
SearchIcon,
} from "@/components/icons";
import Link from "next/link";
import { getAllUserLevels } from "@/services/user-levels/user-levels-service";
@ -45,6 +46,7 @@ type UserObject = {
export default function MasterUserLevelTable() {
const [totalPage, setTotalPage] = useState(1);
const [masterUserLevelTable, setmasterUserLevel] = useState<UserObject[]>([]);
const [search, setSearch] = useState("");
type TableRow = (typeof masterUserLevelTable)[0];
@ -63,17 +65,18 @@ export default function MasterUserLevelTable() {
useEffect(() => {
fetchData();
}, []);
}, [page]);
async function fetchData() {
loading();
const request = {
page: page,
limit: 10,
search: search,
};
const res = await getAllUserLevels(request);
const data = res?.data?.data;
setTotalPage(Math.ceil(res?.data?.total / 10));
setTotalPage(Math.ceil(res?.data?.meta?.totalPage / 10));
await initUserData(10, data);
close();
}
@ -106,14 +109,27 @@ export default function MasterUserLevelTable() {
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(
(masterUserLevel: TableRow, columnKey: Key) => {
const cellValue = masterUserLevel[columnKey as keyof UserObject];
switch (columnKey) {
case "no":
return <div>{masterUserLevel.id}</div>;
case "parentLevelId":
return <p className="text-black">{findParentName(cellValue)}</p>;
case "actions":
@ -170,6 +186,25 @@ export default function MasterUserLevelTable() {
</Button>
</Link> */}
<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
// selectionMode="multiple"
aria-label="micro issue table"

View File

@ -12,7 +12,7 @@ export async function getAllUserLevels(data?: any) {
return await httpGet(
`user-levels?limit=${data?.limit || ""}&levelNumber=${
data?.levelNumber || ""
}`,
}&name=${data?.search || ""}`,
headers
);
}