23/10/2023 - 16h
parent
2db635c451
commit
05dc0b6569
|
@ -51,7 +51,8 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
{ field: 'field_name', headerName: 'Nom champ', hideable: false, flex: 1 },
|
{ field: 'field_name', headerName: 'Nom champ', hideable: false, flex: 1 },
|
||||||
{ field: 'field_label', headerName: 'label', hideable: false, flex: 1 },
|
{ field: 'field_label', headerName: 'label', hideable: false, flex: 1 },
|
||||||
{ field: 'related_collection', headerName: 'Entité metier', width: 150, hideable: false, },
|
{ field: 'related_collection', headerName: 'Entité metier', width: 150, hideable: false, },
|
||||||
{ field: 'is_displayed', headerName: 'Affichable', width: 150, hide: false, editable: false ,
|
{
|
||||||
|
field: 'is_displayed', headerName: 'Affichable', width: 150, hide: false, editable: false,
|
||||||
valueFormatter: (params) => {
|
valueFormatter: (params) => {
|
||||||
if (String(params.value) === "0")
|
if (String(params.value) === "0")
|
||||||
return "Non";
|
return "Non";
|
||||||
|
@ -60,8 +61,10 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
|
|
||||||
else
|
else
|
||||||
return "?";
|
return "?";
|
||||||
},},
|
},
|
||||||
{ field: 'field_type', headerName: 'Type', width: 150, hide: false, editable: false,
|
},
|
||||||
|
{
|
||||||
|
field: 'field_type', headerName: 'Type', width: 150, hide: false, editable: false,
|
||||||
valueFormatter: (params) => {
|
valueFormatter: (params) => {
|
||||||
if (String(params.value) === "string")
|
if (String(params.value) === "string")
|
||||||
return "Alphanum";
|
return "Alphanum";
|
||||||
|
@ -70,8 +73,10 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
|
|
||||||
else
|
else
|
||||||
return "?";
|
return "?";
|
||||||
}, },
|
},
|
||||||
{ field: 'is_mandatory', headerName: 'Obligatoire', width: 150, hide: false, editable: false,
|
},
|
||||||
|
{
|
||||||
|
field: 'is_mandatory', headerName: 'Obligatoire', width: 150, hide: false, editable: false,
|
||||||
valueFormatter: (params) => {
|
valueFormatter: (params) => {
|
||||||
if (String(params.value) === "0")
|
if (String(params.value) === "0")
|
||||||
return "Non";
|
return "Non";
|
||||||
|
@ -80,7 +85,8 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
|
|
||||||
else
|
else
|
||||||
return "?";
|
return "?";
|
||||||
}, },
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
/*{
|
/*{
|
||||||
|
@ -259,8 +265,16 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
setp_detail_is_displayed_label("Non");
|
setp_detail_is_displayed_label("Non");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mylocal_spec_field.field_type)
|
if (mylocal_spec_field.field_type){
|
||||||
setp_detail_field_type(mylocal_spec_field.field_type);
|
setp_detail_field_type(mylocal_spec_field.field_type);
|
||||||
|
if (String(mylocal_spec_field.field_type) === "string")
|
||||||
|
setp_detail_field_type_label("Alphanumérique");
|
||||||
|
else if (String(mylocal_spec_field.field_type) === "float")
|
||||||
|
setp_detail_field_type_label("Numérique");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (mylocal_spec_field.is_mandatory) {
|
if (mylocal_spec_field.is_mandatory) {
|
||||||
setp_detail_is_mandatory(mylocal_spec_field.is_mandatory);
|
setp_detail_is_mandatory(mylocal_spec_field.is_mandatory);
|
||||||
|
@ -675,8 +689,10 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
|
|
||||||
|
|
||||||
//Get_List_Personnalisable_Default_Document();
|
//Get_List_Personnalisable_Default_Document();
|
||||||
|
setdisplay_personalised_field();
|
||||||
setadd_one_personal_field("1");
|
setadd_one_personal_field("1");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const [p_detail_field_name, setp_detail_field_name] = useState("");
|
const [p_detail_field_name, setp_detail_field_name] = useState("");
|
||||||
|
@ -686,6 +702,7 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
const [p_detail_is_displayed, setp_detail_is_displayed] = useState("");
|
const [p_detail_is_displayed, setp_detail_is_displayed] = useState("");
|
||||||
const [p_detail_is_displayed_label, setp_detail_is_displayed_label] = useState("");
|
const [p_detail_is_displayed_label, setp_detail_is_displayed_label] = useState("");
|
||||||
const [p_detail_field_type, setp_detail_field_type] = useState("");
|
const [p_detail_field_type, setp_detail_field_type] = useState("");
|
||||||
|
const [p_detail_field_type_label, setp_detail_field_type_label] = useState("");
|
||||||
const [p_detail_is_mandatory, setp_detail_is_mandatory] = useState("");
|
const [p_detail_is_mandatory, setp_detail_is_mandatory] = useState("");
|
||||||
const [p_detail_is_mandatory_label, setp_detail_is_mandatory_label] = useState("");
|
const [p_detail_is_mandatory_label, setp_detail_is_mandatory_label] = useState("");
|
||||||
|
|
||||||
|
@ -704,6 +721,7 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
setp_detail_related_collection_name("");
|
setp_detail_related_collection_name("");
|
||||||
setp_detail_is_displayed("");
|
setp_detail_is_displayed("");
|
||||||
setp_detail_field_type("");
|
setp_detail_field_type("");
|
||||||
|
setp_detail_field_type_label("");
|
||||||
setp_detail_is_mandatory("");
|
setp_detail_is_mandatory("");
|
||||||
setp_detail_is_mandatory_label("");
|
setp_detail_is_mandatory_label("");
|
||||||
setp_detail_is_displayed_label("");
|
setp_detail_is_displayed_label("");
|
||||||
|
@ -760,6 +778,11 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var tmp_val = String(p_detail_field_name).replaceAll("my_", "");
|
||||||
|
if (!tmp_val.match(/^[0-9a-z]+$/)) {
|
||||||
|
alert(" Sur le nom technique, les information apres le 'my_' doit être alphanumerique. Vous avez saisi : " + String(tmp_val));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (p_detail_field_label)
|
if (p_detail_field_label)
|
||||||
|
@ -846,6 +869,126 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const [Add_One_Specific_field_Data_api, setAdd_One_Specific_field_Data_api] = useState();
|
||||||
|
const [Add_One_Specific_field_Data_message, setAdd_One_Specific_field_Data_message] = useState();
|
||||||
|
const [Add_One_Specific_field_Data_result, setAdd_One_Specific_field_Data_result] = useState();
|
||||||
|
function Add_One_Specific_field_Data() {
|
||||||
|
var form = new FormData();
|
||||||
|
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
|
||||||
|
|
||||||
|
|
||||||
|
const stored_cookie = getCookie('tokenmysypart');
|
||||||
|
form.append("token", stored_cookie);
|
||||||
|
|
||||||
|
if (p_one_detail_field_name) {
|
||||||
|
form.append("field_name", p_one_detail_field_name);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
alert(" Vous devez definir le technique du champ. Il doit commencer impérativement par 'my_'");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!p_one_detail_field_name.startsWith('my_')) {
|
||||||
|
alert(" Le nom technique du champ doit commencer impérativement par 'my_'");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (String(p_one_detail_field_name).length < 6) {
|
||||||
|
alert(" Le nom technique du champ doit au moins 6 caractères");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (p_one_detail_field_label)
|
||||||
|
form.append("field_label", p_one_detail_field_label);
|
||||||
|
else {
|
||||||
|
alert(" Vous devez definir le label du champ ");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (String(p_one_detail_field_label).length < 3) {
|
||||||
|
alert(" Le label du champ doit faire au moins 3 caractères");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (p_one_detail_related_collection)
|
||||||
|
form.append("related_collection", p_one_detail_related_collection);
|
||||||
|
else {
|
||||||
|
alert(" Vous devez definir l'entité");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (p_one_detail_is_displayed)
|
||||||
|
form.append("is_displayed", p_one_detail_is_displayed);
|
||||||
|
else {
|
||||||
|
alert(" Vous devez definir si le champ est affichable");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (p_one_detail_field_type)
|
||||||
|
form.append("field_type", p_one_detail_field_type);
|
||||||
|
else {
|
||||||
|
alert(" Vous devez definir le type du champ");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (p_one_detail_is_mandatory)
|
||||||
|
form.append("is_mandatory", p_one_detail_is_mandatory);
|
||||||
|
else {
|
||||||
|
alert(" Vous devez definir si le champ est obligatoire");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//console.log(" Add_One_Specific_field_Data affectation form == ", form);
|
||||||
|
|
||||||
|
|
||||||
|
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_specific_field/";
|
||||||
|
|
||||||
|
axios.post(myurl, form).then(res => {
|
||||||
|
//console.log(" In Add_One_Specific_field_Data res.data.status = " + res.data.status);
|
||||||
|
//console.log(" In Add_One_Specific_field_Data res.data.message r_class = " + res.data.message);
|
||||||
|
|
||||||
|
if (String(res.data.status) === String("true")) {
|
||||||
|
setAdd_One_Specific_field_Data_api("true");
|
||||||
|
setAdd_One_Specific_field_Data_result(res.data.message);
|
||||||
|
|
||||||
|
|
||||||
|
disable_Partner_personalFields();
|
||||||
|
setpersonal_field_data_edit_mode("0");
|
||||||
|
setpersonal_field_data_changed("0");
|
||||||
|
Getall_Partner_Personalised_Fields_No_filter();
|
||||||
|
clear_one_detail_fields();
|
||||||
|
setdisplay_personalised_field();
|
||||||
|
setadd_one_personal_field();
|
||||||
|
alert(res.data.message);
|
||||||
|
if (document.getElementById('myRef_head')) {
|
||||||
|
var divh = document.getElementById('myRef_head').offsetTop;
|
||||||
|
window.scrollTo({
|
||||||
|
top: divh,
|
||||||
|
behavior: "smooth",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setAdd_One_Specific_field_Data_api("false");
|
||||||
|
setAdd_One_Specific_field_Data_message(res.data.message);
|
||||||
|
alert(res.data.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch((error) => {
|
||||||
|
|
||||||
|
console.log('UpdateStagiaireData : Not good man :( Add_One_Specific_field_Data = ' + error);
|
||||||
|
setAdd_One_Specific_field_Data_api("false");
|
||||||
|
alert(" Impossible d'ajouter le document");
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="config_champs_personnalise">
|
<div className="config_champs_personnalise">
|
||||||
<Dialog
|
<Dialog
|
||||||
|
@ -1203,7 +1346,10 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
<div className="session_data" >
|
<div className="session_data" >
|
||||||
|
|
||||||
|
|
||||||
{String(personal_field_data_edit_mode) !== "1" && <div className="session_caract"> Entité métier <br />
|
{String(personal_field_data_edit_mode) !== "1" &&
|
||||||
|
|
||||||
|
<div className="session_caract">
|
||||||
|
Entité métier <br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -1217,6 +1363,7 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
className="disabled_style"
|
className="disabled_style"
|
||||||
value={p_detail_related_collection_name}
|
value={p_detail_related_collection_name}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
{String(personal_field_data_edit_mode) === "1" && <div className="session_caract"> Entité métier <br />
|
{String(personal_field_data_edit_mode) === "1" && <div className="session_caract"> Entité métier <br />
|
||||||
|
@ -1252,7 +1399,10 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
<div className="session_caract"> Nom Technique<br />
|
<div className="session_caract">
|
||||||
|
<Tooltip id="my-related_collection" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="my-related_collection" data-tooltip-content="Le champ commence par 'my_' et finit par une chaine alphanumerique de 3 à 50 caractères">
|
||||||
|
Nom Technique (commence par <i>my_</i>)<br />
|
||||||
<TextField
|
<TextField
|
||||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
required
|
required
|
||||||
|
@ -1270,6 +1420,7 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
setpersonal_field_data_changed("1");
|
setpersonal_field_data_changed("1");
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1305,7 +1456,7 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
}}
|
}}
|
||||||
disabled={false}
|
disabled={false}
|
||||||
className="disabled_style"
|
className="disabled_style"
|
||||||
value={p_detail_field_type}
|
value={p_detail_field_type_label}
|
||||||
/>
|
/>
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
@ -1465,6 +1616,197 @@ const Config_Champs_Personnalise = (props) => {
|
||||||
|
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
{String(display_personalised_field) !== "1" && String(add_one_personal_field) === "1" && <div className="div_row">
|
||||||
|
<h3> Ajout d'un nouveau champ spécifique</h3>
|
||||||
|
|
||||||
|
<div className="session_data" >
|
||||||
|
|
||||||
|
<div className="session_caract"> Entité métier <br />
|
||||||
|
<TextField
|
||||||
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
|
required
|
||||||
|
name="one_related_collection"
|
||||||
|
id="one_related_collection"
|
||||||
|
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
select
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_one_detail_related_collection}
|
||||||
|
onChange={(e) => {
|
||||||
|
setp_one_detail_related_collection(e.target.value);
|
||||||
|
setpersonal_field_data_changed("1");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{Get_Obj_Metier_Eligible_Cham_Spe_result &&
|
||||||
|
Get_Obj_Metier_Eligible_Cham_Spe_result.map((mycollection) => (
|
||||||
|
<MenuItem key={JSON.parse(mycollection).objet_metier}
|
||||||
|
value={JSON.parse(mycollection).objet_metier}
|
||||||
|
style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontSize": "12px" }}>
|
||||||
|
{JSON.parse(mycollection).nom}
|
||||||
|
|
||||||
|
</MenuItem>
|
||||||
|
))}
|
||||||
|
|
||||||
|
</TextField>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="session_caract">
|
||||||
|
<Tooltip id="my-related_collection" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="my-related_collection" data-tooltip-content="Le champ commence par 'my_' et finit par une chaine alphanumerique de 3 à 50 caractères">
|
||||||
|
Nom Technique (commence par <i>my_</i>)<br />
|
||||||
|
<TextField
|
||||||
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
|
required
|
||||||
|
name="one_field_name"
|
||||||
|
id="one_one_field_name"
|
||||||
|
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_one_detail_field_name}
|
||||||
|
onChange={(e) => {
|
||||||
|
setp_one_detail_field_name(e.target.value);
|
||||||
|
setpersonal_field_data_changed("1");
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="session_caract"> Label<br />
|
||||||
|
<TextField
|
||||||
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
|
required
|
||||||
|
name="one_field_label"
|
||||||
|
id="one_field_label"
|
||||||
|
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_one_detail_field_label}
|
||||||
|
onChange={(e) => {
|
||||||
|
setp_one_detail_field_label(e.target.value);
|
||||||
|
setpersonal_field_data_changed("1");
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="session_caract"> Type <i> (numérique / Alphanumérique)</i><br />
|
||||||
|
<TextField
|
||||||
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
|
required
|
||||||
|
name="one_field_type"
|
||||||
|
id="one_field_type"
|
||||||
|
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
select
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_one_detail_field_type}
|
||||||
|
onChange={(e) => {
|
||||||
|
setp_one_detail_field_type(e.target.value);
|
||||||
|
setpersonal_field_data_changed("1");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<MenuItem value="float" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>numérique </MenuItem>
|
||||||
|
<MenuItem value="string" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Alphanumérique </MenuItem>
|
||||||
|
|
||||||
|
</TextField>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="session_caract"> Obligatoire <br />
|
||||||
|
<TextField
|
||||||
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
|
required
|
||||||
|
name="one_is_mandatory"
|
||||||
|
id="one_is_mandatory"
|
||||||
|
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
select
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_one_detail_is_mandatory}
|
||||||
|
onChange={(e) => {
|
||||||
|
setp_one_detail_is_mandatory(e.target.value);
|
||||||
|
setpersonal_field_data_changed("1");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Oui </MenuItem>
|
||||||
|
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Non </MenuItem>
|
||||||
|
|
||||||
|
</TextField>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div className="session_caract"> Affichable <br />
|
||||||
|
<TextField
|
||||||
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
|
required
|
||||||
|
name="one_is_displayed"
|
||||||
|
id="one_is_displayed"
|
||||||
|
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
select
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_one_detail_is_displayed}
|
||||||
|
onChange={(e) => {
|
||||||
|
setp_one_detail_is_displayed(e.target.value);
|
||||||
|
setpersonal_field_data_changed("1");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<MenuItem value="1" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Oui </MenuItem>
|
||||||
|
<MenuItem value="0" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Non </MenuItem>
|
||||||
|
</TextField>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div className="div_row" style={{ "border": "None" }}>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||||
|
|
||||||
|
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||||
|
|
||||||
|
<Button variant="contained" className="bton_enreg" onClick={Add_One_Specific_field_Data}>Enregistrer les modifications
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }} >
|
||||||
|
<Button variant="contained" className="bton_annule" onClick={Annule_edit_specific_Fields}>Annuler
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="div_row" style={{ "border": "None" }}>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue