fix create new categ satker polda

This commit is contained in:
Rama Priyanto 2025-01-13 12:48:58 +07:00
parent 260da229da
commit 525f158388
1 changed files with 137 additions and 136 deletions

View File

@ -350,28 +350,101 @@ export default function EditCategoryModal(props: {
</FormItem> </FormItem>
)} )}
/> />
<FormField
control={form.control}
name="selectedUser"
render={() => (
<FormItem>
<FormLabel>Target Publish</FormLabel>
<div className="flex flex-row items-center gap-2">
<div className="flex gap-3 items-center">
<Checkbox
id="all"
disabled={isDetail}
checked={isAllUserChecked}
onCheckedChange={(checked) => {
if (checked) {
form.setValue(
"selectedUser",
userList.map((item) => item.id)
);
} else {
form.setValue("selectedUser", []);
}
}}
/>
<label htmlFor="all" className="text-sm">
Semua
</label>
</div>
{userList.map((item) => (
<FormField
key={item.id}
control={form.control}
name="selectedUser"
render={({ field }) => {
return (
<FormItem
key={item.id}
className="flex flex-row items-start "
>
<div className="flex items-center gap-3">
<FormControl>
<Checkbox
disabled={isDetail}
checked={field.value?.includes(item.id)}
onCheckedChange={(checked) => {
return checked
? field.onChange([
...field.value,
item.id,
])
: field.onChange(
field.value?.filter(
(value) => value !== item.id
)
);
}}
/>
</FormControl>
<FormLabel className="font-normal">
{item.name}
</FormLabel>
</div>
</FormItem>
);
}}
/>
))}
</div>
<FormMessage />
</FormItem>
)}
/>
{Number(levelNumber) === 1 ? ( {Number(levelNumber) === 1 ? (
<FormField <FormField
control={form.control} control={form.control}
name="selectedUser" name="publishTo"
render={() => ( render={() => (
<FormItem> <FormItem>
<FormLabel>Target Publish</FormLabel> <FormLabel>Wilayah Publish</FormLabel>
<div className="flex flex-row items-center gap-2"> <div className="flex flex-row items-center gap-2">
<div className="flex gap-3 items-center"> <div className="flex gap-3 items-center">
<Checkbox <Checkbox
id="all" id="all"
checked={isAllTargetChecked}
disabled={isDetail} disabled={isDetail}
checked={isAllUserChecked}
onCheckedChange={(checked) => { onCheckedChange={(checked) => {
if (checked) { if (checked) {
form.setValue( form.setValue(
"selectedUser", "publishTo",
userList.map((item) => item.id) publishToList.map((item) => item.id)
); );
} else { } else {
form.setValue("selectedUser", []); form.setValue("publishTo", []);
} }
}} }}
/> />
@ -379,44 +452,64 @@ export default function EditCategoryModal(props: {
Semua Semua
</label> </label>
</div> </div>
{userList.map((item) => ( {publishToList.map((item) => (
<FormField <>
key={item.id} <FormField
control={form.control} key={item.id}
name="selectedUser" control={form.control}
render={({ field }) => { name="publishTo"
return ( render={({ field }) => {
<FormItem return (
key={item.id} <FormItem
className="flex flex-row items-start " key={item.id}
> className="flex flex-row items-start "
<div className="flex items-center gap-3"> >
<FormControl> <div className="flex items-center gap-3">
<Checkbox <FormControl>
disabled={isDetail} <Checkbox
checked={field.value?.includes(item.id)} disabled={isDetail}
onCheckedChange={(checked) => { checked={field.value?.includes(item.id)}
return checked onCheckedChange={(checked) => {
? field.onChange([ return checked
...field.value, ? field.onChange([
item.id, ...field.value,
]) item.id,
: field.onChange( ])
field.value?.filter( : field.onChange(
(value) => value !== item.id field.value?.filter(
) (value) => value !== item.id
); )
}} );
/> }}
</FormControl> />
<FormLabel className="font-normal"> </FormControl>
{item.name} <FormLabel className="font-normal">
</FormLabel> {item.name}{" "}
</div> </FormLabel>
</FormItem> </div>
); </FormItem>
}} );
/> }}
/>
{item.id === "polda" &&
form.getValues("publishTo")?.includes(item.id) && (
<UnitMapping
unit="Polda"
sendDataToParent={(data) => setUnitData(data)}
isDetail={isDetail ? true : false}
initData={unitData}
/>
)}
{item.id === "satker" &&
form.getValues("publishTo")?.includes(item.id) && (
<UnitMapping
unit="Satker"
sendDataToParent={(data) => setSatkerData(data)}
isDetail={isDetail ? true : false}
initData={satkerData}
/>
)}
</>
))} ))}
</div> </div>
<FormMessage /> <FormMessage />
@ -445,98 +538,6 @@ export default function EditCategoryModal(props: {
/> />
)} )}
<FormField
control={form.control}
name="publishTo"
render={() => (
<FormItem>
<FormLabel>Wilayah Publish</FormLabel>
<div className="flex flex-row items-center gap-2">
<div className="flex gap-3 items-center">
<Checkbox
id="all"
checked={isAllTargetChecked}
disabled={isDetail}
onCheckedChange={(checked) => {
if (checked) {
form.setValue(
"publishTo",
publishToList.map((item) => item.id)
);
} else {
form.setValue("publishTo", []);
}
}}
/>
<label htmlFor="all" className="text-sm">
Semua
</label>
</div>
{publishToList.map((item) => (
<>
<FormField
key={item.id}
control={form.control}
name="publishTo"
render={({ field }) => {
return (
<FormItem
key={item.id}
className="flex flex-row items-start "
>
<div className="flex items-center gap-3">
<FormControl>
<Checkbox
disabled={isDetail}
checked={field.value?.includes(item.id)}
onCheckedChange={(checked) => {
return checked
? field.onChange([
...field.value,
item.id,
])
: field.onChange(
field.value?.filter(
(value) => value !== item.id
)
);
}}
/>
</FormControl>
<FormLabel className="font-normal">
{item.name}{" "}
</FormLabel>
</div>
</FormItem>
);
}}
/>
{item.id === "polda" &&
form.getValues("publishTo")?.includes(item.id) && (
<UnitMapping
unit="Polda"
sendDataToParent={(data) => setUnitData(data)}
isDetail={isDetail ? true : false}
initData={unitData}
/>
)}
{item.id === "satker" &&
form.getValues("publishTo")?.includes(item.id) && (
<UnitMapping
unit="Satker"
sendDataToParent={(data) => setSatkerData(data)}
isDetail={isDetail ? true : false}
initData={satkerData}
/>
)}
</>
))}
</div>
<FormMessage />
</FormItem>
)}
/>
<FormField <FormField
control={form.control} control={form.control}
name="title" name="title"