fix:edit category polda satker
This commit is contained in:
parent
f620638c26
commit
350c061263
|
|
@ -38,6 +38,9 @@ import { UnitMapping } from "./unit-mapping";
|
||||||
import { useDropzone } from "react-dropzone";
|
import { useDropzone } from "react-dropzone";
|
||||||
import { CloudUpload } from "lucide-react";
|
import { CloudUpload } from "lucide-react";
|
||||||
import { useToast } from "@/components/ui/use-toast";
|
import { useToast } from "@/components/ui/use-toast";
|
||||||
|
import Cookies from "js-cookie";
|
||||||
|
import { getCookiesDecrypt } from "@/lib/utils";
|
||||||
|
|
||||||
const FormSchema = z.object({
|
const FormSchema = z.object({
|
||||||
title: z.string({
|
title: z.string({
|
||||||
required_error: "Required",
|
required_error: "Required",
|
||||||
|
|
@ -112,7 +115,10 @@ export default function EditCategoryModal(props: {
|
||||||
const [files, setFiles] = useState<File[]>([]);
|
const [files, setFiles] = useState<File[]>([]);
|
||||||
const [isOpen, setIsOpen] = useState(false);
|
const [isOpen, setIsOpen] = useState(false);
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
|
const roleId = getCookiesDecrypt("urie");
|
||||||
|
const levelNumber = getCookiesDecrypt("ulne");
|
||||||
|
const userLevelId = getCookiesDecrypt("ulie");
|
||||||
|
const poldaState = Cookies.get("state");
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [satkerData, setSatkerData] = useState<string[]>([]);
|
const [satkerData, setSatkerData] = useState<string[]>([]);
|
||||||
const [unitData, setUnitData] = useState<string[]>([]);
|
const [unitData, setUnitData] = useState<string[]>([]);
|
||||||
|
|
@ -344,79 +350,101 @@ export default function EditCategoryModal(props: {
|
||||||
</FormItem>
|
</FormItem>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
|
{Number(levelNumber) === 1 ? (
|
||||||
|
<FormField
|
||||||
|
control={form.control}
|
||||||
|
name="selectedUser"
|
||||||
|
render={() => (
|
||||||
|
<FormItem>
|
||||||
|
<FormLabel>Target Publish</FormLabel>
|
||||||
|
|
||||||
<FormField
|
<div className="flex flex-row items-center gap-2">
|
||||||
control={form.control}
|
<div className="flex gap-3 items-center">
|
||||||
name="selectedUser"
|
<Checkbox
|
||||||
render={() => (
|
id="all"
|
||||||
<FormItem>
|
disabled={isDetail}
|
||||||
<FormLabel>Target Publish</FormLabel>
|
checked={isAllUserChecked}
|
||||||
|
onCheckedChange={(checked) => {
|
||||||
<div className="flex flex-row items-center gap-2">
|
if (checked) {
|
||||||
<div className="flex gap-3 items-center">
|
form.setValue(
|
||||||
<Checkbox
|
"selectedUser",
|
||||||
id="all"
|
userList.map((item) => item.id)
|
||||||
disabled={isDetail}
|
);
|
||||||
checked={isAllUserChecked}
|
} else {
|
||||||
onCheckedChange={(checked) => {
|
form.setValue("selectedUser", []);
|
||||||
if (checked) {
|
}
|
||||||
form.setValue(
|
}}
|
||||||
"selectedUser",
|
/>
|
||||||
userList.map((item) => item.id)
|
<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>
|
||||||
);
|
);
|
||||||
} else {
|
}}
|
||||||
form.setValue("selectedUser", []);
|
/>
|
||||||
}
|
))}
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<label htmlFor="all" className="text-sm">
|
|
||||||
Semua
|
|
||||||
</label>
|
|
||||||
</div>
|
</div>
|
||||||
{userList.map((item) => (
|
<FormMessage />
|
||||||
<FormField
|
</FormItem>
|
||||||
key={item.id}
|
)}
|
||||||
control={form.control}
|
/>
|
||||||
name="selectedUser"
|
) : (
|
||||||
render={({ field }) => {
|
<FormField
|
||||||
return (
|
control={form.control}
|
||||||
<FormItem
|
name="publishTo"
|
||||||
key={item.id}
|
render={() => (
|
||||||
className="flex flex-row items-start "
|
<FormItem>
|
||||||
>
|
<FormLabel>Wilayah Publish</FormLabel>
|
||||||
<div className="flex items-center gap-3">
|
|
||||||
<FormControl>
|
<div className="flex flex-row items-center gap-2">
|
||||||
<Checkbox
|
<div className="flex gap-3 items-center">
|
||||||
disabled={isDetail}
|
<Checkbox disabled checked />
|
||||||
checked={field.value?.includes(item.id)}
|
<label htmlFor="all" className="text-sm">
|
||||||
onCheckedChange={(checked) => {
|
{poldaState}
|
||||||
return checked
|
</label>
|
||||||
? field.onChange([
|
</div>
|
||||||
...field.value,
|
</div>
|
||||||
item.id,
|
<FormMessage />
|
||||||
])
|
</FormItem>
|
||||||
: field.onChange(
|
)}
|
||||||
field.value?.filter(
|
/>
|
||||||
(value) => value !== item.id
|
)}
|
||||||
)
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</FormControl>
|
|
||||||
<FormLabel className="font-normal">
|
|
||||||
{item.name}
|
|
||||||
</FormLabel>
|
|
||||||
</div>
|
|
||||||
</FormItem>
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
<FormMessage />
|
|
||||||
</FormItem>
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
<FormField
|
<FormField
|
||||||
control={form.control}
|
control={form.control}
|
||||||
name="publishTo"
|
name="publishTo"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue