08/12/2024 - 12h
parent
353228ba89
commit
3cb154f5bb
|
@ -1664,7 +1664,7 @@ const AddClassManual = (props) => {
|
||||||
}
|
}
|
||||||
/// zzzz
|
/// zzzz
|
||||||
|
|
||||||
console.log(" ### titre = ", p_detail_title);
|
// console.log(" ### titre = ", p_detail_title);
|
||||||
|
|
||||||
var title = p_detail_title;
|
var title = p_detail_title;
|
||||||
if (String(title).length > title_limite) {
|
if (String(title).length > title_limite) {
|
||||||
|
@ -3201,7 +3201,8 @@ const AddClassManual = (props) => {
|
||||||
const [submenu, setsubmenu] = useState("");
|
const [submenu, setsubmenu] = useState("");
|
||||||
|
|
||||||
function submenu_color_management(current_menu) {
|
function submenu_color_management(current_menu) {
|
||||||
const list_sous_menu = ["detail_formation", "unite_enseignement", "admission", "piece_jointe", "note_evaluation", "historique"]
|
const list_sous_menu = ["detail_formation", "unite_enseignement", "admission", "piece_jointe", "note_evaluation",
|
||||||
|
"historique", "aide_ia"]
|
||||||
|
|
||||||
for (let i = 0; i < list_sous_menu.length; i++) {
|
for (let i = 0; i < list_sous_menu.length; i++) {
|
||||||
|
|
||||||
|
@ -3252,6 +3253,11 @@ const AddClassManual = (props) => {
|
||||||
submenu_color_management("piece_jointe");
|
submenu_color_management("piece_jointe");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function submenu_aide_ia() {
|
||||||
|
setsubmenu("aide_ia");
|
||||||
|
submenu_color_management("aide_ia");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function submenu_statistiques() {
|
function submenu_statistiques() {
|
||||||
setsubmenu("statistiques");
|
setsubmenu("statistiques");
|
||||||
|
@ -3802,9 +3808,19 @@ const AddClassManual = (props) => {
|
||||||
function function_of_text_replacement_ia(text_result) {
|
function function_of_text_replacement_ia(text_result) {
|
||||||
if (fiels_of_text_replacement_ia === "description")
|
if (fiels_of_text_replacement_ia === "description")
|
||||||
setfield_description(text_result);
|
setfield_description(text_result);
|
||||||
|
|
||||||
else if (fiels_of_text_replacement_ia === "objectif")
|
else if (fiels_of_text_replacement_ia === "objectif")
|
||||||
setfield_objectif(text_result)
|
setfield_objectif(text_result)
|
||||||
|
|
||||||
|
else if (fiels_of_text_replacement_ia === "programme")
|
||||||
|
setfield_programme(text_result)
|
||||||
|
|
||||||
|
else if (fiels_of_text_replacement_ia === "prerequis")
|
||||||
|
setfield_prerequis(text_result)
|
||||||
|
|
||||||
|
else if (fiels_of_text_replacement_ia === "plusproduit")
|
||||||
|
setfield_plus_produit(text_result)
|
||||||
|
|
||||||
|
|
||||||
DataUpdated();
|
DataUpdated();
|
||||||
}
|
}
|
||||||
|
@ -3818,7 +3834,6 @@ const AddClassManual = (props) => {
|
||||||
|
|
||||||
{/*** GESTION IA */}
|
{/*** GESTION IA */}
|
||||||
<Dialog
|
<Dialog
|
||||||
|
|
||||||
open={Dialog_mysy_ia_open}
|
open={Dialog_mysy_ia_open}
|
||||||
className="displaypartnersession"
|
className="displaypartnersession"
|
||||||
|
|
||||||
|
@ -4261,6 +4276,12 @@ const AddClassManual = (props) => {
|
||||||
<Button variant="outlined" onClick={submenu_statistiques} className="detail_class_submenu" id='statistiques' name='statistiques'>Statistiques </Button>
|
<Button variant="outlined" onClick={submenu_statistiques} className="detail_class_submenu" id='statistiques' name='statistiques'>Statistiques </Button>
|
||||||
{String(history_securite_read) === "1" && <Button variant="outlined" onClick={submenu_historique} className="detail_class_submenu" id='historique' name='historique'>Historique </Button>}
|
{String(history_securite_read) === "1" && <Button variant="outlined" onClick={submenu_historique} className="detail_class_submenu" id='historique' name='historique'>Historique </Button>}
|
||||||
|
|
||||||
|
<Button variant="outlined" onClick={submenu_aide_ia} className="detail_class_submenu" id='aide_ia' name='piece_jointe'
|
||||||
|
> <font style={{ "color": "#A52A2A" }}> Assistant IA </font>
|
||||||
|
<AutoFixHighOutlinedIcon style={{ "color": "#A52A2A", fontWeight: "700" }} />
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
{String(props.formation_initiale) !== "1" &&
|
{String(props.formation_initiale) !== "1" &&
|
||||||
|
@ -5464,6 +5485,55 @@ const AddClassManual = (props) => {
|
||||||
write_access={props.write_access} />
|
write_access={props.write_access} />
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
{submenu && String(submenu) === "aide_ia" && <div>
|
||||||
|
|
||||||
|
<div style={{ height: 550, width: '100%', paddingRight: '10px', paddingLeft: '10px' }}>
|
||||||
|
|
||||||
|
<Box
|
||||||
|
sx={{
|
||||||
|
height: 500,
|
||||||
|
width: '100%',
|
||||||
|
paddingRight: '5px',
|
||||||
|
paddingLeft: '5px',
|
||||||
|
|
||||||
|
"& .MuiDataGrid-columnHeaders": {
|
||||||
|
backgroundColor: "#c8cfd5",
|
||||||
|
color: "black",
|
||||||
|
fontSize: 14
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
'& .line--statut--selected': {
|
||||||
|
backgroundColor: '#FBF2EF',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
'& .line--statut--pair': {
|
||||||
|
backgroundColor: 'rgba(235, 235, 235, .7)',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
'& .line--statut--impair': {
|
||||||
|
backgroundColor: '#FFFFFF',
|
||||||
|
color: 'black',
|
||||||
|
}, [`& .${gridClasses.cell}`]: {
|
||||||
|
py: 1,
|
||||||
|
},
|
||||||
|
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
|
||||||
|
<MySyIA champ_text_input={""} function_replace_text={""} close_function={""} />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</Box>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -5604,7 +5674,7 @@ const AddClassManual = (props) => {
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
|
|
||||||
const regex = /(<([^>]+)>)/gi;
|
const regex = /(<([^>]+)>)/gi;
|
||||||
var initial_text_no_html = field_description.replace(regex, " ");
|
var initial_text_no_html = editorRef_description.current.getContent().replace(regex, " ");
|
||||||
initial_text_no_html = initial_text_no_html.replace(/[^ -~]/g, function (chr) {
|
initial_text_no_html = initial_text_no_html.replace(/[^ -~]/g, function (chr) {
|
||||||
return "&#" + chr.charCodeAt(0) + ";";
|
return "&#" + chr.charCodeAt(0) + ";";
|
||||||
});
|
});
|
||||||
|
@ -5660,7 +5730,7 @@ const AddClassManual = (props) => {
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
|
|
||||||
const regex = /(<([^>]+)>)/gi;
|
const regex = /(<([^>]+)>)/gi;
|
||||||
var initial_text_no_html = field_objectif.replace(regex, " ");
|
var initial_text_no_html = editorRef_objectif.current.getContent().replace(regex, " ");
|
||||||
initial_text_no_html = initial_text_no_html.replace(/[^ -~]/g, function (chr) {
|
initial_text_no_html = initial_text_no_html.replace(/[^ -~]/g, function (chr) {
|
||||||
return "&#" + chr.charCodeAt(0) + ";";
|
return "&#" + chr.charCodeAt(0) + ";";
|
||||||
});
|
});
|
||||||
|
@ -5673,8 +5743,6 @@ const AddClassManual = (props) => {
|
||||||
</nav>
|
</nav>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<Editor
|
<Editor
|
||||||
onInit={(evt, editor) => editorRef_objectif.current = editor}
|
onInit={(evt, editor) => editorRef_objectif.current = editor}
|
||||||
|
@ -5706,7 +5774,33 @@ const AddClassManual = (props) => {
|
||||||
|
|
||||||
<div className="training_text">
|
<div className="training_text">
|
||||||
<div className="plus_produit_desabled">
|
<div className="plus_produit_desabled">
|
||||||
<div className="titre_training_text"> Programme (max 1000 caractères) </div>
|
<div className="titre_training_text" style={{ "width": "100%", "float": "left" }}>
|
||||||
|
<nav className="nav_descrip_champs" > Programme (max 1000 caractères) </nav>
|
||||||
|
|
||||||
|
<Tooltip className="tooltip_css" id="tooltip_use_ia" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||||
|
|
||||||
|
<nav className="nav_ia">
|
||||||
|
<AutoFixHighOutlinedIcon style={{ "color": "hsla(99, 75%, 75%, 1);" }}
|
||||||
|
onClick={(e) => {
|
||||||
|
|
||||||
|
const regex = /(<([^>]+)>)/gi;
|
||||||
|
|
||||||
|
var initial_text_no_html = editorRef_programme.current.getContent().replace(regex, " ");
|
||||||
|
initial_text_no_html = initial_text_no_html.replace(/[^ -~]/g, function (chr) {
|
||||||
|
return "&#" + chr.charCodeAt(0) + ";";
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
setfiels_of_text_replacement_ia("programme");
|
||||||
|
settext_for_ia(initial_text_no_html);
|
||||||
|
setDialog_mysy_ia_open(true);
|
||||||
|
}} />
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
<Editor
|
<Editor
|
||||||
onInit={(evt, editor) => editorRef_programme.current = editor}
|
onInit={(evt, editor) => editorRef_programme.current = editor}
|
||||||
initialValue={field_programme}
|
initialValue={field_programme}
|
||||||
|
@ -5834,7 +5928,30 @@ const AddClassManual = (props) => {
|
||||||
|
|
||||||
<div className="training_text">
|
<div className="training_text">
|
||||||
<div className="plus_produit_desabled">
|
<div className="plus_produit_desabled">
|
||||||
<div className="titre_training_text"> Pré-requis</div>
|
<div className="titre_training_text" style={{ "width": "100%", "float": "left" }}>
|
||||||
|
<nav className="nav_descrip_champs" > Pré-requis </nav>
|
||||||
|
<Tooltip className="tooltip_css" id="tooltip_use_ia" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||||
|
|
||||||
|
<nav className="nav_ia">
|
||||||
|
<AutoFixHighOutlinedIcon style={{ "color": "hsla(99, 75%, 75%, 1);" }}
|
||||||
|
onClick={(e) => {
|
||||||
|
|
||||||
|
const regex = /(<([^>]+)>)/gi;
|
||||||
|
var initial_text_no_html = editorRef_prerequis.current.getContent().replace(regex, " ");
|
||||||
|
initial_text_no_html = initial_text_no_html.replace(/[^ -~]/g, function (chr) {
|
||||||
|
return "&#" + chr.charCodeAt(0) + ";";
|
||||||
|
});
|
||||||
|
|
||||||
|
setfiels_of_text_replacement_ia("prerequis")
|
||||||
|
settext_for_ia(initial_text_no_html);
|
||||||
|
setDialog_mysy_ia_open(true);
|
||||||
|
}} />
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
<Editor
|
<Editor
|
||||||
onInit={(evt, editor) => editorRef_prerequis.current = editor}
|
onInit={(evt, editor) => editorRef_prerequis.current = editor}
|
||||||
initialValue={field_prerequis}
|
initialValue={field_prerequis}
|
||||||
|
@ -5927,7 +6044,30 @@ const AddClassManual = (props) => {
|
||||||
|
|
||||||
<div className="training_text">
|
<div className="training_text">
|
||||||
<div className="plus_produit_desabled">
|
<div className="plus_produit_desabled">
|
||||||
<div className="titre_training_text"> Plus produit</div>
|
<div className="titre_training_text" style={{ "width": "100%", "float": "left" }}>
|
||||||
|
<nav className="nav_descrip_champs" > Plus produit </nav>
|
||||||
|
|
||||||
|
<Tooltip className="tooltip_css" id="tooltip_use_ia" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="tooltip_use_ia" data-tooltip-html="Utiliser l'Intelligence Artificielle ">
|
||||||
|
|
||||||
|
<nav className="nav_ia">
|
||||||
|
<AutoFixHighOutlinedIcon style={{ "color": "hsla(99, 75%, 75%, 1);" }}
|
||||||
|
onClick={(e) => {
|
||||||
|
|
||||||
|
const regex = /(<([^>]+)>)/gi;
|
||||||
|
var initial_text_no_html = editorRef_plus_produit.current.getContent().replace(regex, " ");
|
||||||
|
initial_text_no_html = initial_text_no_html.replace(/[^ -~]/g, function (chr) {
|
||||||
|
return "&#" + chr.charCodeAt(0) + ";";
|
||||||
|
});
|
||||||
|
|
||||||
|
setfiels_of_text_replacement_ia("plusproduit")
|
||||||
|
settext_for_ia(initial_text_no_html);
|
||||||
|
setDialog_mysy_ia_open(true);
|
||||||
|
}} />
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<Editor
|
<Editor
|
||||||
onInit={(evt, editor) => editorRef_plus_produit.current = editor}
|
onInit={(evt, editor) => editorRef_plus_produit.current = editor}
|
||||||
initialValue={field_plus_produit}
|
initialValue={field_plus_produit}
|
||||||
|
|
|
@ -3468,7 +3468,7 @@ const AddParnerClient = (props) => {
|
||||||
|
|
||||||
|
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="outlined" onClick={submenu_activite} className="detail_submenu client_menu" id='submenu_activite' name='submenu_activite'>Activité</Button>
|
{/*<Button variant="outlined" onClick={submenu_activite} className="detail_submenu client_menu" id='submenu_activite' name='submenu_activite'>Activité</Button>*/}
|
||||||
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_submenu client_menu" id='submenu_piece_jointe' name='submenu_piece_jointe'>Pièces Jointes</Button>
|
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_submenu client_menu" id='submenu_piece_jointe' name='submenu_piece_jointe'>Pièces Jointes</Button>
|
||||||
|
|
||||||
<Button variant="outlined" className="detail_submenu client_menu" id='submenu_factures' name='submenu_factures'
|
<Button variant="outlined" className="detail_submenu client_menu" id='submenu_factures' name='submenu_factures'
|
||||||
|
|
|
@ -53,6 +53,51 @@ import {
|
||||||
} from '@mui/x-data-grid';
|
} from '@mui/x-data-grid';
|
||||||
import * as XLSX from 'xlsx';
|
import * as XLSX from 'xlsx';
|
||||||
|
|
||||||
|
import { makeStyles } from "@material-ui/core/styles";
|
||||||
|
import Paper from '@material-ui/core/Paper';
|
||||||
|
import Draggable from 'react-draggable';
|
||||||
|
import AutoFixHighOutlinedIcon from '@mui/icons-material/AutoFixHighOutlined';
|
||||||
|
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
|
||||||
|
import { IconButton } from '@material-ui/core';
|
||||||
|
|
||||||
|
//import IconButton from '@mui/material/IconButton';
|
||||||
|
import Menu from '@mui/material/Menu';
|
||||||
|
//import MenuItem from '@mui/material/MenuItem';
|
||||||
|
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
||||||
|
|
||||||
|
function PaperComponent(props) {
|
||||||
|
return (
|
||||||
|
<Draggable
|
||||||
|
handle="#draggable-dialog-title"
|
||||||
|
cancel={'[class*="MuiDialogContent-root"]'}
|
||||||
|
>
|
||||||
|
<Paper {...props} />
|
||||||
|
</Draggable>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const useStyles = makeStyles((theme) => ({
|
||||||
|
|
||||||
|
dialog: {
|
||||||
|
position: 'absolute',
|
||||||
|
// left: 10,
|
||||||
|
top: 400
|
||||||
|
},
|
||||||
|
|
||||||
|
paper: {
|
||||||
|
overflowY: 'unset',
|
||||||
|
},
|
||||||
|
customizedButton: {
|
||||||
|
position: 'absolute',
|
||||||
|
left: '98%',
|
||||||
|
top: '-3%',
|
||||||
|
backgroundColor: 'lightgray',
|
||||||
|
color: 'gray',
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const DistplayPartnerTraningsPage = (props) => {
|
const DistplayPartnerTraningsPage = (props) => {
|
||||||
|
|
||||||
|
@ -407,6 +452,52 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
const [datagrid_columns_size_model1, setdatagrid_columns_size_model1] = useState(200);
|
const [datagrid_columns_size_model1, setdatagrid_columns_size_model1] = useState(200);
|
||||||
const [datagrid_columns_size_model2, setdatagrid_columns_size_model2] = useState(120);
|
const [datagrid_columns_size_model2, setdatagrid_columns_size_model2] = useState(120);
|
||||||
|
|
||||||
|
|
||||||
|
const options_menu_vertical = [
|
||||||
|
'',
|
||||||
|
'Visualiser',
|
||||||
|
'Editer',
|
||||||
|
'Pub. E-Learning',
|
||||||
|
'Supprimer',
|
||||||
|
];
|
||||||
|
|
||||||
|
const ITEM_HEIGHT = 48;
|
||||||
|
const [anchorEl, setAnchorEl] = React.useState(null);
|
||||||
|
const open = Boolean(anchorEl);
|
||||||
|
const handleClick_option_button_vertical = (event) => {
|
||||||
|
setAnchorEl(event.currentTarget);
|
||||||
|
};
|
||||||
|
const handleClose_option_button_vertical = (event, value) => {
|
||||||
|
|
||||||
|
|
||||||
|
console.log("Option traitement = ", value);
|
||||||
|
|
||||||
|
if (value && String(value) === "Supprimer") {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (value && String(value) === "Editer") {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (value && String(value) === "Pub. E-Learning") {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
else if (value && String(value) === "Supprimer") {
|
||||||
|
|
||||||
|
console.log("Option traitement 22 = ", value);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
setAnchorEl(null);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
const columns = [
|
const columns = [
|
||||||
{ field: 'id', headerName: 'id', hide: true, maxWidth: 1, disableExport: true, },
|
{ field: 'id', headerName: 'id', hide: true, maxWidth: 1, disableExport: true, },
|
||||||
{ field: '_id', headerName: '_id', hide: true, maxWidth: 1, disableExport: true, },
|
{ field: '_id', headerName: '_id', hide: true, maxWidth: 1, disableExport: true, },
|
||||||
|
@ -429,9 +520,6 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
{ field: 'categorie', headerName: 'Catégorie', minWidth: 100, flex: 1, maxWidth: 200, hideable: true, hide: true, editable: false, renderCell: (params) => <Display_Colunm_text {...params} />, },
|
{ field: 'categorie', headerName: 'Catégorie', minWidth: 100, flex: 1, maxWidth: 200, hideable: true, hide: true, editable: false, renderCell: (params) => <Display_Colunm_text {...params} />, },
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
field: 'nb_session_formation', headerName: 'Nb Session', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center",
|
field: 'nb_session_formation', headerName: 'Nb Session', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center",
|
||||||
renderCell: (cellValues) => {
|
renderCell: (cellValues) => {
|
||||||
|
@ -452,7 +540,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
|
|
||||||
onClick={(event) => {
|
onClick={(event) => {
|
||||||
window.open(
|
window.open(
|
||||||
process.env.REACT_APP_FRONT_URL + "Partner/mes_sessions/class/"+String(cellValues.row.internal_url),
|
process.env.REACT_APP_FRONT_URL + "Partner/mes_sessions/class/" + String(cellValues.row.internal_url),
|
||||||
'_blank'
|
'_blank'
|
||||||
);
|
);
|
||||||
}}
|
}}
|
||||||
|
@ -469,8 +557,6 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
@ -499,24 +585,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
/*{
|
|
||||||
field: "management", headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100,
|
|
||||||
renderCell: (cellValues) => {
|
|
||||||
return (
|
|
||||||
|
|
||||||
<Button style={{ "marginLeft": "auto", "marginRight": "auto", "cursor": "pointer" }}
|
|
||||||
|
|
||||||
onClick={(event) => {
|
|
||||||
handleClickManagement(event, cellValues);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<BsFileText />
|
|
||||||
|
|
||||||
</Button>
|
|
||||||
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},*/
|
|
||||||
{
|
{
|
||||||
field: "visual", headerName: 'Visualiser', minWidth: 50, flex: 1, maxWidth: 100, disableExport: true,
|
field: "visual", headerName: 'Visualiser', minWidth: 50, flex: 1, maxWidth: 100, disableExport: true,
|
||||||
renderCell: (cellValues) => {
|
renderCell: (cellValues) => {
|
||||||
|
@ -535,7 +604,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
/* {
|
||||||
field: "Print", headerName: 'Editer', minWidth: 50, flex: 1, maxWidth: 100, disableExport: true,
|
field: "Print", headerName: 'Editer', minWidth: 50, flex: 1, maxWidth: 100, disableExport: true,
|
||||||
renderCell: (cellValues) => {
|
renderCell: (cellValues) => {
|
||||||
return (
|
return (
|
||||||
|
@ -678,11 +747,234 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
},*/
|
||||||
|
{
|
||||||
|
field: 'bton_vertif', headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center",
|
||||||
|
renderCell: (cellValues) => {
|
||||||
|
return (
|
||||||
|
|
||||||
|
<nav style={{ width: '100%', 'textAlign': 'center' }}>
|
||||||
|
<IconButton
|
||||||
|
aria-label="more"
|
||||||
|
id="long-button"
|
||||||
|
aria-controls={open ? 'long-menu' : undefined}
|
||||||
|
aria-expanded={open ? 'true' : undefined}
|
||||||
|
aria-haspopup="true"
|
||||||
|
onClick={handleClick_option_button_vertical}
|
||||||
|
>
|
||||||
|
<MoreVertIcon />
|
||||||
|
</IconButton>
|
||||||
|
<Menu
|
||||||
|
id="long-menu"
|
||||||
|
MenuListProps={{
|
||||||
|
'aria-labelledby': 'long-button',
|
||||||
|
}}
|
||||||
|
anchorEl={anchorEl}
|
||||||
|
open={open}
|
||||||
|
onClose={handleClose_option_button_vertical}
|
||||||
|
slotProps={{
|
||||||
|
paper: {
|
||||||
|
style: {
|
||||||
|
maxHeight: ITEM_HEIGHT * 4.5,
|
||||||
|
width: '20ch',
|
||||||
|
boxShadow: "-3px 4px 0px -30px #000000",
|
||||||
|
borderRadius: '0px !important',
|
||||||
|
lineHeight: '3rem'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{options_menu_vertical.map((option) => (
|
||||||
|
<MenuItem key={option}
|
||||||
|
|
||||||
|
onClick={(e) => {
|
||||||
|
//handleClose_option_button_vertical(e, option);
|
||||||
|
setAnchorEl(null);
|
||||||
|
|
||||||
|
if (option && String(option) === "Supprimer") {
|
||||||
|
setdialogOpen_supp(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (option && String(option) === "Editer") {
|
||||||
|
handleClick(e, cellValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (option && String(option) === "Pub. E-Learning") {
|
||||||
|
setdialogOpen_push_lms(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (option && String(option) === "Visualiser") {
|
||||||
|
Visualiser(e, cellValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{option}
|
||||||
|
</MenuItem>
|
||||||
|
))}
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
{/*** GESTION Dialog menu item pour suppression */}
|
||||||
|
{dialogOpen_supp && <Dialog
|
||||||
|
open={dialogOpen_supp}
|
||||||
|
className="displaypartnersession"
|
||||||
|
static
|
||||||
|
onClose={() => null}
|
||||||
|
|
||||||
|
PaperProps={{
|
||||||
|
className: classes.paper, // Apply the paper style
|
||||||
|
style: {
|
||||||
|
overflowY: 'unset',
|
||||||
|
// position: 'absolute',
|
||||||
|
top: '7rem',
|
||||||
|
margin: "2px",
|
||||||
|
boxShadow: "-3px 4px 0px -30px #000000",
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
hideBackdrop={true}
|
||||||
|
disableScrollLock
|
||||||
|
classes={{
|
||||||
|
paper: classes.dialog
|
||||||
|
}}
|
||||||
|
|
||||||
|
PaperComponent={PaperComponent}
|
||||||
|
aria-labelledby="draggable-dialog-title"
|
||||||
|
>
|
||||||
|
|
||||||
|
<DialogContent className="DialogContent_width">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<button className="gest_close" onClick={Dialog_menuitem_close_supp}>
|
||||||
|
×
|
||||||
|
</button>
|
||||||
|
<div className="gest_header"> MySy Information </div>
|
||||||
|
<div className="gest_content">
|
||||||
|
{' '}
|
||||||
|
|
||||||
|
En confirmant cette opération, la formation sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||||
|
Avant, assurez-vous de n'avoir aucune session rattachée à la formation.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div className="gest_actions">
|
||||||
|
<div style={{ "width": "45%", "float": "left" }}>
|
||||||
|
<button className="gest_bton_popup" onClick={(event) => {
|
||||||
|
handleClick_delete(event, cellValues);
|
||||||
|
}}> Valider </button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div style={{ "width": "45%", "float": "right" }}>
|
||||||
|
<button
|
||||||
|
className="gest_bton_popup"
|
||||||
|
onClick={() => {
|
||||||
|
console.log('modal closed ');
|
||||||
|
Dialog_menuitem_close_supp();
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Annuler
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</DialogContent>
|
||||||
|
|
||||||
|
<DialogActions>
|
||||||
|
</DialogActions>
|
||||||
|
|
||||||
|
|
||||||
|
</Dialog>}
|
||||||
|
{/*** FIN GESTION Dialog menu item pour suppression*/}
|
||||||
|
|
||||||
|
|
||||||
|
{/*** GESTION Dialog menu item pour push lms */}
|
||||||
|
{dialogOpen_push_lms && <Dialog
|
||||||
|
open={dialogOpen_push_lms}
|
||||||
|
className="displaypartnersession"
|
||||||
|
static
|
||||||
|
onClose={() => null}
|
||||||
|
|
||||||
|
PaperProps={{
|
||||||
|
className: classes.paper, // Apply the paper style
|
||||||
|
style: {
|
||||||
|
overflowY: 'unset',
|
||||||
|
// position: 'absolute',
|
||||||
|
top: '7rem',
|
||||||
|
margin: "2px",
|
||||||
|
boxShadow: "-3px 4px 0px -30px #000000",
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
hideBackdrop={true}
|
||||||
|
disableScrollLock
|
||||||
|
classes={{
|
||||||
|
paper: classes.dialog
|
||||||
|
}}
|
||||||
|
|
||||||
|
PaperComponent={PaperComponent}
|
||||||
|
aria-labelledby="draggable-dialog-title"
|
||||||
|
>
|
||||||
|
|
||||||
|
<DialogContent className="DialogContent_width">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<button className="gest_close" onClick={Dialog_menuitem_close_push_lms}>
|
||||||
|
×
|
||||||
|
</button>
|
||||||
|
<div className="gest_header"> MySy Information </div>
|
||||||
|
<div className="gest_content">
|
||||||
|
{' '}
|
||||||
|
|
||||||
|
/!\ Important : Confirmer la publication de la formation dans l'eapce E-Learning.
|
||||||
|
Vous allez écraser d'eventuelles informations déjà présente dans le e-Learning, pour cette formation.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div className="gest_actions">
|
||||||
|
<div style={{ "width": "45%", "float": "left" }}>
|
||||||
|
<button className="gest_bton_popup" onClick={(event) => {
|
||||||
|
handlepush_to_lms(event, cellValues);
|
||||||
|
}}> Valider </button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div style={{ "width": "45%", "float": "right" }}>
|
||||||
|
<button
|
||||||
|
className="gest_bton_popup"
|
||||||
|
onClick={() => {
|
||||||
|
console.log('modal closed ');
|
||||||
|
Dialog_menuitem_close_push_lms();
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Annuler
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</DialogContent>
|
||||||
|
|
||||||
|
<DialogActions>
|
||||||
|
</DialogActions>
|
||||||
|
|
||||||
|
|
||||||
|
</Dialog>}
|
||||||
|
{/*** FIN GESTION Dialog menu item pour push lms*/}
|
||||||
|
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
const [dialogOpen_supp, setdialogOpen_supp] = useState(false);
|
||||||
|
const Dialog_menuitem_close_supp = () => {
|
||||||
|
setdialogOpen_supp(false)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const [dialogOpen_push_lms, setdialogOpen_push_lms] = useState(false);
|
||||||
|
const Dialog_menuitem_close_push_lms = () => {
|
||||||
|
setdialogOpen_push_lms(false)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
function Visualiser(event, cellValues) {
|
function Visualiser(event, cellValues) {
|
||||||
|
|
||||||
|
@ -1470,9 +1762,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
|
|
||||||
|
|
||||||
function handleClick_delete(event, cellValues) {
|
function handleClick_delete(event, cellValues) {
|
||||||
|
|
||||||
var local_class_id = cellValues.row._id;
|
var local_class_id = cellValues.row._id;
|
||||||
|
|
||||||
Delete_Class(local_class_id);
|
Delete_Class(local_class_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1921,6 +2211,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIN EXPORT EXCEL DATAGRID
|
// FIN EXPORT EXCEL DATAGRID
|
||||||
|
const classes = useStyles();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
||||||
|
@ -1932,8 +2223,27 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
|
|
||||||
<Dialog
|
<Dialog
|
||||||
open={Dialog_formation_open}
|
open={Dialog_formation_open}
|
||||||
onClose={Dialog_formation_handleClose}
|
|
||||||
className="displaypartnersession"
|
className="displaypartnersession"
|
||||||
|
static
|
||||||
|
onClose={() => null}
|
||||||
|
|
||||||
|
PaperProps={{
|
||||||
|
className: classes.paper, // Apply the paper style
|
||||||
|
style: {
|
||||||
|
overflowY: 'unset',
|
||||||
|
position: 'absolute',
|
||||||
|
top: '5rem',
|
||||||
|
margin: "2px",
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
hideBackdrop={true}
|
||||||
|
disableScrollLock
|
||||||
|
classes={{
|
||||||
|
paper: classes.dialog
|
||||||
|
}}
|
||||||
|
|
||||||
|
PaperComponent={PaperComponent}
|
||||||
|
aria-labelledby="draggable-dialog-title"
|
||||||
>
|
>
|
||||||
|
|
||||||
<DialogTitle>Info Formation</DialogTitle>
|
<DialogTitle>Info Formation</DialogTitle>
|
||||||
|
@ -2044,6 +2354,16 @@ const DistplayPartnerTraningsPage = (props) => {
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
|
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
|
|
||||||
|
<IconButton
|
||||||
|
autoFocus
|
||||||
|
onClick={Dialog_formation_handleClose_buton}
|
||||||
|
color="primary"
|
||||||
|
className={classes.customizedButton}
|
||||||
|
>
|
||||||
|
<CancelPresentationIcon />
|
||||||
|
</IconButton>
|
||||||
|
|
||||||
<div className="div_row">
|
<div className="div_row">
|
||||||
<div className="div_row_gauche">
|
<div className="div_row_gauche">
|
||||||
<Button onClick={Show_Detailled_formation_Data} className="bton_enreg_dialog">Voir détail</Button>
|
<Button onClick={Show_Detailled_formation_Data} className="bton_enreg_dialog">Voir détail</Button>
|
||||||
|
|
|
@ -265,7 +265,7 @@ const Module_IA = (props) => {
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="moduleia">
|
<div className="moduleia" >
|
||||||
|
|
||||||
{isLoading && <div className="loader-container">
|
{isLoading && <div className="loader-container">
|
||||||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||||
|
@ -287,7 +287,7 @@ const Module_IA = (props) => {
|
||||||
</div>
|
</div>
|
||||||
<div className="div_row">
|
<div className="div_row">
|
||||||
<div className="div_row" style={{ "textAlign": 'left' }}>
|
<div className="div_row" style={{ "textAlign": 'left' }}>
|
||||||
<b> Texte Article </b>
|
<b> Votre texte </b>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -311,9 +311,7 @@ const Module_IA = (props) => {
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div className="div_row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="div_row">
|
<div className="div_row">
|
||||||
<ul className="ul_bouton">
|
<ul className="ul_bouton">
|
||||||
|
@ -328,9 +326,7 @@ const Module_IA = (props) => {
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="div_row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="div_row" style={{ "textAlign": 'left' }}>
|
<div className="div_row" style={{ "textAlign": 'left' }}>
|
||||||
<b> Résultat </b>
|
<b> Résultat </b>
|
||||||
|
@ -387,11 +383,11 @@ const Module_IA = (props) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="div_row">
|
<div className="div_row">
|
||||||
<div style={{ width: '45%', float: 'left', textAlign: 'left' }}> <Button className="li_button"
|
{String(formulaire_parent) === "1" && <div style={{ width: '45%', float: 'left', textAlign: 'left' }}> <Button className="li_button"
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
accept_replace();
|
accept_replace();
|
||||||
}}
|
}}
|
||||||
> <FcAcceptDatabase style={{ fontSize: '15px' }} /> Accepter et remplacer</Button> </div>
|
> <FcAcceptDatabase style={{ fontSize: '15px' }} /> Accepter et remplacer</Button> </div>}
|
||||||
|
|
||||||
|
|
||||||
<div style={{ width: '45%', float: 'right', marginRight: "5px", textAlign: 'right' }}> <Button className="li_button"
|
<div style={{ width: '45%', float: 'right', marginRight: "5px", textAlign: 'right' }}> <Button className="li_button"
|
||||||
|
|
|
@ -1075,10 +1075,6 @@ const TestUrl_New = (props) => {
|
||||||
setColumnVisibilityModel(newModel);
|
setColumnVisibilityModel(newModel);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -76,6 +76,8 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
|
border: none;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.div_row_dialog {
|
.div_row_dialog {
|
||||||
|
@ -492,6 +494,8 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
|
border: none;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.div_row_dialog {
|
.div_row_dialog {
|
||||||
|
@ -774,6 +778,7 @@
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
line-height: 2.25rem;
|
line-height: 2.25rem;
|
||||||
padding-top: 3rem;
|
padding-top: 3rem;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.li_button {
|
.li_button {
|
||||||
|
@ -1255,6 +1260,8 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
//margin-bottom: 1rem;
|
//margin-bottom: 1rem;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
|
border: none;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.div_row_dialog {
|
.div_row_dialog {
|
||||||
|
@ -1521,6 +1528,7 @@
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
line-height: 2.25rem;
|
line-height: 2.25rem;
|
||||||
padding-top: 3rem;
|
padding-top: 3rem;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.li_button {
|
.li_button {
|
||||||
|
@ -1600,6 +1608,8 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
|
border: none;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2191,6 +2201,7 @@
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
line-height: 2.25rem;
|
line-height: 2.25rem;
|
||||||
padding-top: 3rem;
|
padding-top: 3rem;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.li_button {
|
.li_button {
|
||||||
|
@ -2270,6 +2281,8 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
//margin-bottom: 1rem;
|
//margin-bottom: 1rem;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
|
border: none;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.div_row_dialog {
|
.div_row_dialog {
|
||||||
|
@ -3037,6 +3050,7 @@
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
line-height: 2.25rem;
|
line-height: 2.25rem;
|
||||||
padding-top: 3rem;
|
padding-top: 3rem;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.li_button {
|
.li_button {
|
||||||
|
|
|
@ -754,7 +754,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.div_mobile {
|
.div_mobile {
|
||||||
position: absolute;
|
// position: absolute;
|
||||||
top: 8.5rem;
|
top: 8.5rem;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -1260,7 +1260,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.div_mobile {
|
.div_mobile {
|
||||||
position: absolute;
|
// position: absolute;
|
||||||
top: 8.5rem;
|
top: 8.5rem;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -1741,7 +1741,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.div_mobile {
|
.div_mobile {
|
||||||
position: absolute;
|
// position: absolute;
|
||||||
top: 8.5rem;
|
top: 8.5rem;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
Loading…
Reference in New Issue