10/08/2025 - 10h
parent
eedef98997
commit
748f40e23f
|
@ -2,6 +2,7 @@
|
|||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="../src/App.css">
|
||||
<script src="https://widget-js.cometchat.io/v2/cometchatwidget.js"></script>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
|
||||
|
@ -126,14 +127,16 @@
|
|||
gtag('config', 'G-17B18WZKPN');
|
||||
</script>
|
||||
|
||||
<!-- Google Fonts-->
|
||||
<!-- Google Fonts-- >
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap"
|
||||
rel="stylesheet">
|
||||
|
||||
</head>
|
||||
-->
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
formation_code_externe;code_session;client_rattachement_email;client_rattachement_nom;facture_client_rattachement_email;facture_client_rattachement_nom;civilite;prenom;nom;employeur;telephone;email;adresse;code_postal;ville;pays;modefinancement;opco;status;prix;type_apprenant
|
||||
IFOD_01;test_facturatop_dup ;mysytraining+client1@gmail.com;Client 1;PP_ETAT_GENERAL_01@mysy-training.com ;PP_ETAT_GENERAL_01 ;mme;Ibrahim uuu;nom1;employeur 4;10101;mysytraining+apprenant8@gmail.com;adresse03;code_postal03;ville03;pays03;modefinancement;;0;18500;0
|
||||
IFOD_01;test_facturatop_dup ;mysytraining+client2@gmail.com;Client 2;mysylaplumedepierrot@gmail.com;Etat financeur;mme;Alice excel;nom2;employeur 5;10101;mysytraining+apprenant9@gmail.com;adresse04;code_postal04;ville04;pays04;modefinancement;;0;15009;
|
||||
IFOD_01;test_facturatop_dup ;mysytraining+client2@gmail.com;Client 2;mysylaplumedepierrot@gmail.com;Etat financeur;mme;Thomas excel;nom3;employeur 6;10101;mysytraining+apprenant10@gmail.com;adresse05;code_postal05;ville05;pays05;modefinancement;;0;120;0
|
||||
formation_code_externe;code_session;client_rattachement_email;client_rattachement_nom;facture_client_rattachement_email;facture_client_rattachement_nom;civilite;prenom;nom;employeur;telephone;email;adresse;code_postal;ville;pays;modefinancement;opco;status;prix;type_apprenant;date_naissance
|
||||
IFOD_01;test_facturatop_dup ;mysytraining+client1@gmail.com;Client 1;PP_ETAT_GENERAL_01@mysy-training.com ;PP_ETAT_GENERAL_01 ;mme;Ibrahim uuu;nom1;employeur 4;10101;mysytraining+apprenant8@gmail.com;adresse03;code_postal03;ville03;pays03;modefinancement;;0;18500;0;20/12/1990
|
||||
IFOD_01;test_facturatop_dup ;mysytraining+client2@gmail.com;Client 2;mysylaplumedepierrot@gmail.com;Etat financeur;mme;Alice excel;nom2;employeur 5;10101;mysytraining+apprenant9@gmail.com;adresse04;code_postal04;ville04;pays04;modefinancement;;0;15009;;06/04/1977
|
||||
IFOD_01;test_facturatop_dup ;mysytraining+client2@gmail.com;Client 2;mysylaplumedepierrot@gmail.com;Etat financeur;mme;Thomas excel;nom3;employeur 6;10101;mysytraining+apprenant10@gmail.com;adresse05;code_postal05;ville05;pays05;modefinancement;;0;120;0;
|
||||
|
|
|
43
src/App.css
43
src/App.css
|
@ -1,3 +1,46 @@
|
|||
|
||||
|
||||
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'DM Sans';
|
||||
font-style: italic;
|
||||
font-weight: 100 1000;
|
||||
font-display: swap;
|
||||
src: url(./fonts_elyos/dmsans/DMSans.ttf) format('truetype');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'DM Sans';
|
||||
font-style: italic;
|
||||
font-weight: 100 1000;
|
||||
font-display: swap;
|
||||
src: url(./fonts_elyos/dmsans/DMSans.ttf) format('truetype');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'DM Sans';
|
||||
font-style: normal;
|
||||
font-weight: 100 1000;
|
||||
font-display: swap;
|
||||
src: url(./fonts_elyos/dmsans/DMSans.ttf) format('truetype');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'DM Sans';
|
||||
font-style: normal;
|
||||
font-weight: 100 1000;
|
||||
font-display: swap;
|
||||
src: url(./fonts_elyos/dmsans/DMSans.ttf) format('truetype');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.react-confirm-alert-body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
padding: 30px;
|
||||
|
|
|
@ -5777,7 +5777,9 @@ const Apprenant = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__").
|
||||
filter((data) => (data) !== "Detail").
|
||||
filter((data) => (data) !== "delete");
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -5802,7 +5804,9 @@ const Apprenant = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__").
|
||||
filter((data) => (data) !== "Detail").
|
||||
filter((data) => (data) !== "delete");
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
@ -9560,7 +9564,7 @@ const Apprenant = (props) => {
|
|||
</div>}
|
||||
|
||||
{String(display_detail_inscriptions) === "1" && String(add_One_Apprenant) !== "1" && selected_apprenant_id && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||
<nav style={{ "border": "None", "fontSize": "16px", "fontWeight": "600", fontFamily: 'DM Sans' }}> Détail des inscriptions </nav>
|
||||
<nav style={{ "border": "None", "fontSize": "16px", "fontWeight": "600", fontFamily: 'DM Sans' }}> Détail des inscriptions </nav>
|
||||
|
||||
<div className="session_data" >
|
||||
<div style={{ "border": "None" }}>
|
||||
|
|
|
@ -2188,7 +2188,7 @@ const Conseil_Classe = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -2213,7 +2213,7 @@ const Conseil_Classe = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -4345,7 +4345,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
|
||||
var new_data2 = [];
|
||||
var nb_line_invoices = 0;
|
||||
|
||||
|
||||
const new_data = data['message'].map((x) => {
|
||||
|
||||
//---
|
||||
|
@ -9308,7 +9308,7 @@ const DisplayPartnerPromotion = (props) => {
|
|||
|
||||
const [p_detail_is_bpf, setp_detail_is_bpf] = useState();
|
||||
const [p_detail_is_bpf_label, setp_detail_is_bpf_label] = useState();
|
||||
|
||||
|
||||
|
||||
const emplacement_tab = [
|
||||
{
|
||||
|
@ -13906,14 +13906,15 @@ const DisplayPartnerPromotion = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__").
|
||||
filter((data) => (data) !== "is_session_alert").filter((data) => (data) !== "bton_vertif");
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
const row = {};
|
||||
|
||||
visibleColumnsField.forEach((field) => {
|
||||
|
||||
row[field] = apiRef.current.getCellParams(id, field).value;
|
||||
if (String(field) !== "__check__" && String(field) !== "bton_vertif")
|
||||
row[field] = apiRef.current.getCellParams(id, field).value;
|
||||
});
|
||||
return row;
|
||||
});
|
||||
|
@ -13932,7 +13933,8 @@ const DisplayPartnerPromotion = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__").
|
||||
filter((data) => (data) !== "is_session_alert").filter((data) => (data) !== "bton_vertif");
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -300,11 +300,11 @@ const DisplayPartnerSession = (props) => {
|
|||
{ field: 'class_lms_class_code', headerName: 'class_lms_class_code', hide: true, disableExport: true, },
|
||||
{ field: 'is_bpf', headerName: 'is_bpf', hide: true, },
|
||||
|
||||
{ field: 'session_alert_message', headerName: 'session_alert_message', hide: true },
|
||||
{ field: 'class_internal_url', headerName: 'class_internal_url', hide: true },
|
||||
{ field: 'session_alert_message', headerName: 'session_alert_message', hide: true, disableExport: true, },
|
||||
{ field: 'class_internal_url', headerName: 'class_internal_url', hide: true, disableExport: true, },
|
||||
|
||||
{
|
||||
field: 'is_session_alert', headerName: '', hide: false, Width: 50, flex: 1,
|
||||
field: 'is_session_alert', headerName: '', hide: false, Width: 50, flex: 1, disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all", fontFamily: 'DM Sans', }}>
|
||||
|
@ -331,7 +331,7 @@ const DisplayPartnerSession = (props) => {
|
|||
renderCell: (cellValues) => {
|
||||
return (
|
||||
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all", fontFamily: 'DM Sans', }}>
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all", fontFamily: 'DM Sans', }}>
|
||||
{String(cellValues.row.statut) === "1" && "Actif"}
|
||||
{String(cellValues.row.statut) !== "1" && "Inactif"}
|
||||
</div>
|
||||
|
@ -438,7 +438,7 @@ const DisplayPartnerSession = (props) => {
|
|||
{ field: 'duration', headerName: 'Durée', minWidth: datagrid_columns_size_model2, align: "center", hide: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{
|
||||
field: 'bton_vertif', headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center",
|
||||
field: 'bton_vertif', headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center", disableExport: true,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div>
|
||||
|
@ -13960,14 +13960,15 @@ const DisplayPartnerSession = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__").
|
||||
filter((data) => (data) !== "is_session_alert").filter((data) => (data) !== "bton_vertif");
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
const row = {};
|
||||
|
||||
visibleColumnsField.forEach((field) => {
|
||||
|
||||
row[field] = apiRef.current.getCellParams(id, field).value;
|
||||
if (String(field) !== "__check__" && String(field) !== "bton_vertif" )
|
||||
row[field] = apiRef.current.getCellParams(id, field).value;
|
||||
});
|
||||
return row;
|
||||
});
|
||||
|
@ -13986,7 +13987,8 @@ const DisplayPartnerSession = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__").
|
||||
filter((data) => (data) !== "is_session_alert").filter((data) => (data) !== "bton_vertif");
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -861,7 +861,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setRecyclage_Desactivation_api("true");
|
||||
setRecyclage_Desactivation_result(res.data.message);
|
||||
setSelectionModel([]);
|
||||
setactionmass_ftion_val("");
|
||||
setactionmass_ftion_val("");
|
||||
Getall_TrainingParticipant();
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
|
@ -985,7 +985,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setnb_stagiaire_Preinscrit("");
|
||||
setnb_stagiaire_Inscrit("");
|
||||
setSelectionModel([]);
|
||||
setactionmass_ftion_val("");
|
||||
setactionmass_ftion_val("");
|
||||
setRows([]);
|
||||
setRows_insc([]);
|
||||
setRows_preinsc([]);
|
||||
|
@ -1317,7 +1317,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
function submenu_add_one_stagiaire() {
|
||||
setsubmenu("");
|
||||
setSelectionModel([]);
|
||||
setactionmass_ftion_val("");
|
||||
setactionmass_ftion_val("");
|
||||
setselected_code_session();
|
||||
Get_List_Partner_Financeurs();
|
||||
setaddOneParticipant("1");
|
||||
|
@ -5937,7 +5937,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
setDelete_LIST_Stagiaires_api("true");
|
||||
setDelete_LIST_Stagiaires_result(res.data.message);
|
||||
setSelectionModel([]);
|
||||
setactionmass_ftion_val("");
|
||||
setactionmass_ftion_val("");
|
||||
Getall_TrainingParticipant();
|
||||
//alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
|
@ -7024,7 +7024,7 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
const handleChange_display_stagiaire_with_alert = (event) => {
|
||||
setSelectionModel([]);
|
||||
setactionmass_ftion_val("");
|
||||
setactionmass_ftion_val("");
|
||||
setdisplay_stagiaire_with_alert(event.target.checked);
|
||||
};
|
||||
|
||||
|
@ -7052,13 +7052,19 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__").
|
||||
filter((data) => (data) !== "warning_recyclage_alert").
|
||||
filter((data) => (data) !== "Detail").
|
||||
filter((data) => (data) !== "Action").
|
||||
filter((data) => (data) !== "delete");
|
||||
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
const row = {};
|
||||
visibleColumnsField.forEach((field) => {
|
||||
row[field] = apiRef.current.getCellParams(id, field).value;
|
||||
if (String(field) !== "__check__" && String(field) !== "warning_recyclage_alert")
|
||||
row[field] = apiRef.current.getCellParams(id, field).value;
|
||||
});
|
||||
return row;
|
||||
});
|
||||
|
@ -7077,9 +7083,13 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__").
|
||||
filter((data) => (data) !== "warning_recyclage_alert").
|
||||
filter((data) => (data) !== "Detail").
|
||||
filter((data) => (data) !== "Action").
|
||||
filter((data) => (data) !== "delete");
|
||||
|
||||
|
||||
const local_config = {
|
||||
keys: visibleColumnsField,
|
||||
|
||||
|
@ -9696,8 +9706,8 @@ const DisplayPartnerStagiaires = (props) => {
|
|||
/>
|
||||
|
||||
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && selectionModel && selectionModel.length >= 1 && actionmass_ftion_val && String(actionmass_ftion_val).length > 2 &&
|
||||
String(actionmass_ftion_val) !== "sendemail"
|
||||
{String(props.check_user_acces_right("stagiaire", "write")) === "1" && selectionModel && selectionModel.length >= 1 && actionmass_ftion_val && String(actionmass_ftion_val).length > 2 &&
|
||||
String(actionmass_ftion_val) !== "sendemail"
|
||||
&& String(actionmass_ftion_val) !== "pushdocument" && <nav className='block_en_mass_bton_action'>
|
||||
<Popup
|
||||
trigger={<Button className="bton_enreg" style={{ "width": "90%" }}>
|
||||
|
|
|
@ -2619,7 +2619,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -2644,7 +2644,7 @@ const DistplayPartnerTraningsPage = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -137,6 +137,9 @@ function Emarge_QR_Code() {
|
|||
{ field: 'code_session', headerName: 'Session', minWidth: 200, minWidth: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'sequence_start', headerName: 'Du', minWidth: 100, minWidth: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'sequence_end', headerName: 'Au', minWidth: 100, minWidth: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'time_in_hour', headerName: 'Nb Heure', minWidth: 100, minWidth: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'sequence_title', headerName: 'Séquence', minWidth: 100, minWidth: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
@ -185,6 +188,8 @@ function Emarge_QR_Code() {
|
|||
|
||||
var local_class_title = JSON.parse(x).class_title;
|
||||
var local_code_session = JSON.parse(x).code_session;
|
||||
var local_sequence_title = JSON.parse(x).sequence_title;
|
||||
var local_sequence_time_in_hour = JSON.parse(x).time_in_hour;
|
||||
|
||||
|
||||
//---
|
||||
|
@ -197,6 +202,8 @@ function Emarge_QR_Code() {
|
|||
"email": local_email,
|
||||
"class_title": local_class_title,
|
||||
"code_session": local_code_session,
|
||||
"sequence_title": local_sequence_title,
|
||||
"time_in_hour": local_sequence_time_in_hour,
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
@ -852,6 +859,8 @@ function Emarge_QR_Code() {
|
|||
session_id: (item).session_id,
|
||||
class_title: (item).class_title,
|
||||
code_session: (item).code_session,
|
||||
time_in_hour: (item).time_in_hour,
|
||||
sequence_title: (item).sequence_title,
|
||||
}
|
||||
))}
|
||||
|
||||
|
|
|
@ -1151,7 +1151,7 @@ const Equipe_Team = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -1176,7 +1176,7 @@ const Equipe_Team = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -2559,7 +2559,7 @@ const Groupe_Apprenant = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -2584,7 +2584,7 @@ const Groupe_Apprenant = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -2603,7 +2603,7 @@ const options_menu_vertical = [
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -2628,7 +2628,7 @@ const options_menu_vertical = [
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -6349,7 +6349,7 @@ const Intranet_Mes_Stagiaires = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -6374,7 +6374,7 @@ const Intranet_Mes_Stagiaires = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -552,7 +552,7 @@ const Intranet_Tous_Documents = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -577,7 +577,7 @@ const Intranet_Tous_Documents = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -2188,7 +2188,7 @@ const Jury = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -2213,7 +2213,7 @@ const Jury = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -721,7 +721,7 @@ const Module_Attestation_Formation = (props) => {
|
|||
</DialogContentText>
|
||||
|
||||
|
||||
{/* <div className="session_caract_Dialog" > Type Document<br />
|
||||
{ <div className="session_caract_Dialog" > Type Document<br />
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
@ -748,7 +748,7 @@ const Module_Attestation_Formation = (props) => {
|
|||
|
||||
|
||||
|
||||
</div>*/}
|
||||
</div>}
|
||||
|
||||
{<div className="session_caract_Dialog" > <b> Choisir un modèle attestation </b>
|
||||
<Autocomplete
|
||||
|
|
|
@ -1923,7 +1923,7 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -1948,7 +1948,7 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -935,6 +935,7 @@ const Module_Session_Planification = (props) => {
|
|||
const [p_detail_end, setp_detail_end] = useState();
|
||||
const [p_detail_comment, setp_detail_comment] = useState();
|
||||
const [p_detail_sequence_session_id, setp_detail_sequence_session_id] = useState("");
|
||||
const [p_detail_sequence_volume_theorique, setp_detail_sequence_volume_theorique] = useState("");
|
||||
|
||||
const [p_detail_justified, setp_detail_justified] = useState(false);
|
||||
const [p_detail_event_type, setp_detail_event_type] = useState("");
|
||||
|
@ -1178,6 +1179,8 @@ const Module_Session_Planification = (props) => {
|
|||
form.append("sequence_start", new_start_date);
|
||||
form.append("sequence_end", new_end_date);
|
||||
|
||||
form.append("volume_theorique", p_detail_sequence_volume_theorique);
|
||||
|
||||
form.append("agenda", p_detail_sequence_agenda);
|
||||
form.append("objectif", p_detail_sequence_objectif);
|
||||
form.append("commentaire", p_detail_sequence_comment);
|
||||
|
@ -1536,6 +1539,7 @@ const Module_Session_Planification = (props) => {
|
|||
var local_start = new Date(moment(JSON.parse(x).sequence_start, "DD/MM/YYYY hh:mm"))
|
||||
var local_end = new Date(moment(JSON.parse(x).sequence_end, "DD/MM/YYYY hh:mm"))
|
||||
|
||||
var local_volume_theorique = JSON.parse(x).volume_theorique;
|
||||
var local_agenda = JSON.parse(x).agenda;
|
||||
var local_objectif = JSON.parse(x).objectif;
|
||||
var local_session_id = JSON.parse(x).session_id;
|
||||
|
@ -1567,6 +1571,7 @@ const Module_Session_Planification = (props) => {
|
|||
"end": local_end,
|
||||
"grp_code": local_session_grp_code,
|
||||
"color": local_session_color,
|
||||
"local_volume_theorique": local_volume_theorique,
|
||||
"local_agenda": local_agenda,
|
||||
"local_mode_animation": local_mode_animation,
|
||||
|
||||
|
@ -1956,6 +1961,99 @@ const Module_Session_Planification = (props) => {
|
|||
};
|
||||
|
||||
|
||||
const handleEventDragStart = (arg) => {
|
||||
console.log(" handleEventDragStart");
|
||||
}
|
||||
|
||||
|
||||
const handleEventReceive = (arg) => {
|
||||
console.log(" handleEventReceive");
|
||||
}
|
||||
|
||||
|
||||
|
||||
const handleEventChange = (arg) => {
|
||||
|
||||
var local_selected_sequence_id = ""
|
||||
|
||||
|
||||
if (arg.event.extendedProps._id)
|
||||
local_selected_sequence_id = arg.event.extendedProps._id;
|
||||
|
||||
var new_start_date = moment(arg.event.start).format("DD/MM/YYYY HH:mm");
|
||||
var new_end_date = moment(arg.event.end).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("sequence_title", arg.event.title);
|
||||
form.append("sequence_start", new_start_date);
|
||||
form.append("sequence_end", new_end_date);
|
||||
form.append("_id", local_selected_sequence_id);
|
||||
|
||||
|
||||
// console.log(" form == ", form);
|
||||
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Session_Sequence/";
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Update_One_Sequence_Session res.data.status = " + res.data.status);
|
||||
//console.log(" In Update_One_Sequence_Session res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setUpdate_One_Sequence_Session_api("true");
|
||||
setUpdate_One_Sequence_Session_result(res.data.message);
|
||||
|
||||
Getall_Sequence_Of_Session(selected_session_id);
|
||||
|
||||
setp_detail_sequence_title("");
|
||||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
setsequence_startDate();
|
||||
setsequence_endDate();
|
||||
|
||||
setupdate_sequence();
|
||||
|
||||
// alert(res.data.message);
|
||||
// setdisplay_alert_mysy("1");
|
||||
// setalert_message(res.data.message);
|
||||
// setalert_type("success");
|
||||
Dialog_DIALOG_AGENDA_handleClose_buton();
|
||||
Close_Dialog_Detail_seq_open();
|
||||
|
||||
}
|
||||
else {
|
||||
setUpdate_One_Sequence_Session_api("false");
|
||||
setUpdate_One_Sequence_Session_message(res.data.message);
|
||||
// alert(res.data.message);
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(res.data.message);
|
||||
setalert_type("error");
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
|
||||
|
||||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Update_One_Sequence_Session = ' + error);
|
||||
setUpdate_One_Sequence_Session_api("false");
|
||||
alert(" Impossible de mettre à jour la séquence");
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
const [p_detail_sequence_event_type_semaine_id, setp_detail_sequence_event_type_semaine_id] = useState("");
|
||||
|
||||
|
@ -1999,7 +2097,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
const handleEventClick_event_type_semaine = (arg) => {
|
||||
|
||||
console.log(" arg = ", arg);
|
||||
// console.log(" arg = ", arg);
|
||||
|
||||
setp_detail_sequence_event_type_semaine_title(arg.event.title)
|
||||
setsequence_event_type_semaine_startDate(arg.event.start)
|
||||
|
@ -2258,6 +2356,7 @@ const Module_Session_Planification = (props) => {
|
|||
};
|
||||
|
||||
const handleEventClick = (arg) => {
|
||||
// console.log(" 111 arg = ", arg);
|
||||
if (String(props.check_user_acces_right("session", "write")) === "1") {
|
||||
if (document.getElementById('myRef_seq_calendrier_01')) {
|
||||
var divh = document.getElementById('myRef_seq_calendrier_01').offsetTop;
|
||||
|
@ -2359,6 +2458,14 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_event_id("");
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_volume_theorique) {
|
||||
setp_detail_sequence_volume_theorique(arg.event.extendedProps.local_volume_theorique);
|
||||
}
|
||||
else
|
||||
setp_detail_sequence_volume_theorique("");
|
||||
|
||||
|
||||
|
||||
if (arg.event.extendedProps.local_agenda) {
|
||||
setp_detail_sequence_agenda(arg.event.extendedProps.local_agenda);
|
||||
}
|
||||
|
@ -2519,6 +2626,8 @@ const Module_Session_Planification = (props) => {
|
|||
form.append("sequence_start", new_start_date);
|
||||
form.append("sequence_end", new_end_date);
|
||||
|
||||
form.append("volume_theorique", p_detail_sequence_volume_theorique);
|
||||
|
||||
form.append("agenda", p_detail_sequence_agenda);
|
||||
form.append("objectif", p_detail_sequence_objectif);
|
||||
form.append("commentaire", p_detail_sequence_comment);
|
||||
|
@ -2551,7 +2660,7 @@ const Module_Session_Planification = (props) => {
|
|||
setp_detail_sequence_comment("");
|
||||
|
||||
setp_detail_mode_animation("");
|
||||
|
||||
setp_detail_sequence_volume_theorique("");
|
||||
setp_detail_sequence_agenda("");
|
||||
setp_detail_sequence_objectif("");
|
||||
|
||||
|
@ -4149,9 +4258,9 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
|
||||
{String(submenu_seq_dialog) !== "dialog_ressource" && <div>
|
||||
<div className="session_caract_Dialog" >
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Type </nav>
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
<div className="session_caract_Dialog" style={{ "width": "50%" }}>
|
||||
<nav style={{ "float": "left", "width": "100%" }}>
|
||||
Type
|
||||
{New_Option_Type_Event && New_Option_Type_Event.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="event_dialog_type"
|
||||
|
@ -4181,9 +4290,9 @@ const Module_Session_Planification = (props) => {
|
|||
</nav>
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" >
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Animation </nav>
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
<div className="session_caract_Dialog" style={{ "width": "50%" }}>
|
||||
<nav style={{ "float": "right", "width": "100%" }}>
|
||||
Animation
|
||||
|
||||
{New_Option_mode_animation && New_Option_mode_animation.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
|
@ -4341,7 +4450,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > Debut
|
||||
<div className="session_caract_Dialog" style={{width:'50%'}}> Debut
|
||||
<DatePicker
|
||||
name="event_dialog_start"
|
||||
id="event_dialog_start"
|
||||
|
@ -4366,7 +4475,7 @@ const Module_Session_Planification = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
<div className="session_caract_Dialog" > Fin
|
||||
<div className="session_caract_Dialog" style={{width:'50%'}}> Fin
|
||||
<DatePicker
|
||||
name="event_dialog_end"
|
||||
id="event_dialog_end"
|
||||
|
@ -4391,6 +4500,26 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > Volume Théorique
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="event_dialog_heure_theorique"
|
||||
id="event_dialog_heure_theorique"
|
||||
|
||||
|
||||
fullWidth
|
||||
type="number"
|
||||
inputProps={{ min: "0", max: "999999", step: "0.5" }}
|
||||
value={p_detail_sequence_volume_theorique}
|
||||
onChange={(e) => {
|
||||
setp_detail_sequence_volume_theorique(e.target.value);
|
||||
}
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog_comment_2_lines" > Agenda
|
||||
<TextField
|
||||
|
@ -4416,7 +4545,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog_comment_2_lines" > Objectif
|
||||
{/*} <div className="session_caract_Dialog_comment_2_lines" > Objectif
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
|
@ -4438,9 +4567,9 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
<div className="session_caract_Dialog_comment_2_lines" > Commentaire
|
||||
{/*<div className="session_caract_Dialog_comment_2_lines" > Commentaire
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
|
@ -4462,7 +4591,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
</div>}
|
||||
|
||||
|
@ -5519,7 +5648,7 @@ const Module_Session_Planification = (props) => {
|
|||
>
|
||||
|
||||
<DialogTitle style={{ cursor: 'move', background: '#fff', fontFamily: 'DM Sans' }} id="draggable-dialog-title"> MySy Information</DialogTitle>
|
||||
<DialogContent className="DialogContent_width" style={{ width: "40rem" }}>
|
||||
<DialogContent className="DialogContent_width" style={{ width: "45rem", minHeight:'45rem' }}>
|
||||
<DialogContentText>
|
||||
{Dialog_DIALOG_AGENDA_message}
|
||||
</DialogContentText>
|
||||
|
@ -5793,12 +5922,11 @@ const Module_Session_Planification = (props) => {
|
|||
{String(submenu_seq_dialog) !== "dialog_ressource" && <div>
|
||||
|
||||
|
||||
<div className="session_caract_Dialog" >
|
||||
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Type </nav>
|
||||
<div className="session_caract_Dialog" style={{ width: '50%' }}>
|
||||
|
||||
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
<nav style={{ "float": "left", "width": "100%" }}>
|
||||
Type
|
||||
{New_Option_Type_Event && New_Option_Type_Event.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="event_dialog_type"
|
||||
|
@ -5828,10 +5956,10 @@ const Module_Session_Planification = (props) => {
|
|||
</nav>
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" >
|
||||
<nav style={{ "float": "left", "width": "30%", "paddingTop": "15px" }}> Animation </nav>
|
||||
<nav style={{ "float": "right", "width": "65%" }}>
|
||||
<div className="session_caract_Dialog" style={{ width: '50%' }} >
|
||||
|
||||
<nav style={{ "float": "right", "width": "100%" }}>
|
||||
Animation
|
||||
{New_Option_mode_animation && New_Option_mode_animation.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="event_dialog_type"
|
||||
|
@ -5991,7 +6119,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > Debut
|
||||
<div className="session_caract_Dialog" style={{ width: '50%' }}> Debut
|
||||
<DatePicker
|
||||
name="event_dialog_start"
|
||||
id="event_dialog_start"
|
||||
|
@ -6019,7 +6147,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > Fin
|
||||
<div className="session_caract_Dialog" style={{ width: '50%' }}> Fin
|
||||
<DatePicker
|
||||
name="event_dialog_end"
|
||||
id="event_dialog_end"
|
||||
|
@ -6045,6 +6173,27 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > Volume Théorique
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="event_dialog_heure_theorique"
|
||||
id="event_dialog_heure_theorique"
|
||||
|
||||
|
||||
fullWidth
|
||||
type="number"
|
||||
inputProps={{ min: "0", max: "999999", step: "0.5" }}
|
||||
value={p_detail_sequence_volume_theorique}
|
||||
onChange={(e) => {
|
||||
setp_detail_sequence_volume_theorique(e.target.value);
|
||||
}
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog_comment_2_lines" > Agenda
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
@ -6069,7 +6218,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog_comment_2_lines" > Objectif
|
||||
{/*<div className="session_caract_Dialog_comment_2_lines" > Objectif
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
|
@ -6091,9 +6240,9 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
<div className="session_caract_Dialog_comment_2_lines" > Commentaire
|
||||
{/*<div className="session_caract_Dialog_comment_2_lines" > Commentaire
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
|
@ -6115,7 +6264,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>*/}
|
||||
|
||||
|
||||
</div>}
|
||||
|
@ -6462,7 +6611,7 @@ const Module_Session_Planification = (props) => {
|
|||
|
||||
{actionmass_sequence_val && String(actionmass_sequence_val).length > 1 &&
|
||||
String(actionmass_sequence_val) === "ajout_ressource" && <Button className="bton_traiter_en_mass" onClick={(e) => {
|
||||
setAdd_One_Sequence_Session_mass("1");
|
||||
setAdd_One_Sequence_Session_mass("1");
|
||||
|
||||
var tab_seq_mongo_ids = [];
|
||||
|
||||
|
@ -6527,6 +6676,8 @@ const Module_Session_Planification = (props) => {
|
|||
eventClick={handleEventClick}
|
||||
|
||||
|
||||
eventChange={handleEventChange}
|
||||
|
||||
/>
|
||||
</div>
|
||||
</div>}
|
||||
|
|
|
@ -523,7 +523,7 @@ const Modules_Mes_Documents = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -548,7 +548,7 @@ const Modules_Mes_Documents = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
|
|
@ -612,7 +612,7 @@ function New_C_Sign_In_2025() {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
|
||||
>
|
||||
<DialogTitle style={{ cursor: 'move', fontWeight: '700', fontFamily: "DM Sans-Bold, Helvetica" }} id="draggable-dialog-title" > Réinitialiser votre mot de passe </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontWeight: '700', fontFamily: "DM Sans, Helvetica" }} id="draggable-dialog-title" > Réinitialiser votre mot de passe </DialogTitle>
|
||||
|
||||
<DialogContent className="DialogContent_width" >
|
||||
|
||||
|
|
|
@ -1023,7 +1023,7 @@ function New_C_Sign_Up_2025() {
|
|||
aria-labelledby="draggable-dialog-title"
|
||||
|
||||
>
|
||||
<DialogTitle style={{ cursor: 'move', fontWeight: '700', fontFamily: "DM Sans-Bold, Helvetica" }} id="draggable-dialog-title" > Réinitialiser votre mot de passe </DialogTitle>
|
||||
<DialogTitle style={{ cursor: 'move', fontWeight: '700', fontFamily: "DM Sans, Helvetica" }} id="draggable-dialog-title" > Réinitialiser votre mot de passe </DialogTitle>
|
||||
|
||||
<DialogContent className="DialogContent_width" >
|
||||
|
||||
|
|
|
@ -2158,7 +2158,7 @@ const Partner = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div class="separator"></div>
|
||||
{String(formation_initiale) === "1" && <div class="separator"></div>}
|
||||
|
||||
{String(formation_initiale) === "1" &&
|
||||
<div>
|
||||
|
|
|
@ -1517,11 +1517,19 @@ const Partner_Commande = (props) => {
|
|||
}
|
||||
|
||||
//document.getElementsByName("detail_header_comment")[0].value = "";
|
||||
if (mylocal_order.order_header_lieu_formation) {
|
||||
setp_detail_header_lieu_formation(mylocal_order.order_header_lieu_formation);
|
||||
} else {
|
||||
setp_detail_header_lieu_formation("");
|
||||
}
|
||||
|
||||
if (mylocal_order.order_header_comment) {
|
||||
setp_detail_header_comment(mylocal_order.order_header_comment);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// document.getElementsByName("detail_header_vendeur_nom_prenom")[0].value = "";
|
||||
if (mylocal_order.order_header_vendeur_nom_prenom) {
|
||||
setp_detail_header_vendeur_nom(mylocal_order.order_header_vendeur_nom_prenom);
|
||||
|
@ -2278,8 +2286,9 @@ const Partner_Commande = (props) => {
|
|||
const [p_detail_header_client_nom, setp_detail_header_client_nom] = useState();
|
||||
const [p_detail_header_client_nom_id, setp_detail_header_client_nom_id] = useState();
|
||||
|
||||
const [p_detail_header_description, setp_detail_header_description] = useState();
|
||||
const [p_detail_header_comment, setp_detail_header_comment] = useState();
|
||||
const [p_detail_header_description, setp_detail_header_description] = useState("");
|
||||
const [p_detail_header_comment, setp_detail_header_comment] = useState("");
|
||||
const [p_detail_header_lieu_formation, setp_detail_header_lieu_formation] = useState("");
|
||||
const [p_detail_header_date_cmd, setp_detail_header_date_cmd] = useState(new Date().toLocaleDateString('fr-FR'));
|
||||
const [p_detail_header_date_expiration, setp_detail_header_date_expiration] = useState(date_today_90j.toLocaleDateString('fr-FR'));
|
||||
const [p_detail_header_condition_paiement_code, setp_detail_header_condition_paiement_code] = useState("");
|
||||
|
@ -2397,6 +2406,11 @@ const Partner_Commande = (props) => {
|
|||
document.getElementsByName("detail_header_comment")[0].style.backgroundColor = "#FFFFFF";
|
||||
}
|
||||
|
||||
if (document.getElementsByName("detail_header_lieu_formation")[0]) {
|
||||
document.getElementsByName("detail_header_lieu_formation")[0].disabled = false;
|
||||
document.getElementsByName("detail_header_lieu_formation")[0].style.backgroundColor = "#FFFFFF";
|
||||
}
|
||||
|
||||
if (document.getElementsByName("detail_header_vendeur_nom_prenom")[0]) {
|
||||
document.getElementsByName("detail_header_vendeur_nom_prenom")[0].disabled = false;
|
||||
document.getElementsByName("detail_header_vendeur_nom_prenom")[0].style.backgroundColor = "#FFFFFF";
|
||||
|
@ -2561,6 +2575,11 @@ const Partner_Commande = (props) => {
|
|||
document.getElementsByName("detail_header_comment")[0].style.backgroundColor = "#ECEFF1";
|
||||
}
|
||||
|
||||
if (document.getElementsByName("detail_header_lieu_formation")[0]) {
|
||||
document.getElementsByName("detail_header_lieu_formation")[0].disabled = true;
|
||||
document.getElementsByName("detail_header_lieu_formation")[0].style.backgroundColor = "#ECEFF1";
|
||||
}
|
||||
|
||||
if (document.getElementsByName("detail_header_vendeur_nom_prenom")[0]) {
|
||||
document.getElementsByName("detail_header_vendeur_nom_prenom")[0].disabled = true;
|
||||
document.getElementsByName("detail_header_vendeur_nom_prenom")[0].style.backgroundColor = "#ECEFF1";
|
||||
|
@ -2730,6 +2749,11 @@ const Partner_Commande = (props) => {
|
|||
else
|
||||
form.append("order_header_date_cmd", "");
|
||||
|
||||
if (p_detail_header_lieu_formation)
|
||||
form.append("order_header_lieu_formation", p_detail_header_lieu_formation);
|
||||
else
|
||||
form.append("order_header_lieu_formation", "");
|
||||
|
||||
if (p_detail_header_comment)
|
||||
form.append("order_header_comment", p_detail_header_comment);
|
||||
else
|
||||
|
@ -3319,6 +3343,7 @@ const Partner_Commande = (props) => {
|
|||
form.append("order_header_client_id", p_add_cmd_header_client_id);
|
||||
form.append("order_header_description", p_add_cmd_header_description);
|
||||
form.append("order_header_comment", p_add_cmd_header_comment);
|
||||
form.append("order_header_lieu_formation", p_add_cmd_header_lieu_formation);
|
||||
form.append("order_header_date_cmd", p_add_cmd_header_date_cmd);
|
||||
form.append("order_header_date_expiration", p_add_cmd_header_date_expiration_cmd);
|
||||
form.append("order_header_condition_paiement_id", p_add_cmd_header_condition_paiement_id);
|
||||
|
@ -3452,6 +3477,7 @@ const Partner_Commande = (props) => {
|
|||
const [p_add_cmd_header_client_id, setp_add_cmd_header_client_id] = useState("");
|
||||
const [p_add_cmd_header_description, setp_add_cmd_header_description] = useState("");
|
||||
const [p_add_cmd_header_comment, setp_add_cmd_header_comment] = useState("");
|
||||
const [p_add_cmd_header_lieu_formation, setp_add_cmd_header_lieu_formation] = useState("");
|
||||
const [p_add_cmd_header_vendeur_id, setp_add_cmd_header_vendeur_id] = useState(props.conntected_employee_id);
|
||||
const [p_add_cmd_header_vendeur_id_label, setp_add_cmd_header_vendeur_id_label] = useState();
|
||||
|
||||
|
@ -3469,6 +3495,7 @@ const Partner_Commande = (props) => {
|
|||
setp_add_cmd_header_client_id();
|
||||
setp_add_cmd_header_description();
|
||||
setp_add_cmd_header_comment();
|
||||
setp_add_cmd_header_lieu_formation();
|
||||
setp_add_cmd_header_vendeur_id(props.conntected_employee_id);
|
||||
setp_add_cmd_header_date_cmd(new Date().toLocaleDateString('fr-FR'));
|
||||
setp_add_cmd_header_date_expiration_cmd(date_today_90j.toLocaleDateString('fr-FR'));
|
||||
|
@ -4885,7 +4912,7 @@ const Partner_Commande = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__");
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
@ -4910,7 +4937,7 @@ const Partner_Commande = (props) => {
|
|||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__");
|
||||
|
||||
|
||||
const local_config = {
|
||||
|
@ -5040,7 +5067,7 @@ const Partner_Commande = (props) => {
|
|||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
// top: '5rem',
|
||||
// top: '5rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
|
@ -5450,7 +5477,7 @@ const Partner_Commande = (props) => {
|
|||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
// top: '5rem',
|
||||
// top: '5rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
|
@ -5663,7 +5690,7 @@ const Partner_Commande = (props) => {
|
|||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
// top: '5rem',
|
||||
// top: '5rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
|
@ -6353,7 +6380,7 @@ const Partner_Commande = (props) => {
|
|||
style: {
|
||||
overflowY: 'unset',
|
||||
position: 'absolute',
|
||||
// top: '5rem',
|
||||
// top: '5rem',
|
||||
margin: "2px",
|
||||
},
|
||||
}}
|
||||
|
@ -6635,6 +6662,25 @@ const Partner_Commande = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog_comment_2_lines" > Lieu de formation <br />
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
name="order_lieu_formation"
|
||||
id="order_lieu_formation"
|
||||
|
||||
fullWidth
|
||||
multiline
|
||||
rows={2}
|
||||
value={p_add_cmd_header_lieu_formation}
|
||||
onChange={(e) => {
|
||||
setp_add_cmd_header_lieu_formation(e.target.value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="session_caract_Dialog_comment_2_lines" > Commentaire <br />
|
||||
<TextField
|
||||
|
@ -7640,6 +7686,29 @@ const Partner_Commande = (props) => {
|
|||
/>
|
||||
</div>
|
||||
|
||||
<div className="session_caract"> Lieu de formation<br />
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
name="detail_header_lieu_formation"
|
||||
id="detail_header_lieu_formation"
|
||||
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
disabled={false}
|
||||
className="disabled_style"
|
||||
value={p_detail_header_lieu_formation}
|
||||
onChange={(e) => {
|
||||
setp_detail_header_lieu_formation(e.target.value);
|
||||
setOrder_data_changed("1");
|
||||
}
|
||||
}
|
||||
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="session_caract"> Commentaire<br />
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
|
|
@ -2168,6 +2168,7 @@ const Partner_Facture = (props) => {
|
|||
function clear_Paiement_DetailFields() {
|
||||
setp_detail_paiement_id("");
|
||||
setp_detail_paiement_amount("");
|
||||
setp_detail_paiement_mode("");
|
||||
setp_detail_paiement_date(new Date().toLocaleDateString('fr-FR'));
|
||||
setp_detail_paiement_ref("");
|
||||
setp_detail_paiement_comment("");
|
||||
|
@ -2444,7 +2445,6 @@ const Partner_Facture = (props) => {
|
|||
|
||||
function CustomToolbar(props) {
|
||||
|
||||
|
||||
return (
|
||||
<GridToolbarContainer {...props}>
|
||||
|
||||
|
@ -2464,17 +2464,21 @@ const Partner_Facture = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
const row = {};
|
||||
visibleColumnsField.forEach((field) => {
|
||||
row[field] = apiRef.current.getCellParams(id, field).value;
|
||||
var val = apiRef.current.getCellParams(id, field).value;
|
||||
if (String(field) !== "__check__")
|
||||
row[field] = apiRef.current.getCellParams(id, field).value;
|
||||
});
|
||||
return row;
|
||||
});
|
||||
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
@ -2487,15 +2491,16 @@ const Partner_Facture = (props) => {
|
|||
);
|
||||
}
|
||||
|
||||
|
||||
function handleExport(apiRef, data_colums) {
|
||||
const data = getExcelData(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
const local_config = {
|
||||
keys: visibleColumnsField,
|
||||
|
||||
columnNames: data_colums.filter((mydata) => (mydata).disableExport !== true).map(function (mydata) {
|
||||
|
||||
if (mydata.headerName && visibleColumnsField.includes(mydata.field)) {
|
||||
if (mydata.headerName) {
|
||||
return mydata.headerName;
|
||||
|
@ -2508,6 +2513,7 @@ const Partner_Facture = (props) => {
|
|||
sheetName: 'Export_' + String(new Date().toJSON().slice(0, 10)).replaceAll("-", "_"),
|
||||
};
|
||||
|
||||
|
||||
local_config.columnNames = local_config.columnNames.filter(function (element) {
|
||||
return element !== undefined;
|
||||
});
|
||||
|
@ -3667,12 +3673,12 @@ const Partner_Facture = (props) => {
|
|||
</div>
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||
<Button variant="contained" className="bton_annule"
|
||||
onClick={() => {
|
||||
<Button variant="contained" className="bton_annule"
|
||||
onClick={() => {
|
||||
setdisplay_detail_invoice("");
|
||||
clean_all_filters()
|
||||
}}
|
||||
>Annuler
|
||||
>Annuler
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -1224,10 +1224,10 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
<br />
|
||||
|
||||
<div className="div_nom" style={{ "fontSize": '22px', fontFamily:'DM Sans' }}>
|
||||
Patrick PIPAZ<br />
|
||||
Isabelle LALYRE<br />
|
||||
</div>
|
||||
<div className="div_function" style={{ "fontSize": '20px', fontFamily:'DM Sans' }}>
|
||||
Responsable Commercial <br/> MySy Training / ELYOS
|
||||
Business Developer <br/> MySy Training / ELYOS
|
||||
</div>
|
||||
</div>
|
||||
<div className="ch_div_centre">
|
||||
|
@ -1239,7 +1239,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
|
|||
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight": '2.5rem', "fontSize": '18px', fontFamily:'DM Sans', paddingTop:'2rem' }}>
|
||||
<div> <ImMobile2 /> +337 75 73 26 40</div>
|
||||
<div> <ImOffice /> +331 77 00 38 57</div>
|
||||
<div> <BsMailbox /> ppipaz@mysy-training.com</div>
|
||||
<div> <BsMailbox /> ilalyre@mysy-training.com</div>
|
||||
<div> <ImHome /> https://www.mysy-training.com/</div>
|
||||
<div> <ImWhatsapp /> +337 75 73 26 40</div>
|
||||
|
||||
|
|
|
@ -172,7 +172,7 @@ const TestUrl_New = (props) => {
|
|||
function getExcelData(apiRef) {
|
||||
// Select rows and columns
|
||||
const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);
|
||||
const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__" );
|
||||
|
||||
// Format the data. Here we only keep the value
|
||||
const data = filteredSortedRowIds.map((id) => {
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
<p>
|
||||
DM Sans is a low-contrast geometric sans serif design, intended for use at smaller text sizes.
|
||||
</p>
|
||||
<p>
|
||||
DM Sans supports a Latin Extended glyph set, enabling typesetting for English and other Western European languages.
|
||||
It was designed by Colophon Foundry (UK), who started from the Latin portion of Indian Type Foundry's <a href="https://fonts.google.com/specimen/Poppins">Poppins</a>.
|
||||
</p>
|
||||
<p>
|
||||
In May 2023 DM Sans is updated, expanding the coverage of the weight range to Thin & ExtraBlack (100–1000 weight range) along with a new optical size axis.
|
||||
</p>
|
||||
<p>
|
||||
To contribute, see <a href="https://github.com/googlefonts/dm-fonts">github.com/googlefonts/dm-fonts</a>
|
||||
</p>
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,53 @@
|
|||
name: "DM Sans"
|
||||
designer: "Colophon Foundry"
|
||||
license: "OFL"
|
||||
category: "SANS_SERIF"
|
||||
date_added: "2019-06-12"
|
||||
fonts {
|
||||
name: "DM Sans"
|
||||
style: "normal"
|
||||
weight: 400
|
||||
filename: "DMSans[opsz,wght].ttf"
|
||||
post_script_name: "DMSans-9ptRegular"
|
||||
full_name: "DM Sans 9pt Regular"
|
||||
copyright: "Copyright 2014 The DM Sans Project Authors (https://github.com/googlefonts/dm-fonts)"
|
||||
}
|
||||
fonts {
|
||||
name: "DM Sans"
|
||||
style: "italic"
|
||||
weight: 400
|
||||
filename: "DMSans-Italic[opsz,wght].ttf"
|
||||
post_script_name: "DMSans-9ptItalic"
|
||||
full_name: "DM Sans 9pt Italic"
|
||||
copyright: "Copyright 2014 The DM Sans Project Authors (https://github.com/googlefonts/dm-fonts)"
|
||||
}
|
||||
subsets: "latin"
|
||||
subsets: "latin-ext"
|
||||
subsets: "menu"
|
||||
axes {
|
||||
tag: "opsz"
|
||||
min_value: 9.0
|
||||
max_value: 40.0
|
||||
}
|
||||
axes {
|
||||
tag: "wght"
|
||||
min_value: 100.0
|
||||
max_value: 1000.0
|
||||
}
|
||||
source {
|
||||
repository_url: "https://github.com/googlefonts/dm-fonts"
|
||||
commit: "d0520ba03bd780f5dccb3024854463d44f699b78"
|
||||
files {
|
||||
source_file: "Sans/OFL.txt"
|
||||
dest_file: "OFL.txt"
|
||||
}
|
||||
files {
|
||||
source_file: "Sans/fonts/variable/DMSans[opsz,wght].ttf"
|
||||
dest_file: "DMSans[opsz,wght].ttf"
|
||||
}
|
||||
files {
|
||||
source_file: "Sans/fonts/variable/DMSans-Italic[opsz,wght].ttf"
|
||||
dest_file: "DMSans-Italic[opsz,wght].ttf"
|
||||
}
|
||||
branch: "main"
|
||||
}
|
|
@ -0,0 +1,93 @@
|
|||
Copyright 2014 The DM Sans Project Authors (https://github.com/googlefonts/dm-fonts)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@ -61,7 +61,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
@ -686,7 +686,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
@ -1142,7 +1142,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
@ -1598,7 +1598,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
@ -671,7 +671,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
@ -1112,7 +1112,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
@ -1553,7 +1553,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
@ -686,7 +686,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
@ -1142,7 +1142,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
@ -1598,7 +1598,7 @@
|
|||
position: relative;
|
||||
align-self: stretch;
|
||||
margin-top: -1.00px;
|
||||
font-family: "DM Sans-Bold", Helvetica;
|
||||
font-family: "DM Sans", Helvetica;
|
||||
font-weight: 700;
|
||||
color: var(--foundation-bluedarker);
|
||||
font-size: 24px;
|
||||
|
|
|
@ -361,7 +361,7 @@
|
|||
display: block;
|
||||
border-radius: 10rem;
|
||||
border: 1px solid #0a2a4d;
|
||||
width: 40%;
|
||||
width: 35%;
|
||||
height: 10%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
|
Loading…
Reference in New Issue