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>
)}
/>
<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 ? (
<FormField
control={form.control}
name="selectedUser"
name="publishTo"
render={() => (
<FormItem>
<FormLabel>Target Publish</FormLabel>
<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}
checked={isAllUserChecked}
onCheckedChange={(checked) => {
if (checked) {
form.setValue(
"selectedUser",
userList.map((item) => item.id)
"publishTo",
publishToList.map((item) => item.id)
);
} else {
form.setValue("selectedUser", []);
form.setValue("publishTo", []);
}
}}
/>
@ -379,44 +452,64 @@ export default function EditCategoryModal(props: {
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>
);
}}
/>
{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 />
@ -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
control={form.control}
name="title"