fix create new categ satker polda
This commit is contained in:
parent
260da229da
commit
525f158388
|
|
@ -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"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue