13/01/23 - 14h

recette2
cherif 2023-01-13 13:51:43 +01:00
parent 25dbe29dd3
commit 87828d0ac1
13 changed files with 753 additions and 439 deletions

View File

@ -55,7 +55,7 @@ function App() {
<BrowserRouter>
<ScrollToTop />
<Switch>
<Route path="/" exact component={Recherche} />
<Route path="/" exact component={Recherche_new_v2} />
<Route path="/acceuil" exact component={Acceuil} />
<Route path="/contact" exact component={Contact} />
@ -63,12 +63,13 @@ function App() {
<Route path="/create_account" exact component={CreateAccount} />
<Route path="/user-connexion" exact component={Connexion} />
<Route path="/Connexion" exact component={Login} />
<Route path="/recherche-formation" exact component={Recherche} />
<Route path="/recherche-formation/:NewSearchText" exact component={Recherche} />
<Route path="/recherche-formation" exact component={Recherche_new_v2} />
<Route path="/recherche-formation/:NewSearchText" exact component={Recherche_new_v2} />
<Route path="/testurl/:course/:tab" exact component={TestUrl} />
<Route path="/Display-Detail-formation/:classId" exact component={DisplayDetailClass} />
<Route path="/Display-Detail-formation_v2/:classId" exact component={DisplayDetailClass_new_v2} />
<Route path="/Display-Detail-formation/:classId/:action" exact component={DisplayDetailClassAction} />
<Route path="/Display-Detail-formation/:classId" exact component={DisplayDetailClass_new_v2} />
<Route path="/Display-Detail-formation/:classId" exact component={DisplayDetailClass_new_v2} />
<Route path="/Display-Detail-formation/:classId/:action" exact component={DisplayDetailClass_new_v2} />
<Route path="/Display-Detail-formation_old/:classId/:action" exact component={DisplayDetailClass_new_v2} />
<Route path="/Display-Detail-Article/:articleId" exact component={DisplayDetailArticle} />
<Route path="/Display-Detail-formation-Coeur/:classId" exact component={CoupDeCoeur} />
<Route path="/Partner" exact component={Partner} />

View File

@ -46,8 +46,7 @@ import mysy_logo2 from "../mysy_img2/Logo_MySy.png"
import { FaSearch, FaRegArrowAltCircleDown, FaRegArrowAltCircleUp } from 'react-icons/fa';
const DisplayDetailClass_new_v2 = (props) => {
const { classId } = useParams();
const { classId, action } = useParams();
const [result, setResult] = useState("");
const [myApiResponse, setmyApiResponse] = useState();
const [DetailTraining, setDetailTraining] = useState([]);
@ -71,13 +70,67 @@ const DisplayDetailClass_new_v2 = (props) => {
const [inscritpion, setinscritpion] = useState("");
const [ratingvalue, setratingvalue] = useState(0);
const [text_size, settext_size] = useState("0");
// Gestion des Cookies
const stored_partner = cookie_part.tokenmysypart;
const stored_user = cookie.tokenmysych;
const [childdata, setchilddata] = useState();
// Cette fonction verifier si le token de l'evaluation est valide
//si $action != 'information' et 'inscription', alors la valeur est forcement celle d'un token.
const [tokenEval_api, settokenEval_api] = useState();
const [tokenEval_message, settokenEval_message] = useState();
const [tokenEval_result, settokenEval_result] = useState();
function CheckEvaluationToken() {
var form = new FormData();
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
form.append("eval_token", action);
form.append("class_internal_url", classId);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/MySyckeckEvaluationToken/";
axios.post(myurl, form).then(res => {
if (String(res.data.status) !== "false") {
console.log(" In tokenEval_trainingsession res.data.status = " + res.data.status);
//console.log(" In tokenEval_trainingsession res.data.message r_class = " + res.data.message);
settokenEval_api("true");
settokenEval_result(res.data.message);
}
else {
console.log(" In tokenEval_trainingsession res.data.status = " + res.data.status);
settokenEval_api("false");
settokenEval_message(res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( CheckEvaluationToken = ', error);
settokenEval_api("false");
//setmyApimyApiMessage("")
})
}
useEffect(() => {
async function funclocaltoken() {
if (String(props.action).toLocaleLowerCase() !== "inscription" &&
String(props.action).toLocaleLowerCase() !== "information") {
CheckEvaluationToken();
}
}
var local_user_connect = 0;
var local_part_connect = 0;
@ -113,11 +166,13 @@ const DisplayDetailClass_new_v2 = (props) => {
}
fetchData();
Display();
GetAssociatedTraning();
GetCurrentClass_trainingsession();
funclocaltoken();
window.scrollTo(0, 0);
}, []);
@ -287,12 +342,157 @@ const DisplayDetailClass_new_v2 = (props) => {
}
//console.log(" In displaydetailclass res.data.status = " + res.data.status);
//console.log(" In displaydetailclass res.data.message = " + res.data.message);
//console.log(" In displaydetailclass taille res.data.message = " + res.data.message.length);
setResult(res.data.message);
setDetailTraining(JSON.parse(res.data.message));
if (JSON.parse(res.data.message).note) {
setratingvalue(JSON.parse(res.data.message).note);
}
if (JSON.parse(res.data.message).text_size) {
settext_size(JSON.parse(res.data.message).text_size);
//"block_crossell_meme_orga"
var local_tmp;
var val;
var footer_top;
var main_h;
var main_h_px;
console.log("window.screen.width = ", window.screen.width);
if (window.screen.width < 601) {
local_tmp = String(JSON.parse(res.data.message).text_size / 0.88);
main_h = String(JSON.parse(res.data.message).text_size / 0.77);
console.log(" local_tmp = ", local_tmp, " main_h = ", main_h);
if (local_tmp > 2700) {
val = "3000px";
main_h_px = "4700px";
}
else {
/* gestions des mini */
if (local_tmp < 1700) {
local_tmp = 1700;
}
if (main_h < 3500) {
main_h = 3500
}
val = local_tmp + "px";
main_h_px = main_h + "px"
}
console.log(" mob_block_cross_sell_cat.top = ", val, " main_h = ", main_h);
document.getElementById('mob_block_cross_sell_cat').style.top = val;
//document.getElementById('footer').style.top = val;
document.getElementById('mobile').style.height = main_h_px;
}
if (window.screen.width >= 601 && window.screen.width <= 991) {
local_tmp = String(JSON.parse(res.data.message).text_size / 0.9);
main_h = String(JSON.parse(res.data.message).text_size / 0.8);
console.log(" local_tmp = ", local_tmp, " main_h = ", main_h);
if (local_tmp > 2550) {
val = "2600px";
main_h_px = "3100px";
} else if (local_tmp < 1500) {
val = "1500px";
main_h_px = "2100px";
}
else {
val = local_tmp + "px";
main_h_px = main_h + "px"
}
console.log(" changemenr foo val = ", val, " main_h = ", main_h);
var val2 = document.getElementById('block_info_page').style.height;
console.log(" block_info_page height = ", val2);
document.getElementById('block_crossell_meme_orga').style.top = val;
//document.getElementById('footer').style.top = val;
document.getElementById('desktop').style.height = main_h_px;
}
if (window.screen.width >= 992 && window.screen.width <= 1199) {
local_tmp = String(JSON.parse(res.data.message).text_size / 0.99);
main_h = String(JSON.parse(res.data.message).text_size / 0.8);
if (local_tmp > 2450) {
val = "2450px";
main_h_px = "3000px";
}
else if (local_tmp < 1500) {
val = "1500px";
main_h_px = "2100px";
}
else {
val = local_tmp + "px";
main_h_px = main_h + "px"
}
console.log(" changemenr foo val = ", val, " main_h = ", main_h);
var val2 = document.getElementById('block_info_page').style.height;
console.log(" block_info_page height = ", val2);
document.getElementById('block_crossell_meme_orga').style.top = val;
//document.getElementById('footer').style.top = val;
document.getElementById('desktop').style.height = main_h_px;
}
if (window.screen.width >= 1200) {
local_tmp = String(JSON.parse(res.data.message).text_size / 0.99);
main_h = String(JSON.parse(res.data.message).text_size / 0.8);
if (local_tmp > 2450) {
val = "2450px";
main_h_px = "3000px";
}
else if (local_tmp < 1500) {
val = "1500px";
main_h_px = "2100px";
}
else {
val = local_tmp + "px";
main_h_px = main_h + "px"
}
console.log(" changemenr foo val = ", val, " main_h = ", main_h);
var val2 = document.getElementById('block_info_page').style.height;
console.log(" block_info_page height = ", val2);
document.getElementById('block_crossell_meme_orga').style.top = val;
//document.getElementById('footer').style.top = val;
document.getElementById('desktop').style.height = main_h_px;
}
}
}
else {
//console.log(" In Erreur res.data.status = " + res.data.status);
@ -446,13 +646,28 @@ const DisplayDetailClass_new_v2 = (props) => {
} else {
setinscritpion("1");
}
if (window.screen.width < 601) {
document.getElementById('mob_block_cross_sell_cat').style.display = "none";
window.scrollTo(0, 500);
}
else {
window.scrollTo(0, 0);
}
}
function Contact_bton(event) {
setinscritpion("2");
if (window.screen.width < 601) {
document.getElementById('mob_block_cross_sell_cat').style.display = "none";
window.scrollTo(0, 500);
}
else {
window.scrollTo(0, 0);
}
}
const [GetCurrentClass_api, setGetCurrentClass_api] = useState();
@ -472,7 +687,7 @@ const DisplayDetailClass_new_v2 = (props) => {
if (String(res.data.status) !== "false") {
//console.log(" In GetCurrentClass_trainingsession res.data.status = " + res.data.status);
//console.log(" In GetCurrentClass_trainingsession res.data.message r_class = " + res.data.message);
console.log(" In GetCurrentClass_trainingsession res.data.message r_class = " + res.data.message);
setGetCurrentClass_api("true");
setGetCurrentClass_result(res.data.message);
}
@ -559,6 +774,22 @@ const DisplayDetailClass_new_v2 = (props) => {
});
}
function Close_info_form() {
setinscritpion();
document.getElementById('mob_block_cross_sell_cat').style.display = "flex";
window.scrollTo(0, 0);
}
function Close_inscrip_form() {
setinscritpion();
document.getElementById('mob_block_cross_sell_cat').style.display = "flex";
window.scrollTo(0, 0);
}
/// ----
return (
@ -566,9 +797,10 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="mobile">
<div style={{ "display": "flex", "flexDirection": "column", }}>
<div className="displaydetailclass_new_v2" style={{
"background": "#F7F7F7", "height": "530vh",
"width": "100%", "display": "flex", "flexDirection": "column",
<div className="displaydetailclass_new_v2" id="mobile"
style={{
"background": "#F7F7F7", "width": "100%",
"display": "flex", "flexDirection": "column", "minHeight": "100vh",
}}>
<Helmet>
@ -628,6 +860,10 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
<div className="mob_block_content">
<div className="mob_block_content_rating">
<Rating name="half-rating-reade"
@ -651,6 +887,11 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
</div>
@ -663,7 +904,7 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="mob_cats">
<div className="mob_cats_bton_inscr">
<div className="mob_cats_bton_inscr" onClick={Inscription_bton}>
<div className="mob_cats_bton_inscr_txt">
Minscrire
@ -671,7 +912,7 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
<div className="mob_cats_bton_info">
<div className="mob_cats_bton_info" onClick={Contact_bton}>
<div className="mob_cats_bton_info_txt">
Minformer sur la formation
@ -810,7 +1051,9 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
<div className="mob_block_organisme_ftion">
<div className="mob_block_organisme_ftion" id="mob_block_organisme_ftion">
<div className="mob_block_organisme_ftion_orga">
Organisme de formation :
@ -825,13 +1068,30 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="mob_info_page">
<div className="mob_info_page" id="mob_info_page">
<div className="mob_info_page_title_desc">
<div className="mob_info_page_title_desc_title">
{String(inscritpion) === "2" && <div>
<Inscription internal_url={DetailTraining["internal_url"]} action="information"
Close_info_form={Close_info_form} />
</div>
}
{String(inscritpion) === "1" && <div className="description detail_element">
<Inscription internal_url={DetailTraining["internal_url"]} action="inscription"
Close_info_form={Close_inscrip_form} />
</div>
}
{DetailTraining["Description"] && <div className="mob_info_page_title_desc_title">
Description
</div>
}
<div className="mob_info_page_title_desc_desc">
{parse(String(DetailTraining["description"]))}
@ -880,9 +1140,10 @@ const DisplayDetailClass_new_v2 = (props) => {
Objectif
</div>
<div className="mob_info_page_title_desc_desc">
{DetailTraining["objectif"] && <div className="mob_info_page_title_desc_desc">
{parse(String(DetailTraining["objectif"]))}
</div>
}
</div>
@ -893,9 +1154,10 @@ const DisplayDetailClass_new_v2 = (props) => {
Programme
</div>
<div className="mob_info_page_title_desc_desc">
{DetailTraining["programme"] && <div className="mob_info_page_title_desc_desc">
{parse(String(DetailTraining["programme"]))}
</div>
}
</div>
@ -906,9 +1168,9 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
<div className="mob_block_cross_sell_cat">
<div className="mob_block_cross_sell_cat" id="mob_block_cross_sell_cat">
<div className="mob_block_sous_cross_sell">
<div className="mob_block_sous_cross_sell" id="mob_block_sous_cross_sell">
<div className="mob_block_sous_cross_sell_title">
Formations & tutoriels du même organisme
@ -992,7 +1254,7 @@ const DisplayDetailClass_new_v2 = (props) => {
e.preventDefault();
//test(props.formation.external_code);
window.open(
"/Display-Detail-formation_v2/" + JSON.parse(formation).internal_url,
"/Display-Detail-formation/" + JSON.parse(formation).internal_url,
'_self'
);
@ -1031,8 +1293,8 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="desktop">
<div style={{ "display": "flex", "flexDirection": "column", }}>
<div className="displaydetailclass_new_v2" style={{
"background": "#F7F7F7", "height": "300vh",
<div className="displaydetailclass_new_v2" id="desktop" style={{
"background": "#F7F7F7", "minHeight": "100vh",
"width": "100%", "display": "flex", "flexDirection": "column",
}}>
@ -1050,10 +1312,12 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="block_header_menu">
<div className="header_menu">
<a href={process.env.REACT_APP_BASE_URL} style={{ "textDecoration": "none" }}>
<div className="hader_menu_logo_mysy">
<img className="logo_mysy" src={mysy_logo2} alt="MySy Training Technology" />
<nav className="training">TRAINING</nav>
</div>
</a>
<div className="menu_header">
@ -1164,16 +1428,17 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="block_info_page">
<div className="block_info_page" id="block_info_page">
{String(inscritpion) === "1" && <div className="description detail_element">
<Inscription internal_url={DetailTraining["internal_url"]} action="inscription" />
<Inscription internal_url={DetailTraining["internal_url"]} action="inscription"
Close_info_form={Close_info_form} />
</div>
}
{String(inscritpion) === "2" && <div className="description detail_element">
<Inscription internal_url={DetailTraining["internal_url"]} action="information" />
<Inscription internal_url={DetailTraining["internal_url"]} action="information"
Close_info_form={Close_inscrip_form} />
</div>
@ -1183,9 +1448,10 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="block_info_page_pave_title_desc_title">
Description
</div>
<div className="block_info_page_pave_title_desc">
{DetailTraining["description"] && <div className="block_info_page_pave_title_desc">
{parse(String(DetailTraining["description"]))}
</div>
}
</div>
@ -1222,9 +1488,10 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="block_info_page_pave_title_desc_title">
Objectif
</div>
<div className="block_info_page_pave_title_desc_desc">
{DetailTraining["objectif"] && <div className="block_info_page_pave_title_desc_desc">
{parse(String(DetailTraining["objectif"]))}
</div>
}
</div>
@ -1233,10 +1500,10 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="block_info_page_pave_title_desc_title">
Programme
</div>
<div className="block_info_page_pave_title_desc_desc">
{DetailTraining["programme"] && <div className="block_info_page_pave_title_desc_desc">
{parse(String(DetailTraining["programme"]))}
</div>
}
</div>
@ -1455,7 +1722,7 @@ const DisplayDetailClass_new_v2 = (props) => {
{GetCurrentClass_result && GetCurrentClass_result.length > 0 && <div className="block_sticky_info_Sessions">
{/*GetCurrentClass_result && GetCurrentClass_result.length > 0 && <div className="block_sticky_info_Sessions">
<div className="block_sticky_info_Sessions_title">
Les sessions :
</div>
@ -1489,7 +1756,7 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
</div>}
</div>*/}
<div className="sticky_cats">
<div className="sticky_cats_buton_inscrire" onClick={Inscription_bton}>
@ -1537,7 +1804,7 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="block_crossell_meme_orga">
<div className="block_crossell_meme_orga" id="block_crossell_meme_orga">
<div className="sous_crossell">
@ -1617,17 +1884,17 @@ const DisplayDetailClass_new_v2 = (props) => {
<div className="sous_crossell_list_card_card_CAT">
<div className="sous_crossell_list_card_card_CAT_bton">
<div className="sous_crossell_list_card_card_CAT_bton_txt" onClick={(e) => {
<div className="sous_crossell_list_card_card_CAT_bton" onClick={(e) => {
e.preventDefault();
//test(props.formation.external_code);
window.open(
"/Display-Detail-formation_v2/" + JSON.parse(formation).internal_url,
"/Display-Detail-formation/" + JSON.parse(formation).internal_url,
'_self'
);
}}>
<div className="sous_crossell_list_card_card_CAT_bton_txt">
Voir les détails
</div>
@ -2078,10 +2345,9 @@ Si non, on utilise le formumaire de mysy,.
</div>
<div style={{ "width": "100%", "position": "relative" }} >
<div className="footer" id="footer">
<Footer />
</div>
</div>
</div>

View File

@ -73,7 +73,7 @@ const Formation = (props) => {
});
} else {
window.open(
"/Display-Detail-formation_v2/" + props.formation.internal_url,
"/Display-Detail-formation/" + props.formation.internal_url,
'_blank'
);
}
@ -244,7 +244,7 @@ const Formation = (props) => {
e.preventDefault();
window.open(
"/Display-Detail-formation_v2/" + props.formation.internal_url,
"/Display-Detail-formation/" + props.formation.internal_url,
'_blank'
);
@ -394,7 +394,7 @@ const Formation = (props) => {
<div className="media_sociaux" style={{ 'float': "left", marginTop: "0.2rem", }}>
<FacebookShareButton
url={"https://www.mysy-training.com/Display-Detail-formation_v2/" + props.formation.internal_url}
url={"https://www.mysy-training.com/Display-Detail-formation/" + props.formation.internal_url}
quote={props.formation.title + " -- " + props.formation.description}
hashtag={"ySyTraining"}
@ -404,7 +404,7 @@ const Formation = (props) => {
&nbsp;
<TwitterShareButton
url={"https://www.mysy-training.com/Display-Detail-formation_v2/" + props.formation.internal_url}
url={"https://www.mysy-training.com/Display-Detail-formation/" + props.formation.internal_url}
hashtag={"#MySy-Formation"}
>
<SocialIcon network="twitter" style={{ height: 20, width: 20 }} />
@ -412,7 +412,7 @@ const Formation = (props) => {
&nbsp;
<LinkedinShareButton
url={"https://www.mysy-training.com/Display-Detail-formation_v2/" + props.formation.internal_url}
url={"https://www.mysy-training.com/Display-Detail-formation/" + props.formation.internal_url}
title={" Une nouvelle formation : " + props.formation.title}
summary={props.formation.title + " -- " + props.formation.description}
@ -590,7 +590,7 @@ const Formation = (props) => {
e.preventDefault();
window.open(
"/Display-Detail-formation_v2/" + props.formation.internal_url + "/Information",
"/Display-Detail-formation/" + props.formation.internal_url + "/Information",
'_blank'
);
@ -606,7 +606,7 @@ const Formation = (props) => {
e.preventDefault();
//test(props.formation.external_code);
window.open(
"/Display-Detail-formation_v2/" + props.formation.internal_url,
"/Display-Detail-formation/" + props.formation.internal_url,
'_blank'
);
@ -621,7 +621,7 @@ const Formation = (props) => {
e.preventDefault();
window.open(
"/Display-Detail-formation_v2/" + props.formation.internal_url + "/Inscription",
"/Display-Detail-formation/" + props.formation.internal_url + "/Inscription",
'_blank'
);

View File

@ -390,6 +390,9 @@ function Inscription_Information(props) {
function AnnulerFction_info() {
clearfileds_info();
setAnnulerFction_info_status("false");
if (props.Close_info_form)
props.Close_info_form();
}
@ -568,6 +571,7 @@ function Inscription_Information(props) {
};
const [RatingValue, setRatingValue] = useState();
let datafromchild = "yaaaaa child";
return (
<div className='inscription'>
@ -771,24 +775,23 @@ function Inscription_Information(props) {
</Box>}
<div className="div_row22">
{<div className="div_row">
<div className="div_row_droite" style={{ "textAlign": "right" }}>
<Button variant="contained" color="success" style={{
'borderRadius': "5px",
"fontSize": "small", "padding": "0.3rem",
"width": "60%",
"backgroundColor": "#81BC3A",
}}
{<div className="div_row" style={{"width":"100%", "marginTop":"0.5rem"}}>
<div className="div_row_droite" style={{ "textAlign": "left", "width":"50%" }}>
<Button className="bton_envoyer"
onClick={RecordData}>Se pré-inscrire &nbsp; &nbsp; {<SendIcon />}</Button>
</div>
{<div className="div_row_gauche" style={{ "textAlign": "right", "width":"50%" }}>
<Button variant="contained" color="success" className="bton_fermer"
onClick={AnnulerFction_info}>Fermer &nbsp; &nbsp;{<IoCloseCircleOutline />}</Button>
</div>}
</div>
}
</div>
</Box>}
</div>}
{/* Gestion de la note/evaluation */}
@ -899,10 +902,10 @@ function Inscription_Information(props) {
</div>
{/* <div className="div_row_droite" style={{ "textAlign": "right" }}>
{<div className="div_row_gauche" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
<Button variant="contained" color="success" className="bton_fermer"
onClick={AnnulerFction_info}>Fermer &nbsp; &nbsp;{<IoCloseCircleOutline />}</Button>
</div>*/}
</div>}
</div>
}
@ -1049,18 +1052,19 @@ function Inscription_Information(props) {
<div> &nbsp;</div>
<div className="div_row22">
{<div className="div_row">
<div className="div_row_droite" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
{<div className="div_row" style={{ "width": "100%" }}>
<div className="div_row_droite" style={{ "textAlign": "left", "marginTop": "0.5rem" }}>
<Button variant="contained" className="bton_envoyer"
onClick={SendInformationRequest}
startIcon={<SendIcon />}>Envoyer &nbsp; &nbsp; {<SendIcon />}</Button>
</div>
{/* <div className="div_row_droite" style={{ "textAlign": "right" }}>
{<div className="div_row_gauche" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
<Button variant="contained" color="success" className="bton_fermer"
onClick={AnnulerFction_info}>Fermer &nbsp; &nbsp;{<IoCloseCircleOutline />}</Button>
</div>*/}
</div>}
</div>
}

View File

@ -480,14 +480,15 @@ Recuperation de toutes les formation du partenaire
{global_view_data && global_view_data.length > 3 && <div className="row">
<div className="section col-md-6">
<h3 className="section-title">Line Chart a (global)</h3>
<h3 className="section-title">Graphique en ligne (Toute formation)</h3>
<div className="section-content">
<Chart options={options_global_view} series={series_Gobal} type="line" />
</div>
</div>
<div className="section col-md-6">
<h3 className="section-title">Bar Chart b (global) </h3>
<h3 className="section-title">
Diagramme à bandes (Toute formation) </h3>
<div className="section-content">
<Chart options={options_global_view} series={series_Gobal} type="bar" />
</div>
@ -516,7 +517,7 @@ Recuperation de toutes les formation du partenaire
</div>
<div className="section col-md-6">
<h3 className="section-title">Line Chart a - la </h3>
<h3 className="section-title"> Histogramme </h3>
<div className="section-content">
<Chart options={options_detail} series={series_detail} type="line" />
</div>

View File

@ -115,7 +115,7 @@ const Recherche_new_v2 = () => {
const [initAllfiter, setinitAllfiter] = useState();
const testDivRef = useRef(null);
const [partcookie, setpartCookie, removepartCookie] = useCookies(['tokenmysypart']);
const inputEl = useRef(null);
@ -179,6 +179,8 @@ const Recherche_new_v2 = () => {
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 );
@ -189,11 +191,12 @@ const Recherche_new_v2 = () => {
)
}
*/
//console.log("matches = " + matches);
setsuggestion2(matches);
settext(event.target.value);
}
function SearchcitiesHandle(event) {
@ -236,6 +239,8 @@ const Recherche_new_v2 = () => {
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);
@ -987,7 +992,7 @@ const Recherche_new_v2 = () => {
}
).then((response) => response.json())
.then((result) => {
console.log('Success:', result['message']);
//console.log('Success:', result['message']);
setsuggestedwords(result['message']);
@ -1138,7 +1143,7 @@ const Recherche_new_v2 = () => {
function DisplayClassByDomainFilter() {
var tab_domaine = list_domaine.split(";")
console.log("tab_domaine = ", tab_domaine)
//console.log("tab_domaine = ", tab_domaine)
if (tab_domaine.length <= 0) {
setdomaine_v11(domaine_v11_orig);
@ -1377,6 +1382,7 @@ const Recherche_new_v2 = () => {
scrollDiv.current.scrollIntoView({ behavior: "smooth" });
}
}
else {
//console.log(" In test res.data.status = " + res.data.status);
//console.log(" In test res.data.message = " + res.data.message);
@ -1392,6 +1398,11 @@ const Recherche_new_v2 = () => {
//setmyApimyApiMessage("")
})
window.scrollTo(0, 600);
}
// Cette fonction affiche les X premieres formations
@ -1679,6 +1690,13 @@ const Recherche_new_v2 = () => {
check_metier = document.querySelector('input[name="metier_radio"]:checked').value;
}
// Reinitialisation des filtre
annulefiltrecertif();
annulefiltresupportchecked();
annulefiltretypechecked();
annulefiltrelieuchecked();
annulefiltrecpf();
if (check_metier === "tout") {
//alert(" tout et sortir");
@ -1709,8 +1727,8 @@ const Recherche_new_v2 = () => {
//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);
//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) {
@ -1948,6 +1966,7 @@ const Recherche_new_v2 = () => {
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("");
@ -2015,7 +2034,7 @@ const Recherche_new_v2 = () => {
setCurrentPage2(1);
//console.log(" ????????????????????????????filtre2 = "+filtre2);
}
return;
@ -2023,6 +2042,7 @@ const Recherche_new_v2 = () => {
function annulefiltrecpf() {
if (document.querySelector('input[name="TrainingCPF"]:checked')) {
var radio = document.querySelector('input[name="TrainingCPF"]:checked');
radio.checked = false;
setcpfchecked("");
@ -2090,7 +2110,7 @@ const Recherche_new_v2 = () => {
setCurrentPage2(1);
//console.log(" ????????????????????????????filtre2 = "+filtre2);
}
return;
@ -2171,6 +2191,8 @@ const Recherche_new_v2 = () => {
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("");
@ -2241,7 +2263,7 @@ const Recherche_new_v2 = () => {
//console.log("############################ filtre1 = " + filtre1);
setCurrentPage2(1);
//console.log(" ????????????????????????????filtre2 = "+filtre2);
}
return;
}
@ -2249,6 +2271,7 @@ const Recherche_new_v2 = () => {
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("");
@ -2302,6 +2325,7 @@ const Recherche_new_v2 = () => {
setnewresult(filtre1);
setCurrentPage2(1);
}
}
function OnblurHandle(e) {
setTimeout(() => {
@ -2580,10 +2604,12 @@ const Recherche_new_v2 = () => {
<div className="Background_Header">
</div>
<a href={process.env.REACT_APP_BASE_URL} style={{ "textDecoration": "none" }}>
<div className="logo">
<img className="Logo_MySy" src={mysy_logo2} alt="MySy Training Technology" />
<nav className="training">TRAINING</nav>
</div>
</a>
<div className="Menu_Header">
@ -3014,7 +3040,7 @@ const Recherche_new_v2 = () => {
id="supoort_list_derou" name="supoort_list_derou" >
<option selected value="">Choisir</option>
<option value="video">Video</option>
<option value="rv">Realité Virtuelle</option>
<option value="réalité virtuelle">Realité Virtuelle</option>
<option value="document">Document</option>
<option value="mixte">Mixte</option>
@ -3072,7 +3098,7 @@ const Recherche_new_v2 = () => {
Tous les metiers
</div>
<div className="filter_metier_sous_block_content_txt_nb">
270 formations
</div>
</div>
</div>
@ -3087,7 +3113,7 @@ const Recherche_new_v2 = () => {
Informatique
</div>
<div className="filter_metier_sous_block_content_txt_nb">
270 formations
</div>
</div>
</div>
@ -3103,7 +3129,7 @@ const Recherche_new_v2 = () => {
Graphisme
</div>
<div className="filter_metier_sous_block_content_txt_nb">
21 formations
</div>
</div>
</div>
@ -3118,7 +3144,7 @@ const Recherche_new_v2 = () => {
Projets
</div>
<div className="filter_metier_sous_block_content_txt_nb">
21 formations
</div>
</div>
@ -3147,7 +3173,7 @@ const Recherche_new_v2 = () => {
Management
</div>
<div className="filter_metier_sous_block_content_txt_nb">
211 formations
</div>
</div>
@ -3375,7 +3401,7 @@ const Recherche_new_v2 = () => {
{result && myApiResponse == "True" && fin == 0 && !newresult &&
result.slice(0, PageSize).map((formation) => (
<div className="rech_list_formation2" >
<div className="rech_list_formation2" ref={inputEl} id="inputEl_element">
<Formation formation={JSON.parse(formation)} key={JSON.parse(formation).title} coeur={JSON.parse(formation).title} />
</div>

View File

@ -87,11 +87,6 @@ const SideBar = () => {
</NavLink>
<NavLink exact to={"/mysy-user-account"} activeClassName={"nav-active"}>
Mon compte
</NavLink>
<NavLink exact to={"/recherche-formation"} activeClassName={"nav-active"}>
Recherche formation
</NavLink>

View File

@ -441,7 +441,7 @@
width: 327px;
height: 116px;
left: 20px;
top: 190px;
top: 210px;
}
.mob_block_content_rating {
@ -493,11 +493,11 @@
width: 277px;
height: 28px;
left: 24px;
top: 320px;
top: 330px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-weight: 600;
font-size: 22px;
line-height: 38px;
display: flex;
@ -764,7 +764,7 @@
gap: 4px;
width: 100%;
height: 19px;
height: 22px;
/* Inside auto layout */
@ -1331,6 +1331,20 @@
width: 20px !important;
}
.mob_block_jeminforme {
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 0px;
gap: 4px;
position: absolute;
width: 90%;
height: 42px;
left: 24px;
top: 1100px;
}
.mob_block_organisme_ftion {
display: flex;
flex-direction: column;
@ -1396,7 +1410,7 @@
border-radius: 10px;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
max-width: 90%;
max-height: 100px;
}
.css-ryrseu-MuiRating-root {
@ -2290,7 +2304,7 @@
position: absolute;
width: 61%;
height: 1110px;
//height: 1110px;
left: 10px;
top: 350px;
text-align: left;
@ -2321,9 +2335,9 @@
flex: none;
order: 0;
flex-grow: 0;
max-height: 25rem;
min-height: 20rem;
overflow: hidden;
//max-height: 25rem;
//min-height: 20rem;
//overflow: hidden;
}
@ -2352,9 +2366,9 @@
flex: none;
order: 0;
flex-grow: 0;
max-height: 55rem;
min-height: 20rem;
overflow: hidden;
//max-height: 55rem;
//min-height: 20rem;
//overflow: hidden;
}
@ -2422,7 +2436,7 @@
position: relative;
width: 35%;
height: 1000px;
height: 800px;
left: 63%;
top: 160px;
//border: solid;
@ -2885,7 +2899,7 @@
//width: 80px;
height: 16px;
//left: 965px;
top: 900px;
top: 700px;
left: 35%;
}
@ -2947,7 +2961,7 @@
text-align: center;
height: 42px;
// left: 965px;
top: 950px;
top: 750px;
}
.sticky_organisme_title_desc_title {
@ -3009,7 +3023,7 @@
position: absolute;
//width: 100%;
height: 629px;
//height: 629px;
left: 15px;
top: 2800px;
@ -3372,6 +3386,12 @@
.css-iljtu2-MuiRating-root {
font-size: 1.2rem;
}
.footer {
width: 100%;
position: relative;
//top: 50px;
}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
@ -4251,7 +4271,7 @@
position: absolute;
width: 65%;
height: 1110px;
//height: 1110px;
left: 30px;
top: 350px;
text-align: left;
@ -4282,9 +4302,9 @@
flex: none;
order: 0;
flex-grow: 0;
max-height: 15rem;
min-height: 15rem;
overflow: hidden;
// max-height: 15rem;
//min-height: 15rem;
//overflow: hidden;
}
@ -4313,9 +4333,9 @@
flex: none;
order: 0;
flex-grow: 0;
max-height: 40rem;
min-height: 20rem;
overflow: hidden;
//max-height: 40rem;
//min-height: 20rem;
//overflow: hidden;
}
@ -4383,7 +4403,7 @@
position: relative;
width: 30%;
height: 1000px;
height: 800px;
left: 68%;
top: 160px;
//border: solid;
@ -4846,7 +4866,7 @@
//width: 80px;
height: 16px;
//left: 965px;
top: 900px;
top: 700px;
left: 35%;
}
@ -4908,7 +4928,7 @@
text-align: center;
height: 42px;
// left: 965px;
top: 950px;
top: 750px;
}
.sticky_organisme_title_desc_title {
@ -4970,7 +4990,7 @@
position: absolute;
width: 90%;
height: 629px;
//height: 629px;
left: 5%;
top: 2200px;
@ -5332,6 +5352,12 @@
.css-iljtu2-MuiRating-root {
font-size: 1.2rem;
}
.footer {
width: 100%;
position: relative;
//top: 250px;
}
}
@media only screen and (min-width: 1200px) {
@ -6228,7 +6254,7 @@
position: absolute;
width: 60%;
height: 1110px;
//height: 1110px;
left: 182px;
top: 350px;
text-align: left;
@ -6259,9 +6285,9 @@
flex: none;
order: 0;
flex-grow: 0;
max-height: 15rem;
min-height: 15rem;
overflow: hidden;
//max-height: 15rem;
//min-height: 15rem;
//overflow: hidden;
}
@ -6290,9 +6316,9 @@
flex: none;
order: 0;
flex-grow: 0;
max-height: 40rem;
min-height: 20rem;
overflow: hidden;
//max-height: 40rem;
//min-height: 20rem;
//overflow: hidden;
}
@ -6360,7 +6386,7 @@
position: relative;
width: 309px;
height: 1000px;
height: 800px;
left: 74%;
top: 160px;
//border: solid;
@ -6823,7 +6849,7 @@
//width: 80px;
height: 16px;
//left: 965px;
top: 900px;
top: 700px;
left: 35%;
}
@ -6885,7 +6911,7 @@
text-align: center;
height: 42px;
// left: 965px;
top: 950px;
top: 750px;
}
.sticky_organisme_title_desc_title {
@ -6947,7 +6973,7 @@
position: absolute;
width: 100%;
height: 629px;
//height: 629px;
left: 182px;
top: 2200px;
@ -7309,6 +7335,14 @@
.css-iljtu2-MuiRating-root {
font-size: 1.2rem;
}
.footer {
width: 100%;
position: relative;
//top: 250px;
z-index: -1;
}
}
// end media

View File

@ -100,6 +100,7 @@
padding: 0.3rem;
width: 90%;
background: #81BC3A;
height: 2rem;
}
@ -111,6 +112,7 @@
width: 90%;
background-color: white;
color: #104277 !important;
height: 2rem;
}
}
@ -319,8 +321,9 @@
border-radius: 5px;
font-size: small;
padding: 0.3rem;
width: 60%;
width: 50%;
background: #81BC3A;
height: 2rem;
}
@ -329,9 +332,10 @@
border-radius: 5px;
font-size: small;
padding: 0.3rem;
width: 60%;
width: 50%;
background-color: white;
color: #104277 !important;
height: 2rem;
}
}
@ -362,7 +366,7 @@
float: left;
// border:1px solid black;
// border-width:0.01rem;
width: 45%;
width: 50%;
border-radius: 1rem;
}
@ -370,7 +374,7 @@
float: right;
//border:1px solid black;
//border-width:0.01rem;
width: 45%;
width: 50%;
border-radius: 1rem;
}
@ -435,8 +439,9 @@
border-radius: 5px;
font-size: small;
padding: 0.3rem;
width: 60%;
width: 50%;
background: #81BC3A;
height: 2rem;
}
@ -444,9 +449,10 @@
border-radius: 5px;
font-size: small;
padding: 0.3rem;
width: 60%;
width: 50%;
background-color: white;
color: #104277 !important;
height: 2rem;
}
.survey_block{

View File

@ -83,11 +83,8 @@
z-index: 50;
width: 100%;
float: left;
margin-top: 10rem;
@media only screen and (min-height: 801px) {
margin-top: 35rem;
}
top: calc(100vh - 150px);
position: absolute;
}
@ -174,16 +171,8 @@
z-index: 50;
width: 100%;
float: left;
margin-top: 2rem;
@media only screen and (min-height: 1000px) { /* Ipaid */
margin-top: 40rem;
}
@media only screen and (min-height: 1101px) { /* Ipad Air */
margin-top: 60rem;
}
top: calc(100vh - 150px);
position: absolute;
}
@ -271,11 +260,8 @@
z-index: 50;
width: 100%;
float: left;
margin-top: 20rem;
@media only screen and (min-height: 1000px) {
margin-top: 30rem;
}
top: calc(100vh - 150px);
position: absolute;
}
}
@ -358,15 +344,8 @@
z-index: 50;
width: 100%;
float: left;
margin-top: 40rem;
@media only screen and (min-height: 901px) {
margin-top: 18rem;
}
@media only screen and (min-height: 1201px) {
margin-top: 28rem;
}
top: calc(100vh - 150px);
position: absolute;
}
.img_ok {

View File

@ -1440,7 +1440,7 @@
.frame_133_grp_radio {
/* Radio Button */
cursor: pointer;
width: 16px;
height: 16px;
@ -1620,7 +1620,7 @@
.filter_metier_sous_block {
/* Filter */
cursor: pointer;
//cursor: pointer;
box-sizing: border-box;
/* Auto layout */
@ -1709,6 +1709,7 @@
width: 144px;
height: 22px;
margin-top: 10px;
text-align: left;
font-family: 'Albert Sans';
font-style: normal;
@ -1782,7 +1783,7 @@
border: #0A043C solid;
width: 24px;
height: 24px;
cursor: pointer;
/* Inside auto layout */
@ -3381,7 +3382,7 @@
.meconnecter {
cursor: pointer;
width: 102px;
//width: 102px;
height: 30px;
font-family: 'Albert Sans';
@ -4161,6 +4162,7 @@
.frame_133_grp_radio {
/* Radio Button */
cursor: pointer;
width: 16px;
height: 16px;
@ -4429,7 +4431,7 @@
.filter_metier_sous_block_content_txt_formation {
width: 144px;
height: 22px;
margin-top: 10px;
text-align: left;
font-family: 'Albert Sans';
font-style: normal;
@ -4504,7 +4506,7 @@
width: 24px;
height: 24px;
cursor: pointer;
/* Inside auto layout */
flex: none;
@ -6242,7 +6244,7 @@
.meconnecter {
cursor: pointer;
width: 102px;
//width: 102px;
height: 30px;
font-family: 'Albert Sans';
@ -7019,7 +7021,7 @@
.frame_133_grp_radio {
/* Radio Button */
cursor: pointer;
width: 16px;
height: 16px;
@ -7199,7 +7201,7 @@
.filter_metier_sous_block {
/* Filter */
cursor: pointer;
//cursor: pointer;
box-sizing: border-box;
/* Auto layout */
@ -7289,7 +7291,7 @@
height: 22px;
text-align: left;
margin-top: 10px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 600;
@ -7363,7 +7365,7 @@
width: 24px;
height: 24px;
cursor: pointer;
/* Inside auto layout */
flex: none;
@ -9102,7 +9104,7 @@
.meconnecter {
cursor: pointer;
width: 102px;
width: 112px;
height: 30px;
font-family: 'Albert Sans';
@ -9878,7 +9880,7 @@
.frame_133_grp_radio {
/* Radio Button */
cursor: pointer;
width: 16px;
height: 16px;
@ -10058,7 +10060,7 @@
.filter_metier_sous_block {
/* Filter */
cursor: pointer;
//cursor: pointer;
box-sizing: border-box;
/* Auto layout */
@ -10148,7 +10150,7 @@
height: 22px;
text-align: left;
margin-top: 10px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 600;
@ -10222,7 +10224,7 @@
width: 24px;
height: 24px;
cursor: pointer;
/* Inside auto layout */
flex: none;
@ -10545,7 +10547,8 @@
height: 386px;
left: 72px;
//top: 4750px;
top: 4150px;;
top: 4150px;
;
/* White */
@ -11975,7 +11978,7 @@
.meconnecter {
cursor: pointer;
width: 102px;
width: 112px;
height: 30px;
font-family: 'Albert Sans';
@ -12751,7 +12754,7 @@
.frame_133_grp_radio {
/* Radio Button */
cursor: pointer;
width: 16px;
height: 16px;
@ -12932,7 +12935,7 @@
.filter_metier_sous_block {
/* Filter */
cursor: pointer;
//cursor: pointer;
box-sizing: border-box;
/* Auto layout */
@ -13022,7 +13025,7 @@
height: 22px;
text-align: left;
margin-top: 10px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 600;
@ -13095,7 +13098,7 @@
border: #0A043C solid;
width: 24px;
height: 24px;
cursor: pointer;
/* Inside auto layout */
@ -13873,5 +13876,3 @@
.bQSvsY {
background: white !important;
}

View File

@ -85,6 +85,7 @@
.ch_burger_menu {
left: 2px !important;
top: 3px !important;
max-height: 500px !important;
}
@ -102,7 +103,7 @@
/* Our sidebar item styling */
text-decoration: none;
margin-bottom: 10px;
color: #d1d1d1;
color: black;
transition: color 0.2s;
}
@ -166,7 +167,7 @@
/* General sidebar styles */
.bm-menu {
background: #373a47;
background: white;
padding: 2.5em 1.5em 0;
text-align: left;
text-decoration: none;