import React, { useRef, useState, useMemo, useEffect } from "react"; import { useForm } from "react-hook-form"; import axios from "axios"; import Formation from "./Formation"; import { FaSearch, FaRegArrowAltCircleDown, FaRegArrowAltCircleUp } from 'react-icons/fa'; import { BsFillXCircleFill } from "react-icons/bs"; import { IoAddSharp, IoAtCircle } from "react-icons/io5"; import bannerimg from "../mysy_img/MYSY_banner_compte.png"; import bannerimg2 from "../mysy_img/MYSY-LOGO-BLUE.png"; import logowhite from "../mysy_img/MYSY-LOGO-WHITE.png"; import img_met_program from "../mysy_img/met_programmation.jpg"; import img_met_hotel from "../mysy_img/met_hotel.jpg"; import img_met_graphisme from "../mysy_img/metier_graphisme.jpg"; import img_met_autre from "../mysy_img/met_autre.jpg"; import img_met_digital from "../mysy_img/met_digital.jpg"; import img_met_management from "../mysy_img/met_management.jpg"; import img_met_projet from "../mysy_img/met_projet.jpg"; import img_met_market from "../mysy_img/met_market.jpg"; import img_met_autre2 from "../mysy_img/met_autre2.jpg"; import img_met_dev_perso from "../mysy_img/metier_dev_perso.jpg"; import img_met_rh from "../mysy_img/met_rh.jpg"; import img_met_bureautic from "../mysy_img/met_burautic.jpg"; import img_met_vente from "../mysy_img/met_vente.jpg"; import Pagination from "./TestPagination"; import data from "./data/mock-data.json"; import { useHistory } from "react-router-dom"; import { getCookie, removeCookie } from 'react-use-cookie'; import { Helmet } from "react-helmet"; import NosArticlesAlaUne from "./ArticlesAlaUnes"; import Drole from "./DroleVsCherchezFormation"; import { Android, NoEncryption } from "@mui/icons-material"; import AideRecherche from "./AideRecherche" import { useParams } from 'react-router-dom' import Footer_v2 from "./Fotter_v2"; import Footer from "./Fotter"; import LogoutOutlinedIcon from '@mui/icons-material/LogoutOutlined'; import Button from '@mui/material/Button'; import MenuItem from "@material-ui/core/MenuItem"; import Menu from "@material-ui/core/Menu"; import Header from "./Header"; import connect_white from "../mysy_img/connect_white_v2.png"; import connect_green from "../mysy_img/connect_green.png"; import { confirmAlert } from 'react-confirm-alert'; // Import import { useCookies } from "react-cookie"; import InputRange from 'react-input-range'; import 'react-input-range/lib/css/index.css'; import tick_ko from "../mysy_img/tick_KO.png"; import { SelectChangeEvent } from '@mui/material/Select'; import Chip from '@mui/material/Chip'; import Select, { StylesConfig } from 'react-select'; import mysy_logo2 from "../mysy_img2/Logo_MySy.png" import { AiTwotoneFolder } from "react-icons/ai"; import serv_img_market_digi from "../mysy_img/market_digi.jpg"; import serv_img_gestion_admin from "../mysy_img/gestion_admin_2.jpg"; import serv_img_publication from "../mysy_img/publication.jpg"; let PageSize = 10; const Recherche_new_v2 = () => { const { type, categorie } = useParams(); const { NewSearchText } = useParams(); const [v11, setv11] = useState(""); const [userconnected, setuserconnected] = useState("0"); const [TrainingSupport, setTrainingSupport] = useState(""); const [TrainingType, setTrainingType] = useState(""); const [TrainingCertif, setTrainingCertif] = useState(""); const [TrainingCPF, setTrainingCPF] = useState(""); const [TrainingLang, setTrainingLang] = useState(""); const [TrainingPrice, setTrainingPrice] = useState(""); const [SearchText, setSearchText] = useState(""); const [SearchcitiesText, setSearchcitiesText] = useState(""); const [result, setResult] = useState(""); const [myApiResponse, setmyApiResponse] = useState("false"); const [displayAllClasses, setdisplayAllClasses] = useState("0"); const [showelement, setshowelement] = useState("init"); const [country_code, setcountry_code] = useState(""); const [country_name, setcountry_name] = useState(""); const [city, setcity] = useState(""); const [postal, setpostal] = useState(""); const [latitude, setlatitude] = useState(""); const [longitude, setlongitude] = useState(""); const [IPv4, setIPv4] = useState(""); const [state, setstate] = useState(""); const [userIp, setuserIp] = useState(""); const [currentPage, setCurrentPage] = useState(1); const [currentPage2, setCurrentPage2] = useState(1); const [fin, setfin] = useState(0); const [ismobilephone, setismobilephone] = useState(); const [TrainingDistanciel, setTrainingDistanciel] = useState(); const textInput = useRef(null); const scrollDiv = useRef(null); const [textplaceholder, settextplaceholder] = useState(""); const [empltysearch, setempltysearch] = useState("1"); const [empltycitiessearch, setempltycitiessearch] = useState("1"); const [filtredistance, setfiltredistance] = useState("0"); const continent = ['oui', 'non']; const [selectedcontinent, setselectedcontinent] = useState(""); const [newresult, setnewresult] = useState(); const stored_user = getCookie('tokenmysych'); const history = useHistory(); const [besoinaiderecherche, setbesoinaiderecherche] = useState(""); const [istrier, setistrier] = useState(); const [selectmetier, setselectmetier] = useState(); const [initAllfiter, setinitAllfiter] = useState(); const testDivRef = useRef(null); const [partcookie, setpartCookie, removepartCookie] = useCookies(['tokenmysypart']); const inputEl = useRef(null); const url = process.env.REACT_APP_API_URL + "myclass/api/add_user_account/"; const { register, formState: { errors }, handleSubmit, watch, } = useForm(); const pwd = useRef({}); pwd.current = watch("pwd", ""); const onSubmit = async (data) => { searchFunction(); }; const [Trainingdistance, setTrainingdistance] = useState(0); const handleInput = (e) => { setTrainingdistance(e.target.value); } const [Trainingduration, setTrainingduration] = useState(0); const handleInputDuration = (e) => { setTrainingduration(e.target.value); } function showdisplayfilter(event) { if (showelement == "true") { setshowelement("false"); document.getElementById('block_partner').style.top = "5200px" document.getElementById('pieddepage_v2').style.top = "5800px" } else if (showelement == "false") { setshowelement("true"); document.getElementById('block_partner').style.top = "6300px" document.getElementById('pieddepage_v2').style.top = "6800px" } } function clearsearchtext(event) { setSearchText(""); setResult([]); document.getElementById("SearchText").value = ""; setempltysearch("1") setbesoinaiderecherche(""); settext(""); DisplayXfirstClas(); } const [suggestion2, setsuggestion2] = useState([]); const [suggestioncities, setsuggestioncities] = useState([]); function SearchTextHandle(event) { setempltysearch("0"); setSearchText(event.target.value); var val = String(event.target.value).toLocaleLowerCase(); let matches = []; // 13/01 : A faire absolument. j'ai bloqué car bug d'affichage (pas au bon endroit) /* if (String(val).length > 2) { matches = suggestedwords.filter(usr => { //alert(JSON.parse(usr).name ); const regex = new RegExp(`${val}`, "gi"); return JSON.parse(usr).name.match(regex); } ) } */ //console.log("matches = " + matches); setsuggestion2(matches); settext(event.target.value); } function SearchcitiesHandle(event) { setempltycitiessearch("0"); setSearchcitiesText(event.target.value); var val = String(event.target.value).toLocaleLowerCase().trimStart(); const regex = new RegExp(`^${val}`, "gi"); let matches = []; if (String(val).length > 2) { matches = suggestedcities.filter(usr => { return JSON.parse(usr).ville.match(regex); }) } //console.log("matches = " + matches); setsuggestioncities(matches); setcities(event.target.value); } const [v1, setv1] = useState(); const [v2, setv2] = useState(); function TrainingSupportHandle(event) { setsupportchecked("1"); var toto = ""; var filtre1 = ""; var filtre2 = ""; var filtre3 = ""; var crit_TrainingSupport = ""; var crit_TrainingSupport22 = ""; if (document.getElementById("supoort_list_derou")) { crit_TrainingSupport = document.getElementById("supoort_list_derou").value; //console.log("crit_TrainingSupport = ", crit_TrainingSupport); if (crit_TrainingSupport.length > 0) { filtre1 = result.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); setv11(filtre1); } else if (crit_TrainingSupport.length <= 0) { /* l'utilisateur a choisi d'annuler le filter */ annulefiltresupportchecked(); return; //filtre1 = result; //setv11(filtre1); } } /* if (document.querySelector('input[name="TrainingSupport"]:checked')) { crit_TrainingSupport = document.querySelector('input[name="TrainingSupport"]:checked').value; if (crit_TrainingSupport.length > 0) { filtre1 = result.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); setv11(filtre1); } else if (crit_TrainingSupport.length <= 0 || String(crit_TrainingSupport) === String("NA")) { filtre1 = result; setv11(filtre1); } } */ var crit_TrainingCertif = ""; if (document.querySelector('input[name="TrainingCertif"]:checked')) { crit_TrainingCertif = document.querySelector('input[name="TrainingCertif"]:checked').value; if (crit_TrainingCertif.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingCertif); } // recuperation du filtre du type (cours, tuto, etc) var crit_TrainingType = ""; if (document.querySelector('input[name="TrainingType"]:checked')) { crit_TrainingType = document.querySelector('input[name="TrainingType"]:checked').value; if (crit_TrainingType.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).type === crit_TrainingType); } // recuperation du filtre de la distance var crit_Trainingdistance = ""; if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { crit_Trainingdistance = document.querySelector('input[name="TrainingPresentiel"]:checked').value; if (crit_Trainingdistance.length > 0) { // filtre presentiel = 1 if (String(crit_Trainingdistance) === String("1")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.distantiel === "1"); setv11(filtre1); } else if (String(crit_Trainingdistance) === String("0")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.presentiel === "1"); setv11(filtre1); } } } // Recup du filtre de prix var crit_TrainingPrice = range_price.min + ":" + range_price.max; if (range_price.min && range_price.max) { filtre1 = filtre1.filter((maformation) => Number(JSON.parse(maformation).price) >= Number(range_price.min) && Number(JSON.parse(maformation).price) <= Number(range_price.max) ); setv11(filtre1); } setnewresult(filtre1); //alert("crit_TrainingCertif = " + crit_TrainingCertif + " ET crit_TrainingSupport = " + crit_TrainingSupport + " ET crit_TrainingType = " + crit_TrainingType); //console.log("############################ filtre1 = " + filtre1); setCurrentPage2(1); //console.log(" ????????????????????????????filtre2 = "+filtre2); } function TrainingCertifHandle(event) { var ele = document.querySelector('input[name="TrainingCertif"]:checked').value var toto = ""; var filtre1 = ""; var filtre2 = ""; var filtre3 = ""; setcertifchecked(""); var crit_TrainingCertif = ""; if (document.querySelector('input[name="TrainingCertif"]:checked')) { setcertifchecked("1"); crit_TrainingCertif = document.querySelector('input[name="TrainingCertif"]:checked').value if (crit_TrainingCertif.length > 0) { //alert(" laa = " + crit_TrainingCertif); //console.log(result) filtre1 = result.filter((maformation) => String(JSON.parse(maformation).certif) === String(crit_TrainingCertif)); setv11(filtre1); } } else { filtre1 = result; setv11(filtre1); } /* // recuperation du filtre du support var crit_TrainingSupport = ""; if (document.querySelector('input[name="TrainingSupport"]:checked')) { crit_TrainingSupport = document.querySelector('input[name="TrainingSupport"]:checked').value if (crit_TrainingSupport.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); } */ // recuperation du filtre du support var crit_TrainingSupport = ""; if (document.getElementById("supoort_list_derou")) { crit_TrainingSupport = document.getElementById("supoort_list_derou").value; if (crit_TrainingSupport.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); } // recuperation du filtre du CPF var crit_TrainingCPF = ""; if (document.querySelector('input[name="TrainingCPF"]:checked')) { crit_TrainingCPF = document.querySelector('input[name="TrainingCPF"]:checked').value if (crit_TrainingCPF.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).cpf === crit_TrainingCPF); } // recuperation du filtre du type var crit_TrainingType = ""; if (document.querySelector('input[name="TrainingType"]:checked')) { crit_TrainingType = document.querySelector('input[name="TrainingType"]:checked').value if (crit_TrainingType.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingType); } // recuperation du filtre de la distance var crit_Trainingdistance = ""; if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { crit_Trainingdistance = document.querySelector('input[name="TrainingPresentiel"]:checked').value if (crit_Trainingdistance.length > 0) { // filtre presentiel = 1 if (String(crit_Trainingdistance) === String("1")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.distantiel === "1"); setv11(filtre1); } else if (String(crit_Trainingdistance) === String("0")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.presentiel === "1"); setv11(filtre1); } } } // Recup du filtre de prix var crit_TrainingPrice = range_price.min + ":" + range_price.max; if (range_price.min && range_price.max) { filtre1 = filtre1.filter((maformation) => Number(JSON.parse(maformation).price) >= Number(range_price.min) && Number(JSON.parse(maformation).price) <= Number(range_price.max) ); setv11(filtre1); } setnewresult(filtre1); //alert("crit_TrainingCertif = " + crit_TrainingCertif + " ET crit_TrainingSupport = " + crit_TrainingSupport + " ET crit_TrainingType = " + crit_TrainingType); //console.log("############################ filtre1 = " + filtre1); setCurrentPage2(1); //console.log(" ????????????????????????????filtre2 = "+filtre2); return; } // Pour le CPF const [cpfchecked, setcpfchecked] = useState(); function TrainingCPFHandle(event) { var ele = document.querySelector('input[name="TrainingCPF"]:checked').value var myelement; if (document.getElementById('rech_middlebox')) { myelement = document.getElementById('rech_middlebox'); } var toto = ""; var filtre1 = ""; var filtre2 = ""; var filtre3 = ""; setcpfchecked(""); var crit_TrainingCPF = ""; if (document.querySelector('input[name="TrainingCPF"]:checked')) { setcpfchecked("1"); crit_TrainingCPF = document.querySelector('input[name="TrainingCPF"]:checked').value if (crit_TrainingCPF.length > 0) { //alert(" crit_TrainingCPF = " + crit_TrainingCPF); filtre1 = result.filter((maformation) => String(JSON.parse(maformation).cpf) === String(crit_TrainingCPF)); setv11(filtre1); //console.log(" #### ",filtre1); } } else { filtre1 = result; setv11(filtre1); } // recuperation du filtre du certificat var crit_TrainingCertif = ""; if (document.querySelector('input[name="TrainingCertif"]:checked')) { crit_TrainingCertif = document.querySelector('input[name="TrainingCertif"]:checked').value if (crit_TrainingCertif.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingCertif); } // recuperation du filtre du support var crit_TrainingSupport = ""; if (document.getElementById("supoort_list_derou")) { crit_TrainingSupport = document.getElementById("supoort_list_derou").value; if (crit_TrainingSupport.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); } // recuperation du filtre du type var crit_TrainingType = ""; if (document.querySelector('input[name="TrainingType"]:checked')) { crit_TrainingType = document.querySelector('input[name="TrainingType"]:checked').value if (crit_TrainingType.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingType); } // recuperation du filtre de la distance var crit_Trainingdistance = ""; if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { crit_Trainingdistance = document.querySelector('input[name="TrainingPresentiel"]:checked').value if (crit_Trainingdistance.length > 0) { // filtre presentiel = 1 if (String(crit_Trainingdistance) === String("1")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.distantiel === "1"); setv11(filtre1); } else if (String(crit_Trainingdistance) === String("0")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.presentiel === "1"); setv11(filtre1); } } } // Recup du filtre de prix var crit_TrainingPrice = range_price.min + ":" + range_price.max; if (range_price.min && range_price.max) { filtre1 = filtre1.filter((maformation) => Number(JSON.parse(maformation).price) >= Number(range_price.min) && Number(JSON.parse(maformation).price) <= Number(range_price.max) ); setv11(filtre1); } setnewresult(filtre1); //alert("crit_TrainingCertif = " + crit_TrainingCertif + " ET crit_TrainingSupport = " + crit_TrainingSupport + " ET crit_TrainingType = " + crit_TrainingType); //console.log("############################ filtre1 = " + filtre1); setCurrentPage2(1); //console.log(" ????????????????????????????filtre2 = "+filtre2); if (myelement) { myelement.scrollIntoView({ behavior: 'smooth' }); } return; } // END PR CPF function TrainingTypeHandle(event) { settypechecked("1"); var toto = ""; var filtre1 = ""; var filtre2 = ""; var filtre3 = ""; var myelement; if (document.getElementById('rech_middlebox')) { myelement = document.getElementById('rech_middlebox'); } var crit_TrainingPrice = ""; var crit_TrainingType = ""; if (document.querySelector('input[name="TrainingType"]:checked')) { crit_TrainingType = document.querySelector('input[name="TrainingType"]:checked').value if (crit_TrainingType.length > 0) { filtre1 = result.filter((maformation) => JSON.parse(maformation).type === crit_TrainingType); setv11(filtre1); } } else { filtre1 = result; setv11(filtre1); } // recuperation du filtre du support var crit_TrainingSupport = ""; if (document.getElementById("supoort_list_derou")) { crit_TrainingSupport = document.getElementById("supoort_list_derou").value; if (crit_TrainingSupport.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); } // recuperation du filtre du CPF var crit_TrainingCPF = ""; if (document.querySelector('input[name="TrainingCPF"]:checked')) { crit_TrainingCPF = document.querySelector('input[name="TrainingCPF"]:checked').value if (crit_TrainingCPF.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).cpf === crit_TrainingCPF); } // recuperation du filtre du certificat var crit_TrainingCertif = ""; if (document.querySelector('input[name="TrainingCertif"]:checked')) { crit_TrainingCertif = document.querySelector('input[name="TrainingCertif"]:checked').value if (crit_TrainingCertif.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingCertif); } // recuperation du filtre de la distance var crit_Trainingdistance = ""; if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { crit_Trainingdistance = document.querySelector('input[name="TrainingPresentiel"]:checked').value if (crit_Trainingdistance.length > 0) { // filtre presentiel = 1 if (String(crit_Trainingdistance) === String("1")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.distantiel === "1"); setv11(filtre1); } else if (String(crit_Trainingdistance) === String("0")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.presentiel === "1"); setv11(filtre1); } } } // Recup du filtre de prix var crit_TrainingPrice = range_price.min + ":" + range_price.max; if (range_price.min && range_price.max) { filtre1 = filtre1.filter((maformation) => Number(JSON.parse(maformation).price) >= Number(range_price.min) && Number(JSON.parse(maformation).price) <= Number(range_price.max) ); setv11(filtre1); } setnewresult(filtre1); //alert("crit_TrainingCertif = " + crit_TrainingCertif + " ET crit_TrainingSupport = " + crit_TrainingSupport + " ET crit_TrainingType = " + crit_TrainingType); //console.log("############################ filtre1 = " + filtre1); setCurrentPage2(1); //console.log(" ????????????????????????????filtre2 = "+filtre2); if (myelement) { // 👇 Will scroll smoothly to the top of the next section myelement.scrollIntoView({ behavior: 'smooth' }); } return; } function TrainingLangHandle(event) { setTrainingLang(event.target.value); alert("newresult newresultnewresultnewresult = " + newresult); } function TrainingPriceHandle(event) { var crit_TrainingPrice = range_price.min + ":" + range_price.max; setTrainingPrice(event.target.value); var toto = ""; var filtre1 = ""; var crit_TrainingPrice = range_price.min + ":" + range_price.max; var myprices = crit_TrainingPrice.split(':'); if (range_price.min && range_price.max) { filtre1 = result.filter((maformation) => Number(JSON.parse(maformation).price) >= Number(range_price.min) && Number(JSON.parse(maformation).price) <= Number(range_price.max) ); //console.log(" PRICEEEEEEEEEEEEEEEE = "+filtre1); setv11(filtre1); } else { //alert(" Annulation du filtre prix"); filtre1 = result; setv11(filtre1); } // Recuperation des autres filtres. // recuperation du filtre du support var crit_TrainingSupport = ""; if (document.getElementById("supoort_list_derou")) { crit_TrainingSupport = document.getElementById("supoort_list_derou").value; if (crit_TrainingSupport.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); } // recuperation du filtre du CPF var crit_TrainingCPF = ""; if (document.querySelector('input[name="TrainingCPF"]:checked')) { crit_TrainingCPF = document.querySelector('input[name="TrainingCPF"]:checked').value if (crit_TrainingCPF.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).cpf === crit_TrainingCPF); } // recuperation du filtre du certification var crit_TrainingCertif = ""; if (document.querySelector('input[name="TrainingCertif"]:checked')) { crit_TrainingCertif = document.querySelector('input[name="TrainingCertif"]:checked').value; if (crit_TrainingCertif.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingCertif); } // recuperation du filtre du type (cours, tuto, etc) var crit_TrainingType = ""; if (document.querySelector('input[name="TrainingType"]:checked')) { crit_TrainingType = document.querySelector('input[name="TrainingType"]:checked').value; if (crit_TrainingType.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).type === crit_TrainingType); } // recuperation du filtre de la distance var crit_Trainingdistance = ""; if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { crit_Trainingdistance = document.querySelector('input[name="TrainingPresentiel"]:checked').value; if (crit_Trainingdistance.length > 0) { // filtre presentiel = 1 if (String(crit_Trainingdistance) === String("1")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.distantiel === "1"); setv11(filtre1); } else if (String(crit_Trainingdistance) === String("0")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.presentiel === "1"); setv11(filtre1); } } } setnewresult(filtre1); setCurrentPage2(1); } // Traitement du filtre presentiel / distantiel function TrainingDistancielHandle(event) { isonsite(); setlieuchecked("1"); var toto = ""; var filtre1 = ""; var filtre0 = []; var filtre01 = []; var my_ville = ""; var my_cp = ""; if (document.getElementById("ville")) { my_ville = crit_TrainingSupport = document.getElementById("ville").value; my_ville = my_ville.trim(); } if (document.getElementById("zip_code")) { my_cp = crit_TrainingSupport = document.getElementById("zip_code").value; my_cp = my_cp.trim(); } var crit_Trainingdistance = ""; // Recuperation du filtre principale modifié dans ce event (distance) if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { crit_Trainingdistance = document.querySelector('input[name="TrainingPresentiel"]:checked').value; //alert("crit_Trainingdistance = " + crit_Trainingdistance); if (crit_Trainingdistance.length > 0) { // filtre presentiel = 1 if (String(crit_Trainingdistance) === String("1")) { filtre1 = result.filter((maformation) => JSON.parse(maformation).presentiel.distantiel === "1"); setv11(filtre1); } else if (String(crit_Trainingdistance) === String("0")) { filtre1 = result.filter((maformation) => JSON.parse(maformation).presentiel.presentiel === "1"); // Traitement du nom de la ville if (my_ville.length > 3) { var filtre2 = filtre1.map(obj => { if (JSON.parse(obj).datelieu) { var tmp = JSON.parse(obj).datelieu.length var i = 0; while (i < tmp) { //console.log(JSON.parse(obj).datelieu[i]); //console.log(" ville =" + JSON.parse(obj).datelieu[i].ville) if (JSON.parse(obj).datelieu[i].ville === my_ville) { return obj } i++; } } }); var filtre3 = filtre2.filter(function (element) { return element !== undefined; }); filtre1 = filtre3; } // Traitement du zip code if (my_cp.length > 2) { var filtre2 = filtre1.map(obj => { if (JSON.parse(obj).datelieu) { var tmp = JSON.parse(obj).datelieu.length var i = 0; while (i < tmp) { //console.log(JSON.parse(obj).datelieu[i]); //console.log(" ville =" + JSON.parse(obj).datelieu[i].ville) if (JSON.parse(obj).datelieu[i].code_postal.startsWith(my_cp)) { return obj } i++; } } }); var filtre3 = filtre2.filter(function (element) { return element !== undefined; }); filtre1 = filtre3; } setv11(filtre1); } else if (String(crit_Trainingdistance) === String("NA")) { filtre1 = result; setv11(filtre1); } } else if (crit_Trainingdistance.length <= 0) { filtre1 = result; setv11(filtre1); } } /* Recuperation des autres filtres */ // recuperation du filtre du support var crit_TrainingSupport = ""; if (document.getElementById("supoort_list_derou")) { crit_TrainingSupport = document.getElementById("supoort_list_derou").value; if (crit_TrainingSupport.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); } // recuperation du filtre du certification var crit_TrainingCertif = ""; if (document.querySelector('input[name="TrainingCertif"]:checked')) { crit_TrainingCertif = document.querySelector('input[name="TrainingCertif"]:checked').value; if (crit_TrainingCertif.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingCertif); } // recuperation du filtre du CPF var crit_TrainingCPF = ""; if (document.querySelector('input[name="TrainingCPF"]:checked')) { crit_TrainingCPF = document.querySelector('input[name="TrainingCPF"]:checked').value if (crit_TrainingCPF.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).cpf === crit_TrainingCPF); } // recuperation du filtre du type (cours, tuto, etc) var crit_TrainingType = ""; if (document.querySelector('input[name="TrainingType"]:checked')) { crit_TrainingType = document.querySelector('input[name="TrainingType"]:checked').value; if (crit_TrainingType.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).type === crit_TrainingType); } // Recup du filtre de prix var crit_TrainingPrice = range_price.min + ":" + range_price.max; if (range_price.min && range_price.max) { filtre1 = filtre1.filter((maformation) => Number(JSON.parse(maformation).price) >= Number(range_price.min) && Number(JSON.parse(maformation).price) <= Number(range_price.max) ); setv11(filtre1); } setnewresult(filtre1); setCurrentPage2(1); } function displayAllClassesHandle(event) { setdisplayAllClasses(event.target.checked); if (event.target.checked == true) document.getElementById("SearchText").disabled = true; else document.getElementById("SearchText").disabled = false; } const [suggestedwords, setsuggestedwords] = useState([]); const [texte, settext] = useState(""); const [cities, setcities] = useState(""); const [suggestedcities, setsuggestedcities] = useState([]); useEffect(() => { var ip = ""; async function fetchData() { const result = await axios('https://geolocation-db.com/json/',); setuserIp(result.data.IPv4); setcountry_code(result.data.country_code); setcountry_name(result.data.country_name); setcity(result.data.city); setpostal(result.data.postal); setlatitude(result.data.latitude); setlongitude(result.data.longitude); setIPv4(result.data.IPv4); setstate(result.data.state); setuserIp(result.data.IPv4); let windowWidth = window.innerWidth; if (showelement === "init") { if (windowWidth < 601) { setismobilephone(true); setshowelement("false"); settextplaceholder("Plus de 10 000 formations (gratuites, payantes...)"); } else if (windowWidth >= 601) { setismobilephone(false); setshowelement("true"); //settextplaceholder("Ex : graphiste ...sur plus de 10 000 formations (gratuites, payantes,..)"); settextplaceholder("Recherche par Titre, Description, Contenu video ... sur plus de 10 000 formations (gratuites, payantes,..)"); } } if (categorie && String(categorie).length > 0) { getClassByMetier_categorie(categorie); } else { DisplayXfirstClas(result.data); } } fetchData(); async function loadSuggestedWord() { var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Suggested_Word/"; //alert(" URL = "+process.env.REACT_APP_API_URL + "myclass/api/Get_Suggested_Word/"); //console.log(" ### URL ##### = "+process.env.REACT_APP_API_URL + "myclass/api/Get_Suggested_Word/"); var form = new FormData(); fetch( process.env.REACT_APP_API_URL + "myclass/api/Get_Suggested_Word/", { method: 'POST', } ).then((response) => response.json()) .then((result) => { //console.log('Success:', result['message']); setsuggestedwords(result['message']); }) .catch((error) => { console.error('Error:'); }); } loadSuggestedWord(); async function loadSuggestedFrCities() { fetch( process.env.REACT_APP_API_URL + "myclass/api/Get_Suggested_Fr_Cities/", { method: 'POST', } ).then((response) => response.json()) .then((result) => { //console.log(' loadSuggestedFrCities CITIES = Success:', result['message']); setsuggestedcities(result['message']); //console.log(" CITIES = " + result['message']); }) .catch((error) => { console.error('Error:'); }); } loadSuggestedFrCities(); async function loadDomainMetier() { var form = new FormData(); fetch( process.env.REACT_APP_API_URL + "myclass/api/get_List_domaine_metier/", { method: 'POST', } ).then((response) => response.json()) .then((result) => { //console.log('### loadDomainMetier Success:', result['message']); setdomaine_metier(result['message']); var tab = []; result.message.map(obj => { if (JSON.parse(obj).label) { var month = {}; month.label = JSON.parse(obj).label; month.value = JSON.parse(obj).value; month.domaine = JSON.parse(obj).domaine; tab.push({ ...month }); } }); setdomaine_v11(tab); setdomaine_v11_orig(tab); setdomaine_metier(tab); setdomaine_metier_orig(tab); }) .catch((error) => { console.error('Error:', error); }); } //loadDomainMetier(); async function loadDomain() { var form = new FormData(); fetch( process.env.REACT_APP_API_URL + "myclass/api/get_List_domaine_formation/", { method: 'POST', } ).then((response) => response.json()) .then((result) => { //console.log('### loadDomainMetier Success:', result['message']); setdomaine_metier(result['message']); }) .catch((error) => { console.error('loadDomain :', error); }); } loadDomain(); const listener = event => { if (event.code === "Enter" || event.code === "NumpadEnter") { event.preventDefault(); searchFunction(); } }; document.addEventListener("keydown", listener); if (typeof (stored_user) === "undefined" || String(stored_user) === '') { setuserconnected("0"); } else { setuserconnected("1"); } setinitAllfiter(); whosisconnected(); }, [initAllfiter, categorie]); // Cette fonction reinitialise les filtres function InitAllfilters() { //document.getElementById("TrainingCertif").selectedv = 0; const $select = document.querySelector('#TrainingCertif'); $select.value = '' const $select2 = document.querySelector('#TrainingSupport'); $select2.value = '' const $select3 = document.querySelector('#TrainingType'); $select3.value = '' const $select4 = document.querySelector('#TrainingPresentiel'); $select4.value = 'NA' const $select5 = document.querySelector('#TrainingPrice'); $select5.value = 'NA' } function DisplayClassByDomainFilter() { var tab_domaine = list_domaine.split(";") //console.log("tab_domaine = ", tab_domaine) if (tab_domaine.length <= 0) { setdomaine_v11(domaine_v11_orig); DisplayXfirstClas(); return; } } const handleChangeMetier = (event) => { var local_list_metier = "" for (let i = 0; i < event.length; i++) { const label = event[i].label; const value = event[i].value; local_list_metier += value + ";" } //console.log(" ### local_list_metier = ",local_list_metier); setlist_metier(local_list_metier); //TrainingMetierHandle(); // Verification si on a une valeur if (event.length > 0 && local_list_metier.trim().length > 0) { getClassByMetier(local_list_metier); } else { DisplayClassByDomainFilter(); } } const [domaine_metier, setdomaine_metier] = useState([]); const [domaine_metier_orig, setdomaine_metier_orig] = useState([]); const [domaine_formation, setdomaine_formation] = useState([]); const [domaine_v11, setdomaine_v11] = useState(""); const [domaine_v11_orig, setdomaine_v11_orig] = useState(""); const [list_domaine, setlist_domaine] = useState(""); const [list_metier, setlist_metier] = useState(""); const handleChangeDomaine = (event) => { if (event.length <= 0) { setdomaine_v11(domaine_v11_orig); DisplayXfirstClas(); return; } //console.log(domaine_metier); //console.log(" taille =" + event.length); //console.log(domaine_v11_orig); var tt = domaine_v11_orig; var dump = []; var local_list_domaine = "" for (let i = 0; i < event.length; i++) { const label = event[i].label; const value = event[i].value; local_list_domaine += value + ";" tt = domaine_v11_orig.filter((maformation) => maformation.domaine === String(value)); //console.log(" TT = ", tt); for (let i2 = 0; i2 < tt.length; i2++) { //console.log(" push de ", tt[i2]) dump.push(tt[i2]); } setlist_domaine(local_list_domaine); setdomaine_v11(dump); } getClassByDomaine(local_list_domaine); } const currentTableData2 = useMemo(() => { if (newresult) { const firstPageIndex = (currentPage2 - 1) * PageSize; const lastPageIndex = firstPageIndex + PageSize; setfin(1); return newresult.slice(firstPageIndex, lastPageIndex); } if (result) { const firstPageIndex = (currentPage2 - 1) * PageSize; const lastPageIndex = firstPageIndex + PageSize; setfin(1); return result.slice(firstPageIndex, lastPageIndex); } else { return []; setfin(0); } }, [currentPage2]); function searchFunction(e) { // Nettoyage du resultat precedent. setResult([]); var crit_TrainingSupport = ""; var crit_TrainingType = ""; var crit_TrainingCertif = ""; var crit_TrainingLang = ""; var crit_TrainingPresentiel = ""; var crit_TrainingPrice = ""; var crit_TrainingDuration = ""; var my_ville = ""; var my_cp = ""; var my_domaine = ""; if (document.getElementById("searchdomain")) my_domaine = document.getElementById("searchdomain").value; //Get Criterias var crit_SearchText = document.getElementById("SearchText").value; if (document.getElementById("TrainingSupport")) crit_TrainingSupport = document.getElementById("TrainingSupport").value; if (document.getElementById("TrainingType")) crit_TrainingType = document.getElementById("TrainingType").value; if (document.getElementById("TrainingCertif")) crit_TrainingCertif = document.getElementById("TrainingCertif").value; if (crit_TrainingCertif.length == 0) crit_TrainingCertif = "NA"; if (document.getElementById("TrainingLang")) crit_TrainingLang = document.getElementById("TrainingLang").value; if (document.getElementById("TrainingPresentiel")) crit_TrainingPresentiel = document.getElementById("TrainingPresentiel").value; if (document.getElementById("TrainingPrice")) crit_TrainingPrice = document.getElementById("TrainingPrice").value; if (document.getElementById("duration")) crit_TrainingDuration = document.getElementById("duration").value; if (document.getElementById("ville")) { my_ville = crit_TrainingSupport = document.getElementById("ville").value; } if (document.getElementById("zip_code")) { my_cp = crit_TrainingSupport = document.getElementById("zip_code").value; } var crit_Trainingdistance = Trainingdistance; //console.log(" my_domaine = ", my_domaine); /*console.log('SearchText = ' + crit_SearchText + ' - TrainingSupport = ' + crit_TrainingSupport + ' - TrainingType = ' + crit_TrainingType + ' - TrainingCertif ' + crit_TrainingCertif + " Langue = " + crit_TrainingLang + " TrainingPrice = " + crit_TrainingPrice + " - Distance = " + crit_Trainingdistance + " -- Presentiel :" + crit_TrainingPresentiel + " - Duration = " + crit_TrainingDuration + " - stored_user_cookie = " + stored_user);*/ var form = new FormData(); form.append("search_text", crit_SearchText); form.append("token", stored_user); form.append("certif", crit_TrainingCertif); form.append("support", crit_TrainingSupport); form.append("type", crit_TrainingType); form.append("lang", crit_TrainingLang); form.append("price", crit_TrainingPrice); form.append("distance", crit_Trainingdistance); form.append("duration", crit_TrainingDuration); // Ajout des info IP user form.append("user_ip", IPv4); form.append("user_country_code", country_code); form.append("user_country_name", country_name); form.append("user_city", city); form.append("user_postal", postal); form.append("user_latitude", latitude); form.append("user_longitude", longitude); form.append("user_state", state); var myurl = "" if (displayAllClasses == true) { myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_class/"; } else { myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_text_simple/"; } //alert("myurl = "+myurl); axios.post(myurl, form).then(res => { if (String(res.data.status) != String("false")) { //console.log(" In test res.data.status = " + res.data.status); //console.log(" In test res.data.message = " + res.data.message); setmyApiResponse("True"); setResult(res.data.message) //Verification si le resutlat est vide if (res.data.message.length <= 0) { setbesoinaiderecherche("1"); } /*if (scrollDiv.current) { scrollDiv.current.scrollIntoView({ behavior: "smooth" }); }*/ var myelement; if (document.getElementById('rech_middlebox')) { myelement = document.getElementById('rech_middlebox'); } if (myelement) { myelement.scrollIntoView({ behavior: 'smooth' }); } } else { //console.log(" In test res.data.status = " + res.data.status); //console.log(" In test res.data.message = " + res.data.message); setmyApiResponse("False"); //setmyApimyApiMessage("") //textInput.current.focus(); } }).catch((error) => { // console.warn('Not good man :( mysearchtext = '); setmyApiResponse("False"); //setmyApimyApiMessage("") }) // window.scrollTo(0, 600); } // Cette fonction affiche les X premieres formations function DisplayXfirstClas(ip) { // Nettoyage du resultat precedent. setResult([]); //Get Criterias var crit_SearchText = ""; var myurl = ""; if (typeof (NewSearchText) === "undefined" || String(NewSearchText) === '') { crit_SearchText = ""; myurl = process.env.REACT_APP_API_URL + "myclass/api/get_all_class/"; } else { clearsearchtext(); crit_SearchText = NewSearchText; myurl = process.env.REACT_APP_API_URL + "myclass/api/recherche_text_simple/"; } //alert(" crit_SearchText = " + crit_SearchText+" myurl = "+myurl); var form = new FormData(); form.append("search_text", crit_SearchText); form.append("token", ""); form.append("certif", ""); form.append("support", ""); form.append("type", ""); form.append("lang", ""); form.append("price", ""); form.append("distance", ""); form.append("duration", ""); form.append("cpf", ""); // Ajout des info IP user if (ip) { //console.log(" ### with IP"); form.append("user_ip", ip.IPv4); form.append("user_country_code", ip.country_code); form.append("user_country_name", ip.country_name); form.append("user_city", ip.city); form.append("user_postal", ip.postal); form.append("user_latitude", ip.latitude); form.append("user_longitude", ip.longitude); form.append("user_state", ip.state); } else { //console.log(" ### with OUT IP"); form.append("user_ip", IPv4); form.append("user_country_code", country_code); form.append("user_country_name", country_name); form.append("user_city", city); form.append("user_postal", postal); form.append("user_latitude", latitude); form.append("user_longitude", longitude); form.append("user_state", state); } //alert("myurl = "+myurl); axios.post(myurl, form).then(res => { if (String(res.data.status) != String("false")) { //console.log(" In test res.data.status = " + res.data.status); //console.log(" In DisplayXfirstClas res.data.message = " + res.data.message); setmyApiResponse("True"); setResult(res.data.message) // textInput.current.focus(); setbesoinaiderecherche(""); } else { //console.log(" In test res.data.status = " + res.data.status); //console.log(" In test res.data.message = " + res.data.message); setmyApiResponse("False"); //setmyApimyApiMessage("") //textInput.current.focus(); } }).catch((error) => { // console.warn('Not good man :( mysearchtext = '); setmyApiResponse("False"); //setmyApimyApiMessage("") }) } function trier(e) { setistrier(); var trierpar = "" if (document.getElementById("trierpar")) trierpar = document.getElementById("trierpar").value; if (String(trierpar) === String("duration")) { setCurrentPage2(1); setCurrentPage(1); if (typeof (newresult) === "undefined" || String(newresult) === '') { //console.log(" AVANT TRIE : [0].duration = " + JSON.parse(result[0]).duration + " - [1].duration = " + JSON.parse(result[1]).duration) result.sort(function (a, b) { return JSON.parse(a).duration - JSON.parse(b).duration; }); //console.log("APRES TRIE : [0].duration = " + JSON.parse(result[0]).duration + " - [1].duration = " + JSON.parse(result[1]).duration) setistrier("1"); } else if (typeof (newresult) !== "undefined" || newresult.length > 0) { newresult.sort(function (a, b) { return JSON.parse(a).duration - JSON.parse(b).duration; }); } } else if (String(trierpar) === String("price")) { setCurrentPage2(1); if (typeof (newresult) === "undefined" || String(newresult) === '') { //console.log(" AVANT TRIE : [0].price = " + JSON.parse(result[0]).price + " - [1].price = " + JSON.parse(result[1]).price); result.sort(function (a, b) { return JSON.parse(a).price - JSON.parse(b).price; }); //console.log("APRES TRIE : [0].price = " + JSON.parse(result[0]).price + " - [1].price = " + JSON.parse(result[1]).price); setistrier("2"); } else if (typeof (newresult) !== "undefined" || newresult.length > 0) { newresult.sort(function (a, b) { return JSON.parse(a).price - JSON.parse(b).price; }); } } else if (String(trierpar) === String("note")) { setCurrentPage2(1); if (typeof (newresult) === "undefined" || String(newresult) === '') { //console.log(" AVANT TRIE : [0].price = " + JSON.parse(result[0]).price + " - [1].price = " + JSON.parse(result[1]).price); result.sort(function (a, b) { return JSON.parse(b).note - JSON.parse(a).note; }); //console.log("APRES TRIE : [0].price = " + JSON.parse(result[0]).price + " - [1].price = " + JSON.parse(result[1]).price); setistrier("2"); } else if (typeof (newresult) !== "undefined" || newresult.length > 0) { newresult.sort(function (a, b) { return JSON.parse(b).note - JSON.parse(a).note; }); } } } function getClassByMetier_categorie(mycate) { var mymetier = mycate; // Nettoyage du resultat precedent. setResult([]); var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_class_by_metier/"; /*if (mymetier === "tout") { //alert(" tout et sortir"); setinitAllfiter("1"); return; }*/ var form = new FormData(); form.append("metier", mymetier); form.append("token", ""); //alert("myurl = "+myurl); axios.post(myurl, form).then(res => { if (String(res.data.status) != String("false")) { setmyApiResponse("True"); setResult(res.data.message) //textInput.current.focus(); setbesoinaiderecherche(""); setnewresult(""); //console.log(" In getClassByMetier res.data.status = " + res.data.status); //console.log(" In getClassByMetier res.data.message = " + res.data.message); //setnewresult(res.data.message); setCurrentPage2(1); if (scrollDiv.current) { scrollDiv.current.scrollIntoView({ behavior: "smooth" }); } // reinitialisation de tous les filtre //setmyApimyApiMessage("OK") //console.log("taille = "+res.data.message.length); } else { //console.log(" In getClassByMetier res.data.status = " + res.data.status); //console.log(" In getClassByMetier res.data.message = " + res.data.message); setmyApiResponse("False"); //setmyApimyApiMessage("") //textInput.current.focus(); } }).catch((error) => { console.warn(' getClassByMetier : Not good man :( mysearchtext = '); setmyApiResponse("False"); //setmyApimyApiMessage("") }) } function getClassByDomaine(List_Domaine) { // Nettoyage du resultat precedent. setResult([]); var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_class_by_domaine/"; /*if (mymetier === "tout") { //alert(" tout et sortir"); setinitAllfiter("1"); return; }*/ var form = new FormData(); form.append("domaine", List_Domaine); form.append("token", ""); //alert("myurl = "+myurl); axios.post(myurl, form).then(res => { if (String(res.data.status) != String("false")) { setmyApiResponse("True"); setResult(res.data.message) //textInput.current.focus(); setbesoinaiderecherche(""); setnewresult(""); //console.log(" In getClassByDomaine res.data.status = " + res.data.status); //console.log(" In getClassByDomaine res.data.message = " + res.data.message); //setnewresult(res.data.message); setCurrentPage2(1); if (scrollDiv.current) { scrollDiv.current.scrollIntoView({ behavior: "smooth" }); } // reinitialisation de tous les filtre //setmyApimyApiMessage("OK") //console.log("taille = "+res.data.message.length); } else { //console.log(" In getClassByMetier res.data.status = " + res.data.status); //console.log(" In getClassByMetier res.data.message = " + res.data.message); setmyApiResponse("False"); //setmyApimyApiMessage("") //textInput.current.focus(); } }).catch((error) => { console.warn(' getClassByMetier : Not good man :( mysearchtext = '); setmyApiResponse("False"); //setmyApimyApiMessage("") }) } function ReinitFilters() { // Reinitialisation des filtre annulefiltrecertif(); annulefiltresupportchecked(); annulefiltretypechecked(); annulefiltrelieuchecked(); annulefiltrecpf(); } function getClassByMetier(my_liste_metier) { var myelement; if (document.getElementById('rech_middlebox')) { myelement = document.getElementById('rech_middlebox'); } var check_metier = ""; if (document.querySelector('input[name="metier_radio"]:checked')) { check_metier = document.querySelector('input[name="metier_radio"]:checked').value; } ReinitFilters(); if (check_metier === "tout") { //alert(" tout et sortir"); setdomaine_v11(domaine_v11_orig); DisplayXfirstClas(); if (myelement) { // 👇 Will scroll smoothly to the top of the next section myelement.scrollIntoView({ behavior: 'smooth' }); } return; } // Nettoyage du resultat precedent. setResult([]); var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_class_by_metier/"; var form = new FormData(); form.append("metier", check_metier); form.append("token", ""); //console.log(" recherif pour metier ", check_metier); //alert("myurl = "+myurl); axios.post(myurl, form).then(res => { if (String(res.data.status) != String("false")) { setmyApiResponse("True"); setResult(res.data.message) //textInput.current.focus(); setbesoinaiderecherche(""); setnewresult(""); //console.log(" In getClassByMetier res.data.status = " + res.data.status); //console.log(" In getClassByMetier res.data.message = " + res.data.message); //setnewresult(res.data.message); setCurrentPage2(1); if (scrollDiv.current) { scrollDiv.current.scrollIntoView({ behavior: "smooth" }); } // reinitialisation de tous les filtre //setmyApimyApiMessage("OK") //console.log("taille = "+res.data.message.length); } else { //console.log(" In getClassByMetier res.data.status = " + res.data.status); //console.log(" In getClassByMetier res.data.message = " + res.data.message); setmyApiResponse("False"); //setmyApimyApiMessage("") //textInput.current.focus(); } }).catch((error) => { console.warn(' getClassByMetier : Not good man :( mysearchtext = '); setmyApiResponse("False"); //setmyApimyApiMessage("") }) //console.log(" ICI MOVE TO "); if (myelement) { // 👇 Will scroll smoothly to the top of the next section myelement.scrollIntoView({ behavior: 'smooth' }); } } const [PartnerMenu, setPartnerMenu] = React.useState(null); const [AccountMenu, setAccountMenu] = React.useState(null); const [ProduitMenu, setproduitMenu] = React.useState(null); const [AvisMenu, setavisMenu] = React.useState(null); const PartnerMenu_Close = () => { setPartnerMenu(null); }; const AccountMenu_Close = () => { setAccountMenu(null); }; const ProduitMenu_Close = () => { setproduitMenu(null); }; const handlePartnerMenu = (event) => { setPartnerMenu(event.currentTarget); }; const handleAccountMenu = (event) => { setAccountMenu(event.currentTarget); }; const handleProduitMenu = (event) => { setproduitMenu(event.currentTarget); }; const handleClose_Account = () => { //alert(" my account"); setAccountMenu(null); }; const handleBlogMenu = (event) => { setproduitMenu(event.currentTarget); history.push("/Recherche-Article-formation") }; const handleAccountConnexion = () => { setAccountMenu(null); history.push("/Connexion") }; const handleMyAccount = () => { setAccountMenu(null); history.push("/mysy-user-account") }; const handleMyPartnerAccount = () => { setAccountMenu(null); history.push("/Partner") }; const handleAccountCreation = () => { setAccountMenu(null); history.push("/create_account") }; const handlePartnerConnexion = () => { setAccountMenu(null); history.push("/PartnerLogin") }; const handleProduitService = () => { setproduitMenu(null); history.push("/Produits-Services/") }; const handleAvis = () => { setavisMenu(null); history.push("/Recherche-Article-formation") }; function test() { alert(" coucou"); } const [someoneconnected, setsomeoneconnected] = useState("0"); const [partnerconnected, setpartnerconnected] = useState("0"); const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']); const stored_part = getCookie('tokenmysypart'); function whosisconnected() { var local_user_connect = 0; var local_part_connect = 0; if (typeof (stored_user) === "undefined" || String(stored_user) === '') { setuserconnected("0"); local_user_connect = 0; } else { setuserconnected("1"); setsomeoneconnected("1"); local_user_connect = 1; //alert(" user connected OK"); } if (typeof (stored_part) === "undefined" || String(stored_part) === '') { setpartnerconnected("0"); local_part_connect = 0; } else { setpartnerconnected("1"); setsomeoneconnected("1"); local_part_connect = 1; // alert(" partner connected OK"); } } function handleAccountLogout() { if (String(userconnected) === String("1")) { user_logout(); } else if (String(partnerconnected) === String("1")) { part_logout(); } } function user_logout_confirmation() { /* si c'est une connexion partner qui est active */ if (typeof (stored_user) != "undefined") { setCookie("tokenmysych", ""); } history.push("/recherche-formation"); } function user_logout() { confirmAlert({ title: '', message: 'Confirmez la deconnexion (user)', buttons: [ { label: 'Yes', onClick: () => user_logout_confirmation() }, { label: 'No', onClick: () => { return } } ] }); } function handleAccountConnexion_v2() { if (String(userconnected) === String("1")) { handleMyAccount(); } else if (String(partnerconnected) === String("1")) { handleMyPartnerAccount(); } } function part_logout_confirmation() { /* si c'est une connexion partner qui est active */ if (typeof (stored_part) != "undefined") { setpartCookie("tokenmysypart", ""); } history.push("/recherche-formation"); } function part_logout() { confirmAlert({ title: '', message: 'Confirmez la deconnexion (pro)', buttons: [ { label: 'Oui', onClick: () => part_logout_confirmation() }, { label: 'Non', onClick: () => { return } } ] }); } const [range_price, setrange_price] = useState({ min: 0, max: 9999, }); function rangevalue() { alert(range_price.max + " - " + range_price.min); //console.log(" range = " + range_price); } const [trainingonsite, settrainingonsite] = useState() function isonsite() { settrainingonsite(document.querySelector('input[name="TrainingPresentiel"]:checked').value) } const [certifchecked, setcertifchecked] = useState(); function annulefiltrecertif() { if (document.querySelector('input[name="TrainingCertif"]:checked')) { var radio = document.querySelector('input[name="TrainingCertif"]:checked'); radio.checked = false; setcertifchecked(""); var toto = ""; var filtre1 = ""; // Reinitialisation filtre1 = result; setv11(filtre1); // recuperation du filtre du support var crit_TrainingSupport = ""; if (document.getElementById("supoort_list_derou")) { crit_TrainingSupport = document.getElementById("supoort_list_derou").value; if (crit_TrainingSupport.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); } // recuperation du filtre du CPF var crit_TrainingCPF = ""; if (document.querySelector('input[name="TrainingCPF"]:checked')) { crit_TrainingCPF = document.querySelector('input[name="TrainingCPF"]:checked').value; if (crit_TrainingCPF.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).cpf === crit_TrainingCPF); } // recuperation du filtre du type var crit_TrainingType = ""; if (document.querySelector('input[name="TrainingType"]:checked')) { crit_TrainingType = document.querySelector('input[name="TrainingType"]:checked').value if (crit_TrainingType.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingType); } // recuperation du filtre de la distance var crit_Trainingdistance = ""; if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { crit_Trainingdistance = document.querySelector('input[name="TrainingPresentiel"]:checked').value if (crit_Trainingdistance.length > 0) { // filtre presentiel = 1 if (String(crit_Trainingdistance) === String("1")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.distantiel === "1"); setv11(filtre1); } else if (String(crit_Trainingdistance) === String("0")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.presentiel === "1"); setv11(filtre1); } } } var crit_TrainingPrice = range_price.min + ":" + range_price.max; setnewresult(filtre1); //alert("crit_TrainingCertif = " + crit_TrainingCertif + " ET crit_TrainingSupport = " + crit_TrainingSupport + " ET crit_TrainingType = " + crit_TrainingType); //console.log("############################ filtre1 = " + filtre1); setCurrentPage2(1); //console.log(" ????????????????????????????filtre2 = "+filtre2); } return; } function annulefiltrecpf() { if (document.querySelector('input[name="TrainingCPF"]:checked')) { var radio = document.querySelector('input[name="TrainingCPF"]:checked'); radio.checked = false; setcpfchecked(""); var toto = ""; var filtre1 = ""; // Reinitialisation filtre1 = result; setv11(filtre1); // recuperation du filtre de la certification var crit_TrainingCertif = ""; if (document.querySelector('input[name="TrainingCertif"]:checked')) { crit_TrainingCertif = document.querySelector('input[name="TrainingCertif"]:checked').value; if (crit_TrainingCertif.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingCertif); } // recuperation du filtre du support var crit_TrainingSupport = ""; if (document.getElementById("supoort_list_derou")) { crit_TrainingSupport = document.getElementById("supoort_list_derou").value; if (crit_TrainingSupport.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); } // recuperation du filtre du type var crit_TrainingType = ""; if (document.querySelector('input[name="TrainingType"]:checked')) { crit_TrainingType = document.querySelector('input[name="TrainingType"]:checked').value if (crit_TrainingType.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingType); } // recuperation du filtre de la distance var crit_Trainingdistance = ""; if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { crit_Trainingdistance = document.querySelector('input[name="TrainingPresentiel"]:checked').value if (crit_Trainingdistance.length > 0) { // filtre presentiel = 1 if (String(crit_Trainingdistance) === String("1")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.distantiel === "1"); setv11(filtre1); } else if (String(crit_Trainingdistance) === String("0")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.presentiel === "1"); setv11(filtre1); } } } var crit_TrainingPrice = range_price.min + ":" + range_price.max; setnewresult(filtre1); //alert("crit_TrainingCertif = " + crit_TrainingCertif + " ET crit_TrainingSupport = " + crit_TrainingSupport + " ET crit_TrainingType = " + crit_TrainingType); //console.log("############################ filtre1 = " + filtre1); setCurrentPage2(1); //console.log(" ????????????????????????????filtre2 = "+filtre2); } return; } const [supportchecked, setsupportchecked] = useState(); function annulefiltresupportchecked() { //var radio = document.querySelector('input[name="TrainingSupport"]:checked'); //radio.checked = false; setsupportchecked(""); var crit_TrainingSupport = ""; var toto = ""; var filtre1 = ""; // Reinitialisation filtre1 = result; setv11(filtre1); // recuperation du filtre de la certification var crit_TrainingCertif = ""; if (document.querySelector('input[name="TrainingCertif"]:checked')) { crit_TrainingCertif = document.querySelector('input[name="TrainingCertif"]:checked').value; if (crit_TrainingCertif.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingCertif); } // recuperation du filtre du CPF var crit_TrainingCPF = ""; if (document.querySelector('input[name="TrainingCPF"]:checked')) { crit_TrainingCPF = document.querySelector('input[name="TrainingCPF"]:checked').value; if (crit_TrainingCPF.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).cpf === crit_TrainingCPF); } // recuperation du filtre du type (cours, tuto, etc) var crit_TrainingType = ""; if (document.querySelector('input[name="TrainingType"]:checked')) { crit_TrainingType = document.querySelector('input[name="TrainingType"]:checked').value; if (crit_TrainingType.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).type === crit_TrainingType); } // recuperation du filtre de la distance var crit_Trainingdistance = ""; if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { crit_Trainingdistance = document.querySelector('input[name="TrainingPresentiel"]:checked').value; if (crit_Trainingdistance.length > 0) { // filtre presentiel = 1 if (String(crit_Trainingdistance) === String("1")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.distantiel === "1"); setv11(filtre1); } else if (String(crit_Trainingdistance) === String("0")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.presentiel === "1"); setv11(filtre1); } } } // Recup du filtre de prix var crit_TrainingPrice = ""; setnewresult(filtre1); //alert("crit_TrainingCertif = " + crit_TrainingCertif + " ET crit_TrainingSupport = " + crit_TrainingSupport + " ET crit_TrainingType = " + crit_TrainingType); //console.log("############################ filtre1 = " + filtre1); setCurrentPage2(1); //console.log(" ????????????????????????????filtre2 = "+filtre2); } const [typechecked, settypechecked] = useState(); function annulefiltretypechecked() { if (document.querySelector('input[name="TrainingType"]:checked')) { var radio = document.querySelector('input[name="TrainingType"]:checked'); radio.checked = false; settypechecked(""); var toto = ""; var filtre1 = ""; var filtre2 = ""; var filtre3 = ""; // Reinitialisation filtre1 = result; setv11(filtre1); //alert("rinitialisation") ; // recuperation du filtre du support var crit_TrainingSupport = ""; if (document.getElementById("supoort_list_derou")) { crit_TrainingSupport = document.getElementById("supoort_list_derou").value; if (crit_TrainingSupport.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); } // recuperation du filtre du certificat var crit_TrainingCertif = ""; if (document.querySelector('input[name="TrainingCertif"]:checked')) { crit_TrainingCertif = document.querySelector('input[name="TrainingCertif"]:checked').value if (crit_TrainingCertif.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingCertif); } // recuperation du filtre du CPF var crit_TrainingCPF = ""; if (document.querySelector('input[name="TrainingCPF"]:checked')) { crit_TrainingCPF = document.querySelector('input[name="TrainingCPF"]:checked').value; if (crit_TrainingCPF.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).cpf === crit_TrainingCPF); } // recuperation du filtre de la distance var crit_Trainingdistance = ""; if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { crit_Trainingdistance = document.querySelector('input[name="TrainingPresentiel"]:checked').value if (crit_Trainingdistance.length > 0) { // filtre presentiel = 1 if (String(crit_Trainingdistance) === String("1")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.distantiel === "1"); setv11(filtre1); } else if (String(crit_Trainingdistance) === String("0")) { filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).presentiel.presentiel === "1"); setv11(filtre1); } } } setnewresult(filtre1); //alert("crit_TrainingCertif = " + crit_TrainingCertif + " ET crit_TrainingSupport = " + crit_TrainingSupport + " ET crit_TrainingType = " + crit_TrainingType); //console.log("############################ filtre1 = " + filtre1); setCurrentPage2(1); //console.log(" ????????????????????????????filtre2 = "+filtre2); } return; } const [lieuchecked, setlieuchecked] = useState(); function annulefiltrelieuchecked() { if (document.querySelector('input[name="TrainingPresentiel"]:checked')) { var radio = document.querySelector('input[name="TrainingPresentiel"]:checked'); radio.checked = false; setlieuchecked(""); var toto = ""; var filtre1 = ""; settrainingonsite(''); //reinitialisation des filtres filtre1 = result; setv11(filtre1); // Annulation de la suggestion de villes setsuggestioncities([]); /* Recuperation des autres filtres */ // recuperation du filtre du support var crit_TrainingSupport = ""; if (document.getElementById("supoort_list_derou")) { crit_TrainingSupport = document.getElementById("supoort_list_derou").value; if (crit_TrainingSupport.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport); } // recuperation du filtre du certification var crit_TrainingCertif = ""; if (document.querySelector('input[name="TrainingCertif"]:checked')) { crit_TrainingCertif = document.querySelector('input[name="TrainingCertif"]:checked').value; if (crit_TrainingCertif.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).certif === crit_TrainingCertif); } // recuperation du filtre du CPF var crit_TrainingCPF = ""; if (document.querySelector('input[name="TrainingCPF"]:checked')) { crit_TrainingCPF = document.querySelector('input[name="TrainingCPF"]:checked').value; if (crit_TrainingCPF.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).cpf === crit_TrainingCPF); } // recuperation du filtre du type (cours, tuto, etc) var crit_TrainingType = ""; if (document.querySelector('input[name="TrainingType"]:checked')) { crit_TrainingType = document.querySelector('input[name="TrainingType"]:checked').value; if (crit_TrainingType.length > 0) filtre1 = filtre1.filter((maformation) => JSON.parse(maformation).type === crit_TrainingType); } setnewresult(filtre1); setCurrentPage2(1); } } function OnblurHandle(e) { setTimeout(() => { setsuggestion2([]) }, 100) } function OnSuggestionHandler(text) { var val = text; settext(val); } function OnCitiesSuggestionHandler(text) { var val = text; setcities(val); document.getElementById("ville").value = val; LeaveCity(); // Annulation de la suggestion de villes setsuggestioncities([]); } function publiecatalogue() { history.push("/Partner", { mysy_arg: 'partner' }); } function LeaveCity() { TrainingDistancielHandle(); } function LeaveZipCode() { TrainingDistancielHandle(); } const Recherche_Domaine_Metier = (event) => { //console.log(" ### liste domaine = ", list_domaine); //console.log(" ### liste metier = ", list_metier); } const [displayAllmetiers, setdisplayAllmetiers] = useState(); function DisplayAllmetier() { if (displayAllmetiers) setdisplayAllmetiers(false); else setdisplayAllmetiers(true); } return (
Formation & Tutoriel Gratuit ou payant Excellente qualité Mon Compte Deconnexion Mon Compte Connexion S'inscrire Deconnexion
{/*

Recherche Formations Tutoriels

{String(someoneconnected) !== String("1") && } {String(someoneconnected) === String("1") && }
{String(someoneconnected) === String("1") &&
Mon Compte
} {String(someoneconnected) !== String("1") &&
S'inscrire
}
Nos Services
Le blog
publier mes formations

Bienvenue sur MySy
Recherche de Formations & Tutoriels
{SearchText.length > 2 && }   {suggestion2 && suggestion2.slice(0, 5).map((suggestion, id) =>
OnSuggestionHandler(JSON.parse(suggestion).name)}> {JSON.parse(suggestion).name}
)}
*/}
MySy Training Technology
{/*SearchText.length > 2 && */} {SearchText.length > 2 &&  } {suggestion2 && suggestion2.slice(0, 2).map((suggestion, id) =>
OnSuggestionHandler(JSON.parse(suggestion).name)}> {JSON.parse(suggestion).name}
)}
Nos services
MySy Training Publication
Un outil de publication en ligne
Une recherche multicritère parfaite pour retrouver la formation la plus adaptée aux besoins de votre client.
MySy Training Marketing digital
Marketing digital sur mesure
Accompagnement personnalisé dans vos communications et
Un ciblage efficace lors de l’envoi d’emailings
MySy Training gestion administrative
Gestion Administrative
Une plateforme idéale pour vous gérer vos sessions de formation :
  • Les inscriptions
  • Les Ă©margements
  • Les avis des participants
Nos Formations & Tutoriels
{showelement === "true" &&
Masquer les Métiers & Filtres
} {showelement === "false" &&
Afficher les Métiers & Filtres
} {showelement === "true" &&
Les filtres
Eligible CPF
{String(cpfchecked) === String("1") &&
KO
}
Certification
{String(certifchecked) === String("1") &&
KO
}
Type
{String(typechecked) === String("1") &&
KO
}
{/*
Support
{String(supportchecked) === String("1") &&
KO
}
*/}
Lieu
{String(lieuchecked) === String("1") &&
KO
}
{trainingonsite && String(trainingonsite) === String("0") &&
Ville
{suggestioncities && suggestioncities.slice(0, 3).map((suggestion, id) =>
OnCitiesSuggestionHandler(JSON.parse(suggestion).ville)}> {JSON.parse(suggestion).ville}
)}
 
} {trainingonsite && String(trainingonsite) === String("0") &&
Code postale
 
}
Support
Prix
`${value} €`} value={range_price} step={500} name="toto" onChange={value => setrange_price(value)} //onChange={TrainingPriceHandle} onChangeComplete={value => console.log(value)} />
 
Les Métiers
Tous les metiers
Management
Informatique
Graphisme
{!displayAllmetiers &&
+
Afficher plus de métiers
} {displayAllmetiers &&
Développement Personnel
} {displayAllmetiers &&
Projets
} {displayAllmetiers &&
-
Afficher Moins de métiers
}
{/*
Formation Programmation

Informatique

Formation graphisme

Graphisme

Formation gestion projets

Projets

 
Formation Management

Management

Formation Digitale

Digital

Ressources Humaines

RH

 
Marketing

Marketing

Autres

Bureautique

Commerce

Commerce

 
Autres

Dev. Personnel

 
*/} {/*

Tous les Métiers

*/}
}
Nos Formations & Tutoriels
{String(userconnected) === String("1") &&
} {myApiResponse == "False" &&
Impossible de contacter l'hote distant
} {myApiResponse == "True" && String(besoinaiderecherche) === String("1") &&
Le resultat est vide, besoin d'aide ?
} {result && myApiResponse === "True" && !newresult &&
setCurrentPage2(page)} />
Trier par
} {result && myApiResponse === "True" && newresult &&
setCurrentPage2(page)} />
} {newresult && (newresult.length <= PageSize) &&
 
 
} {result && myApiResponse == "True" && fin == 0 && !newresult && result.slice(0, PageSize).map((formation) => (
))} {result && myApiResponse == "True" && fin == 0 && newresult && newresult.slice(0, PageSize).map((formation) => (
))} {result && myApiResponse === "True" && fin === 1 && !newresult && currentTableData2 && currentTableData2.map((formation) => (
))} {result && myApiResponse === "True" && fin === 1 && newresult && currentTableData2 && currentTableData2.map((formation) => (
))} {result && !newresult &&
{String(userconnected) === String("1") && } setCurrentPage2(page)} />
} {result && newresult &&
{String(userconnected) === String("1") && } setCurrentPage2(page)} />
}
Notre actualité
19 DECEMBRE 2022
Lorem ipsum dolor sit amet, consectetur adipiscing elit
19 DECEMBRE 2022
Lorem ipsum dolor sit amet, consectetur adipiscing elit
19 DECEMBRE 2022
Lorem ipsum dolor sit amet, consectetur adipiscing elit
Voir tous nos articles
MySy Training Technology
Devenir partenaire
Devenez notre partenaire et publiez vos formations tout en bénéficiant d'un accompagnement sur mesure pour votre plan de marketing.
Devenir partenaire MySy Training
); } export default Recherche_new_v2;