upd: position
Deskripsi: - refresh otomatis No Issues
This commit is contained in:
3
src/module/position/lib/val_posisition.ts
Normal file
3
src/module/position/lib/val_posisition.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { hookstate } from "@hookstate/core";
|
||||||
|
|
||||||
|
export const globalRefreshPosition = hookstate<boolean>(false);
|
||||||
@@ -8,12 +8,15 @@ import toast from "react-hot-toast";
|
|||||||
import { IoAddCircle } from "react-icons/io5";
|
import { IoAddCircle } from "react-icons/io5";
|
||||||
import { RiFilter2Line } from "react-icons/ri";
|
import { RiFilter2Line } from "react-icons/ri";
|
||||||
import { funCreatePosition } from "../lib/api_position";
|
import { funCreatePosition } from "../lib/api_position";
|
||||||
|
import { useHookstate } from "@hookstate/core";
|
||||||
|
import { globalRefreshPosition } from "../lib/val_posisition";
|
||||||
|
|
||||||
|
|
||||||
export default function DrawerListPosition({ onCreated }: { onCreated: (val: boolean) => void }) {
|
export default function DrawerListPosition({ onCreated }: { onCreated: (val: boolean) => void }) {
|
||||||
const [openDrawerGroup, setOpenDrawerGroup] = useState(false)
|
const [openDrawerGroup, setOpenDrawerGroup] = useState(false)
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const [listGroup, setListGorup] = useState<IDataGroup[]>([])
|
const [listGroup, setListGorup] = useState<IDataGroup[]>([])
|
||||||
|
const refresh = useHookstate(globalRefreshPosition)
|
||||||
const [touched, setTouched] = useState({
|
const [touched, setTouched] = useState({
|
||||||
name: false,
|
name: false,
|
||||||
idGroup: false
|
idGroup: false
|
||||||
@@ -53,6 +56,7 @@ export default function DrawerListPosition({ onCreated }: { onCreated: (val: boo
|
|||||||
if (res.success) {
|
if (res.success) {
|
||||||
setOpenDrawerGroup(false)
|
setOpenDrawerGroup(false)
|
||||||
toast.success(res.message)
|
toast.success(res.message)
|
||||||
|
refresh.set(true)
|
||||||
onCreated(true)
|
onCreated(true)
|
||||||
} else {
|
} else {
|
||||||
toast.error(res.message)
|
toast.error(res.message)
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import { useShallowEffect } from "@mantine/hooks";
|
|||||||
import { useSearchParams } from "next/navigation";
|
import { useSearchParams } from "next/navigation";
|
||||||
import { funGetAllPosition } from "../lib/api_position";
|
import { funGetAllPosition } from "../lib/api_position";
|
||||||
import { IDataPosition } from "../lib/type_position";
|
import { IDataPosition } from "../lib/type_position";
|
||||||
|
import { useHookstate } from "@hookstate/core";
|
||||||
|
import { globalRefreshPosition } from "../lib/val_posisition";
|
||||||
|
|
||||||
|
|
||||||
export default function ListPositionActive() {
|
export default function ListPositionActive() {
|
||||||
@@ -23,6 +25,7 @@ export default function ListPositionActive() {
|
|||||||
const searchParams = useSearchParams()
|
const searchParams = useSearchParams()
|
||||||
const group = searchParams.get('group')
|
const group = searchParams.get('group')
|
||||||
const status = searchParams.get('active')
|
const status = searchParams.get('active')
|
||||||
|
const refresh = useHookstate(globalRefreshPosition)
|
||||||
|
|
||||||
async function getAllPosition() {
|
async function getAllPosition() {
|
||||||
try {
|
try {
|
||||||
@@ -41,7 +44,7 @@ export default function ListPositionActive() {
|
|||||||
|
|
||||||
useShallowEffect(() => {
|
useShallowEffect(() => {
|
||||||
getAllPosition();
|
getAllPosition();
|
||||||
}, [status, group, searchQuery])
|
}, [status, group, searchQuery, refresh.get()])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box pt={20}>
|
<Box pt={20}>
|
||||||
|
|||||||
Reference in New Issue
Block a user