05/05/2024 - 13h30
parent
39496af6dd
commit
b7f4069936
|
@ -21,6 +21,7 @@
|
|||
"@fullcalendar/core": "^6.1.11",
|
||||
"@fullcalendar/daygrid": "^6.1.9",
|
||||
"@fullcalendar/interaction": "^6.1.9",
|
||||
"@fullcalendar/list": "^6.1.11",
|
||||
"@fullcalendar/multimonth": "^6.1.11",
|
||||
"@fullcalendar/react": "^6.1.9",
|
||||
"@fullcalendar/resource": "^6.1.11",
|
||||
|
@ -65,6 +66,7 @@
|
|||
"downloadjs": "^1.4.7",
|
||||
"draft-js": "^0.11.7",
|
||||
"file-saver": "^2.0.5",
|
||||
"fullcalendar": "^6.1.11",
|
||||
"gatsby-plugin-cookie-gdpr-axeptio": "^1.0.2",
|
||||
"google-map-react": "^2.1.10",
|
||||
"html-react-parser": "^2.0.0",
|
||||
|
@ -3245,11 +3247,19 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@fullcalendar/interaction": {
|
||||
"version": "6.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.9.tgz",
|
||||
"integrity": "sha512-I3FGnv0kKZpIwujg3HllbKrciNjTqeTYy3oJG226oAn7lV6wnrrDYMmuGmA0jPJAGN46HKrQqKN7ItxQRDec4Q==",
|
||||
"version": "6.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.11.tgz",
|
||||
"integrity": "sha512-ynOKjzuPwEAMgTQ6R/Z2zvzIIqG4p8/Qmnhi1q0vzPZZxSIYx3rlZuvpEK2WGBZZ1XEafDOP/LGfbWoNZe+qdg==",
|
||||
"peerDependencies": {
|
||||
"@fullcalendar/core": "~6.1.9"
|
||||
"@fullcalendar/core": "~6.1.11"
|
||||
}
|
||||
},
|
||||
"node_modules/@fullcalendar/list": {
|
||||
"version": "6.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-6.1.11.tgz",
|
||||
"integrity": "sha512-9Qx8uvik9pXD12u50FiHwNzlHv4wkhfsr+r03ycahW7vEeIAKCsIZGTkUfFP+96I5wHihrfLazu1cFQG4MPiuw==",
|
||||
"peerDependencies": {
|
||||
"@fullcalendar/core": "~6.1.11"
|
||||
}
|
||||
},
|
||||
"node_modules/@fullcalendar/multimonth": {
|
||||
|
@ -14969,6 +14979,19 @@
|
|||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
|
||||
},
|
||||
"node_modules/fullcalendar": {
|
||||
"version": "6.1.11",
|
||||
"resolved": "https://registry.npmjs.org/fullcalendar/-/fullcalendar-6.1.11.tgz",
|
||||
"integrity": "sha512-OOlx/+yFn9k5LnucRzcDmShONBecOVKNN6HHWe8jl7hGzQBmkxO+iD6eBokO6p24EY1PjATqhZkhJqHiCUgx3A==",
|
||||
"dependencies": {
|
||||
"@fullcalendar/core": "~6.1.11",
|
||||
"@fullcalendar/daygrid": "~6.1.11",
|
||||
"@fullcalendar/interaction": "~6.1.11",
|
||||
"@fullcalendar/list": "~6.1.11",
|
||||
"@fullcalendar/multimonth": "~6.1.11",
|
||||
"@fullcalendar/timegrid": "~6.1.11"
|
||||
}
|
||||
},
|
||||
"node_modules/function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||
|
@ -36010,9 +36033,14 @@
|
|||
"integrity": "sha512-hF5jJB7cgUIxWD5MVjj8IU407HISyLu7BWXcEIuTytkfr8oolOXeCazqnnjmRbnFOncoJQVstTtq6SIhaT32Xg=="
|
||||
},
|
||||
"@fullcalendar/interaction": {
|
||||
"version": "6.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.9.tgz",
|
||||
"integrity": "sha512-I3FGnv0kKZpIwujg3HllbKrciNjTqeTYy3oJG226oAn7lV6wnrrDYMmuGmA0jPJAGN46HKrQqKN7ItxQRDec4Q=="
|
||||
"version": "6.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.11.tgz",
|
||||
"integrity": "sha512-ynOKjzuPwEAMgTQ6R/Z2zvzIIqG4p8/Qmnhi1q0vzPZZxSIYx3rlZuvpEK2WGBZZ1XEafDOP/LGfbWoNZe+qdg=="
|
||||
},
|
||||
"@fullcalendar/list": {
|
||||
"version": "6.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-6.1.11.tgz",
|
||||
"integrity": "sha512-9Qx8uvik9pXD12u50FiHwNzlHv4wkhfsr+r03ycahW7vEeIAKCsIZGTkUfFP+96I5wHihrfLazu1cFQG4MPiuw=="
|
||||
},
|
||||
"@fullcalendar/multimonth": {
|
||||
"version": "6.1.11",
|
||||
|
@ -44872,6 +44900,19 @@
|
|||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
|
||||
},
|
||||
"fullcalendar": {
|
||||
"version": "6.1.11",
|
||||
"resolved": "https://registry.npmjs.org/fullcalendar/-/fullcalendar-6.1.11.tgz",
|
||||
"integrity": "sha512-OOlx/+yFn9k5LnucRzcDmShONBecOVKNN6HHWe8jl7hGzQBmkxO+iD6eBokO6p24EY1PjATqhZkhJqHiCUgx3A==",
|
||||
"requires": {
|
||||
"@fullcalendar/core": "~6.1.11",
|
||||
"@fullcalendar/daygrid": "~6.1.11",
|
||||
"@fullcalendar/interaction": "~6.1.11",
|
||||
"@fullcalendar/list": "~6.1.11",
|
||||
"@fullcalendar/multimonth": "~6.1.11",
|
||||
"@fullcalendar/timegrid": "~6.1.11"
|
||||
}
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
"@fullcalendar/core": "^6.1.11",
|
||||
"@fullcalendar/daygrid": "^6.1.9",
|
||||
"@fullcalendar/interaction": "^6.1.9",
|
||||
"@fullcalendar/list": "^6.1.11",
|
||||
"@fullcalendar/multimonth": "^6.1.11",
|
||||
"@fullcalendar/react": "^6.1.9",
|
||||
"@fullcalendar/resource": "^6.1.11",
|
||||
|
@ -60,6 +61,7 @@
|
|||
"downloadjs": "^1.4.7",
|
||||
"draft-js": "^0.11.7",
|
||||
"file-saver": "^2.0.5",
|
||||
"fullcalendar": "^6.1.11",
|
||||
"gatsby-plugin-cookie-gdpr-axeptio": "^1.0.2",
|
||||
"google-map-react": "^2.1.10",
|
||||
"html-react-parser": "^2.0.0",
|
||||
|
|
|
@ -65,9 +65,15 @@ import daygridPlugin from "@fullcalendar/daygrid";
|
|||
import interactionPlugin from "@fullcalendar/interaction";
|
||||
import timeGridPlugin from "@fullcalendar/timegrid";
|
||||
import resourceTimeGridPlugin from '@fullcalendar/resource-timegrid';
|
||||
import Radio from '@mui/material/Radio';
|
||||
import RadioGroup from '@mui/material/RadioGroup';
|
||||
import FormControlLabel from '@mui/material/FormControlLabel';
|
||||
import FormControl from '@mui/material/FormControl';
|
||||
import FormLabel from '@mui/material/FormLabel';
|
||||
|
||||
import allLocales from '@fullcalendar/core/locales-all'
|
||||
|
||||
import listPlugin from '@fullcalendar/list';
|
||||
import multiMonthPlugin from '@fullcalendar/multimonth'
|
||||
|
||||
const DisplayPartnerSession = (props) => {
|
||||
|
||||
|
@ -7958,6 +7964,7 @@ const DisplayPartnerSession = (props) => {
|
|||
form.append("session_id", selected_session_id);
|
||||
form.append("jounree_modele_id", "");
|
||||
form.append("option", Dialog_seq_choix_model_emargement);
|
||||
form.append("ecrase_existing", planification_ecrase_existing_seq);
|
||||
|
||||
|
||||
//console.log(" form == ", form);
|
||||
|
@ -7986,6 +7993,8 @@ const DisplayPartnerSession = (props) => {
|
|||
setsequence_endDate();
|
||||
|
||||
setDialog_seq_choix_model_emargement_open(false);
|
||||
setDialog_seq_planif_periode_type("");
|
||||
setplanification_ecrase_existing_seq("");
|
||||
|
||||
alert(res.data.message);
|
||||
Close_Dialog_Detail_seq_open();
|
||||
|
@ -8014,8 +8023,8 @@ const DisplayPartnerSession = (props) => {
|
|||
const Add_Automatic_Sequence_Session_From_Week_Model = event => {
|
||||
|
||||
var new_title = p_detail_sequence_title;
|
||||
var new_start_date = moment(SessionstartDate).format("DD/MM/YYYY HH:mm");
|
||||
var new_end_date = moment(SessionendDate).format("DD/MM/YYYY HH:mm");
|
||||
var new_start_date = moment(planification_model_date_from).format("DD/MM/YYYY HH:mm");
|
||||
var new_end_date = moment(planification_model_date_to).format("DD/MM/YYYY HH:mm");
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
@ -8023,8 +8032,9 @@ const DisplayPartnerSession = (props) => {
|
|||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("session_id", selected_session_id);
|
||||
form.append("date_debut", new_start_date);
|
||||
form.append("date_fin", new_end_date);
|
||||
form.append("planif_date_debut", new_start_date);
|
||||
form.append("planif_date_fin", new_end_date);
|
||||
form.append("ecrase_existing", planification_ecrase_existing_seq);
|
||||
|
||||
var json_str = JSON.stringify(semaine_type_event)
|
||||
form.append("semaine_tab_event", json_str);
|
||||
|
@ -8055,9 +8065,11 @@ const DisplayPartnerSession = (props) => {
|
|||
setsequence_endDate();
|
||||
|
||||
setDialog_seq_choix_model_emargement_open(false);
|
||||
setDialog_seq_planif_periode_type("");
|
||||
|
||||
alert(res.data.message);
|
||||
Close_Dialog_Detail_seq_open();
|
||||
Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton();
|
||||
|
||||
}
|
||||
else {
|
||||
|
@ -8077,6 +8089,78 @@ const DisplayPartnerSession = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [Add_Automatic_Sequence_Session_From_Month_Model_api, setAdd_Automatic_Sequence_Session_From_Month_Model_api] = useState();
|
||||
const [Add_Automatic_Sequence_Session_From_Month_Model_message, setAdd_Automatic_Sequence_Session_From_Month_Model_message] = useState();
|
||||
const [Add_Automatic_Sequence_Session_From_Month_Model_result, setAdd_Automatic_Sequence_Session_From_Month_Model_result] = useState([]);
|
||||
const Add_Automatic_Sequence_Session_From_Month_Model = event => {
|
||||
|
||||
var new_title = p_detail_sequence_title;
|
||||
var new_start_date = moment(planification_model_date_from).format("DD/MM/YYYY HH:mm");
|
||||
var new_end_date = moment(planification_model_date_to).format("DD/MM/YYYY HH:mm");
|
||||
|
||||
var form = new FormData();
|
||||
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("session_id", selected_session_id);
|
||||
form.append("planif_date_debut", new_start_date);
|
||||
form.append("planif_date_fin", new_end_date);
|
||||
form.append("ecrase_existing", planification_ecrase_existing_seq);
|
||||
|
||||
var json_str = JSON.stringify(semaine_type_event)
|
||||
form.append("semaine_tab_event", json_str);
|
||||
|
||||
//console.log(" form == ", form);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Create_Automatic_Sequence_From_Month_Model/";
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Add_Automatic_Sequence_Session_From_Month_Model res.data.status = " + res.data.status);
|
||||
//console.log(" In Add_Automatic_Sequence_Session_From_Month_Model res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setAdd_Automatic_Sequence_Session_From_Month_Model_api("true");
|
||||
setAdd_Automatic_Sequence_Session_From_Month_Model_result(res.data.message);
|
||||
|
||||
Getall_Sequence_Of_Session(selected_session_id);
|
||||
|
||||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
setsequence_startDate();
|
||||
setsequence_endDate();
|
||||
|
||||
setDialog_seq_choix_model_emargement_open(false);
|
||||
setDialog_seq_planif_periode_type("");
|
||||
|
||||
alert(res.data.message);
|
||||
Close_Dialog_Detail_seq_open();
|
||||
Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton();
|
||||
|
||||
}
|
||||
else {
|
||||
setAdd_Automatic_Sequence_Session_From_Month_Model_api("false");
|
||||
setAdd_Automatic_Sequence_Session_From_Month_Model_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
|
||||
|
||||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Add_Automatic_Sequence_Session_From_Month_Model = ' + error);
|
||||
setAdd_Automatic_Sequence_Session_From_Month_Model_api("false");
|
||||
alert(" Impossible de créer automatiquement les séquences");
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const [Update_One_Sequence_Session_api, setUpdate_One_Sequence_Session_api] = useState();
|
||||
const [Update_One_Sequence_Session_message, setUpdate_One_Sequence_Session_message] = useState();
|
||||
const [Update_One_Sequence_Session_result, setUpdate_One_Sequence_Session_result] = useState();
|
||||
|
@ -8347,6 +8431,7 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
function Dialog_1_handle_change_participant_session(message) {
|
||||
setDialog_seq_choix_model_emargement_message(message);
|
||||
setDialog_seq_planif_periode_type("");
|
||||
setDialog_seq_choix_model_emargement_open(true);
|
||||
}
|
||||
|
||||
|
@ -8356,6 +8441,7 @@ const DisplayPartnerSession = (props) => {
|
|||
};
|
||||
|
||||
const Dialog_seq_choix_model_emargement_handleClose_buton = () => {
|
||||
setDialog_seq_planif_periode_type("");
|
||||
setDialog_seq_choix_model_emargement_open(false);
|
||||
};
|
||||
|
||||
|
@ -10210,6 +10296,10 @@ const DisplayPartnerSession = (props) => {
|
|||
{ "id": "2", "label": "Autre", "value": "autre" },
|
||||
]
|
||||
|
||||
|
||||
const [Dialog_seq_planif_periode_type, setDialog_seq_planif_periode_type] = React.useState("");
|
||||
|
||||
|
||||
const [Dialog_seq_CREATION_SEMAINE_TYPE_message, setDialog_seq_CREATION_SEMAINE_TYPE_message] = React.useState(false);
|
||||
const [Dialog_seq_CREATION_SEMAINE_TYPE_open, setDialog_seq_CREATION_SEMAINE_TYPE_open] = React.useState(false);
|
||||
|
||||
|
@ -10230,28 +10320,7 @@ const DisplayPartnerSession = (props) => {
|
|||
};
|
||||
|
||||
|
||||
const [semaine_type_event, setsemaine_type_event] = React.useState([
|
||||
{
|
||||
"id": "1714820379044",
|
||||
"title": "Nouvelle",
|
||||
"start": "2024-05-02 11:00:00",
|
||||
"end": "2024-05-02 12:30:00",
|
||||
"agenda": "ddd",
|
||||
"objectif": "ff",
|
||||
"comment": "sdfds",
|
||||
"day_week": "jeudi"
|
||||
},
|
||||
{
|
||||
"id": "1714820397818",
|
||||
"title": "Nouvelle",
|
||||
"start": "2024-04-30 14:30:00",
|
||||
"end": "2024-04-30 16:00:00",
|
||||
"agenda": "ddfd",
|
||||
"objectif": "fff",
|
||||
"comment": "qqsdsq",
|
||||
"day_week": "mardi"
|
||||
}
|
||||
]);
|
||||
const [semaine_type_event, setsemaine_type_event] = React.useState([]);
|
||||
|
||||
|
||||
const [Dialog_EVENT_SEMAINE_TYPE_message, setDialog_EVENT_SEMAINE_TYPE_message] = React.useState(false);
|
||||
|
@ -10277,6 +10346,7 @@ const DisplayPartnerSession = (props) => {
|
|||
setsequence_event_type_semaine_endDate(new Date());
|
||||
|
||||
setDialog_EVENT_SEMAINE_TYPE_open(false);
|
||||
setDialog_seq_CREATION_SEMAINE_TYPE_open(true);
|
||||
};
|
||||
|
||||
|
||||
|
@ -10306,6 +10376,7 @@ const DisplayPartnerSession = (props) => {
|
|||
setp_detail_sequence_event_type_semaine_objectif("");
|
||||
setp_detail_sequence_event_type_semaine_comment("");
|
||||
setDialog_EVENT_SEMAINE_TYPE_open(true);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -10504,6 +10575,12 @@ const DisplayPartnerSession = (props) => {
|
|||
setDialog_seq_CREATION_SEMAINE_TYPE_open(true);
|
||||
}
|
||||
|
||||
const [planification_model_date_from, setplanification_model_date_from] = useState();
|
||||
const [planification_model_date_to, setplanification_model_date_to] = useState();
|
||||
|
||||
|
||||
const [planification_ecrase_existing_seq, setplanification_ecrase_existing_seq] = useState("1");
|
||||
|
||||
|
||||
return (
|
||||
<div className="displaypartnersession">
|
||||
|
@ -10811,17 +10888,31 @@ const DisplayPartnerSession = (props) => {
|
|||
className="displaypartnersession displaypopop_for_sequence_model_week"
|
||||
>
|
||||
|
||||
<DialogTitle> Semaine Type à dupliquer </DialogTitle>
|
||||
<DialogTitle> {Dialog_seq_CREATION_SEMAINE_TYPE_message} </DialogTitle>
|
||||
<DialogContent className="DialogContent_width_for_week_model">
|
||||
<DialogContentText>
|
||||
{Dialog_seq_CREATION_SEMAINE_TYPE_message}
|
||||
</DialogContentText>
|
||||
|
||||
|
||||
{SessionstartDate && SessionendDate && <div className="div_row_dialog" style={{ textAlign: 'left' }}>
|
||||
<div className="planification_Dialog_DatePicker">
|
||||
Debut Formation = {new Date(moment(SessionstartDate, "DD/MM/YYYY")).toISOString().split('T')[0]} <br />
|
||||
</div>
|
||||
|
||||
<div className="planification_Dialog_DatePicker">
|
||||
|
||||
Fin Formation = {new Date(moment(SessionendDate, "DD/MM/YYYY")).toISOString().split('T')[0]}
|
||||
</div>
|
||||
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
<div className="div_row_dialog">
|
||||
|
||||
|
||||
<div style={{ "width": "98%", "marginLeft": "5px", }}>
|
||||
<FullCalendar
|
||||
{Dialog_seq_planif_periode_type && String(Dialog_seq_planif_periode_type) === "mois" && <FullCalendar
|
||||
height={550}
|
||||
locales={allLocales}
|
||||
locale={'fr'}
|
||||
|
@ -10838,6 +10929,42 @@ const DisplayPartnerSession = (props) => {
|
|||
}}
|
||||
//eventContent={(info) => <EventItem info={info} />}
|
||||
//plugins={[timeGridPlugin]}
|
||||
|
||||
|
||||
|
||||
|
||||
plugins={[daygridPlugin, timeGridPlugin, interactionPlugin]}
|
||||
views={["dayGridMonth", "dayGridWeek", "dayGridDay"]}
|
||||
slotMinTime={Partner_Debut_Journee}
|
||||
slotMaxTime={Partner_Fin_Journee}
|
||||
scrollTime='08:00'
|
||||
displayEventEnd={true}
|
||||
eventContent={renderEventContent_event_type_semaine}
|
||||
eventClick={handleEventClick_event_type_semaine}
|
||||
/>}
|
||||
|
||||
|
||||
{Dialog_seq_planif_periode_type && String(Dialog_seq_planif_periode_type) === "semaine" && <FullCalendar
|
||||
height={550}
|
||||
locales={allLocales}
|
||||
locale={'fr'}
|
||||
editable
|
||||
selectable
|
||||
//events={events}
|
||||
events={semaine_type_event}
|
||||
|
||||
select={handleSelect_event_type_semaine}
|
||||
headerToolbar={{
|
||||
start: "today prev next",
|
||||
center: "title",
|
||||
end: "dayGridMonth,timeGridWeek,timeGridDay",
|
||||
}}
|
||||
//eventContent={(info) => <EventItem info={info} />}
|
||||
//plugins={[timeGridPlugin]}
|
||||
|
||||
|
||||
|
||||
|
||||
plugins={[ timeGridPlugin, daygridPlugin, interactionPlugin]}
|
||||
views={["dayGridMonth", "dayGridWeek", "dayGridDay"]}
|
||||
slotMinTime={Partner_Debut_Journee}
|
||||
|
@ -10846,69 +10973,154 @@ const DisplayPartnerSession = (props) => {
|
|||
displayEventEnd={true}
|
||||
eventContent={renderEventContent_event_type_semaine}
|
||||
eventClick={handleEventClick_event_type_semaine}
|
||||
|
||||
/>
|
||||
</div>
|
||||
/>}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<div className="div_row_dialog" style={{ textAlign: 'left' }}>
|
||||
{SessionstartDate && SessionendDate &&
|
||||
|
||||
<div className="div_row_dialog">
|
||||
|
||||
Dupliquer Du (date du ):
|
||||
<div>
|
||||
<div className="planification_Dialog_DatePicker">
|
||||
Dupliquer Du :
|
||||
<DatePicker
|
||||
name="sessiondatedebut"
|
||||
id="sessiondatedebut"
|
||||
selected={SessionstartDate}
|
||||
name="planif_semaine_model_date_from"
|
||||
id="planif_semaine_model_date_from"
|
||||
selected={planification_model_date_from}
|
||||
onChange={(date) => {
|
||||
if (edit_session_form) {
|
||||
setSessionstartDate(date);
|
||||
|
||||
let local_date = new Date(date).getTime();
|
||||
let date_end_session = new Date(SessionendDate).getTime();
|
||||
let date_start_session = new Date(SessionstartDate).getTime();
|
||||
|
||||
/* console.log(" local_date = ", local_date);
|
||||
console.log(" date_end_session = ", date_end_session);
|
||||
console.log(" date_start_session = ", date_start_session);*/
|
||||
|
||||
if (local_date > date_end_session) {
|
||||
alert(" La date est après la fin de la session");
|
||||
return;
|
||||
}
|
||||
|
||||
if (local_date < date_start_session) {
|
||||
alert(" La date est avant le début de la session");
|
||||
return;
|
||||
}
|
||||
|
||||
setplanification_model_date_from(date);
|
||||
}
|
||||
}
|
||||
showTimeSelect={false}
|
||||
filterTime={filterPassedTime_start}
|
||||
dateFormat="dd/MM/yyyy"
|
||||
className="disabled_style session_caract_Dialog_DatePicker"
|
||||
className="disabled_style "
|
||||
locale='fr-FR'
|
||||
|
||||
/>
|
||||
</div>
|
||||
<div className="planification_Dialog_DatePicker">
|
||||
|
||||
<br />
|
||||
Dupliquer Au (date au ):
|
||||
Dupliquer Au :
|
||||
<DatePicker
|
||||
name="sessiondatedebut"
|
||||
id="sessiondatedebut"
|
||||
selected={SessionendDate}
|
||||
name="planif_semaine_model_date_to"
|
||||
id="planif_semaine_model_date_to"
|
||||
selected={planification_model_date_to}
|
||||
onChange={(date) => {
|
||||
if (edit_session_form) {
|
||||
SessionendDate(date);
|
||||
|
||||
let local_date = new Date(date).getTime();
|
||||
let date_end_session = new Date(SessionendDate).getTime();
|
||||
let date_start_session = new Date(SessionstartDate).getTime();
|
||||
|
||||
/* console.log(" local_date = ", local_date);
|
||||
console.log(" date_end_session = ", date_end_session);
|
||||
console.log(" date_start_session = ", date_start_session);*/
|
||||
|
||||
|
||||
if (local_date > date_end_session) {
|
||||
alert(" La date est après la fin de la session");
|
||||
return;
|
||||
}
|
||||
|
||||
if (local_date < date_start_session) {
|
||||
alert(" La date est avant le début de la session");
|
||||
return;
|
||||
}
|
||||
|
||||
setplanification_model_date_to(date);
|
||||
|
||||
}
|
||||
}
|
||||
showTimeSelect={false}
|
||||
filterTime={filterPassedTime_start}
|
||||
dateFormat="dd/MM/yyyy"
|
||||
className="disabled_style session_caract_Dialog_DatePicker"
|
||||
className="disabled_style "
|
||||
locale='fr-FR'
|
||||
|
||||
/>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
</div>}
|
||||
|
||||
</div>
|
||||
|
||||
<div className="div_row_dialog" style={{ textAlign: 'left' }}>
|
||||
|
||||
<FormControl>
|
||||
<Tooltip className="tooltip_css" id="ecrase_01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="ecrase_01" data-tooltip-html="Vous allez definitivement supprimer toutes planifications associées à cette session de formation">
|
||||
|
||||
<FormLabel id="demo-row-radio-buttons-group-label">Ecraser la planification existant <FcInfo /></FormLabel>
|
||||
</a>
|
||||
<RadioGroup
|
||||
row
|
||||
aria-labelledby="demo-row-radio-buttons-group-label"
|
||||
name="row-radio-buttons-group"
|
||||
defaultValue="0"
|
||||
onChange={(e) => {
|
||||
setplanification_ecrase_existing_seq(e.target.value);
|
||||
|
||||
|
||||
if (String(e.target.value) === "1") {
|
||||
alert(" Vous allez definitivement supprimer toutes planifications associées à cette session de formation ")
|
||||
}
|
||||
}}
|
||||
>
|
||||
<FormControlLabel value="1" control={<Radio />} label="Oui" />
|
||||
<FormControlLabel value="0" control={<Radio />} label="Non" />
|
||||
</RadioGroup>
|
||||
</FormControl>
|
||||
|
||||
</div>
|
||||
</DialogContent>
|
||||
|
||||
|
||||
|
||||
<DialogActions>
|
||||
<div className="div_row">
|
||||
|
||||
|
||||
<div className="div_row_gauche">
|
||||
<Button onClick={Add_Automatic_Sequence_Session_From_Week_Model} className="bton_enreg_dialog">Crée en masse</Button>
|
||||
<Button onClick={(date) => {
|
||||
|
||||
let date_end_planif = new Date(planification_model_date_to).getTime();
|
||||
let date_start_planif = new Date(planification_model_date_from).getTime();
|
||||
|
||||
if (date_end_planif < date_start_planif) {
|
||||
alert(" La date de début est postérieure à la date de fin ");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (String(Dialog_seq_planif_periode_type) === "semaine")
|
||||
Add_Automatic_Sequence_Session_From_Week_Model();
|
||||
|
||||
else if (String(Dialog_seq_planif_periode_type) === "mois")
|
||||
Add_Automatic_Sequence_Session_From_Month_Model();
|
||||
}}
|
||||
className="bton_enreg_dialog">Crée en masse</Button>
|
||||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
|
@ -11100,14 +11312,14 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
>
|
||||
|
||||
<DialogTitle> Choisir une modèle de séquence </DialogTitle>
|
||||
<DialogTitle> Choisir un modèle de planification </DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ height: "15rem" }}>
|
||||
<DialogContentText>
|
||||
{Dialog_seq_choix_model_emargement_message}
|
||||
</DialogContentText>
|
||||
|
||||
|
||||
<div className="session_caract_Dialog" > Source
|
||||
<div className="session_caract_Dialog" >
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="event_dialog_modele_seq"
|
||||
|
@ -11123,7 +11335,7 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} placeholder="Choisir une option " />
|
||||
renderInput={(params) => <TextField {...params} placeholder="Choisir un modèle " />
|
||||
}
|
||||
/>
|
||||
|
||||
|
@ -11131,7 +11343,35 @@ const DisplayPartnerSession = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
<div className="div_row_dialog" style={{ textAlign: 'left' }}>
|
||||
|
||||
<FormControl>
|
||||
|
||||
<Tooltip className="tooltip_css" id="ecrase_01" style={{ "fontSize": "12px" }} />
|
||||
<a data-tooltip-id="ecrase_01" data-tooltip-html="Vous allez definitivement supprimer toutes planifications associées à cette session de formation">
|
||||
|
||||
<FormLabel id="demo-row-radio-buttons-group-label">Ecraser la planification existant <FcInfo /> </FormLabel>
|
||||
</a>
|
||||
<RadioGroup
|
||||
row
|
||||
aria-labelledby="demo-row-radio-buttons-group-label"
|
||||
name="row-radio-buttons-group"
|
||||
defaultValue="0"
|
||||
onChange={(e) => {
|
||||
setplanification_ecrase_existing_seq(e.target.value);
|
||||
|
||||
|
||||
if (String(e.target.value) === "1") {
|
||||
alert(" Vous allez definitivement supprimer toutes planifications associées à cette session de formation ")
|
||||
}
|
||||
}}
|
||||
>
|
||||
<FormControlLabel value="1" control={<Radio />} label="Oui" />
|
||||
<FormControlLabel value="0" control={<Radio />} label="Non" />
|
||||
</RadioGroup>
|
||||
</FormControl>
|
||||
|
||||
</div>
|
||||
|
||||
</DialogContent>
|
||||
|
||||
|
@ -11148,16 +11388,29 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
{Dialog_seq_choix_model_emargement && String(Dialog_seq_choix_model_emargement) === "3" &&
|
||||
<Button onClick={(e) => {
|
||||
setDialog_seq_planif_periode_type("semaine");
|
||||
setp_detail_sequence_event_type_semaine_id("");
|
||||
setDialog_seq_choix_model_emargement_open(false);
|
||||
setDialog_seq_CREATION_SEMAINE_TYPE_open(true);
|
||||
setDialog_seq_CREATION_SEMAINE_TYPE_message(" Planification à la SEMAINE ")
|
||||
setplanification_model_date_from(SessionstartDate);
|
||||
|
||||
setplanification_model_date_to(SessionendDate);
|
||||
|
||||
|
||||
}} className="bton_enreg_dialog">Configurer la semaine</Button>}
|
||||
|
||||
|
||||
{Dialog_seq_choix_model_emargement && String(Dialog_seq_choix_model_emargement) === "4" &&
|
||||
<Button onClick={(e) => {
|
||||
alert(" En cours de construction");
|
||||
setDialog_seq_planif_periode_type("mois");
|
||||
setp_detail_sequence_event_type_semaine_id("");
|
||||
setDialog_seq_choix_model_emargement_open(false);
|
||||
setDialog_seq_CREATION_SEMAINE_TYPE_open(true);
|
||||
setDialog_seq_CREATION_SEMAINE_TYPE_message(" Planification au MOIS ")
|
||||
setplanification_model_date_from(SessionstartDate);
|
||||
|
||||
setplanification_model_date_to(SessionendDate);
|
||||
|
||||
}} className="bton_enreg_dialog">Configurer le mois</Button>}
|
||||
|
||||
|
@ -12953,7 +13206,7 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
{selected_code_session && String(selected_code_session).length > 0 && <div className="div_row">
|
||||
<Button variant="outlined" ref={myRef} onClick={submenu_detail_session} className="detail_class_submenu" id='detail_session' name='detail_session'>Détail Session</Button>
|
||||
<Button variant="outlined" ref={myRef} onClick={submenu_sequence_session} className="detail_class_submenu" id='sequence_session' name='sequence_session'>Séquences ({String(nb_sequence)})</Button>
|
||||
<Button variant="outlined" ref={myRef} onClick={submenu_sequence_session} className="detail_class_submenu" id='sequence_session' name='sequence_session'>Planif. ({String(nb_sequence)})</Button>
|
||||
<Button variant="outlined" onClick={submenu_preinscrit} className="detail_class_submenu" id='preinscrit' name='preinscrit'>Preinscript. ({String(nb_stagiaire_Preinscrit)}) </Button>
|
||||
<Button variant="outlined" onClick={submenu_inscrit} className="detail_class_submenu" id='inscrit' name='inscrit'>Inscription ({String(nb_stagiaire_Inscrit)}) </Button>
|
||||
<Button variant="outlined" onClick={submenu_editique} className="detail_class_submenu" id='editique' name='editique'>Gestion </Button>
|
||||
|
@ -15351,6 +15604,7 @@ const DisplayPartnerSession = (props) => {
|
|||
eventContent={renderEventContent}
|
||||
eventClick={handleEventClick}
|
||||
|
||||
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
@ -15363,58 +15617,18 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
|
||||
|
||||
|
||||
|
||||
<Popup
|
||||
trigger={
|
||||
<Button variant="outlined"
|
||||
className="detail_class_submenu bton_add_session bton_add_session_create_automatic" style={{ "width": "40%" }}
|
||||
id='menu_import_participant' name='menu_import_participant'>Création automatique
|
||||
id='menu_import_participant' name='menu_import_participant' onClick={(event) => {
|
||||
|
||||
setDialog_seq_choix_model_emargement_open(true);
|
||||
setDialog_seq_planif_periode_type("");
|
||||
|
||||
}} > Planification automatique
|
||||
<FcMultipleSmartphones />
|
||||
</Button>
|
||||
|
||||
}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
<font color="red"> Confirmer l'action <b> {actionmass_preinsc_val} </b> en masse. <br />
|
||||
/!\ : Toutes les séquences de cette session seront supprimées. </font>
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
//Add_Automatic_Sequence_Session();
|
||||
setDialog_seq_choix_model_emargement_open(true);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
<Button variant="outlined" onClick={submenu_add_one_sequence}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
|
|
|
@ -0,0 +1,366 @@
|
|||
import React, { useRef, useState, useEffect } from "react";
|
||||
import TextField from '@mui/material/TextField';
|
||||
import MenuItem from '@mui/material/MenuItem';
|
||||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||
import Button from '@mui/material/Button';
|
||||
import axios from "axios";
|
||||
import { getCookie, setCookie } from 'react-use-cookie';
|
||||
import { useHistory } from "react-router-dom";
|
||||
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 parse from 'html-react-parser';
|
||||
import { FcViewDetails, FcDisapprove, FcInfo } from "react-icons/fc";
|
||||
import 'react-tooltip/dist/react-tooltip.css'
|
||||
import { Tooltip } from 'react-tooltip'
|
||||
import add_plus from "../mysy_img/plus.png";
|
||||
import excel_icone from "../mysy_img/excel_icone.png";
|
||||
import participants from "../mysy_img/participants.png";
|
||||
import fileDownload from 'js-file-download'
|
||||
import Popup from 'reactjs-popup';
|
||||
import 'reactjs-popup/dist/index.css';
|
||||
import { FcSearch } from "react-icons/fc";
|
||||
import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow } from "react-icons/fc";
|
||||
import DatePicker from "react-datepicker";
|
||||
import "react-datepicker/dist/react-datepicker.css";
|
||||
import { format } from 'date-fns'
|
||||
import moment from "moment";
|
||||
import 'moment/locale/fr';
|
||||
|
||||
import InputAdornment from '@mui/material/InputAdornment';
|
||||
import { AiFillCloseCircle, AiOutlineConsoleSql } from "react-icons/ai";
|
||||
import Box from '@mui/material/Box';
|
||||
import { Typography, LinearProgress } from '@mui/material';
|
||||
import styled from 'styled-components';
|
||||
import { CiTrash } from "react-icons/ci";
|
||||
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
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 { RestoreFromTrashRounded } from "@mui/icons-material";
|
||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||
import { Fab } from "@material-ui/core";
|
||||
import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
||||
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
|
||||
import { confirmAlert } from 'react-confirm-alert';
|
||||
import ToggleSwitch from "./ToggleSwitch";
|
||||
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";
|
||||
import { gridClasses } from '@mui/x-data-grid';
|
||||
import Link from '@mui/material/Link';
|
||||
import { PiDotsThree } from "react-icons/pi";
|
||||
import Module_Editique from "./Module_Editique";
|
||||
import Module_Attestation_Formation from "./Module_Attestation_Formation";
|
||||
import Module_Evaluation_Positionnement from "./Module_Evaluation_Positionnement";
|
||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint, FcPlanner } from "react-icons/fc";
|
||||
import { CiBoxList } from "react-icons/ci";
|
||||
import FullCalendar from "@fullcalendar/react";
|
||||
import daygridPlugin from "@fullcalendar/daygrid";
|
||||
import interactionPlugin from "@fullcalendar/interaction";
|
||||
import timeGridPlugin from "@fullcalendar/timegrid";
|
||||
import resourceTimeGridPlugin from '@fullcalendar/resource-timegrid';
|
||||
|
||||
import allLocales from '@fullcalendar/core/locales-all'
|
||||
|
||||
|
||||
const Module_Session_Planification = (props) => {
|
||||
|
||||
const history = useHistory();
|
||||
const [submenu, setsubmenu] = useState("");
|
||||
const [rowss, setRows] = useState([]);
|
||||
|
||||
|
||||
function ExpandableCell_50({ value }) {
|
||||
const [expanded, setExpanded] = React.useState(false);
|
||||
|
||||
return (
|
||||
<nav>
|
||||
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
|
||||
{expanded ? value : String(value).slice(0, 50)}
|
||||
{value.length > 50 && (
|
||||
// eslint-disable-next-line jsx-a11y/anchor-is-valid
|
||||
<Link
|
||||
type="button"
|
||||
component="button"
|
||||
sx={{ fontSize: 'inherit' }}
|
||||
onClick={() => setExpanded(!expanded)}
|
||||
>
|
||||
{expanded ? <nav> <PiDotsThree />Réduire</nav> : <nav> <PiDotsThree />Voir</nav>}
|
||||
</Link>
|
||||
)}
|
||||
</div>}
|
||||
|
||||
{!value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
|
||||
</div>
|
||||
}
|
||||
</nav>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function Display_Colunm_text({ value }) {
|
||||
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}>
|
||||
{value}
|
||||
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
const columns_sequence = [
|
||||
{ field: 'id', headerName: 'id', hide: true },
|
||||
{ field: '_id', headerName: '_id', hide: true },
|
||||
{ field: 'session_id', headerName: 'session_id', width: 200, hide: true, flex: 1, minWidth: 150, maxWidth: 300 },
|
||||
{ field: 'sequence_title', headerName: 'Titre', minWidth: 200, flex: 1, hide: false, editable: false, resizable: true },
|
||||
{ field: 'sequence_start', headerName: 'Debut', minWidth: 200, flex: 1, hide: false, editable: false },
|
||||
{ field: 'sequence_end', headerName: 'Fin', minWidth: 200, flex: 1, hide: false, editable: false },
|
||||
|
||||
{ field: 'agenda', headerName: 'Agenda', minWidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <Display_Colunm_text {...params} />, },
|
||||
{ field: 'objectif', headerName: 'Objectif', width: 0, flex: 0, hide: true, editable: false, },
|
||||
{ field: 'commentaire', headerName: 'Commentaire', width: 0, flex: 0, hide: true, editable: false, },
|
||||
|
||||
|
||||
{
|
||||
field: "Detail", headerName: 'Voir detail', minWidth: 200, flex: 1,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Button
|
||||
|
||||
onClick={(event) => {
|
||||
|
||||
setsequence_gridline_id(cellValues.row.id);
|
||||
setselected_detail_sequence_title(cellValues.row.sequence_title);
|
||||
|
||||
setselected_sequence_startDate(cellValues.row.sequence_start);
|
||||
setselected_sequence_endDate(cellValues.row.sequence_end);
|
||||
|
||||
setp_detail_sequence_agenda(cellValues.row.agenda);
|
||||
setp_detail_sequence_objectif(cellValues.row.objectif);
|
||||
setp_detail_sequence_comment(cellValues.row.commentaire);
|
||||
|
||||
Getall_List_Sequence_Ressource(cellValues.row._id);
|
||||
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
setdisplay_detail_sequence("1");
|
||||
|
||||
Get_List_Of_All_PJ_For_Session(cellValues.row._id);
|
||||
|
||||
if (document.getElementById('myRef_seq_ressource')) {
|
||||
var divh = document.getElementById('myRef_seq_ressource').offsetTop;
|
||||
window.scrollTo({
|
||||
top: divh,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}
|
||||
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
|
||||
</Button>
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
field: "modifier", headerName: 'Modifier', minWidth: 200, flex: 1,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Button
|
||||
|
||||
onClick={(event) => {
|
||||
|
||||
setsequence_gridline_id(cellValues.row.id);
|
||||
setdisplay_detail_sequence("");
|
||||
setp_detail_sequence_title(cellValues.row.sequence_title);
|
||||
setselected_sequence_id(cellValues.row._id);
|
||||
var date_du = new Date(moment(cellValues.row.sequence_start, "DD/MM/YYYY HH:mm"));
|
||||
var date_au = new Date(moment(cellValues.row.sequence_end, "DD/MM/YYYY HH:mm"));
|
||||
|
||||
setsequence_startDate(date_du);
|
||||
setsequence_endDate(date_au);
|
||||
|
||||
setp_detail_sequence_agenda(cellValues.row.agenda);
|
||||
setp_detail_sequence_objectif(cellValues.row.objectif);
|
||||
setp_detail_sequence_comment(cellValues.row.commentaire);
|
||||
|
||||
setupdate_sequence("1");
|
||||
submenu_update_sequence();
|
||||
}}
|
||||
>
|
||||
<FcViewDetails />
|
||||
|
||||
</Button>
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
field: "delete", headerName: 'Supprimer', minWidth: 200, flex: 1,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la séquence sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
Delete_Sequence_Session_Data(cellValues.row._id);
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
]
|
||||
|
||||
const columns_sequence_ressources_affectation = [
|
||||
{ field: 'id', headerName: 'id', hide: true },
|
||||
{ field: '_id', headerName: '_id', hide: true, minWidth: 200, },
|
||||
{ field: 'related_target_collection_id', headerName: 'related_target_collection_id', minWidth: 200, hide: true, flex: 1, minWidth: 150, maxWidth: 300 },
|
||||
{ field: 'related_target_collection', headerName: 'related_target_collection', minWidth: 150, hide: true, editable: false, resizable: true },
|
||||
{ field: 'type_ressource', headerName: 'Type', minWidth: 150, hide: true, editable: false },
|
||||
{ field: 'related_target_collection_object', headerName: 'object', minWidth: 200, hide: false, editable: false, resizable: true, flex: 1, },
|
||||
{ field: 'related_target_collection_id_nom', headerName: 'nom', minWidth: 200, hide: false, editable: false, resizable: true, flex: 1, },
|
||||
{ field: 'poste', headerName: 'Poste', minWidth: 200, hide: false, editable: false, flex: 1, },
|
||||
{ field: 'comment', headerName: 'Comment', width: 200, hide: false, editable: false },
|
||||
{
|
||||
field: "delete", headerName: 'Supprimer',
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<Popup
|
||||
trigger={<Button
|
||||
|
||||
onClick={(event) => {
|
||||
|
||||
}}
|
||||
>
|
||||
<CiTrash />
|
||||
|
||||
</Button>}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la ressource sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
|
||||
Delete_Sequence_Session_Ressource_Data(cellValues.row._id);
|
||||
console.log('cellValues.row = ', cellValues.row);
|
||||
close();
|
||||
}}> Valider </button>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "45%", "float": "right" }}>
|
||||
<button
|
||||
className="gest_bton_popup"
|
||||
onClick={() => {
|
||||
//console.log('modal closed ');
|
||||
close();
|
||||
}}
|
||||
>
|
||||
Annuler
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</Popup>
|
||||
|
||||
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
||||
return (
|
||||
<div className="modulesessionplanification">
|
||||
|
||||
{isLoading && <div className="loader-container">
|
||||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||
</div>}
|
||||
|
||||
|
||||
</div >
|
||||
);
|
||||
}
|
||||
|
||||
export default Module_Session_Planification;
|
||||
|
|
@ -2668,6 +2668,16 @@
|
|||
max-width: none !important;
|
||||
}
|
||||
|
||||
.planification_Dialog_DatePicker_row{
|
||||
float: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.planification_Dialog_DatePicker{
|
||||
background-color: #FFFFFF;
|
||||
width: 50% !important;
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
|
||||
// end media
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -108,3 +108,4 @@
|
|||
@import "./components/updateattendeelist";
|
||||
@import "./components/displayPartnerunite_enseignement";
|
||||
@import "./components/displaypopop_for_sequence_model_week";
|
||||
@import "./components/modulesessionplanification";
|
Loading…
Reference in New Issue