20/12/2023 - 18h
parent
3c495a2327
commit
a98bfdfbf6
1
.env
1
.env
|
@ -6,5 +6,6 @@ REACT_APP_API_URL_prod=https://apimysy.mysy-training.com/
|
|||
REACT_APP_API_URL_recette=https://devapimysy.mysy-training.com/
|
||||
REACT_APP_API_URL=http://localhost:5001/
|
||||
REACT_APP_BASE_URL=http://localhost:3009/recherche-formation
|
||||
REACT_APP_FRONT_URL=http://localhost:3009/
|
||||
REACT_APP_ENV=DEV
|
||||
GENERATE_SOURCEMAP=false
|
File diff suppressed because it is too large
Load Diff
|
@ -148,8 +148,8 @@
|
|||
"wysiwyg": "^2.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "set \"GENERATE_SOURCEMAP=false\" && react-scripts start --max-old-space-size=16384",
|
||||
"build": "react-scripts build --max-old-space-size=16384",
|
||||
"start": "set \"GENERATE_SOURCEMAP=false\" && react-scripts --max_old_space_size=16384 start",
|
||||
"build": "react-scripts --max_old_space_size=16384 build",
|
||||
"test": "react-scripts test",
|
||||
"eject": "react-scripts eject",
|
||||
"winBuild": "set \"GENERATE_SOURCEMAP=false\" && react-scripts build"
|
||||
|
|
|
@ -78,6 +78,10 @@ function App() {
|
|||
<Route path="/Display-Detail-Article/:articleId" exact component={DisplayDetailArticle} />
|
||||
<Route path="/Display-Detail-formation-Coeur/:classId" exact component={CoupDeCoeur} />
|
||||
<Route path="/Partner/:action/:orderid/:packs" exact component={Partner} />
|
||||
|
||||
<Route path="/Partner/:action/:orderid" exact component={Partner} />
|
||||
|
||||
|
||||
<Route path="/Partner/:action" exact component={Partner} />
|
||||
<Route path="/Partner" exact component={Partner} />
|
||||
<Route path="/PartnerLogin" exact component={PartnerLogin} />
|
||||
|
|
|
@ -435,7 +435,7 @@ const AddParnerClient = (props) => {
|
|||
setformedit_mode_invoice("0");
|
||||
|
||||
submenu_donnee_client();
|
||||
fillfield(props.client_mail);
|
||||
fillfield();
|
||||
|
||||
setdatamodification("0");
|
||||
setdatamodification_invoice("0");
|
||||
|
|
|
@ -26,7 +26,7 @@ import "react-datepicker/dist/react-datepicker.css";
|
|||
import { format } from 'date-fns'
|
||||
import moment from "moment";
|
||||
import InputAdornment from '@mui/material/InputAdornment';
|
||||
import { AiFillCloseCircle } from "react-icons/ai";
|
||||
import { AiFillCloseCircle, AiOutlineConsoleSql } from "react-icons/ai";
|
||||
import Box from '@mui/material/Box';
|
||||
import { Typography, LinearProgress } from '@mui/material';
|
||||
import styled from 'styled-components';
|
||||
|
@ -48,8 +48,10 @@ import Module_Historique_Action from "./Module_Historique_Action";
|
|||
import { HiDocumentCheck } from "react-icons/hi2";
|
||||
import { BsSend } from "react-icons/bs";
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
import { FcOpenedFolder } from "react-icons/fc";
|
||||
|
||||
const DisplayPartnerSession = (props) => {
|
||||
|
||||
const history = useHistory();
|
||||
const [submenu, setsubmenu] = useState("");
|
||||
const [rowss, setRows] = useState([]);
|
||||
|
@ -142,7 +144,7 @@ const DisplayPartnerSession = (props) => {
|
|||
field: 'etape', headerName: 'Etape', hide: false, width: datagrid_columns_size_model2,
|
||||
|
||||
},
|
||||
{ field: 'class_external_code', headerName: 'Code Formation', align: "center", hideable: true, flex: 1, hide: false, minWidth: 150 },
|
||||
{ field: 'class_external_code', headerName: 'Code Formation', align: "center", hideable: true, flex: 1, hide: true, minWidth: 150 },
|
||||
{ field: 'date_debut', headerName: 'Debut', hide: false, width: datagrid_columns_size_model2, },
|
||||
{ field: 'date_fin', headerName: 'Fin', hideable: false, width: datagrid_columns_size_model2, },
|
||||
{
|
||||
|
@ -275,7 +277,7 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
]
|
||||
|
@ -1021,7 +1023,7 @@ const DisplayPartnerSession = (props) => {
|
|||
setLoading(false);
|
||||
console.warn('Not good man :( Getall_TrainingSession = ', error);
|
||||
setGetall_TrainingSession_api("false");
|
||||
alert("Impossible de lancer la recherche")
|
||||
alert("Impossible de lancer la recherche");
|
||||
//setmyApimyApiMessage("")
|
||||
})
|
||||
}
|
||||
|
@ -1094,6 +1096,8 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
const [session_selected_row_id, setsession_selected_row_id] = useState("");
|
||||
|
||||
const [selected_class_external_code, setselected_class_external_code] = useState("");
|
||||
|
||||
function handleClick_edit_session_From_Line(selected_row_id) {
|
||||
setaddOneSession("0");
|
||||
setEdite_session("0");
|
||||
|
@ -1115,6 +1119,8 @@ const DisplayPartnerSession = (props) => {
|
|||
var session_id = line._id;
|
||||
setselected_session_id(session_id);
|
||||
|
||||
setselected_class_external_code(line.class_external_code);
|
||||
|
||||
Getall_Sequence_Of_Session(session_id);
|
||||
|
||||
|
||||
|
@ -1130,6 +1136,41 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
GetListeEmargement(line._id, line.class_internal_url);
|
||||
}
|
||||
|
||||
|
||||
// lorsqu'on rentre dans ce fichier avec deja un session_id (cas des directions )
|
||||
function Display_session_From_Props(props_session_id, props_class_internal_url) {
|
||||
setLoading(true);
|
||||
|
||||
setaddOneSession("0");
|
||||
setEdite_session("0");
|
||||
setnb_stagiaire_Preinscrit("0");
|
||||
setnb_stagiaire_Inscrit("0");
|
||||
|
||||
setselectionModel_preinsc([]);
|
||||
setSelectionModel_insc([]);
|
||||
|
||||
|
||||
setselected_internal_url(props_class_internal_url);
|
||||
|
||||
setselected_session_id(props_session_id);
|
||||
|
||||
Getall_Sequence_Of_Session(props_session_id);
|
||||
|
||||
|
||||
submenu_detail_session();
|
||||
|
||||
GetCurrentSession(props_session_id, props_class_internal_url);
|
||||
|
||||
GetListePreinscrit(props_session_id, props_class_internal_url);
|
||||
|
||||
GetListeInscrit(props_session_id, props_class_internal_url);
|
||||
|
||||
GetListeEmargement(props_session_id, props_class_internal_url);
|
||||
setLoading(false);
|
||||
}
|
||||
|
||||
|
||||
const [Get_List_Partner_Clients_api, setGet_List_Partner_Clients_api] = useState();
|
||||
const [Get_List_Partner_Clients_message, setGet_List_Partner_Clients_message] = useState();
|
||||
const [Get_List_Partner_Clients_result, setGet_List_Partner_Clients_result] = useState();
|
||||
|
@ -1316,6 +1357,7 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
useEffect(() => {
|
||||
|
||||
|
||||
Get_Partner_Object_Specific_Fields_stagiaire();
|
||||
|
||||
Getall_Training_Employee_No_Filter();
|
||||
|
@ -1334,10 +1376,18 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
Get_Partner_Object_Specific_Fields("session_formation");
|
||||
|
||||
if (String(props.object_key).length > 3) {
|
||||
|
||||
setLoading(true);
|
||||
GetCurrentSession(props.object_key, props.class_internal_url);
|
||||
Display_session_From_Props(props.object_key, props.class_internal_url);
|
||||
setLoading(false);
|
||||
} else {
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}, [])
|
||||
|
@ -3908,11 +3958,8 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_session_etape(mylocaltraining.session_etape);
|
||||
setp_session_etape_label(mylocaltraining.session_etape);
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
setp_session_etape_label("Projet");
|
||||
setp_session_etape("0");
|
||||
}
|
||||
|
@ -3951,9 +3998,16 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_myclass_title(mylocaltraining.myclass[0].title);
|
||||
|
||||
|
||||
if (mylocaltraining.class_external_code)
|
||||
setselected_class_external_code(mylocaltraining.class_external_code);
|
||||
|
||||
|
||||
|
||||
document.getElementsByName("code_session")[0].value = "";
|
||||
if (mylocaltraining.code_session)
|
||||
if (mylocaltraining.code_session) {
|
||||
setp_code_session(mylocaltraining.code_session);
|
||||
setselected_code_session(mylocaltraining.code_session);
|
||||
}
|
||||
|
||||
document.getElementsByName("nb_participant")[0].value = "";
|
||||
if (mylocaltraining.nb_participant)
|
||||
|
@ -4032,6 +4086,12 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_titre(mylocaltraining.titre);
|
||||
}
|
||||
|
||||
|
||||
if (mylocaltraining.title) {
|
||||
setselected_class_title(mylocaltraining.title);
|
||||
}
|
||||
|
||||
|
||||
if (mylocaltraining.location_type) {
|
||||
setp_detail_location_type(mylocaltraining.location_type);
|
||||
}
|
||||
|
@ -9223,7 +9283,6 @@ const DisplayPartnerSession = (props) => {
|
|||
prix_session: JSON.parse(item).prix_session,
|
||||
published: JSON.parse(item).class_published,
|
||||
session_title: JSON.parse(item).titre,
|
||||
|
||||
}
|
||||
))}
|
||||
|
||||
|
@ -9480,19 +9539,31 @@ const DisplayPartnerSession = (props) => {
|
|||
shrink: true,
|
||||
}}
|
||||
disabled={true}
|
||||
className="disabled_style enable_style"
|
||||
className="disabled_style enable_style disabled_style_left_text_with_visualiser_icone"
|
||||
value={p_myclass_title}
|
||||
onChange={(e) => {
|
||||
|
||||
setone_selected_internal_url(e.target.value);
|
||||
setp_myclass_title(e.target.value)
|
||||
Get_Class_Data(e.target.value);
|
||||
}}
|
||||
|
||||
|
||||
|
||||
/>
|
||||
|
||||
<Tooltip id="detail_01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="detail_01" data-tooltip-content="Voir les détails">
|
||||
<div className="disabled_style disabled_style_right_bton_visualiser" onClick={(event) => {
|
||||
|
||||
if (selected_internal_url && String(selected_internal_url).length > 2) {
|
||||
window.open(
|
||||
process.env.REACT_APP_FRONT_URL + "Partner/affichage/" + String(selected_class_external_code) + "/" + String(selected_internal_url),
|
||||
'_blank'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
>
|
||||
<div className="disabled_style_with_visualiser_icone" >
|
||||
<FcOpenedFolder />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
<div className="session_caract"><b> Code Session </b><br />
|
||||
|
|
|
@ -10,7 +10,7 @@ import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
|||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||
import { Editor } from '@tinymce/tinymce-react';
|
||||
|
||||
import { FcViewDetails, FcDisapprove } from "react-icons/fc";
|
||||
import { FcDisapprove } from "react-icons/fc";
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import add_plus from "../mysy_img/plus.png";
|
||||
|
@ -44,12 +44,14 @@ import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
|||
import { AiTwotoneSave } from "react-icons/ai";
|
||||
import Module_Absence from "./Module_Absence";
|
||||
import { RiMoreFill } from "react-icons/ri";
|
||||
import Switch from '@mui/material/Switch';
|
||||
import { FcSearch } from "react-icons/fc";
|
||||
|
||||
import { useHistory } from "react-router-dom";
|
||||
import Module_Historique_Action from "./Module_Historique_Action";
|
||||
import ToggleSwitch from "./ToggleSwitch";
|
||||
|
||||
import Autocomplete from '@mui/material/Autocomplete';
|
||||
import { FcDownRight, FcRight, FcSearch, FcViewDetails, FcOpenedFolder } from "react-icons/fc";
|
||||
import { MdOutlineVisibility } from "react-icons/md";
|
||||
|
||||
const DisplayPartnerStagiaires = (props) => {
|
||||
const history = useHistory();
|
||||
|
@ -92,11 +94,12 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
{ field: 'prenom', headerName: 'Prénom', minWidth: 150, flex: 1, hide: false, editable: false },
|
||||
{ field: 'email', headerName: 'Email', minWidth: 200, flex: 1, hideable: false, editable: false },
|
||||
{ field: 'employeur', headerName: 'Employeur', minWidth: 150, hide: true, editable: false },
|
||||
{ field: 'client_nom', headerName: 'Client', minWidth: 150, flex: 1, hide: false, editable: false },
|
||||
{
|
||||
field: 'status', headerName: 'Statut', hide: false, width: datagrid_columns_size_model2,
|
||||
valueFormatter: (params) => {
|
||||
if (String(params.value) === "0")
|
||||
return "Préinscrit";
|
||||
return "PréIns.";
|
||||
else if (String(params.value) === "1")
|
||||
return "Inscrit";
|
||||
else if (String(params.value) === "-1")
|
||||
|
@ -167,7 +170,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
trigger={<Button
|
||||
|
||||
>
|
||||
<FcCancel /> Annuler
|
||||
Annuler
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
|
@ -334,7 +337,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
},
|
||||
|
||||
{
|
||||
field: "Imprimer", headerName: 'Imprimer detail',
|
||||
field: "Impr.", headerName: 'Imprimer detail',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
|
@ -5899,6 +5902,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
nom: JSON.parse(item).nom,
|
||||
prenom: JSON.parse(item).prenom,
|
||||
employeur: JSON.parse(item).employeur,
|
||||
client_nom: JSON.parse(item).client_rattachement_nom,
|
||||
status: JSON.parse(item).status,
|
||||
title: JSON.parse(item).title,
|
||||
distantiel: JSON.parse(item).distantiel,
|
||||
|
@ -6674,9 +6678,9 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
<div className="session_data" >
|
||||
<div>
|
||||
|
||||
{String(participant_data_edit_mode) !== "1" && <div className="session_caract"> <b> Session </b><br />
|
||||
{String(participant_data_edit_mode) !== "1" && <div className="session_caract" tyle={{ "width": "80%", "float": "left" }}> <b> Session</b><br />
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 } }}
|
||||
required
|
||||
name="detail_session_class"
|
||||
id="detail_session_class"
|
||||
|
@ -6685,11 +6689,30 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style"
|
||||
className="disabled_style disabled_style_left_text_with_visualiser_icone"
|
||||
value={p_detail_session_class}
|
||||
|
||||
|
||||
|
||||
/>
|
||||
<Tooltip id="detail_01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="detail_01" data-tooltip-content="Voir les détails">
|
||||
<div className="disabled_style disabled_style_right_bton_visualiser" onClick={(event) => {
|
||||
if (selected_session_id && selected_internal_url && String(selected_session_id).length > 2 && String(selected_internal_url).length > 2) {
|
||||
window.open(
|
||||
process.env.REACT_APP_FRONT_URL + "Partner/mes_sessions/" + String(selected_session_id) + "/" + String(selected_internal_url),
|
||||
'_blank'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
>
|
||||
<div className="disabled_style_with_visualiser_icone" >
|
||||
<FcOpenedFolder />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>}
|
||||
|
||||
|
@ -6772,10 +6795,33 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style"
|
||||
className="disabled_style disabled_style_left_text_with_visualiser_icone"
|
||||
value={p_detail_client_rattachement_nom}
|
||||
/>
|
||||
|
||||
<Tooltip id="detail_01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="detail_01" data-tooltip-content="Voir les détails">
|
||||
<div className="disabled_style disabled_style_right_bton_visualiser" onClick={(event) => {
|
||||
|
||||
if (p_detail_client_rattachement_id && String(p_detail_client_rattachement_id).length > 2) {
|
||||
window.open(
|
||||
process.env.REACT_APP_FRONT_URL + "Partner/mes_clients/" + String(p_detail_client_rattachement_id),
|
||||
'_blank'
|
||||
);
|
||||
}
|
||||
else{
|
||||
alert(" Aucun client selectionné")
|
||||
}
|
||||
}
|
||||
}
|
||||
>
|
||||
<div className="disabled_style_with_visualiser_icone" >
|
||||
<FcOpenedFolder />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
|
|
|
@ -7,8 +7,7 @@ import Button from '@mui/material/Button';
|
|||
import Select from 'react-select'
|
||||
import { getCookie } from 'react-use-cookie';
|
||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||
import Footer from "./Fotter";
|
||||
import tick_ko from "../mysy_img/tick_KO.png";
|
||||
|
||||
import Popup from 'reactjs-popup';
|
||||
import 'reactjs-popup/dist/index.css';
|
||||
import { AiFillCloseCircle, } from "react-icons/ai";
|
||||
|
@ -881,6 +880,18 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
|
||||
//GetAllClass();
|
||||
GetAllClass_new();
|
||||
|
||||
|
||||
if (String(props.class_internal_url).length > 3 && String(props.class_external_code).length > 3 ) {
|
||||
|
||||
setLoading(true);
|
||||
setreftrainingtoupdate(props.class_internal_url);
|
||||
setexternalcodetraining_toupdate(props.class_external_code);
|
||||
setupdatetraining(true);
|
||||
|
||||
setLoading(false);
|
||||
} else {
|
||||
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
|
@ -891,6 +902,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
setismobilephone_columns_hide(true);
|
||||
setdatagrid_columns_size_model2(10);
|
||||
}
|
||||
}
|
||||
}, []);
|
||||
|
||||
function Clearselectedfilt1() {
|
||||
|
|
|
@ -103,7 +103,7 @@ const Partner = (props) => {
|
|||
const [firstConnexion, setfirstConnexion] = useState("");
|
||||
const [part_is_partner_admin_account, setpart_is_partner_admin_account] = useState("");
|
||||
|
||||
const { action, orderid, packs } = useParams()
|
||||
const { action, orderid, packs, object_key, class_internal_url } = useParams()
|
||||
|
||||
|
||||
const changeHandler = (event) => {
|
||||
|
@ -1327,7 +1327,8 @@ const Partner = (props) => {
|
|||
|
||||
{String(menu) === "affichage" &&
|
||||
<div className="div_droite">
|
||||
<PartnerTranings ispending={partnerstatus} currentpack={partnerPackService} />
|
||||
<PartnerTranings ispending={partnerstatus} currentpack={partnerPackService} conntected_employee_id={conntected_employee_id}
|
||||
class_external_code={orderid} class_internal_url={packs}/>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -1483,7 +1484,9 @@ const Partner = (props) => {
|
|||
|
||||
{String(menu) === "mes_sessions" &&
|
||||
<div className="div_droite">
|
||||
<DisplayPartnerSession conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("session", "read")} write_access={check_user_acces_right("session", "write")} />
|
||||
|
||||
<DisplayPartnerSession conntected_employee_id={conntected_employee_id} object_key={orderid} class_internal_url={packs}
|
||||
read_access={check_user_acces_right("session", "read")} write_access={check_user_acces_right("session", "write")} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -1550,7 +1553,8 @@ const Partner = (props) => {
|
|||
|
||||
{String(menu) === "mes_clients" && <div className="div_droite">
|
||||
|
||||
<Partner_Client conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("client", "read")} write_access={check_user_acces_right("client", "write")} />
|
||||
<Partner_Client conntected_employee_id={conntected_employee_id} object_key={orderid}
|
||||
read_access={check_user_acces_right("client", "read")} write_access={check_user_acces_right("client", "write")} />
|
||||
</div>
|
||||
}
|
||||
|
||||
|
|
|
@ -292,11 +292,18 @@ const Partner_Client = (props) => {
|
|||
useEffect(() => {
|
||||
//menu_info();
|
||||
Get_List_Partner_Clients();
|
||||
|
||||
|
||||
if (String(props.object_key).length > 3) {
|
||||
handleClick_edit_session_From_Props(props.object_key);
|
||||
|
||||
|
||||
} else {
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
left: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}
|
||||
|
||||
}, []);
|
||||
|
||||
|
@ -424,9 +431,24 @@ const Partner_Client = (props) => {
|
|||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function handleClick_edit_session_From_Props(props_client_id) {
|
||||
setselected_id(props_client_id);
|
||||
setEdite_Client("1");
|
||||
|
||||
window.scrollTo({
|
||||
top: 800,
|
||||
left: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
const [p_filtre1, setp_filtre1] = useState();
|
||||
|
|
|
@ -13,7 +13,6 @@ import MenuItem from '@mui/material/MenuItem';
|
|||
import { getCookie, setCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
|
||||
import { Calendar, dateFnsLocalizer } from 'react-big-calendar'
|
||||
import format from 'date-fns/format'
|
||||
import parse from 'date-fns/parse'
|
||||
|
@ -34,8 +33,8 @@ import DialogActions from '@mui/material/DialogActions';
|
|||
import DialogContent from '@mui/material/DialogContent';
|
||||
import DialogContentText from '@mui/material/DialogContentText';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
|
||||
|
||||
import Typography from '@mui/material/Typography';
|
||||
import Menu from '@mui/material/Menu';
|
||||
|
||||
const locales = {
|
||||
'en-US': enUS,
|
||||
|
@ -531,7 +530,38 @@ const TestUrl_New = (props) => {
|
|||
setOpen(false);
|
||||
};
|
||||
|
||||
const [contextMenu, setContextMenu] = React.useState(null);
|
||||
const handleContextMenu = (event) => {
|
||||
event.preventDefault();
|
||||
setContextMenu(
|
||||
contextMenu === null
|
||||
? {
|
||||
mouseX: event.clientX + 2,
|
||||
mouseY: event.clientY - 6,
|
||||
}
|
||||
: // repeated contextmenu when it is already open closes it with Chrome 84 on Ubuntu
|
||||
// Other native context menus might behave different.
|
||||
// With this behavior we prevent contextmenu from the backdrop to re-locale existing context menus.
|
||||
null,
|
||||
);
|
||||
};
|
||||
|
||||
const handleClose22 = () => {
|
||||
alert(" 22");
|
||||
setContextMenu(null);
|
||||
};
|
||||
|
||||
const handleClose23 = () => {
|
||||
alert(" 23");
|
||||
setContextMenu(null);
|
||||
};
|
||||
const handleClose24 = () => {
|
||||
alert(" 24");
|
||||
setContextMenu(null);
|
||||
};
|
||||
const handleClose25 = () => {
|
||||
setContextMenu(null);
|
||||
};
|
||||
return (
|
||||
<div className="testurl_new">
|
||||
<Helmet>
|
||||
|
@ -569,6 +599,37 @@ const TestUrl_New = (props) => {
|
|||
|
||||
|
||||
<div className="div_mobile">
|
||||
<div onContextMenu={handleContextMenu} style={{ cursor: 'context-menu' }}>
|
||||
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="detail_session_class"
|
||||
id="detail_session_class"
|
||||
value={"uuuuuuuuuuu"}
|
||||
//onContextMenu={handleContextMenu}
|
||||
|
||||
>
|
||||
</TextField>
|
||||
<Menu
|
||||
open={contextMenu !== null}
|
||||
onClose={handleClose}
|
||||
anchorReference="anchorPosition"
|
||||
anchorPosition={
|
||||
contextMenu !== null
|
||||
? { top: contextMenu.mouseY, left: contextMenu.mouseX }
|
||||
: undefined
|
||||
}
|
||||
>
|
||||
<MenuItem onClick={handleClose22} style={{"width":"100%"}}>Copy</MenuItem>
|
||||
<MenuItem onClick={handleClose22} style={{"width":"100%"}}>Print</MenuItem>
|
||||
<MenuItem onClick={handleClose22} style={{"width":"100%"}}>Highlight</MenuItem>
|
||||
<MenuItem onClick={handleClose22} style={{"width":"100%"}}>Email</MenuItem>
|
||||
</Menu>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h3> Page de test * testurl_new </h3>
|
||||
parametres courseid = {courseid}, tabid = {tabid}
|
||||
<br />
|
||||
|
|
|
@ -2527,6 +2527,32 @@
|
|||
|
||||
// end media
|
||||
|
||||
|
||||
.disabled_style_with_visualiser {
|
||||
width: 80% !important;
|
||||
}
|
||||
|
||||
.disabled_style_with_visualiser_icone{
|
||||
float: left;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
font-size: large;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.disabled_style_left_text_with_visualiser_icone{
|
||||
width: 80% !important;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.disabled_style_right_bton_visualiser{
|
||||
width: 9% !important;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.css-md26zr-MuiInputBase-root-MuiOutlinedInput-root{
|
||||
height: 3rem !important;
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
background-color: red;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.mysy_spinner {
|
||||
border-radius: 5px;
|
||||
border: 1px solid black;
|
||||
|
@ -228,6 +229,7 @@
|
|||
border-radius: 10px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
padding-right: 10px;
|
||||
|
||||
|
||||
}
|
||||
|
@ -607,12 +609,6 @@
|
|||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.block_en_mass_bton_action {
|
||||
width: 100%;
|
||||
float: left;
|
||||
margin-bottom: 1rem;
|
||||
padding-top: 0.5rem !important;
|
||||
}
|
||||
|
||||
.div_row_list_pj {
|
||||
width: 100%;
|
||||
|
@ -639,6 +635,14 @@
|
|||
margin-bottom: 1rem;
|
||||
padding-top: 0.5rem !important;
|
||||
}
|
||||
|
||||
.tuteur_field {
|
||||
width: 100%;
|
||||
padding: 5px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
font-size: small;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 601px) and (max-width: 991px) {
|
||||
|
@ -1162,7 +1166,7 @@
|
|||
border-radius: 5px;
|
||||
background: white;
|
||||
border: solid gainsboro 1px;
|
||||
padding-top: 0.5rem !important;
|
||||
padding-top: 0px !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
|
@ -1210,12 +1214,6 @@
|
|||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.block_en_mass_bton_action {
|
||||
width: 45%;
|
||||
float: left;
|
||||
margin-bottom: 1rem;
|
||||
padding-top: 0.5rem !important;
|
||||
}
|
||||
|
||||
.div_row_list_pj {
|
||||
width: 50%;
|
||||
|
@ -1242,6 +1240,13 @@
|
|||
margin-bottom: 1rem;
|
||||
padding-top: 0.5rem !important;
|
||||
}
|
||||
.tuteur_field {
|
||||
width: 50%;
|
||||
padding: 5px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -1736,6 +1741,14 @@
|
|||
padding-top: 0.5rem !important;
|
||||
}
|
||||
|
||||
.tuteur_field {
|
||||
width: 50%;
|
||||
padding: 5px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 1200px) {
|
||||
|
@ -1874,6 +1887,8 @@
|
|||
border: solid gainsboro 1px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.training_caract {
|
||||
width: 30%;
|
||||
padding: 5px;
|
||||
|
@ -2315,6 +2330,29 @@
|
|||
|
||||
// end media
|
||||
|
||||
.disabled_style_with_visualiser {
|
||||
width: 80% !important;
|
||||
}
|
||||
|
||||
.disabled_style_with_visualiser_icone{
|
||||
float: left;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
font-size: large;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.disabled_style_left_text_with_visualiser_icone{
|
||||
width: 80% !important;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.disabled_style_right_bton_visualiser{
|
||||
width: 9% !important;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.css-1v4ccyo {
|
||||
height: 3.5rem !important;
|
||||
font-size: small;
|
||||
|
|
|
@ -194,7 +194,7 @@
|
|||
float: center;
|
||||
//border: 1px solid black;
|
||||
border-width: 0.01rem;
|
||||
width: 97%;
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: auto;
|
||||
padding: 5px;
|
||||
|
|
Loading…
Reference in New Issue