import React, { useEffect, useState } from "react"; import { IconClose } from "../../../icons"; import { useDashboardContext } from "../DashboardContext"; import MultiSelect from "./MultiSelect"; import { __ } from "@wordpress/i18n"; import Select from "react-select"; import { applyFilters } from "@wordpress/hooks"; import { toast } from "react-toastify"; import { decodeEntities } from "@wordpress/html-entities"; import useDebounce from "../hooks/useDebounce"; import { addQueryArgs } from "@wordpress/url"; import { useQuery } from "@tanstack/react-query"; import apiFetch from "@wordpress/api-fetch"; import useAuthorsQuery from "../hooks/useAuthorsQuery"; import useAuthorsSearchQuery from "../hooks/useAuthorsSearchQuery"; const GridQuickEdit = ({ data, setQuickEdit, setCategoriesPosts, docCategoriesQueryParams }) => { const { docData, docId: selectedDocId, termId: selectedTermId } = data; const [saveText, setSaveText] = useState("Save"); const [quickEditData, setQuickEditData] = useState({ author: "", title: "", slug: "", comment_status: "", status: "", date: "", password: "", }); const [currentDocUser, setCurrentDocUser] = useState({}); const { usersLoading, authors, authorParams, setAuthorParams, isNextPageAvailable } = useAuthorsQuery('authors', { per_page:10, page:1 }); const { searchLoading, searchedUsers, setUserSearchValue } = useAuthorsSearchQuery(); const [privacyOption, setPrivacyOption] = useState(""); useEffect(() => { setQuickEditData({ author: docData?.author, title: docData.title, slug: docData.slug, comment_status: docData.comment_status, status: docData.status, date: docData?.date, password: docData?.password, }); setCurrentDocUser({ value: docData.author, label: docData.author_info.name, }); if (docData.status == "private") { setPrivacyOption("private"); } else if (docData?.content?.protected || docData?.password?.length > 0) { setPrivacyOption("password"); } else { setPrivacyOption("none"); } }, [docData]); const statusOptions = [ { value: "publish", label: __("Published", "betterdocs") }, { value: "pending", label: __("Pending review", "betterdocs") }, { value: "draft", label: __("Draft", "betterdocs") }, ]; return (