import React, { Suspense, useEffect, useState } from 'react'; import { Meteor } from 'meteor/meteor'; import { Random } from 'meteor/random'; import { NecessitatsCollection } from '/imports/api/necessitats.js'; import { PoblesCollection } from '../api/pobles'; import { CodisCollection } from '../api/codis'; // import { TipusCollection } from '../api/tipus'; import { useSubscribe, useTracker, useFind } from 'meteor/react-meteor-data/suspense'; import { Roles } from 'meteor/roles'; // import { useNavigate } from 'react-router-dom'; // import { useUserId } from 'meteor/react-meteor-accounts'; import Select from 'react-select'; function generaCodi() { return Random.id().slice(0, 5).toUpperCase(); } export const Codis = () => { const [esEditor, setEsEditor] = useState(false); const userId = Meteor.userId(); const [codiSeleccionat, setCodiSeleccionat] = useState(null); useEffect(() => { (async () => { const comprovaAdmin = await Roles.userIsInRoleAsync(userId, ["admin"]); setEsEditor(comprovaAdmin); })(); }, []); const [confecCodObj, setConfecCodObj] = useState({ codi: generaCodi(), ambit: null, rol: null, absCond: "abs", absActiu: false, condIni: null, condFi: null }); useSubscribe('codis'); const codis = useTracker("codis", () => CodisCollection.find().fetchAsync()); useSubscribe('pobles'); const pobles = useTracker("pobles", () => PoblesCollection.find().fetchAsync()); const ambits = pobles?.map(p => p?.ambitAssociat); const codiDoc = useTracker("valsFormDoc", () => CodisCollection.findOneAsync(codiSeleccionat?._id)); const SelectorDeRol = () => { return <> ({ value: v, label: v })) .sort((a,b) => a.label.toLowerCase() > b.label.toLowerCase()), { value: "GENERAL", label: "GENERAL" } ] } isSearchable onChange={amb => { setConfecCodObj({ ...confecCodObj, ambit: amb }); }} />


Periode de validesa:

{/*

TEMPS REAL:

*/}


{ (codiSeleccionat && codiSeleccionat?.absCond === 'abs' || confecCodObj?.absCond === 'abs' ) && codiSeleccionat?.absCond !== 'cond' && <> { handleToggleAbsActiu(ev); }} /> } { (codiSeleccionat && codiSeleccionat.absCond === 'cond' || confecCodObj?.absCond === 'cond' ) && codiSeleccionat?.absCond !== 'abs' && <>

ATENCIÓ al format! (mm/dd/aaaa)

Des de: { // // console.log("dataIni: ", v.currentTarget.value); // setConfecCodObj({ // ...confecCodObj, // condIni: v.currentTarget.value // }) handleSetCondIni(v); }} defaultValue={codiSeleccionat?.condIni || confecCodObj.condIni} />
Fins a: { // console.log("dataFi: ", v.currentTarget.value); // setConfecCodObj({ // ...confecCodObj, // condFi: v.currentTarget.value // }) handleSetCondFi(v); }} defaultValue={codiSeleccionat?.condFi || confecCodObj.condFi} />
}
{!codiSeleccionat && } ; }; const today = new Date(), lastWeek = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7) ; return Carregant...} >

    { codis .map(cod =>
  • { ev.preventDefault(); ev.stopPropagation(); setCodiSeleccionat(codiSeleccionat?._id === cod._id ? null : cod); }} > { handleToggleAbsActiu(ev); }} />
    {cod.codi}
    {}
  • ) }
; };