import React, { useState, useEffect, useMemo } from "react"; import { Form, Button, Row, Col, Input, Modal, Table, Typography, Select } from "antd"; import { SaveOutlined, PlusOutlined, CloseCircleOutlined } from "@ant-design/icons"; import { useQuery, useModels, useModel } from "../../../hooks"; import { useHistory } from "react-router-dom"; // import { firestore } from "../../../services/firebase"; import { ViewLoading } from "../../../components"; import { DefaultLayout } from "../../../components/layouts"; // import { addDoc, collection, doc, getDoc, updateDoc } from "firebase/firestore"; import HttpService from "../../../services/httpService"; import { emptyRequest } from "../../../constants/requests"; import { respuestas } from "../../../utilities"; const { Title } = Typography; const DependenciaDetalle = () => { // const firebaseCollection = "dependencias"; const query = useQuery(); const history = useHistory(); const { TextArea } = Input; const id = query.get("id"); const editando = Boolean(id); const titulo = editando ? "Editar dependencia" : "Agregar dependencia"; const url = "/administracion/dependencias"; const [form] = Form.useForm(); // const [dependencia, setDependencia] = useState([]); // const [cargandoDependencia, setCargandoDependencia] = useState(true); const [guadandoCargando, setGuardandoCargando] = useState(false); const [buscarValue, setBuscarValue] = useState(''); const [requestUsuarios, setRequestUsuarios] = useState({}); const [timer, setTimer] = useState(null); const [miembros, setMiembros] = useState([]); const [miembrosLoading, setMiembrosLoading] = useState(false); const [usuario, setUsuario] = useState(null); const [miembro, setMiembro] = useState(null); const [lideres, setLideres] = useState([]); const [request, setRequest] = useState(emptyRequest); const requestParams = useMemo(() => ({ name: 'v1/dependencia', id: id, expand: 'lideres,usuarios' }), [id]); const usuarioExtraParams = React.useMemo(() => ({ q: buscarValue }), [buscarValue]) const usuariosParams = React.useMemo(() => ({ name: 'v1/usuario', limite: 20, ordenar: 'nombre-asc', expand: 'grupos', extraParams: usuarioExtraParams }), [usuarioExtraParams]) const { model, modelLoading } = useModel(request); const [ models, modelsLoading, , , ] = useModels(requestUsuarios); const columnasMiembros = [ { title: 'Nombre', dataIndex: 'nombre', key: 'nombre', }, { title: 'Correo', dataIndex: 'email', key: 'email', }, { title: '', dataIndex: 'id', key: 'id', render: (text) =>