/trunk/widget/modules/manager/config.defaut.ini |
---|
6,4 → 6,4 |
languesUrl = "http://api-test.tela-botanica.org/service:eflore:0.1/iso-639-1/langues" |
widgetUrlTpl = "http://localhost/widget:cel:manager" |
; Chemin de base des fichiers liés (images, pdf, csv, etc.) |
dossierTmp = "https://beta.tela-botanica.org/tmp/widget_saisie/" |
dossierTmp = "modules/manager/squelettes/img/images_projets/" |
/trunk/widget/modules/manager/squelettes/creation.tpl.html |
---|
27,12 → 27,15 |
<!-- Favicones --> |
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" /> |
<!-- CSS --> |
<!-- Jquery-ui custom css--> |
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen"> |
<link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css" /> |
<!-- Bootstrap CSS --> |
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" /> |
<!-- <link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css" /> --> |
<!-- Fontawesome --> |
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.1/css/all.css" integrity="sha384-O8whS3fhG2OnA5Kas0Y9l3cfpmYjapjI0E4theH4iuMD+pLhbf6JI0jIMfYcK3yZ" crossorigin="anonymous" /> |
<!-- STYLE MANAGER CREATION --> |
<link rel="stylesheet" type="text/css" href="<?= $url_base; ?>modules/manager/squelettes/css/manager.css" media="screen" /> |
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.1/css/all.css" integrity="sha384-O8whS3fhG2OnA5Kas0Y9l3cfpmYjapjI0E4theH4iuMD+pLhbf6JI0jIMfYcK3yZ" crossorigin="anonymous" /> |
<!-- Google Analytics --> |
<?php if( $prod ) : ?> |
42,15 → 45,11 |
<body> |
<div id="zone-appli" class="container"> |
<?php if ( $bar !== false ) : ?> |
<div id="tb-navigation" data-courant="widget-cel-export" data-squelette="bootstrap3" data-mode="prod"></div> |
<br/> |
<?php endif; ?> |
<h1 id="widget-titre" class="widget-titre"><?php echo ucfirst( $mode ); ?> de widget de saisie du CEL</h1> |
<div id="register-page"> |
<div id="group-settings-form" class="row"> |
<div id="group-settings-form"> |
<div class="widget-blocks col-md-4"> |
<div id="left-block" class="widget-blocks"> |
<p class="message"> |
<?php if ( $mode === 'modification' ) : ?> |
62,21 → 61,24 |
<?php endif; ?> |
</p> |
<form action="<?= $url_base; ?>manager?mode=<?= $mode.$params; ?>" id="basic-widget-form" class="standard-form component component-text" method="post" enctype="multipart/form-data"> |
<div class="register-section" id="basic-details-section"> |
<form action="<?= $url_base; ?>manager?mode=<?= $mode.$params; ?>" id="basic-widget-form" method="post" enctype="multipart/form-data"> |
<div class="register-section row" id="basic-details-section"> |
<h2>Meta-données</h2> |
<?php // var_dump($widget); ?> |
<label for="projet">Projet *</label> |
<input type="text" name="projet" id="projet" pattern="[a-z]+" <?= ( $mode === 'modification' ) ? 'value="' . $widget['projet'] . '" readonly' : 'required'; ?> title="Champ obligatoire : pas d'espace"> |
<div class="col-sm-12 mb-3"> |
<label for="projet">Projet *</label> |
<input type="text" name="projet" id="projet" class="form-control" pattern="[a-z]+" <?= ( $mode === 'modification' ) ? 'value="' . $widget['projet'] . '" readonly' : 'required'; ?> title="Champ obligatoire : pas d'espace"> |
</div> |
<label for="motscles">Autres mots-clés</label> |
<input type="text" name="motscles" id="motscles" value="" /> |
<div class="col-sm-12 mb-3"> |
<label for="motscles">Autres mots-clés</label> |
<input type="text" name="motscles" id="motscles" class="form-control" value="" /> |
</div> |
<label for="type">Type de widget</label> |
<div class="select-wrapper"> |
<select id="type" name="type"> |
<div class="col-sm-12 mb-3"> |
<label for="type">Type de widget</label> |
<select id="type" name="type" class="form-control"> |
<option value=""> ----</option> |
<?php foreach ( $type as $id => $projet ) : ?> |
<option <?php echo ( isset( $widget['projet'] ) && $projet['projet'] === $widget['projet'] ) ? 'selected="selected"' : ''; ?> value="<?= $projet['projet']; ?>"><?= $projet['projet']; ?></option> |
84,96 → 86,115 |
</select> |
</div> |
<label for="est_type">Ce widget est un widget type</label> |
<input type="checkbox" name="est_type" id="est_type" <?php echo ( isset( $widget['est_type'] ) && $projet['est_type'] === '1' ) ? 'checked="checked"' : ''; ?>> |
<label for="langue">Langue</label> |
<?php if ( $mode === 'modification' ) : ?> |
<input id="langue" name="langue" readonly value="<?= $widget['langue']; ?>"> |
<?php else : ?> |
<div class="select-wrapper"> |
<select id="langue" name="langue"> |
<div class="col-sm-12 radio mb-3"> |
<label for="est_type" class="radio-label"> |
<input type="checkbox" name="est_type" id="est_type" <?php echo ( isset( $widget['est_type'] ) && $projet['est_type'] === '1' ) ? 'checked="checked"' : ''; ?>> |
Ce widget est un widget type |
</label> |
</div> |
<div class="col-sm-12 mb-3"> |
<label for="langue">Langue</label> |
<?php if ( $mode === 'modification' ) : ?> |
<input id="langue" name="langue" class="form-control" readonly value="<?= $widget['langue']; ?>"> |
<?php else : ?> |
<select id="langue" name="langue" class="form-control"> |
<?php foreach ( $langues as $code => $langue ) : ?> |
<option value="<?= $code; ?>" <?= ( $code === 'fr' ) ? 'selected' : '';?>><?= $langue['nom']; ?></option> |
<?php endforeach; ?> |
</select> |
</div> |
<?php endif; ?> |
<?php endif; ?> |
</div> |
</div><!-- end #basic-details-section --> |
<div class="register-section" id="profile-details-description-section"> |
<div class="register-section row" id="profile-details-description-section"> |
<h2>Description</h2> |
<label for="titre">Titre</label> |
<input type="text" name="titre" id="titre" value="<?php echo isset( $widget['titre'] ) ? $widget['titre'] : ''; ?>"> |
<div class="col-sm-12 mb-3"> |
<label for="titre">Titre</label> |
<input type="text" name="titre" id="titre" class="form-control" value="<?php echo isset( $widget['titre'] ) ? $widget['titre'] : ''; ?>"> |
</div> |
<div class="input-file-container"> |
<input type="file" class="input-file" name="info" id="info" value="<?= $widget['titre']; ?>" accept="image/*"> |
<label for="info" class="label-file"><i class="fas fa-download"></i> Image d'aide dans le titre</label> |
<div class="input-file-row row"> |
<div class="input-file-container col-sm-10"> |
<input type="file" class="input-file" name="info" id="info" value="<?= $widget['titre']; ?>" accept="image/*"> |
<label for="info" class="label-file "><i class="fas fa-download"></i> Aide dans le titre</label> |
</div> |
<div class="btn btn-danger btn-sm remove-file" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div> |
<div class="file-return info hidden"></div> |
</div> |
<div class="remove-file button" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div> |
<div class="file-return info hidden"></div> |
<label for="description">Description</label> |
<textarea name="description" id="description"><?php echo isset( $widget['description'] ) ? $widget['description'] : ''; ?></textarea> |
<div class="col-sm-12 mb-3"> |
<label for="description">Description</label> |
<textarea name="description" id="description" class="form-control"><?php echo isset( $widget['description'] ) ? $widget['description'] : ''; ?></textarea> |
</div> |
<div class="input-file-container"> |
<div class="input-file-row row"> |
<div class="input-file-container col-sm-10"> |
<?php |
if( isset( $widget['logo'] ) ) : |
$logo_src = $widget['logo']; |
$logo_img = |
'<img id="pre-existent-logo" src="' . $logo_src . '"><br>Pour changer, télécharger un nouveau fichier.'; |
$logo_hidden = ''; |
$logo_file_name = array_reverse( explode( '/', $logo_src ) ); |
else : |
$logo_src = ''; |
$logo_img = ''; |
$logo_hidden = ' hidden'; |
$logo_file_name = []; |
endif; |
?> |
<?php |
if( isset( $widget['logo'] ) ) : |
$logo_src = $widget['logo']; |
$logo_img = |
'<img id="pre-existent-logo" src="' . $logo_src . '"><br>Pour changer, télécharger un nouveau fichier.'; |
$logo_hidden = ''; |
$logo_file_name = array_reverse( explode( '/', $logo_src ) ); |
else : |
$logo_src = ''; |
$logo_img = ''; |
$logo_hidden = ' hidden'; |
$logo_file_name = []; |
endif; |
?> |
<input type="file" class="input-file" name="logo" id="logo" accept="image/*" value=""> |
<label for="logo" class="label-file"><i class="fas fa-download"></i> Logo</label> |
<input type="file" class="input-file" name="logo" id="logo" accept="image/*" value=""> |
<label for="logo" class="label-file"><i class="fas fa-download"></i> Logo</label> |
</div> |
<div class="btn btn-danger btn-sm remove-file" name="remove-file" title="Supprimer le fichier"> |
<i class="fas fa-times" aria-hidden="true"></i> |
</div> |
<div class="file-return logo<?= $logo_hidden; ?>"> |
<?= $logo_file_name[0]; ?> |
<?= $logo_img; ?> |
</div> |
</div> |
<div class="remove-file button" name="remove-file" title="Supprimer le fichier"> |
<i class="fas fa-times" aria-hidden="true"></i> |
</div> |
<div class="file-return logo<?= $logo_hidden; ?>"> |
<?= $logo_file_name[0]; ?> |
<?= $logo_img; ?> |
</div> |
<div class="input-file-container"> |
<div class="input-file-row row"> |
<div class="input-file-container col-sm-10"> |
<input type="file" class="input-file" name="image_fond" id="image_fond" value="<?= $widget['titre']; ?>" accept="image/*"> |
<label for="image_fond" class="label-file"><i class="fas fa-download"></i> Image de fond</label> |
</div> |
<div class="btn btn-danger btn-sm remove-file" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div> |
<div class="file-return image_fond hidden"></div> |
</div> |
<div class="remove-file button" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div> |
<div class="file-return image_fond hidden"></div> |
</div><!-- end #profile-details-description-section --> |
<div class="register-section" id="profile-details-fields-section"> |
<div class="register-section row" id="profile-details-fields-section"> |
<h2>Champs</h2> |
<label for="type_localisation">Type de localisation</label> |
<div class="select-wrapper"> |
<select id="type_localisation" name="type_localisation" > |
<div class="col-sm-12 mb-3"> |
<label for="type_localisation">Type de localisation</label> |
<select id="type_localisation" name="type_localisation" class="form-control"> |
<option value="<?php echo ( isset( $widget['type_localisation'] ) ) ? $widget['type_localisation'] : 'point'; ?>"><?php echo ( isset( $widget['type_localisation'] ) ) ? $widget['type_localisation'] : 'point'; ?></option> |
<option value="<?php echo ( isset( $widget['type_localisation'] ) && $widget['type_localisation'] === 'rue' ) ? 'point' : 'rue'; ?>"><?php echo ( isset( $widget['type_localisation'] ) && $widget['type_localisation'] === 'rue') ? 'point' : 'rue'; ?></option> |
</select> |
</div> |
<label for="localisation">Zoom</label> |
<input type="text" name="localisation" id="localisation" value="<?php echo isset( $widget['localisation'] ) ? $widget['localisation'] : ''; ?>" /> |
<div class="col-sm-12 mb-3"> |
<label for="localisation">Zoom</label> |
<input type="text" name="localisation" id="localisation" class="form-control" value="<?php echo isset( $widget['localisation'] ) ? $widget['localisation'] : ''; ?>" /> |
</div> |
<label for="milieux">Milieux</label> |
<input type="text" name="milieux" id="milieux" value="<?php echo isset( $widget['milieux'] ) ? $widget['milieux'] : ''; ?>"> |
<div class="col-sm-12 mb-3"> |
<label for="milieux">Milieux</label> |
<input type="text" name="milieux" id="milieux" class="form-control" value="<?php echo isset( $widget['milieux'] ) ? $widget['milieux'] : ''; ?>"> |
</div> |
<label for="type_especes">Type liste espèce *</label> |
<div class="select-wrapper"> |
<select id="type_especes" name="type_especes" required> |
<div class="col-sm-12 mb-3"> |
<label for="type_especes">Type liste espèce *</label> |
<select id="type_especes" name="type_especes" required class="form-control"> |
<option selected="selected" value="referentiel">Référentiel</option> |
<option value="liste">Liste</option> |
<option value="liste" title="remplir référentiel + envoyer csv">Liste + autres</option> |
181,17 → 202,23 |
</select> |
</div> |
<label for="referentiel">Référentiel *</label> |
<input type="text" name="referentiel" id="referentiel" required pattern="([a-z]+?)*" title="Nom du référentiel ex. bdtfx" value="<?php echo isset( $widget['referentiel'] ) ? $widget['referentiel'] : ''; ?>"> |
<div class="col-sm-12 mb-3"> |
<label for="referentiel">Référentiel *</label> |
<input type="text" name="referentiel" id="referentiel" class="form-control" required pattern="([a-z]+?)*" title="Nom du référentiel ex. bdtfx" value="<?php echo isset( $widget['referentiel'] ) ? $widget['referentiel'] : ''; ?>"> |
</div> |
<!-- Bouton fichier-type à compléter --> |
<div class="input-file-container"> |
<input type="file" class="input-file" name="especes" id="especes"> |
<label for="especes"class="label-file"><i class="fas fa-download"></i> Espèces (<span style="text-transform:lowercase;">.csv</span>)</label> |
<div class="input-file-row row"> |
<div class="input-file-container col-sm-10"> |
<input type="file" class="input-file" name="especes" id="especes"> |
<label for="especes"class="label-file"><i class="fas fa-download"></i> Espèces (<span style="text-transform:lowercase;">.csv</span>)</label> |
</div> |
<div class="btn btn-danger btn-sm remove-file" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div> |
<div class="file-return especes hidden"></div> |
</div> |
<div class="remove-file button" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div> |
<div class="file-return especes hidden"></div> |
<a href="#" class="button fichier-type"><i class="fas fa-file-alt" aria-hidden="true"></i> Fichier type</a> |
<div class="col-sm-12 mb-3"> |
<a href="<?= $url_base; ?>modules/manager/squelettes/img/fichier-type/especes.csv" class="button fichier-type" download><i class="fas fa-file-alt" aria-hidden="true"></i> Fichier type</a> |
</div> |
</div><!-- end #profile-details-fields-section --> |
<!--Submit--> |
216,7 → 243,7 |
</p> |
</form><!-- #new-fields = fomulaire oû viennent s'insérer les champs supplémentaires --> |
<div class="row"> |
<div id="new-fields-buttons" class="row"> |
<div class="col-md-4 col-sm-4 col-xs-4 buttons"> |
<label class="add-fields">Ajouter</label> |
<div class="button" id="add-fields" title="Ajouter un champ"><i class="fa fa-plus" aria-hidden="true"></i></div> |
231,12 → 258,11 |
</div> |
</div> |
<hr> |
</div><!-- end .widget-blocks = tout le bloc de gauche--> |
<div class="widget-blocks col-md-8"> |
<div id="right-block" class="widget-blocks"> |
<div class="widget-renderer"> |
<div id="preview-background"></div> |
<div id="preview-header" class="row"> |
<div id="preview-logo" class="col-md-4"></div> |
247,19 → 273,15 |
<div id="preview-messages" class="row"> |
<div id="preview-description" class="col-md-7"> |
<div class="message"> |
<h3> |
<span>Projet : </span> |
<span class="projet-description"></span> |
</h3> |
<div id="preview-description" class="col-md-6"> |
<div class=""> |
<p class="preview-description"></p> |
</div> |
</div><!-- end #preview-description --> |
<div id="preview-aide" class="col-md-5"> |
<div class="message"> |
<div id="preview-aide" class="col-md-6"> |
<div class=""> |
<h3>Aide</h3> |
<p> |
Cet outil vous permet de partager simplement vos observations avec |
292,39 → 314,19 |
<h2>Observateur</h2> |
<div id="zone-courriel" class="row"> |
<div class="col-md-6"> |
<label for="courriel" class="" title="Veuillez saisir votre adresse courriel."> |
<i class="fa fa-envelope"></i> Courriel * |
</label> |
<input type="email" id="courriel" name="courriel" pattern="^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$" title="Veuillez saisir votre adresse courriel." required> |
<input type="hidden" id="id_utilisateur" name="id_utilisateur"> |
<div class="row"> |
<div id="bouton-connexion" class="col-md-6 col-sm-8"> |
<label for="bouton-connexion">Je me connecte à mon compte :</label> |
<div class="btn btn-success mr-1 mb-1">Connexion</div> |
<div class="btn btn-success mr-1 mb-1">Inscription</div> |
</div> |
<div id="zone-courriel-confirmation" class="col-md-6 "> |
<label for="courriel_confirmation" class="" title="Veuillez confirmer le courriel."> |
<i class="fa fa-envelope"></i> Courriel * (confirmation) |
</label> |
<input type="email" id="courriel_confirmation" name="courriel_confirmation" pattern="^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$" title="Veuillez saisir votre adresse courriel." required> |
<div id="creation-compte" class="col-md-6 col-sm-8"> |
<label for="creation-compte">Je ne souhaite pas m'inscrire :</label> |
<div class="btn btn-info mr-1 mb-1">Observation sans inscription</div> |
</div> |
</div> |
<div id="zone-prenom-nom" class="row"> |
<div class="col-md-6"> |
<label for="prenom" class=""><i class="fa fa-user"></i> Prénom</label> |
<input type="text" id="prenom" name="prenom" pattern="[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð'-]+" title="Veuillez saisir votre prénom"> |
</div> |
<div class="col-md-6 "> |
<label for="nom" class=""><i class="fa fa-user"></i> Nom</label> |
<input type="text" id="nom" name="nom" pattern="[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð'-]+" title="Veuillez saisir votre nom"> |
</div> |
</div> |
</form> |
<form id="form-observation" role="form" autocomplete="on"> |
333,46 → 335,61 |
<div id="zone-observation" class="row"> |
<div class="col-md-6 "> |
<label for="courriel" class="" title="Veuillez saisir votre adresse courriel."> |
<i class="fa fa-envelope"></i> Geolocalisation * |
</label> |
<input type="email" id="courriel" name="courriel" title="Veuillez saisir votre adresse courriel. " required> |
<input type="hidden" id="id_utilisateur" name="id_utilisateur"> |
<div class="col-md-6 row"> |
<div class="col-md-12"> |
<label for="geolocalisation" id="label-geolocalisation" title="Veuillez saisir votre adresse courriel."> |
<i class="fa fa-envelope"></i> Geolocalisation |
</label> |
<div id="geolocalisation"> |
<img src="<?= $url_base?>/modules/manager/squelettes/img/geoloc/geoloc.png" alt="geolocalisation" width="90%"> |
</div> |
</div> |
<label for="milieu" class=""><i class="fa fa-street-view"></i> Milieu</label> |
<input type="text" id="milieu" name="milieu" placeholder="bois, champ, falaise, ..." pattern="[\D]+"> |
<div class="col-md-12"> |
<label for="milieu" id="label-milieu"> |
<i class="fa fa-street-view"></i> Milieu |
</label> |
<input type="text" id="milieu" name="milieu" class="form-control" placeholder="bois, champ, falaise, ..."> |
</div> |
</div> |
<div class="col-md-6"> |
<label for="date" class="" title=""> |
<i class="fa fa-calendar"></i> Date de relevé * |
</label> |
<div class="date" id="datetimepicker"> |
<input type="date" id="date" name="date" class="hasDatepicker" pattern="(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)" title="jj/mm/aaaa" required> |
<div class="col-md-6 row"> |
<div class="col-md-12"> |
<label for="date" id="label-date" title=""> |
<i class="fa fa-calendar"></i> Date de relevé |
</label> |
<div class="date"> |
<input type="date" id="date" class="form-control" name="date" title="jj/mm/aaaa" required> |
</div> |
</div> |
<label for="referentiel" class="" title=""> |
<i class="fa fa-book"></i> Référentiel * |
</label> |
<div class="select-wrapper add-field-select"> |
<select id="referentiel" name="referentiel" required> |
<option value="" selected="" title="">-</option> |
</select> |
<div class="col-md-12"> |
<label for="taxon" id="label-taxon" title=""> |
<i class="fa fa-leaf"></i> Espèce<span></span> |
</label> |
<div class="taxon"> |
<input type="text" name="taxon" id="taxon" class="form-control"> |
</div> |
</div> |
<label for="taxon" class="" title=""><i class="fa fa-leaf"></i> Espèce</label> |
<div class="date"> |
<input type="text" name="taxon" id="taxon" > |
<div class="col-md-12"> |
<label for="certitude" id="label-certitude" title=""> |
<i class="fa fa-question"></i> Certitude |
</label> |
<select id="certitude" name="certitude" class="form-control" required> |
<option value="" >À déterminer</option> |
<option value="" >Douteuse</option> |
<option value="" selected="selected" >Certaine</option> |
</select> |
</div> |
<label for="certitude" class="" title=""> |
<i class="fa fa-question"></i> Certitude * |
</label> |
<div class="select-wrapper add-field-select"> |
<select id="certitude" name="certitude" required> |
<option value="">-</option> |
</select> |
<div class="col-md-12"> |
<label for="notes" id="label-notes" title=""> |
<i class="fa fa-pen" aria-hidden="true"></i> Notes |
</label> |
<div class="notes"> |
<textarea id="notes" name="notes" class="form-control" placeholder="Vous pouvez éventuellement ajouter des informations complémentaires à votre observation."></textarea> |
</div> |
</div> |
</div> |
383,10 → 400,23 |
<!-- formulaire d'affichage des bouveaux champs --> |
<form id="form-supp" role="form" autocomplete="on"> |
<div id="zone-supp" class="row align-items-center"> |
<div class="col-md-6 preview-container"></div> |
<div class="col-md-6 preview-container row"></div> |
</div> |
</form> |
<!-- formulaire d'upload d'images --> |
<form id="form-upload" class="" action="" method="" enctype="multipart/form-data"> |
<h2>Image(s) de cette plante</h2> |
<p class="miniature-info" class="discretion help-inline"> |
Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes. |
</p> |
<div> |
<div class="btn btn-large btn-info mb-3"> |
<span class=""><i class="fas fa-download"></i> Ajouter une image</span> |
</div> |
</div> |
</form> |
</div><!-- end #preview-formulaire --> |
</div><!-- end #widget-renderer--> |
402,7 → 432,7 |
<div class="modal-header"> |
<h5 class="modal-title" id="help-modal-label"></h5> |
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> |
<span aria-hidden="true">×</span> |
<span aria-hidden="true">×</span> |
</button> |
</div> |
<div class="modal-body" id="print_content"></div> |
426,6 → 456,7 |
<!-- Jquery Form :nécessaire pour l'upload des images --> |
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script> |
<!-- Bootstrap --> |
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> |
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> |
<script type="text/javascript" src="<?= $url_base; ?>modules/manager/squelettes/js/manager.js"></script> |
<!-- Barre de navigation --> |
/trunk/widget/modules/manager/squelettes/css/manager.css |
---|
1,5 → 1,39 |
@CHARSET "UTF-8"; |
*, |
*:hover, |
*:focus, |
*:active { |
outline: 0 !important; |
outline-style: none !important; |
} |
button:focus, |
a:focus, a:active { |
outline: none !important; |
} |
input::-moz-focus-inner { |
border: 0 !important; |
} |
button::-moz-focus-inner, |
input[type="reset"]::-moz-focus-inner, |
input[type="button"]::-moz-focus-inner, |
input[type="submit"]::-moz-focus-inner, |
input[type="file"] > input[type="button"]::-moz-focus-inner, |
select::-moz-focus-inner, |
select:-moz-focusring { |
color: transparent !important; |
text-shadow: 0 0 0 #000 !important; |
outline: none !important; |
} |
select:focus::-ms-value { |
background-color: $input-bg !important; |
color: $input-color !important; |
} |
body { |
font-family: Ubuntu,Verdana,sans-serif !important; |
} |
6,16 → 40,14 |
div.widget-blocks { |
box-sizing: border-box; |
padding: 3rem; |
margin-bottom: 5rem; |
padding: 1rem; |
} |
#zone-appli #register-page .widget-blocks .clear { |
#zone-appli #register-page .widget-blocks { |
clear: both; |
height: 0; |
/* Précaution pour IE 7 */ |
overflow: hidden; |
position: relative; |
} |
h1#widget-titre::before { |
28,7 → 60,7 |
} |
h1#widget-titre { |
font-size: 3rem; |
font-size: 2rem; |
font-weight: 700; |
line-height: 3.2rem; |
margin: 0; |
36,11 → 68,15 |
color: #232323; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks p { |
font-size: 0.8rem; |
} |
.message-echec, |
.message-succes { |
margin: 1rem auto; |
border: 0.1rem solid; |
border-radius: 0.4rem; |
border-radius: 0.3rem; |
padding: 0.5rem; |
text-align: center; |
} |
59,13 → 95,18 |
fill: #444e09; |
} |
.mb-3 { |
margin-bottom: 1rem !important; |
} |
#zone-appli #register-page .widget-blocks h2 { |
font-size: 2.3rem; |
font-weight: 700; |
line-height: 1.15; |
font-size: 1.5rem; |
} |
#zone-appli #register-page .widget-blocks h3 { |
font-size: 2rem; |
/*font-size: 2rem;*/ |
margin-top: 0.5rem; |
} |
74,7 → 115,7 |
color: #232323; |
padding: 1rem; |
border-radius: 0.3rem; |
font-size: 1.3rem; |
font-size: 0.8rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .hidden { |
81,22 → 122,16 |
display: none; |
} |
#zone-appli #register-page #group-settings-form #langue{ |
width: 100%; |
border: 0.1rem solid #ddd; |
border-radius: 0.3rem; |
padding: 1rem; |
overflow: hidden; |
} |
/*** Styles généraux des champs ****/ |
/* Formulaires du nouveau widget*/ |
#zone-appli #register-page #group-settings-form { |
float: none; |
#zone-appli #register-page #group-settings-form #left-block.widget-blocks { |
width: 100%; |
padding-bottom: 50px; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .register-section { |
margin-bottom: 1rem; |
#zone-appli #register-page #group-settings-form #right-block.widget-blocks { |
width: 100%; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks form { |
103,79 → 138,51 |
margin-bottom: 2rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .register-section { |
margin-top: 1.5rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks input, |
#zone-appli #register-page #group-settings-form .widget-blocks select, |
#zone-appli #register-page #group-settings-form .widget-blocks textarea { |
width: 100%; |
border-radius: .3rem; |
padding: 1rem; |
line-height: 1.15; |
margin: 0; |
font-size: 1.3rem; |
border-radius: 0.2rem; |
font-size: 0.7rem; |
-moz-transition: none; |
-webkit-transition: none; |
-o-transition: color 0 ease-in; |
transition: none; |
border: 0.1rem solid #ddd; |
/*box-shadow: none !important;*/ |
box-shadow: none !important; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks input:focus, |
#zone-appli #register-page #group-settings-form .widget-blocks select:focus, |
#zone-appli #register-page #group-settings-form .widget-blocks textarea:focus { |
border-color: rgba(82, 168, 236, 0.8); |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6); |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6); |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6); |
} |
#zone-appli #register-page #group-settings-form .widget-blocks input { |
overflow: visible; |
} |
/* Style des checkboxes et radios */ |
#zone-appli #register-page #group-settings-form .widget-blocks input[type="checkbox"], |
#zone-appli #register-page #group-settings-form .widget-blocks input[type="radio"] { |
width: auto; |
-webkit-box-sizing: border-box; |
box-sizing: border-box; |
padding: 0; |
text-align: start; |
#zone-appli #register-page #group-settings-form .widget-blocks .number { |
width: 100%; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks input[type="date"], |
#zone-appli #register-page #group-settings-form .widget-blocks input[type="number"], |
#zone-appli #register-page #group-settings-form .widget-blocks input[type="email"] { |
line-height: 1.15; |
margin: 0; |
padding: 1rem; |
border: 0.1rem solid #ddd; |
border-radius: 0.3rem; |
width: 100%; |
box-sizing: inherit; |
#zone-appli #register-page #group-settings-form .widget-blocks label, |
#zone-appli #register-page #group-settings-form .widget-blocks .list-label { |
color: #606060; |
display: block; |
font-size: 0.9rem; |
font-weight: 700; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks label { |
text-transform: capitalize; |
color: #000; |
display: block; |
font-size: 1.5rem; |
margin-bottom: 0.4rem; |
margin-top: 2rem; |
#zone-appli #register-page #group-settings-form #right-block.widget-blocks .checkbox label, |
#zone-appli #register-page #group-settings-form #right-block.widget-blocks .checkboxes label, |
#zone-appli #register-page #group-settings-form #right-block.widget-blocks .radio label { |
font-weight: 300; |
} |
/* annuler un position absolute provenant de bundle.css */ |
#zone-appli #register-page #group-settings-form .widget-blocks fieldset > p { |
position: static; |
right: initial; |
top: initial; |
width: auto; |
text-align: left; |
color: #606060; |
#zone-appli #register-page #group-settings-form .widget-blocks label.radio-label { |
font-weight: 700; |
} |
/***********************************/ |
/**** Style des select et checkbox-list ****/ |
185,44 → 192,16 |
border: 0.1rem solid #ddd; |
} |
#group-settings-form select { |
font-size: 3rem; |
font-weight: 300; |
} |
#group-settings-form select, |
#group-settings-form select:required, |
#group-settings-form .selectBox select, |
#group-settings-form .selectBox select:required { |
#zone-appli #register-page #group-settings-form .widget-blocks .add-field-select { |
width: 100%; |
color:#333; |
border-radius: 0.3rem; |
padding: 0.8rem; |
line-height: 1.15; |
} |
#group-settings-form select, |
#group-settings-form select:required { |
text-transform:none; |
/* On retire la 'flèche' par defaut */ |
-webkit-appearance: none; |
-moz-appearance: none; |
-ms-appearance: none; |
-o-appearance: none; |
appearance: none; |
} |
#group-settings-form .select-wrapper, |
#group-settings-form #new-fields .select-wrapper, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .selectBox { |
position: relative; |
border-radius: 0.3rem; |
border-radius: 0.2rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .input-group .select-wrapper { |
border:none; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .overSelect { |
position: absolute; |
left: 0; |
233,7 → 212,15 |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .checkboxes { |
border: 0.1rem solid #ddd; |
border-radius: 0 0.3rem; |
border-bottom-left-radius: 0.2rem; |
border-bottom-right-radius: 0.2rem; |
position: absolute; |
z-index: 1001; |
top: 100%; |
left: 1rem; |
right: 1rem; |
background-color: #fff; |
padding-bottom: 0.5rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .label label, |
247,19 → 234,6 |
background-color: #1e90ff; |
} |
#group-settings-form .select-wrapper::after, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .selectBox::after, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .select-wrapper::after { |
/* Ajout et style d'une "flèche bas" */ |
content: '⌄'; |
pointer-events: none; |
position: absolute; |
right: 0.5rem; |
top:0; |
font-size: 2rem; |
font-weight: 300; |
color: #333; |
} |
/*******************************************/ |
/**** Style des input type "file" ****/ |
267,19 → 241,28 |
#group-settings-form .input-file-container, |
#group-settings-form #new-fields .input-file-container { |
position: relative; |
width: 86.9%; |
width: 84.9%; |
display: inline-block; |
line-height: 0.9rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .input-file-row { |
margin: 1.5rem 0; |
min-width: 100% !important; |
} |
#group-settings-form .label-file, |
#group-settings-form #new-fields .label-file { |
display: block; |
padding: 0.7rem; |
padding: 0.6rem; |
background: #009FB8; |
color: #fff !important; |
font-size: 1.5rem; |
/*font-size: 1.5rem;*/ |
cursor: pointer; |
border-radius: 0.3rem; |
border-radius: 0.2rem; |
margin-bottom: 0; |
line-height: 0.9rem; |
font-size: 0.8rem !important; |
} |
#group-settings-form .input-file, |
286,8 → 269,9 |
#group-settings-form #new-fields .input-file { |
position: absolute; |
top: 0; left: 0; |
width: 80%; |
padding: 1rem; |
width: 90% !important; |
margin: 0 0.9rem !important; |
padding-bottom: 0; |
margin: auto; |
opacity: 0; |
cursor: pointer; |
310,7 → 294,7 |
#group-settings-form .file-return:not(:empty)::before, |
#group-settings-form #new-fields .file-return:not(:empty)::before { |
content:'Nom du fichier: '; |
font-size: 1rem; |
font-size: 0.8rem; |
} |
#group-settings-form .file-return:not(:empty) img, |
322,12 → 306,17 |
#group-settings-form .file-return, |
#group-settings-form #new-fields .file-return { |
font-style: italic; |
font-size: 1rem; |
font-size: 0.8rem; |
font-weight: bold; |
background-color: #fff; |
padding: 2rem; |
border-radius: 0.3rem; |
border-radius: 0.2rem; |
} |
#group-settings-form #new-fields .file-return { |
margin: 0.5rem auto; |
width: 90%; |
} |
/*************************************/ |
/**** Affichage des nouveaux champs ****/ |
335,47 → 324,55 |
#group-settings-form fieldset.new-field, |
#group-settings-form .new-value { |
position: static; |
margin: 1rem 0; |
padding: 2rem; |
border-radius: 0.3rem; |
border-radius: 0.2rem; |
background-color: #F8F5EF; |
margin: 0 0.5rem 0.5rem 0.5rem; |
padding: 1rem; |
} |
#group-settings-form fieldset.new-field { |
padding: 1rem; |
margin: 1rem 0; |
} |
/* Mieux distinguer les différentes strates */ |
#group-settings-form .field-details { |
margin: 1rem 0; |
padding: 2rem; |
border-radius: 0.3rem; |
margin: 1rem; |
padding: 1rem; |
border-radius: 0.2rem; |
background-color: #fcfbf9; |
} |
/********************************************/ |
/**** Styles des boutons ****/ |
#zone-appli #register-page #group-settings-form .widget-blocks button, |
#group-settings-form .button { |
background-color: #a2b93b; |
border-radius: .2rem; |
border-radius: 0.2rem; |
border: 0 none; |
padding: 1.25rem 2rem; |
padding: 0.9rem; |
cursor: pointer; |
color: #fff; |
display: inline-block; |
font-family: Ubuntu,sans-serif; |
font-size: 13px; |
font-size: 1.3rem; |
font-size: 0.9rem; |
font-weight: 500; |
letter-spacing: 1px; |
letter-spacing: .1rem; |
line-height: 15px; |
line-height: 1.5rem; |
letter-spacing: 0.1rem; |
line-height: 0.9rem; |
text-align: center; |
text-decoration: none; |
text-transform: capitalize; |
/*text-transform: capitalize;*/ |
-webkit-transition: background .2s ease; |
-o-transition: background .2s ease; |
transition: background .2s ease; |
} |
.fa, .fab, .fal, .far, .fas { |
line-height: 0.9rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks button:hover, |
#zone-appli #register-page #group-settings-form .widget-blocks button:focus, |
#group-settings-form .button:hover, |
383,12 → 380,17 |
background-color: #b3c954; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks #bouton-connexion .btn { |
background-color:#a2b93b;border-color:#a1b92e; |
color: #fff; |
} |
/* Positionnement visuel du bouton submit pour qu'il reste |
sous les nouveaux champs alors que dans le dom |
il est positionné avant les nouveaux champs */ |
#zone-appli #register-page #group-settings-form .widget-blocks #submit-button { |
position: absolute; |
bottom: -20px; |
bottom: 0; |
} |
#signup_submit { |
408,8 → 410,7 |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-field.button, |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-value.button, |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-file { |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-value.button { |
background-color: #ff5d55; |
} |
416,29 → 417,46 |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-field.button:hover, |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-field.button:focus, |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-value.button:hover, |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-value.button:focus, |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-file:hover, |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-file:focus { |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-value.button:focus { |
background-color: rgba(255, 93, 85, 0.7); |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .help-button { |
background-color: #ea9973; |
float: right; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .help-button, |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-file { |
margin-left: 0.5rem; |
width: 2rem; |
height: 2rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .remove-file, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .help-button { |
border-radius: 0.2rem; |
padding: 1rem 1rem; |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .border-0 { |
border: 0 !important; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .help-button:hover, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .help-button:focus, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .btn-outline-info { |
color: #17a2b8; |
background-color: transparent; |
background-image: none; |
border-color: #17a2b8; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .btn-outline-info:hover { |
color: #fff; |
background-color: #17a2b8; |
border-color: #17a2b8; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .btn-outline-info:not(:disabled):not(.disabled):active, .show > .btn-outline-info.dropdown-toggle { |
color: #fff; |
background-color: #17a2b8; |
border-color: #17a2b8; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .btn-outline-info:focus { |
box-shadow: 0 0 0 .2rem rgba(23,162,184,.5); |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .fichier-type:hover, |
#zone-appli #register-page #group-settings-form .widget-blocks .fichier-type:focus { |
background-color: rgba(234, 153, 115, 0.7); |
446,9 → 464,9 |
#zone-appli #register-page #group-settings-form .widget-blocks .fichier-type { |
text-transform: capitalize; |
font-size: 1.5rem; |
/*font-size: 1.5rem;*/ |
margin-left: 0; |
padding: 0.8rem; |
padding: 0.6rem; |
background-color: #ea9973; |
text-decoration: none; |
color: #ffffff; |
483,12 → 501,13 |
/**** Prévisualisation du widget ****/ |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer { |
border-radius: 0.3rem; |
border-radius: 0.2rem; |
padding: 0 3rem 3rem 3rem; |
min-height: 100%; |
width: 100%; |
overflow: hidden; |
background: rgba(248, 245, 239, 0.6); |
position: relative; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer h1 { |
499,81 → 518,60 |
margin: 1rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer h1, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer h2 span, |
#zone-appli #register-page #group-settings-form .widget-blocks h3 .field-title, |
#zone-appli #register-page #group-settings-form .widget-blocks .list-label { |
text-transform: capitalize; |
#preview-formulaire, |
#preview-header, |
#preview-messages { |
padding: 2rem; |
border-radius: 0.3rem; |
background-color: rgba(255, 255, 255, 0.8); |
margin-top: 2rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer h2 { |
width: 100%; |
color: #232323; |
margin: 1rem; |
#zone-appli #register-page #group-settings-form .widget-blocks .checkbox label, |
#zone-appli #register-page #group-settings-form .widget-blocks .checkboxes label, |
#zone-appli #register-page #group-settings-form .widget-blocks .radio label { |
display: flex; |
align-items: center; |
} |
/* Bouton aide */ |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .and-help { |
width: 80%; |
#zone-appli #register-page #group-settings-form .widget-blocks input[type="checkbox"], |
#zone-appli #register-page #group-settings-form .widget-blocks input[type="radio"], |
#zone-appli #register-page #group-settings-form .widget-blocks input.radio, |
#zone-appli #register-page #group-settings-form .widget-blocks input.checkbox { |
vertical-align: text-top; |
padding: 0; |
margin-right: 10px; |
position: relative; |
overflow: hidden; |
width: 1rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .and-help.input-file-container { |
width: 73.8%; |
.mb-2, .mb-3 { |
align-self: start; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer label.and-help, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .list-label.and-help { |
margin-bottom:1.5rem; |
#new-fields-buttons { |
border-bottom: 1px solid rgba(0,0,0,0.1); |
padding-bottom: 1rem; |
margin-bottom: 1rem; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer label.and-help, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .list-label.and-help, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .select-wrapper.and-help, |
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .multiselect.and-help { |
display:inline-block; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .list-label{ |
color: #000; |
display: block; |
font-size: 1.5rem; |
margin-bottom: 0.4rem; |
margin-top: 2rem; |
font-weight: 300; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .checkbox, |
#zone-appli #register-page #group-settings-form .widget-blocks .radio { |
padding-left: 0; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .checkbox label, |
#zone-appli #register-page #group-settings-form .widget-blocks .radio label{ |
padding-left: 1rem; |
} |
#preview-formulaire, |
#preview-header, |
#preview-messages { |
padding: 2rem; |
border-radius: 0.3rem; |
background-color: rgba(255, 255, 255, 0.8); |
margin-top: 2rem; |
} |
/****************************/ |
/**** Input Type Range ****/ |
#zone-appli #register-page #group-settings-form .widget-blocks .range input[type="range"], |
#zone-appli #register-page #group-settings-form .widget-blocks .range input[type="number"] { |
#zone-appli #register-page #group-settings-form .widget-blocks .range input { |
border:none; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .range input[type="number"] { |
padding: 0 0 0 0.5rem; |
height: 3rem; |
text-align: center; |
#zone-appli #register-page #group-settings-form .widget-blocks .range-values { |
color: #606060; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks .range-live-value { |
padding-top: 1rem; |
font-size: 1.5rem; |
} |
/**************************/ |
/**** Style de la modale ****/ |
582,10 → 580,36 |
} |
/****************************/ |
/**** style required preview ****/ |
#label-geolocalisation::before, |
#label-date::before, |
#label-taxon::before, |
#label-certitude::before { |
content: '*'; |
} |
/*******************************/ |
/**** media queries ****/ |
@media screen and (min-width: 992px) { |
div.widget-blocks { |
#zone-appli #register-page #group-settings-form #left-block.widget-blocks { |
display: inline-block; |
width: 30%; |
padding-bottom: 50px; |
} |
#zone-appli #register-page #group-settings-form #right-block.widget-blocks { |
display: inline-block; |
width: 60%; |
overflow: visible; |
vertical-align:top; |
position: -webkit-sticky; |
position: sticky; |
top: 20px; |
top: 0; |
} |
#zone-appli #register-page #group-settings-form .widget-blocks #submit-button { |
bottom: 10px; |
} |
} |
/trunk/widget/modules/manager/squelettes/manager.tpl.html |
---|
71,8 → 71,9 |
<h1 id="widget-titre" class="widget-titre"> Gestion des widgets de saisie du CEL</h1> |
<ul> |
<?php foreach ($donnees['widget'] as $donnee) { ?> |
<?php $langue_projet_url = ( isset( $donnee['langue'] ) && $donnee['langue'] !== 'fr' ) ? '_' . $donnee['langue'] : '';?> |
<li class="component-tools-item"> |
<?php echo '<img class="component-tools-item-icon" src="'.$donnee['logo'].'" alt="'.$donnee['projet'].'" style="width:10rm;">';?> |
<?php echo '<img class="component-tools-item-icon" src="'.htmlspecialchars($donnees['chemin_images'].$donnee['projet'].$langue_projet_url.'/logo.'.preg_replace('/(?:imag)?e\/?/','',$donnee['logo'])).'" alt="'.$donnee['projet'].'" style="width:10rm;">';?> |
<div style=""> |
<h4 class="component-tools-item-title"> |
<a href="https://www.tela-botanica.org/flore/" target=""><?= $donnee['projet']." : ".$donnee['titre']; ?></a> |
/trunk/widget/modules/manager/squelettes/img/fichier_type/especes.csv |
---|
New file |
0,0 → 1,245 |
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr nom_fr_autre groupe |
Ailanthus altissima (Mill.) Swingle 2088 Ailanthus altissima (Mill.) Swingle 2088 5537 Simaroubaceae Ailante faux-vernis-du-japon arbres et arbustes |
Crataegus monogyna Jacq. 19472 Crataegus monogyna Jacq. 19472 4721 Rosaceae Aubépine à un style arbres et arbustes |
Alnus glutinosa (L.) Gaertn. 3318 Alnus glutinosa (L.) Gaertn. 3318 1321 Betulaceae Aulne glutineux arbres et arbustes |
Betula pendula Roth 9626 Betula pendula Roth 9626 1325 Betulaceae Bouleau verruqueux arbres et arbustes |
Buddleja davidii Franch. 11336 Buddleja davidii Franch. 11336 1837 Buddlejaceae Buddléia arbre-aux-papillons arbres et arbustes |
Cornus sanguinea L. 75064 Cornus sanguinea L. 75064 30056 Cornaceae Cornouiller sanguin arbres et arbustes |
Acer negundo L. 74932 Acer negundo L. 74932 29924 Aceraceae Érable négundo arbres et arbustes |
Acer platanoides L. 74934 Acer platanoides L. 74934 29926 Aceraceae Érable plane arbres et arbustes |
Ficus carica L. 75134 Ficus carica L. 75134 30126 Moraceae Figuier commun arbres et arbustes |
Mahonia aquifolium (Pursh) Nutt. 40676 Mahonia aquifolium (Pursh) Nutt. 40676 1317 Berberidaceae Mahonia à feuilles de houx arbres et arbustes |
Paulownia tomentosa (Thunb.) Steud. 48115 Paulownia tomentosa (Thunb.) Steud. 48115 5411 Scrophulariaceae Paulownia tomenteux arbres et arbustes |
Populus nigra L. 52030 Populus nigra L. 52030 5128 Salicaceae Peuplier noir arbres et arbustes |
Prunus spinosa L. 53652 Prunus spinosa L. 53652 4847 Rosaceae Prunelier épine-noire arbres et arbustes |
Robinia pseudoacacia L. 56245 Robinia pseudoacacia L. 56245 3124 Fabaceae Robinier faux-acacia arbres et arbustes |
Sambucus nigra L. 60241 Sambucus nigra L. 60241 1968 Caprifoliaceae Sureau noir arbres et arbustes |
Asplenium trichomanes L. 7728 Asplenium trichomanes L. 7728 7358 Aspleniaceae Asplenium capillaire fougères et prêles |
Asplenium ceterach L. 74978 Ceterach officinarum Willd. 77204 29970 Aspleniaceae Asplenium cétérac fougères et prêles |
Asplenium ruta-muraria L. 7681 Asplenium ruta-muraria L. 7681 8688 Aspleniaceae Asplenium rue-des-murailes fougères et prêles |
Equisetum arvense L. 24488 Equisetum arvense L. 24488 7397 Equisetaceae Prêle des champs fougères et prêles |
Amaranthus deflexus L. 3944 Amaranthus deflexus L. 3944 39 Amaranthaceae Amarante couchée plante à fleurs minuscules |
Amaranthus retroflexus L. 4009 Amaranthus retroflexus L. 4009 49 Amaranthaceae Amarante réfléchie plante à fleurs minuscules |
Ambrosia artemisiifolia L. 4066 Ambrosia artemisiifolia L. 4066 383 Asteraceae Ambroisie à feuilles d'armoise plante à fleurs minuscules |
Arabidopsis thaliana (L.) Heynh. 5767 Arabidopsis thaliana (L.) Heynh. 5767 1484 Brassicaceae Arabette des dames plante à fleurs minuscules |
Artemisia annua L. 6765 Artemisia annua L. 6765 430 Asteraceae Armoise annuelle plante à fleurs minuscules |
Artemisia vulgaris L. 6987 Artemisia vulgaris L. 6987 459 Asteraceae Armoise commune plante à fleurs minuscules |
Artemisia verlotiorum Lamotte 6983 Artemisia verlotiorum Lamotte 6983 458 Asteraceae Armoise des frères Verlot plante à fleurs minuscules |
Atriplex prostrata Boucher ex DC. 8444 Atriplex prostrata Boucher ex DC. 8444 8712 Chenopodiaceae Arroche couchée plante à fleurs minuscules |
Atriplex patula L. 74991 Atriplex patula L. 74991 29983 Chenopodiaceae Arroche étalée plante à fleurs minuscules |
Asparagus acutifolius L. 7214 Asparagus acutifolius L. 7214 6269 Asparagaceae Asperge à feuilles aigües plante à fleurs minuscules |
Capsella bursa-pastoris (L.) Medik. 75016 Capsella bursa-pastoris (L.) Medik. 75016 30008 Brassicaceae Capselle bourse-à-pasteur plante à fleurs minuscules |
Cardamine hirsuta L. 12878 Cardamine hirsuta L. 12878 1592 Brassicaceae Cardamine hérissée plante à fleurs minuscules |
Cerastium glomeratum Thuill. 15862 Cerastium glomeratum Thuill. 15862 2024 Caryophyllaceae Céraiste aggloméré plante à fleurs minuscules |
Cerastium fontanum Baumg. 15840 Cerastium fontanum Baumg. 15840 9277 Caryophyllaceae Céraiste des fontaines plante à fleurs minuscules |
Chenopodium album L. 16741 Chenopodium album L. 16741 2335 Chenopodiaceae Chénopode blanc plante à fleurs minuscules |
Chenopodium murale L. 16847 Chenopodium murale L. 16847 2353 Chenopodiaceae Chénopode des murailles plante à fleurs minuscules |
Galium aparine L. 28896 Galium aparine L. 28896 5037 Rubiaceae Gaillet grateron plante à fleurs minuscules |
Galium mollugo L. 29078 Galium mollugo L. 29078 5057 Rubiaceae Gaillet mollugine plante à fleurs minuscules |
Lycopus europaeus L. 40533 Lycopus europaeus L. 40533 3576 Lamiaceae Lycope d'Europe plante à fleurs minuscules |
Mercurialis annua L. 42320 Mercurialis annua L. 42320 2751 Euphorbiaceae Mercuriale annuelle plante à fleurs minuscules |
Urtica urens L. 70431 Urtica urens L. 70431 5650 Urticaceae Ortie brûlante plante à fleurs minuscules |
Urtica dioica L. 70396 Urtica dioica L. 70396 14875 Urticaceae Ortie dioïque plante à fleurs minuscules |
Parietaria judaica L. 47921 Parietaria judaica L. 47921 5641 Urticaceae Pariètaire de Judée plante à fleurs minuscules |
Lepidium virginicum L. 38574 Lepidium virginicum L. 38574 1743 Brassicaceae Passerage de Virginie plante à fleurs minuscules |
Persicaria maculosa Gray 48340 Polygonum persicaria L. 51630 4236 Polygonaceae Persicaire tachetée plante à fleurs minuscules |
Sanguisorba minor Scop. 60289 Sanguisorba minor Scop. 60289 4976 Rosaceae Pimprenelle mineure plante à fleurs minuscules |
Plantago coronopus L. 49875 Plantago coronopus L. 49875 4088 Plantaginaceae Plantain corne-de-cerf plante à fleurs minuscules |
Plantago lanceolata L. 49948 Plantago lanceolata L. 49948 4094 Plantaginaceae Plantain lancéolé plante à fleurs minuscules |
Plantago major L. 49976 Plantago major L. 49976 4096 Plantaginaceae Plantain majeur plante à fleurs minuscules |
Plantago sempervirens Crantz 50068 Plantago sempervirens Crantz 50068 4105 Plantaginaceae Plantain toujours vert plante à fleurs minuscules |
Polycarpon tetraphyllum (L.) L. 51112 Polycarpon tetraphyllum (L.) L. 51112 13356 Caryophyllaceae Polycarpon quatre-feuilles plante à fleurs minuscules |
Polygonum aviculare L. 51363 Polygonum aviculare L. 51363 4224 Polygonaceae Renouée des oiseaux plante à fleurs minuscules |
Fallopia convolvulus (L.) Á.Löve 26474 Fallopia convolvulus (L.) Á.Löve 26474 4218 Polygonaceae Renouée faux-liseron plante à fleurs minuscules |
Rumex obtusifolius L. 58812 Rumex obtusifolius L. 58812 4274 Polygonaceae Rumex à feuilles obtuses plante à fleurs minuscules |
Rumex crispus L. 58698 Rumex crispus L. 58698 4262 Polygonaceae Rumex crépue plante à fleurs minuscules |
Sagina procumbens L. 59112 Sagina procumbens L. 59112 2167 Caryophyllaceae Sagine couchée plante à fleurs minuscules |
Sagina apetala Ard. 59056 Sagina apetala Ard. 59056 2161 Caryophyllaceae Sagine sans pétale plante à fleurs minuscules |
Erigeron bonariensis L. 24874 Conyza bonariensis (L.) Cronquist 18835 699 Asteraceae Vergerette de Buenos Aires plante à fleurs minuscules |
Erigeron sumatrensis Retz. 24956 Conyza sumatrensis (Retz.) E.Walker 18851 702 Asteraceae Vergerette de Sumatra plante à fleurs minuscules |
Erigeron canadensis L. 24880 Conyza canadensis (L.) Cronquist 18836 700 Asteraceae Vergerette du Canada plante à fleurs minuscules |
Verbena officinalis L. 71022 Verbena officinalis L. 71022 5710 Verbenaceae Verveine officinale plante à fleurs minuscules |
Vicia hirsuta (L.) Gray 71616 Vicia hirsuta (L.) Gray 71616 3242 Fabaceae Vesce hérissée plante à fleurs minuscules |
Andryala integrifolia L. 4699 Andryala integrifolia L. 4699 395 Asteraceae Andryale à feuilles entières plantes à capitules jaunes |
Chondrilla juncea L. 17040 Chondrilla juncea L. 17040 647 Asteraceae Chondrille à feuilles de joncs plantes à capitules jaunes |
Crepis bursifolia L. 19627 Crepis bursifolia L. 19627 715 Asteraceae Crépide à feuilles de capselle plantes à capitules jaunes |
Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 739 Asteraceae Crépis à feuilles de pissenlit plantes à capitules jaunes |
Crepis capillaris (L.) Wallr. 19630 Crepis capillaris (L.) Wallr. 19630 716 Asteraceae Crépis capillaire plantes à capitules jaunes |
Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 734 Asteraceae Crépis de Nîmes plantes à capitules jaunes |
Crepis foetida L. 19654 Crepis foetida L. 19654 719 Asteraceae Crépis fétide plantes à capitules jaunes |
Crepis setosa Haller f. 19762 Crepis setosa Haller f. 19762 735 Asteraceae Crépis hérissée plantes à capitules jaunes |
Jacobaea vulgaris Moench 36239 Senecio jacobaea subsp. jacobaea 62926 14453 Asteraceae Jacobée commune plantes à capitules jaunes |
Sonchus tenerrimus L. 65231 Sonchus tenerrimus L. 65231 1234 Asteraceae Laiteron délicat plantes à capitules jaunes |
Sonchus oleraceus L. 65205 Sonchus oleraceus L. 65205 1232 Asteraceae Laiteron maraîcher plantes à capitules jaunes |
Sonchus asper (L.) Hill 65171 Sonchus asper (L.) Hill 65171 14563 Asteraceae Laiteron rude plantes à capitules jaunes |
Lactuca muralis (L.) G.Mey. 37338 Mycelis muralis (L.) Dumort. 43130 1066 Asteraceae Laitue des murailles plantes à capitules jaunes |
Lactuca serriola L. 37373 Lactuca serriola L. 37373 991 Asteraceae Laitue scariole plantes à capitules jaunes |
Lapsana communis L. 37660 Lapsana communis L. 37660 997 Asteraceae Lampsane commune plantes à capitules jaunes |
Picris hieracioides L. 49351 Picris hieracioides L. 49351 1102 Asteraceae Picris fausse-épervière plantes à capitules jaunes |
Helminthotheca echioides (L.) Holub 31546 Picris echioides L. 49346 1101 Asteraceae Picris fausse-vipérine plantes à capitules jaunes |
Taraxacum div. Sp. 87290 Taraxacum 87290 36245 Asteraceae Pissenlit plantes à capitules jaunes |
Hypochaeris radicata L. 35439 Hypochaeris radicata L. 35439 967 Asteraceae Porcelle enracinée plantes à capitules jaunes |
Reichardia picroides (L.) Roth 55654 Reichardia picroides (L.) Roth 55654 1115 Asteraceae Reichardie fausse-picride plantes à capitules jaunes |
Tragopogon pratensis L. 68767 Tragopogon pratensis L. 68767 14813 Asteraceae Salsifis des prés plantes à capitules jaunes |
Senecio erucifolius L. 62849 Senecio erucifolius L. 62849 1166 Asteraceae Séneçon à feuilles de roquette plantes à capitules jaunes |
Senecio vulgaris L. 63096 Senecio vulgaris L. 63096 1203 Asteraceae Séneçon commun plantes à capitules jaunes |
Senecio inaequidens DC. 62909 Senecio inaequidens DC. 62909 1176 Asteraceae Séneçon du Cap plantes à capitules jaunes |
Senecio viscosus L. 63095 Senecio viscosus L. 63095 1202 Asteraceae Séneçon visqueux plantes à capitules jaunes |
Solidago gigantea Aiton 65065 Solidago gigantea Aiton 65065 14560 Asteraceae Solidage géant plantes à capitules jaunes |
Tussilago farfara L. 70113 Tussilago farfara L. 70113 1284 Asteraceae Tussilage pas-d'âne plantes à capitules jaunes |
Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 1286 Asteraceae Urosperme de Daléchamps plantes à capitules jaunes |
Achillea millefolium L. 365 Achillea millefolium L. 365 8527 Asteraceae Achillée millefeuille plantes à fleurs blanches |
Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 1468 Brassicaceae Alliaire officinale plantes à fleurs blanches |
Heracleum sphondylium L. 31656 Heracleum sphondylium L. 31656 187 Apiaceae Berce commune plantes à fleurs blanches |
Daucus carota L. 21674 Daucus carota L. 21674 151 Apiaceae Carotte sauvage plantes à fleurs blanches |
Anthriscus sylvestris (L.) Hoffm. 5290 Anthriscus sylvestris (L.) Hoffm. 5290 8626 Apiaceae Cerfeuil des bois plantes à fleurs blanches |
Chaerophyllum temulum L. 16354 Chaerophyllum temulum L. 16354 140 Apiaceae Cerfeuil enivrant plantes à fleurs blanches |
Clematis vitalba L. 18235 Clematis vitalba L. 18235 4436 Ranunculaceae Clématite vigne-blanche plantes à fleurs blanches |
Datura stramonium L. 21654 Datura stramonium L. 21654 5544 Solanaceae Datura stramoine plantes à fleurs blanches |
Diplotaxis erucoides (L.) DC. 75095 Diplotaxis erucoides (L.) DC. 75095 30087 Brassicaceae Diplotaxis fausse-roquette plantes à fleurs blanches |
Draba verna L. 22994 Erophila verna (L.) Chevall. 25208 1653 Brassicaceae Drave de printemps plantes à fleurs blanches |
Fumaria capreolata L. 75465 Fumaria capreolata L. 75465 30457 Papaveraceae Fumeterre grimpante plantes à fleurs blanches |
Lamium album L. 37472 Lamium album L. 37472 3557 Lamiaceae Lamier blanc plantes à fleurs blanches |
Chaenorrhinum minus (L.) Lange 16280 Chaenorrhinum minus (L.) Lange 16280 5311 Scrophulariaceae Linaire mineure plantes à fleurs blanches |
Calystegia sepium (L.) R.Br. 12341 Calystegia sepium (L.) R.Br. 12341 2448 Convolvulaceae Liseron des haies plantes à fleurs blanches |
Malva neglecta Wallr. 40856 Malva neglecta Wallr. 40856 3827 Malvaceae Mauve négligée plantes à fleurs blanches |
Melilotus albus Medik. 41764 Melilotus albus Medik. 41764 3053 Fabaceae Mélilot blanc plantes à fleurs blanches |
Umbilicus rupestris (Salisb.) Dandy 70339 Umbilicus rupestris (Salisb.) Dandy 70339 2545 Crassulaceae Ombilic nombril-de-Vénus plantes à fleurs blanches |
Sedum album L. 62141 Sedum album L. 62141 2489 Crassulaceae Orpin blanc plantes à fleurs blanches |
Lepidium draba L. 38489 Lepidium draba L. 38489 1609 Brassicaceae Passerage drave plantes à fleurs blanches |
Viola arvensis Murray 72065 Viola arvensis Murray 72065 14914 Violaceae Pensée des champs plantes à fleurs blanches |
Phytolacca americana L. 49293 Phytolacca americana L. 49293 4061 Phytolaccaceae Phytolaque raisin-d'Amérique plantes à fleurs blanches |
Reynoutria japonica Houtt. 55763 Reynoutria japonica Houtt. 55763 4244 Polygonaceae Renouée du Japon plantes à fleurs blanches |
Reseda alba L. 55658 Reseda alba L. 55658 4601 Resedaceae Réséda blanc plantes à fleurs blanches |
Rubus div. sp. 77191 Rubus 77191 31181 Rosaceae Ronces plantes à fleurs blanches |
Arenaria serpyllifolia L. 6292 Arenaria serpyllifolia L. 6292 8642 Caryophyllaceae Sabline à feuilles de serpolet plantes à fleurs blanches |
Saxifraga tridactylites L. 61042 Saxifraga tridactylites L. 61042 5290 Saxifragaceae Saxifrage à trois doigts plantes à fleurs blanches |
Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 2218 Caryophyllaceae Silène compagnon-blanc plantes à fleurs blanches |
Silene vulgaris (Moench) Garcke 64419 Silene vulgaris (Moench) Garcke 64419 14537 Caryophyllaceae Silène enflé plantes à fleurs blanches |
Stellaria media (L.) Vill. 75396 Stellaria media (L.) Vill. 75396 30388 Caryophyllaceae Stellaire intermédiaire plantes à fleurs blanches |
Torilis japonica (Houtt.) DC. 68580 Torilis japonica (Houtt.) DC. 68580 312 Apiaceae Torilis du Japon plantes à fleurs blanches |
Trifolium arvense L. 68989 Trifolium arvense L. 68989 14822 Fabaceae Trèfle pied-de-lièvre plantes à fleurs blanches |
Trifolium repens L. 69341 Trifolium repens L. 69341 14834 Fabaceae Trèfle rampant plantes à fleurs blanches |
Veronica cymbalaria Bodard 71145 Veronica cymbalaria Bodard 71145 5506 Scrophulariaceae Véronique cymbalaire plantes à fleurs blanches |
Aster squamatus (Spreng.) Hieron. 7909 Aster squamatus (Spreng.) Hieron. 7909 478 Asteraceae Aster écailleux plantes à fleurs blanches à coeur jaune |
Galinsoga parviflora Cav. 28869 Galinsoga parviflora Cav. 28869 800 Asteraceae Galinsoga à petites fleurs plantes à fleurs blanches à coeur jaune |
Galinsoga quadriradiata Ruiz & Pav. 28871 Galinsoga quadriradiata Ruiz & Pav. 28871 801 Asteraceae Galinsoga cilié plantes à fleurs blanches à coeur jaune |
Matricaria recutita L. 41057 Matricaria recutita L. 41057 1063 Asteraceae Matricaire camomille plantes à fleurs blanches à coeur jaune |
Tripleurospermum inodorum Sch.Bip. 69569 Matricaria perforata Mérat 41054 1062 Asteraceae Matricaire inodore plantes à fleurs blanches à coeur jaune |
Solanum nigrum L. 64930 Solanum nigrum L. 64930 14552 Solanaceae Morelle noire plantes à fleurs blanches à coeur jaune |
Bellis perennis L. 9408 Bellis perennis L. 9408 493 Asteraceae Pâquerette vivace plantes à fleurs blanches à coeur jaune |
Borago officinalis L. 9966 Borago officinalis L. 9966 1350 Boraginaceae Bourrache officinale plantes à fleurs bleues |
Ajuga reptans L. 2407 Ajuga reptans L. 2407 3519 Lamiaceae Bugle rampante plantes à fleurs bleues |
Cichorium intybus L. 17314 Cichorium intybus L. 17314 661 Asteraceae Chicorée amère plantes à fleurs bleues |
Myosotis arvensis Hill 43173 Myosotis arvensis Hill 43173 1400 Boraginaceae Myosotis des champs plantes à fleurs bleues |
Passiflora caerulea L. 48083 Passiflora caerulea L. 48083 4059 Passifloraceae Passiflore bleue plantes à fleurs bleues |
Veronica hederifolia L. 71191 Veronica hederifolia L. 71191 14890 Scrophulariaceae Véronique à feuilles de lierre plantes à fleurs bleues |
Veronica serpyllifolia L. 71348 Veronica serpyllifolia L. 71348 14893 Scrophulariaceae Véronique à feuilles de serpolet plantes à fleurs bleues |
Veronica persica Poir. 71290 Veronica persica Poir. 71290 5522 Scrophulariaceae Véronique de Perse plantes à fleurs bleues |
Veronica arvensis L. 71090 Veronica arvensis L. 71090 5496 Scrophulariaceae Véronique des champs plantes à fleurs bleues |
Veronica chamaedrys L. 75431 Veronica chamaedrys L. 75431 30423 Scrophulariaceae Véronique petit-chêne plantes à fleurs bleues |
Vicia sepium L. 71787 Vicia sepium L. 71787 3266 Fabaceae Vesce des haies plantes à fleurs bleues |
Echium vulgare L. 23559 Echium vulgare L. 23559 9898 Boraginaceae Vipérine commune plantes à fleurs bleues |
Geum urbanum L. 30154 Geum urbanum L. 30154 4758 Rosaceae Benoîte des villes plantes à fleurs jaunes |
Chelidonium majus L. 16703 Chelidonium majus L. 16703 4026 Papaveraceae Chélidoine grande-éclaire plantes à fleurs jaunes |
Brassica napus L. 10308 Brassica napus L. 10308 1556 Brassicaceae Colza Chou colza plantes à fleurs jaunes |
Diplotaxis tenuifolia (L.) DC. 22660 Diplotaxis tenuifolia (L.) DC. 22660 1633 Brassicaceae Diplotaxis à feuilles étroites plantes à fleurs jaunes |
Foeniculum vulgare Mill. 27986 Foeniculum vulgare Mill. 27986 180 Apiaceae Fenouil commun plantes à fleurs jaunes |
Duchesnea indica (Andrews) Focke 23328 Duchesnea indica (Andrews) Focke 23328 4738 Rosaceae Fraisier de Duchesne plantes à fleurs jaunes |
Erysimum cheiri (L.) Crantz 25436 Erysimum cheiri (L.) Crantz 25436 1611 Brassicaceae Giroflée des murailles plantes à fleurs jaunes |
Linaria vulgaris Mill. 39331 Linaria vulgaris Mill. 39331 5377 Scrophulariaceae Linaire commune plantes à fleurs jaunes |
Lotus corniculatus L. 39988 Lotus corniculatus L. 39988 2988 Fabaceae Lotier corniculé plantes à fleurs jaunes |
Medicago arabica (L.) Huds. 41184 Medicago arabica (L.) Huds. 41184 3014 Fabaceae Luzerne d'Arabie plantes à fleurs jaunes |
Medicago lupulina L. 41325 Medicago lupulina L. 41325 3029 Fabaceae Luzerne lupuline plantes à fleurs jaunes |
Melilotus officinalis Lam. 41839 Melilotus officinalis Lam. 41839 3060 Fabaceae Mélilot officinal plantes à fleurs jaunes |
Hypericum perforatum L. 35348 Hypericum perforatum L. 35348 3494 Hypericaceae Millepertuis perforé plantes à fleurs jaunes |
Sinapis arvensis L. 75386 Sinapis arvensis L. 75386 30378 Brassicaceae Moutarde des champs plantes à fleurs jaunes |
Antirrhinum majus L. 5474 Antirrhinum majus L. 5474 8631 Scrophulariaceae Muflier gueule-de-loup plantes à fleurs jaunes |
Oenothera biennis L. 44495 Oenothera biennis L. 44495 3914 Onagraceae Onagre bisanuelle plantes à fleurs jaunes |
Sedum acre L. 75358 Sedum acre L. 75358 30350 Crassulaceae Orpin âcre plantes à fleurs jaunes |
Oxalis corniculata L. 47119 Oxalis corniculata L. 47119 4010 Oxalidaceae Oxalis corniculée plantes à fleurs jaunes |
Oxalis fontana Bunge 47141 Oxalis fontana Bunge 47141 4017 Oxalidaceae Oxalis des fontaines plantes à fleurs jaunes |
Pastinaca sativa L. 48097 Pastinaca sativa L. 48097 237 Apiaceae Panais cultivé plantes à fleurs jaunes |
Potentilla reptans L. 52829 Potentilla reptans L. 52829 4818 Rosaceae Potentille rampante plantes à fleurs jaunes |
Portulaca oleracea L. 52102 Portulaca oleracea L. 52102 4300 Portulacaceae Pourpier maraîcher plantes à fleurs jaunes |
Ranunculus acris L. 54682 Ranunculus acris L. 54682 4490 Ranunculaceae Renoncule âcre plantes à fleurs jaunes |
Ranunculus bulbosus L. 54838 Ranunculus bulbosus L. 54838 4502 Ranunculaceae Renoncule bulbeuse plantes à fleurs jaunes |
Ranunculus repens L. 55340 Ranunculus repens L. 55340 4561 Ranunculaceae Renoncule rampante plantes à fleurs jaunes |
Reseda lutea L. 75322 Reseda lutea L. 75322 30314 Resedaceae Réséda jaune plantes à fleurs jaunes |
Sisymbrium officinale (L.) Scop. 64674 Sisymbrium officinale (L.) Scop. 64674 14546 Brassicaceae Sisymbre officinal plantes à fleurs jaunes |
Sisymbrium irio L. 64651 Sisymbrium irio L. 64651 1803 Brassicaceae Sisymbre vélaret plantes à fleurs jaunes |
Trifolium dubium Sibth. 69085 Trifolium dubium Sibth. 69085 3152 Fabaceae Trèfle douteux plantes à fleurs jaunes |
Trifolium campestre Schreb. 75495 Trifolium campestre Schreb. 75495 30487 Fabaceae Trèfle jaune plantes à fleurs jaunes |
Alcea rosea L. 2451 Alcea rosea L. 2451 3801 Malvaceae Alcée rose-trémière plantes à fleurs roses |
Mirabilis jalapa L. 42698 Mirabilis jalapa L. 42698 3865 Nyctaginaceae Belle-de-nuit commune plantes à fleurs roses |
Dipsacus fullonum L. 22678 Dipsacus fullonum L. 22678 2584 Dipsacaceae Cardère à foulon plantes à fleurs roses |
Carduus pycnocephalus L. 75026 Carduus pycnocephalus L. 75026 30018 Asteraceae Chardon à capitules denses plantes à fleurs roses |
Epilobium tetragonum L. 24336 Epilobium tetragonum L. 24336 9924 Onagraceae Epilobe à quatre angles plantes à fleurs roses |
Erodium cicutarium (L.) L'Hér. 25064 Erodium cicutarium (L.) L'Hér. 25064 9954 Geraniaceae Érodium à feuilles de cigüe plantes à fleurs roses |
Erodium malacoides (L.) L'Hér. 75116 Erodium malacoides (L.) L'Hér. 75116 30108 Geraniaceae Érodium à feuilles de mauve plantes à fleurs roses |
Eupatorium cannabinum L. 25746 Eupatorium cannabinum L. 25746 786 Asteraceae Eupatoire chanvrine plantes à fleurs roses |
Fumaria officinalis L. 28525 Fumaria officinalis L. 28525 3314 Papaveraceae Fumeterre officinale plantes à fleurs roses |
Geranium dissectum L. 29941 Geranium dissectum L. 29941 3420 Geraniaceae Géranium à feuilles découpées plantes à fleurs roses |
Geranium molle L. 75468 Geranium molle L. 75468 30460 Geraniaceae Géranium à feuilles molles plantes à fleurs roses |
Geranium rotundifolium L. 30056 Geranium rotundifolium L. 30056 3438 Geraniaceae Géranium à feuilles rondes plantes à fleurs roses |
Geranium robertianum subsp. robertianum 30049 Geranium robertianum subsp. robertianum 30049 10265 Geraniaceae Géranium herbe-à-Robert plantes à fleurs roses |
Impatiens glandulifera Royle 35713 Impatiens glandulifera Royle 35713 1307 Balsaminaceae Impatiente glanduleuse plantes à fleurs roses |
Lamium amplexicaule L. 75206 Lamium amplexicaule L. 75206 30198 Lamiaceae Lamier à feuilles embrassantes plantes à fleurs roses |
Lamium purpureum L. 37538 Lamium purpureum L. 37538 3568 Lamiaceae Lamier pourpre plantes à fleurs roses |
Convolvulus arvensis L. 75060 Convolvulus arvensis L. 75060 30052 Convolvulaceae Liseron des champs plantes à fleurs roses |
Lythrum salicaria L. 40631 Lythrum salicaria L. 40631 3792 Lythraceae Salicaire rouge plantes à fleurs roses |
Saponaria officinalis L. 60403 Saponaria officinalis L. 60403 2178 Caryophyllaceae Saponaire officinale plantes à fleurs roses |
Sherardia arvensis L. 63722 Sherardia arvensis L. 63722 14514 Rubiaceae Shérardie des champs plantes à fleurs roses |
Trifolium pratense L. 69291 Trifolium pratense L. 69291 14832 Fabaceae Trèfle des près plantes à fleurs roses |
Vicia sativa L. 71760 Vicia sativa L. 71760 14908 Fabaceae Vesce cultivée plantes à fleurs roses |
Centranthus ruber (L.) DC. 75042 Centranthus ruber (L.) DC. 75042 30034 Valerianaceae Centranthe lilas-d'Espagne plantes à fleurs rouges |
Lysimachia arvensis (L.) U.Manns & Anderb. 101468 Lysimachia arvensis (L.) U.Manns & Anderb. 101468 8601 Primulacea Mouron des champs plantes à fleurs rouges |
Papaver rhoeas L. 75277 Papaver rhoeas L. 75277 30269 Papaveraceae Coquelicot Pavot coquelicot plantes à fleurs rouges |
Aphanes arvensis L. 5600 Aphanes arvensis L. 5600 4700 Rosaceae Aphanès des champs plantes à fleurs vertes |
Arum italicum Mill. 7024 Arum italicum Mill. 7024 8677 Araceae Arum d'Italie plantes à fleurs vertes |
Bryonia dioica Jacq. 11290 Bryonia dioica Jacq. 11290 2547 Cucurbitaceae Bryone dioïque plantes à fleurs vertes |
Euphorbia peplus L. 25996 Euphorbia peplus L. 25996 7570 Euphorbiaceae Euphorbe des jardins plantes à fleurs vertes |
Euphorbia lathyris L. 25941 Euphorbia lathyris L. 25941 2717 Euphorbiaceae Euphorbe épurge plantes à fleurs vertes |
Euphorbia cyparissias L. 25823 Euphorbia cyparissias L. 25823 2692 Euphorbiaceae Euphorbe petit-cyprès plantes à fleurs vertes |
Euphorbia helioscopia L. 25914 Euphorbia helioscopia L. 25914 2710 Euphorbiaceae Euphorbe réveille-matin plantes à fleurs vertes |
Euphorbia maculata L. 25956 Euphorbia maculata L. 25956 2719 Euphorbiaceae Euphorbe tachetée plantes à fleurs vertes |
Humulus lupulus L. 34958 Humulus lupulus L. 34958 1947 Cannabaceae Houblon grimpant plantes à fleurs vertes |
Hedera helix L. 30892 Hedera helix L. 30892 329 Araliaceae Lierre grimpant plantes à fleurs vertes |
Matricaria discoidea DC. 41027 Matricaria discoidea DC. 41027 1060 Asteraceae Matricaire sans ligule plantes à fleurs vertes |
Parthenocissus quinquefolia (L.) Planch. 47997 Parthenocissus quinquefolia (L.) Planch. 47997 5769 Vitaceae Vigne-vierge à cinq folioles plantes à fleurs vertes |
Arctium minus (Hill) Bernh. 6091 Arctium minus (Hill) Bernh. 6091 417 Asteraceae Bardane à petites têtes plantes à fleurs violettes |
Prunella vulgaris L. 75307 Prunella vulgaris L. 75307 30299 Lamiaceae Brunelle commune plantes à fleurs violettes |
Cirsium vulgare (Savi) Ten. 17870 Cirsium vulgare (Savi) Ten. 17870 691 Asteraceae Cirse commun plantes à fleurs violettes |
Cirsium arvense (L.) Scop. 17468 Cirsium arvense (L.) Scop. 17468 664 Asteraceae Cirse des champs plantes à fleurs violettes |
Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 30073 Scrophulariaceae Cymbalaire des murailles plantes à fleurs violettes |
Glechoma hederacea L. 30252 Glechoma hederacea L. 30252 3549 Lamiaceae Glécome lierre-terrestre plantes à fleurs violettes |
Medicago sativa L. 41470 Medicago sativa L. 41470 3041 Fabaceae Luzerne cultivée plantes à fleurs violettes |
Malva sylvestris L. 40893 Malva sylvestris L. 40893 3831 Malvaceae Mauve sylvestre plantes à fleurs violettes |
Solanum dulcamara L. 64869 Solanum dulcamara L. 64869 5570 Solanaceae Morelle douce-amère plantes à fleurs violettes |
Sixalix atropurpurea (L.) Greuter & Burdet 64813 Sixalix atropurpurea (L.) Greuter & Burdet 64813 14549 Dipsacaceae Scabieuse des jardins plantes à fleurs violettes |
Viola odorata L. 72389 Viola odorata L. 72389 5746 Violaceae Violette odorante plantes à fleurs violettes |
Agrostis stolonifera L. 1908 Agrostis stolonifera L. 1908 8558 Poaceae Agrostis stolonifère Graminées |
Bromus hordeaceus L. 10780 Bromus hordeaceus L. 10780 6698 Poaceae Brome mou Graminées |
Bromus sterilis L. 11176 Bromus sterilis L. 11176 6720 Poaceae Brome stérile Graminées |
Cynodon dactylon (L.) Pers. 20551 Cynodon dactylon (L.) Pers. 20551 6750 Poaceae Chiendent pied-de-poule Graminées |
Elytrigia repens (L.) Desv. ex Nevski 23913 Elytrigia repens (L.) Desv. ex Nevski 23913 9912 Poaceae Chiendent rampant Graminées |
Dactylis glomerata L. 21111 Dactylis glomerata L. 21111 6754 Poaceae Dactyle aggloméré Graminées |
Digitaria sanguinalis (L.) Scop. 22486 Digitaria sanguinalis (L.) Scop. 22486 6780 Poaceae Digitaire sanguine Graminées |
Echinochloa crus-galli (L.) P.Beauv. 23376 Echinochloa crus-galli (L.) P.Beauv. 23376 9891 Poaceae Echinochloé pied-de-coq Graminées |
Eragrostis minor Host 24658 Eragrostis minor Host 24658 6817 Poaceae Éragrostis mineure Graminées |
Piptatherum miliaceum (L.) Coss. 49724 Piptatherum miliaceum (L.) Coss. 49724 7069 Poaceae Faux millet Graminées |
Holcus lanatus L. 34724 Holcus lanatus L. 34724 6947 Poaceae Houlque laineuse Graminées |
Hordeum murinum L. 34857 Hordeum murinum L. 34857 6955 Poaceae Orge des rats Graminées |
Poa annua L. 50284 Poa annua L. 50284 7075 Poaceae Pâturin annuel Graminées |
Lolium perenne L. 39692 Lolium perenne L. 39692 6983 Poaceae Ray-grass anglais Graminées |
Rostraria cristata (L.) Tzvelev 57834 Rostraria cristata (L.) Tzvelev 57834 7117 Poaceae Rostraria à crête Graminées |
Setaria verticillata (L.) P.Beauv. 63668 Setaria verticillata (L.) P.Beauv. 63668 7137 Poaceae Sétaire verticillée Graminées |
Phyllitis scolopendrium L. 49132 Asplenium scolopendrium L. 74981 29973 Aspleniaceae Scolopendre officinale |
Dryopteris filix-mas (L.) Schott 23262 Dryopteris filix-mas (L.) Schott 23262 7379 Dryopteridaceae Fougère mâle |
Geranium pusillum L. 30036 Geranium pusillum L. 30036 3432 Geraniaceae Géranium fluet |
Lepidium ruderale L. 38554 Lepidium ruderale L. 38554 1740 Brassicaceae Passerage des décombres |
Lepidium squamatum Forssk. 38565 Lepidium squamatum Forssk. 38565 1625 Brassicaceae Corne-de-cerf écailleuse |
Asteraceae 100897 Asteraceae 100897 36470 Asteraceae Asteraceae : plante de type pissenlit (capitules jaunes) special |
Apiaceae 100948 Apiaceae 100948 36521 Apiaceae Apiaceae : plante de type carotte (ombelle blanche ou jaune) special |
Poaceae 100898 Poaceae 100898 36471 Poaceae Poaceae : graminée indéterminée special |
Brassicaceae 100902 Brassicaceae 100902 36475 Brassicaceae Brassicaceae : crucifère indéterminée (4 pétales jaunes ou blancs, disposés en croix) special |
/trunk/widget/modules/manager/squelettes/img/images_projets/base/logo.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/manager/squelettes/img/images_projets/base/logo.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/widget/modules/manager/squelettes/img/images_projets/base_en/logo.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/manager/squelettes/img/images_projets/base_en/logo.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/widget/modules/manager/squelettes/img/geoloc/geoloc.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/manager/squelettes/img/geoloc/geoloc.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/widget/modules/manager/squelettes/js/manager.js |
---|
102,12 → 102,9 |
// Style et affichage des input type="range" |
function inputRangeDisplayNumber() { |
$( '#zone-supp' ).on( 'input' , '.range input[type="range"]' , function () { |
$( this ).next( 'input[type="number"]' ).val ( $( this ).val() ); |
$( '#zone-appli' ).on( 'input' , 'input[type="range"]' , function () { |
$( this ).siblings( '.range-live-value' ).text( $( this ).val() ); |
}); |
$( '#zone-supp' ).on( 'input' , '.range input[type="number"]' , function () { |
$( this ).prev( 'input[type="range"]' ).val ( $( this ).val() ); |
}); |
} |
/*********************************************************** |
142,55 → 139,73 |
'<fieldset data-id="' + fieldIndex + '" class="new-field">'+ |
'<h3>Nouveau champ :<br><strong class="field-title" data-id="' + fieldIndex + '"></strong></h3>'+ |
// Nom du champ |
'<label for="field-name" title="Donnez un titre à votre champ">Nom du champ *</label>'+ |
'<input type="text" name="field-name" data-id="' + fieldIndex + '" class="field-name" placeholder="Titre de votre champ" title="Le titre du champ" required>'+ |
// Clé du champ |
'<label for="field-key" title="Nom du champ dans la base de données">'+ |
'Clé du champ *'+ |
'</label>'+ |
'<input type="text" name="field-key" data-id="' + fieldIndex + '" class="field-key" placeholder="Clé du champ" pattern="^(?:[a-z]+(?:(?:[A-Z]+[a-z]+)+)?|[a-z]+(?:(?:-[a-z]+)+)?)$" title="Clé Unique en Camelcase ou minuscule séparés par tirets, pas d\'accents pas de caractères spéciaux." required>'+ |
'<p class="message">' + |
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+ |
'Une clé doit être unique<br>' + |
'En "camelCase" (ecriture chameau)<br>'+ |
'Ou en minuscule avec tirets ("-") si nécessaire<br>'+ |
'Pas d\'espaces, aucuns caractères spéciaux (accents, cédilles, etc.).' + |
'</p>' + |
// Type de champ |
'<label for="field-element" title="Quel type de champ">Type de champ *</label>'+ |
'<div class="select-wrapper add-field-select" data-id="' + fieldIndex + '">'+ |
'<select name="field-element" data-id="' + fieldIndex + '" class="field-element">'+ |
'<option value="text">Champ texte</option>'+ |
'<option value="email">Champ email</option>'+ |
'<option value="textarea">Champ rédaction</option>'+ |
'<option value="select">Menu déroulant</option>'+ |
'<option value="checkbox">Cases à cocher</option>'+ |
'<option value="list-checkbox">Liste de cases à cocher</option>'+ |
'<option value="radio">Boutons radio</option>'+ |
'<option value="date">Calendrier</option>'+ |
'<option value="range">Curseur (entre 2 bornes)</option>'+ |
'<option value="number">Nombre</option>'+ |
'</select>'+ |
'<div class="row">'+ |
'<div class="col-sm-12 mt-3">'+ |
'<label for="field-name" title="Donnez un titre à votre champ">Nom du champ *</label>'+ |
'<input type="text" name="field-name" data-id="' + fieldIndex + '" class="field-name form-control" placeholder="Titre de votre champ" title="Le titre du champ" required>'+ |
'</div>'+ |
// Clé du champ |
'<div class="col-sm-12 mt-3">'+ |
'<label for="field-key" title="Nom du champ dans la base de données">'+ |
'Clé du champ *'+ |
'</label>'+ |
'<input type="text" name="field-key" data-id="' + fieldIndex + '" class="field-key form-control" placeholder="Clé du champ" pattern="^(?:[a-z]+(?:(?:[A-Z]+[a-z]+)+)?|[a-z]+(?:(?:-[a-z]+)+)?)$" title="Clé Unique en Camelcase ou minuscule séparés par tirets, pas d\'accents pas de caractères spéciaux." required>'+ |
'</div>'+ |
'<p class="message ml-2 mr-2">' + |
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+ |
'Une clé doit être unique<br>' + |
'En "camelCase" (ecriture chameau)<br>'+ |
'Ou en minuscule avec tirets ("-") si nécessaire<br>'+ |
'Pas d\'espaces, aucuns caractères spéciaux (accents, cédilles, etc.).' + |
'</p>' + |
// Type de champ |
'<div class="col-sm-12 mt-3 add-field-select" data-id="' + fieldIndex + '">'+ |
'<label for="field-element" title="Quel type de champ">Type de champ *</label>'+ |
'<select name="field-element" data-id="' + fieldIndex + '" class="field-element form-control">'+ |
'<option value="text">Champ texte</option>'+ |
'<option value="email">Champ email</option>'+ |
'<option value="textarea">Champ rédaction</option>'+ |
'<option value="select">Menu déroulant</option>'+ |
'<option value="checkbox">Cases à cocher</option>'+ |
'<option value="list-checkbox">Liste de cases à cocher</option>'+ |
'<option value="radio">Boutons radio</option>'+ |
'<option value="date">Calendrier</option>'+ |
'<option value="range">Curseur (entre 2 bornes)</option>'+ |
'<option value="number">Nombre</option>'+ |
'</select>'+ |
'</div>'+ |
// Checkbox "champ requis" |
'<div class="col-sm-12 radio mt-3">'+ |
'<label class="radio-label" for="field-is_mandatory" title="Ce champ est obligatoire">'+ |
'<input type="checkbox" name="field-is_mandatory" data-id="' + fieldIndex + '" class="field-is_mandatory form-control">'+ |
'Champ requis ?'+ |
'</label>'+ |
'</div>'+ |
// Unité des valeurs |
'<div class="col-sm-12 mt-3">'+ |
'<label for="field-unit" title="Unité de mesure de vos valeurs">Unités ( cm, kg, ha, etc.)</label>'+ |
'<input type="text" name="field-unit" data-id="' + fieldIndex + '" class="field-unit form-control" placeholder="symbole de vos unités">'+ |
'</div>'+ |
// Tooltip |
'<div class="col-sm-12 mt-3">'+ |
'<label for="field-description" title="Ajoutez une info-bulle">Info-bulle</label>'+ |
'<input type="text" name="field-description" data-id="' + fieldIndex + '" class="field-description form-control" placeholder="Quelques mots">'+ |
'</div>'+ |
// Import d'une image d'aide à afficher en popup |
'<div class="input-file-row row">'+ |
'<div class="input-file-container col-sm-10">'+ |
'<input type="file" class="input-file field-help" name="field-help' + fieldIndex + '" data-id="' + fieldIndex + '" id="help-doc-' + fieldIndex + '" accept="image/*">'+ |
'<label for="field-help' + fieldIndex + '" class="label-file"><i class="fas fa-download"></i> Popup aide image (.jpg)</label>'+ |
'</div>'+ |
'<div class="btn btn-danger btn-sm remove-file" name="remove-file" data-id="' + fieldIndex + '" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>'+ |
'<div class="file-return help-doc-' + fieldIndex + ' hidden"></div>'+ |
'</div>'+ |
// Boutons supprimer |
'<div class="col-sm-12 mt-3">'+ |
'<label for="remove-field">Supprimer</label>'+ |
'<div class="remove-field button" name="remove-field" data-id="' + fieldIndex + '" title="Supprimer un champ"><i class="fa fa-skull" aria-hidden="true"></i></div>'+ |
'</div>'+ |
'</div>'+ |
// Checkbox "champ requis" |
'<label for="field-is_mandatory" title="Ce champ est obligatoire">Champ requis ?</label>'+ |
'<input type="checkbox" name="field-is_mandatory" data-id="' + fieldIndex + '" class="field-is_mandatory">'+ |
// Unité des valeurs |
'<label for="field-unit" title="Unité de mesure de vos valeurs">Unités ( cm, kg, ha, etc.)</label>'+ |
'<input type="text" name="field-unit" data-id="' + fieldIndex + '" class="field-unit" placeholder="symbole de vos unités">'+ |
// Tooltip |
'<label for="field-description" title="Ajoutez une info-bulle">Info-bulle</label>'+ |
'<input type="text" name="field-description" data-id="' + fieldIndex + '" class="field-description" placeholder="Quelques mots">'+ |
// Import d'une image d'aide à afficher en popup |
'<div class="input-file-container">'+ |
'<input type="file" class="input-file field-help" name="field-help' + fieldIndex + '" data-id="' + fieldIndex + '" id="help-doc-' + fieldIndex + '" accept="image/*">'+ |
'<label for="field-help' + fieldIndex + '" class="label-file"><i class="fas fa-download"></i> Popup aide image (.jpg)</label>'+ |
'</div>'+ |
'<div class="remove-file button" name="remove-file" data-id="' + fieldIndex + '" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>'+ |
'<div class="file-return help-doc-' + fieldIndex + ' hidden"></div>'+ |
// Boutons supprimer |
'<label for="remove-field">Supprimer</label>'+ |
'<div class="remove-field button" name="remove-field" data-id="' + fieldIndex + '" title="Supprimer un champ"><i class="fa fa-skull" aria-hidden="true"></i></div>'+ |
'</fieldset>' |
); |
// Animation de l'affichage |
222,8 → 237,10 |
displayFieldDetailsCollect( |
fieldIndex, |
// Placeholder (champ type text par défaut) |
'<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ">Texte d\'aide à la saisie</label>'+ |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie" placeholder="Ce que doit contenir le champ">' |
'<div class="col-sm-12 mt-3">'+ |
'<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ">Texte d\'aide à la saisie</label>'+ |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir le champ">'+ |
'</div>' |
); |
// Sinon : |
$( '.field-element[data-id="' + fieldIndex + '"]' ).change( function() { |
237,26 → 254,41 |
// Html de recueil de données en fonction de l'élément choisi |
switch( $( this ).val() ) { |
case 'range': |
case 'number': |
case 'range': |
displayFieldDetailsCollect( |
fieldIndex, |
'<p class="message"><i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> Ne pas oublier de changer, si nécessaire, les valeurs step, min et max</p>' + |
'<p class="message">'+ |
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+ |
'Ne pas oublier de prévisualiser !!<br>'+ |
'Vérifier le bon fonctionnement et changer, si nécessaire, les valeurs de défaut, incrémentation (step), min et max.<br>'+ |
'Si le navigateur considère que certaines valeurs sont incohérentes il pourrait les modifier automatiquement'+ |
'</p>' + |
// Placeholder |
'<label for="aide-saisie" title="Deux ou 3 mots ou chiffres pour comprendre ce que doit contenir le champ (ex: min 20, 10 par 10, etc.)">Texte d\'aide à la saisie</label>'+ |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie" placeholder="Ce que doit contenir le champ">'+ |
'<div class="col-sm-12 mt-3">'+ |
'<label for="aide-saisie" title="Deux ou 3 mots ou chiffres pour comprendre ce que doit contenir le champ (ex: min 20, 10 par 10, etc.)">Texte d\'aide à la saisie</label>'+ |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir le champ">'+ |
'</div>'+ |
// Valeur par défaut |
'<label for="default" title="Valeur par défaut">Valeur par défaut</label>'+ |
'<input type="number" name="default" data-id="' + fieldIndex + '" class="default" step="0.01" lang="en">'+ |
'<div class="col-sm-12 mt-3">'+ |
'<label for="default" title="Valeur par défaut">Valeur par défaut</label>'+ |
'<input type="number" name="default" data-id="' + fieldIndex + '" class="default form-control" step="0.01" lang="en">'+ |
'</div>'+ |
// Incrémentation ( attribut step="" ) |
'<label for="step" title="De 10 en 10, de 0.5 en 0.5, etc.">Incrémentation (step) :<br>defaut = +1</label>'+ |
'<input type="number" name="step" data-id="' + fieldIndex + '" class="step" step="0.01" value="1" lang="en">'+ |
'<div class="col-sm-12 mt-3">'+ |
'<label for="step" title="De 10 en 10, de 0.5 en 0.5, etc.">Incrémentation (step)</label>'+ |
'<input type="number" name="step" data-id="' + fieldIndex + '" class="step form-control" step="0.01" value="1" lang="en">'+ |
'</div>'+ |
// Min |
'<label for="min" title="valeur min">Valeur minimale</label>'+ |
'<input type="number" name="min" data-id="' + fieldIndex + '" class="min" step="0.01" value="0" lang="en">'+ |
'<div class="col-sm-12 mt-3">'+ |
'<label for="min" title="valeur min">Valeur minimale</label>'+ |
'<input type="number" name="min" data-id="' + fieldIndex + '" class="min form-control" step="0.01" value="0" lang="en">'+ |
'</div>'+ |
// Max |
'<label for="max" title="valeur max">Valeur maximale</label>'+ |
'<input type="number" name="max" data-id="' + fieldIndex + '" class="max" step="0.01" value="1" lang="en">' |
'<div class="col-sm-12 mt-3">'+ |
'<label for="max" title="valeur max">Valeur maximale</label>'+ |
'<input type="number" name="max" data-id="' + fieldIndex + '" class="max form-control" step="0.01" value="1" lang="en">'+ |
'</div>' |
); |
break; |
264,11 → 296,15 |
displayFieldDetailsCollect( |
fieldIndex, |
// Date min |
'<label for="min" title="date min">Date minimale</label>'+ |
'<input type="date" name="min" data-id="' + fieldIndex + '" class="min" pattern="(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)" title="jj/mm/aaaa">'+ |
'<div class="col-sm-12 mt-3">'+ |
'<label for="min" title="date min">Date minimale</label>'+ |
'<input type="date" name="min" data-id="' + fieldIndex + '" class="min form-control" pattern="(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)" title="jj/mm/aaaa">'+ |
'</div>'+ |
// Date max |
'<label for="max" title="date max">Date maximale</label>'+ |
'<input type="date" name="max" data-id="' + fieldIndex + '" class="max" pattern="(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)" title="jj/mm/aaaa">' |
'<div class="col-sm-12 mt-3">'+ |
'<label for="max" title="date max">Date maximale</label>'+ |
'<input type="date" name="max" data-id="' + fieldIndex + '" class="max form-control" pattern="(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)" title="jj/mm/aaaa">'+ |
'</div>' |
); |
break; |
283,20 → 319,32 |
'Entrez au moins une valeur de ' + $( this ).children( 'option:selected' ).text() + |
'</p>'+ |
// Première option |
'<div class="new-value" data-list-value-id="' + valueIndex +'">'+ |
'<div class="new-value center-block row" data-list-value-id="' + valueIndex +'">'+ |
// Recueil d'une valeur de la liste |
'<label for="list-value">Valeur *:</label>'+ |
'<input type="text" name="list-value" data-id="' + fieldIndex + '" class="list-value" data-list-value-id="' + valueIndex +'" placeholder="Une des valeurs de la liste" required>'+ |
'<div class="col-sm-12 mt-3">'+ |
'<label for="list-value">Valeur *:</label>'+ |
'<input type="text" name="list-value" data-id="' + fieldIndex + '" class="list-value form-control" data-list-value-id="' + valueIndex +'" placeholder="Une des valeurs de la liste" required>'+ |
'</div>' + |
// Checkbox valeur par défaut |
'<label for="is-defaut-value" title="Ceci est la valeur par défaut">Valeur par défaut</label>'+ |
'<input type="checkbox" name="is-defaut-value" data-id="' + fieldIndex + '" class="is-defaut-value" title="entrez une valeur pour activer cette case" data-list-value-id="' + valueIndex +'" disabled >'+ |
'<div class="col-sm-12 radio mt-3">'+ |
'<label for="is-defaut-value" title="Ceci est la valeur par défaut" class="radio-label">'+ |
'<input type="checkbox" name="is-defaut-value" data-id="' + fieldIndex + '" class="is-defaut-value" title="entrez une valeur pour activer cette case" data-list-value-id="' + valueIndex +'" disabled >'+ |
'Valeur par défaut'+ |
'</label>'+ |
'</div>' + |
'</div>' + |
// Bouton ajout d'une valeur à la liste |
'<label for="add-value" class="add-value" data-id="' + fieldIndex + '" title="Ajouter une valeur à la liste">Ajouter une valeur</label>'+ |
'<div class="button add-value-button" name="add-value" data-id="' + fieldIndex + '" title="Ajouter une valeur à la liste"><i class="fa fa-puzzle-piece" aria-hidden="true"></i></div>'+ |
'<div class="col-sm-12 mt-3 add-value-container" data-id="' + fieldIndex + '">'+ |
'<label for="add-value" class="add-value" data-id="' + fieldIndex + '" title="Ajouter une valeur à la liste">Ajouter une valeur</label>'+ |
'<div class="button add-value-button" name="add-value" data-id="' + fieldIndex + '" title="Ajouter une valeur à la liste"><i class="fa fa-puzzle-piece" aria-hidden="true"></i></div>'+ |
'</div>' + |
// checkbox ajouter une valeur "Autre:" |
'<label for="option-other-value" title="Ajouter une option \'Autre:\' à la fin">Valeur "Autre"</label>'+ |
'<input type="checkbox" name="option-other-value" data-id="' + fieldIndex + '" class="option-other-value" title="Ajouter une option \'Autre\' à la fin">' |
'<div class="col-sm-12 radio mt-3">'+ |
'<label for="option-other-value" title="Ajouter une option \'Autre:\' à la fin" class="radio-label">'+ |
'<input type="checkbox" name="option-other-value" data-id="' + fieldIndex + '" class="option-other-value" title="Ajouter une option \'Autre\' à la fin">'+ |
'Valeur "Autre"'+ |
'</label>'+ |
'</div>' |
); |
break; |
307,8 → 355,10 |
displayFieldDetailsCollect( |
fieldIndex, |
// Placeholder |
'<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ">Texte d\'aide à la saisie</label>'+ |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie" placeholder="Ce que doit contenir le champ">' |
'<div class="col-sm-12 mt-3">'+ |
'<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ">Texte d\'aide à la saisie</label>'+ |
'<input type="text" name="aide-saisie form-control" data-id="' + fieldIndex + '" class="aide-saisie" placeholder="Ce que doit contenir le champ">'+ |
'</div>' |
); |
break; |
} |
321,7 → 371,7 |
// Insertion dans le dom des champs de recueil d'informations |
function displayFieldDetailsCollect( fieldIndex , fieldDetails ) { |
$( '.add-field-select[data-id="' + fieldIndex + '"]' ).after( |
'<div class="field-details" data-id="' + fieldIndex + '">' + |
'<div class="field-details col-sm-11 mt-3 row" data-id="' + fieldIndex + '">' + |
fieldDetails + |
'</div>' |
).hide().show( 200); |
333,23 → 383,26 |
function onClickAddNewValueToList( fieldIndex , valueIndex ) { |
$( '.add-value-button[data-id="' + fieldIndex + '"]' ).click( function() { |
valueIndex++; |
$( '.add-value[data-id="' + fieldIndex + '"]' ).before( |
'<div class="new-value" data-list-value-id="' + valueIndex +'">'+ |
$( '.add-value-container[data-id="' + fieldIndex + '"]' ).before( |
'<div class="new-value center-block row" data-list-value-id="' + valueIndex +'">'+ |
// Recueil d'une valeur de la liste |
'<label for="list-value">Valeur *:</label>'+ |
'<input type="text" name="list-value" data-id="' + fieldIndex + '" class="list-value" data-list-value-id="' + valueIndex +'" placeholder="Une des valeurs de la liste" required>'+ |
'<div class="col-sm-12 mt-3">'+ |
'<label for="list-value">Valeur *:</label>'+ |
'<input type="text" name="list-value" data-id="' + fieldIndex + '" class="list-value form-control" data-list-value-id="' + valueIndex +'" placeholder="Une des valeurs de la liste" required>'+ |
'</div>' + |
// Checkbox valeur par défaut+bouton supprimer |
'<div class="row">'+ |
'<div class="col-md-5">'+ |
// Valeur par défaut |
'<label for="is-defaut-value" title="Ceci est la valeur par défaut">Valeur par défaut</label>'+ |
'<input type="checkbox" name="is-defaut-value" data-id="' + fieldIndex + '" class="is-defaut-value" title="entrez une valeur pour activer cette case" data-list-value-id="' + valueIndex +'" disabled >'+ |
'</div>'+ |
'<div class="col-md-5">'+ |
// Bouton supprimer une option |
'<label for="remove-value">supprimer valeur</label>'+ |
'<div class="col-sm-12 mt-3 row">'+ |
// Bouton supprimer une option |
'<div class="col-sm-5">'+ |
'<div class="remove-value button" name="remove-value" data-id="' + fieldIndex + '" data-list-value-id="' + valueIndex + '" title="Supprimer une valeur"><i class="fa fa-trash" aria-hidden="true"></i></div>'+ |
'</div>'+ |
// Valeur par défaut |
'<div class="col-sm-7 radio">'+ |
'<label for="is-defaut-value" title="Ceci est la valeur par défaut" class="radio-label">'+ |
'<input type="checkbox" name="is-defaut-value" data-id="' + fieldIndex + '" class="is-defaut-value" title="entrez une valeur pour activer cette case" data-list-value-id="' + valueIndex +'" disabled >'+ |
'Valeur défaut'+ |
'</label>'+ |
'</div>'+ |
'</div>'+ |
'</div>' |
).hide().show( 200); |
363,11 → 416,11 |
// Activer la checkbox de valeur par default uniquement si une valeur est entrée |
function onInputListValueLabelEnableDefaultCheckbox() { |
$( '#new-fields' ).on( 'input' , '.list-value' , function() { |
var thisValue = $( this ).parent( '.new-value' ); |
var $thisDefautValue = $( '.is-defaut-value[data-id="' + $( this ).data( 'id' ) + '"][data-list-value-id="' + $( this ).data( 'list-value-id' ) + '"]' ); |
if( '' !== $( this ).val() ) { |
$( '.is-defaut-value', thisValue ).removeAttr( 'disabled' ); |
$thisDefautValue.removeAttr( 'disabled' ); |
} else { |
$( '.is-defaut-value', thisValue ).attr( 'disabled', true ).attr( 'checked' , false ); |
$thisDefautValue.attr( 'disabled', true ).attr( 'checked' , false ); |
} |
}); |
} |
410,7 → 463,7 |
for(var index = 0 ; index < count ; index++) { |
let thisFieldKey = $( '.field-key[data-id="' + index + '"]' ); |
// Le champ avec cet index paourrait avoir été supprimé |
// Le champ avec cet index pourrait avoir été supprimé |
if( 0 < thisFieldKey.length ) { |
for( var otherIndex = 0 ; otherIndex < count ; otherIndex++ ) { |
let otherFieldKey = $( '.field-key[data-id="' + otherIndex + '"]' ); |
611,7 → 664,6 |
} |
// Copie d'un champ de fichier d'aide dans le bloc d'envoi |
if( 0 < $( '.field-help' , thisFieldset ).get(0).files.length ) { |
console.log( $( '.field-help' , thisFieldset ).get(0).files[0].type ); |
// Présence d'un document d'aide |
datasToSubmit[ resultArrayIndex ].help = $( '.field-help' , thisFieldset ).get(0).files[0].type; |
$( '.field-help' , thisFieldset ).clone() |
739,10 → 791,14 |
function DisplayClassicFields() { |
// Affichage du titre du widget |
renderFields( $( '#titre' ) , $( '.widget-renderer h1' ) ); |
// Affichage du nom du projet |
renderFields( $( '#projet' ) , $( '.projet-description' )); |
// Affichage de la description |
renderFields( $( '#description' ) , $( '.preview-description' ) ); |
// Affichage referentiel |
$( '#label-taxon span' ).text( ' (' + $( '#referentiel' ).val() + ')' ); |
$( '#referentiel' ).change( function() { |
$( '#label-taxon span' ).text( ' (' + $( this ).val() + ')' ); |
}); |
// Affichage du logo s'il existe déjà |
if( 0 !== $( '#logo' ).val().length || $( '#logo' )[0].defaultValue ) { |
$( '#preview-logo' ).append( |
770,7 → 826,7 |
// Affichage de l'image de fond |
$('#image_fond.input-file').change( function ( event ) { |
if( !$.isEmptyObject( event.target.files[0] ) ) { |
$( '.widget-renderer' ).css('background' ,'url(' + URL.createObjectURL( event.target.files[0] ) + ') no-repeat center'); |
$( '.widget-renderer' ).css('background' ,'url(' + URL.createObjectURL( event.target.files[0] ) + ') no-repeat fixed center center'); |
} else { |
$( '.widget-renderer' )[0].style.removeProperty( 'background' ); |
} |
863,9 → 919,9 |
// Attribut required pour le listes |
commonFieldsHtml.fieldInput.mandatoryAttr = ' required="required"'; |
// Nom du champ (éléments listes) |
listFieldsHtml.containerContent += ' *'; |
listFieldsHtml.containerContent = '* ' + listFieldsHtml.containerContent; |
// Nom du champ (éléments simples) |
commonFieldsHtml.fieldLabel.labelContent += ' *'; |
commonFieldsHtml.fieldLabel.labelContent = '* ' + commonFieldsHtml.fieldLabel.labelContent; |
} |
// Infobulle |
if( '' !== fieldTooltip ) { |
878,7 → 934,7 |
// Fichier d'aide |
if( '' !== fieldHelp ) { |
// Bouton 'aide' |
commonFieldsHtml.helpButton = '<div class="button help-button"><i class="fas fa-info-circle"></i></div>'; |
commonFieldsHtml.helpButton = '<div class="help-button btn btn-outline-info btn-sm border-0"><i class="fas fa-info-circle"></i></div>'; |
// classe 'aide' |
commonFieldsHtml.helpClass = ' and-help'; |
} |
887,6 → 943,7 |
case 'checkbox' : |
case 'radio' : |
listFieldsHtml.containerClass = ' class="' + fieldElement +'"'; |
commonFieldsHtml.fieldLabel.classAttr = ' class="radio-label"'; |
fieldHtml = |
// Conteneur |
'<div' + |
901,12 → 958,12 |
' >'+ |
// Nom du champ |
// Classe 'and-help' |
'<div class="list-label' + commonFieldsHtml.helpClass + '">' + |
'<div class="mt-3 list-label' + commonFieldsHtml.helpClass + '">' + |
// Label |
listFieldsHtml.containerContent + |
'</div>' + |
// Bouton 'help' |
commonFieldsHtml.helpButton; |
// Bouton 'help' |
commonFieldsHtml.helpButton + |
'</div>'; |
// On déroule les différentes valeurs |
for( let i = 0; i < count; i++ ) { |
let fieldOption = fieldOptions[i]; |
930,8 → 987,8 |
listFieldsHtml.forAttr + |
// value-id |
listFieldsHtml.optionIdAttr + |
// Class="nom du champ" |
commonFieldsHtml.fieldInput.classAttr + |
// Class du label |
commonFieldsHtml.fieldLabel.classAttr + |
'>' + |
'<input' + |
// Type |
960,10 → 1017,11 |
fieldHtml += |
'<label for="other"' + |
commonFieldsHtml.dataIdAttr + |
commonFieldsHtml.fieldLabel.classAttr + |
'>' + |
'<input' + |
commonFieldsHtml.fieldInput.typeAttr + |
' id="other"' + |
' id="other-' + fieldElement + '-' + index + '"' + |
commonFieldsHtml.fieldInput.nameAttr + |
' value="other"' + |
commonFieldsHtml.fieldInput.classAttr + |
976,9 → 1034,10 |
break; |
case 'list-checkbox': |
commonFieldsHtml.fieldLabel.classAttr = ' class="radio-label"'; |
fieldHtml = |
// Classe 'and-help' |
'<div class="multiselect ' + fieldElement + commonFieldsHtml.helpClass + '"' + |
'<div class="multiselect add-field-select' + commonFieldsHtml.helpClass + '"' + |
// DataId |
commonFieldsHtml.dataIdAttr + |
'>' + |
985,28 → 1044,33 |
'<label>' + |
// Nom du champ |
listFieldsHtml.containerContent + |
// Bouton 'help' |
commonFieldsHtml.helpButton + |
'</label>' + |
'<div class="selectBox"' + |
// DataId |
commonFieldsHtml.dataIdAttr + |
'>' + |
'<select' + |
'<div class="mt-3">'+ |
'<div class="selectBox"' + |
// DataId |
commonFieldsHtml.dataIdAttr + |
// Required |
commonFieldsHtml.fieldInput.mandatoryAttr + |
// Info bulle |
commonFieldsHtml.titleAttr + |
'>' + |
// Apparait dans la barre de sélection |
'<option>Plusieurs choix possibles</option>' + |
'</select>' + |
'<div class="overSelect"></div>' + |
'</div>' + |
'<div class="checkboxes hidden"' + |
// DataId |
commonFieldsHtml.dataIdAttr + |
'>'; |
'<select' + |
// DataId |
commonFieldsHtml.dataIdAttr + |
// Required |
commonFieldsHtml.fieldInput.mandatoryAttr + |
// Info bulle |
commonFieldsHtml.titleAttr + |
// Class |
' class="form-control ' + fieldElement + '"' + |
'>' + |
// Apparait dans la barre de sélection |
'<option>Plusieurs choix possibles</option>' + |
'</select>' + |
'<div class="overSelect"></div>' + |
'</div>' + |
'<div class="checkboxes hidden"' + |
// DataId |
commonFieldsHtml.dataIdAttr + |
'>'; |
// On déroule les différentes valeurs |
for( let i = 0; i < count; i++ ) { |
let fieldOption = fieldOptions[i]; |
1032,6 → 1096,8 |
listFieldsHtml.forAttr + |
// value-id |
listFieldsHtml.optionIdAttr + |
// Class du label |
commonFieldsHtml.fieldLabel.classAttr+ |
'>' + |
'<input type="checkbox"' + |
// Id |
1061,7 → 1127,7 |
commonFieldsHtml.dataIdAttr + |
'>' + |
'<input type="checkbox"' + |
' id="other"' + |
' id="other-' + fieldElement + '-' + index + '"' + |
commonFieldsHtml.fieldInput.nameAttr + |
' value="other"' + |
commonFieldsHtml.fieldInput.classAttr + |
1072,28 → 1138,31 |
} |
// Fermeture des conteneurs .multiselect .checkboxes |
fieldHtml += |
'</div>'+ |
'</div>' + |
// Bouton 'help' |
commonFieldsHtml.helpButton; |
'</div>'+ |
'</div>'+ |
'</div>'; |
break; |
case 'select': |
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1); |
commonFieldsHtml.fieldInput.classAttr += ' form-control"'; |
fieldHtml = |
'<label' + |
commonFieldsHtml.fieldLabel.forAttr + |
// Info bulle |
commonFieldsHtml.titleAttr + |
'>' + |
// Nom du champ |
listFieldsHtml.containerContent + |
'</label>' + |
// Conteneur/Wrapper |
// +Classe 'and-help' |
'<div class="select-wrapper add-field-select ' + fieldElement + commonFieldsHtml.helpClass + '"' + |
'<div class="add-field-select ' + fieldElement + commonFieldsHtml.helpClass + '"' + |
// DataID |
commonFieldsHtml.dataIdAttr + |
'>' + |
'<label class="mt-3"' + |
commonFieldsHtml.fieldLabel.forAttr + |
// Info bulle |
commonFieldsHtml.titleAttr + |
'>' + |
// Nom du champ |
listFieldsHtml.containerContent + |
// Bouton 'help' |
commonFieldsHtml.helpButton + |
'</label>' + |
'<select' + |
commonFieldsHtml.fieldInput.nameAttr + |
' id="' + fieldKey + '"' + |
1142,14 → 1211,16 |
fieldHtml += |
'</select>' + |
// Fin du conteneur/wrapper |
'</div>' + |
// Bouton 'help' |
commonFieldsHtml.helpButton; |
'</div>'; |
break; |
case 'textarea': |
// Ouvrir l'attribut class (suppression de '"') |
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1); |
// Classe 'custom-range' |
commonFieldsHtml.fieldInput.classAttr += ' form-control"'; |
// Classe 'and-help' |
commonFieldsHtml.fieldLabel.classAttr = ' class="' + commonFieldsHtml.helpClass + '"'; |
commonFieldsHtml.fieldLabel.classAttr = ' class="mt-3 ' + commonFieldsHtml.helpClass + '"'; |
// Autres attributs |
commonFieldsHtml.fieldInput.otherAttr += ' id="' + fieldKey + '"'; |
1166,9 → 1237,9 |
'>' + |
// Nom du champ |
commonFieldsHtml.fieldLabel.labelContent + |
// Bouton 'help' |
commonFieldsHtml.helpButton + |
'</label>' + |
// Bouton 'help' |
commonFieldsHtml.helpButton + |
'<textarea' + |
// Name |
commonFieldsHtml.fieldInput.nameAttr + |
1188,8 → 1259,12 |
break; |
case 'range': |
// Ouvrir l'attribut class (suppression de '"') |
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1); |
// Classe 'custom-range' |
commonFieldsHtml.fieldInput.classAttr += ' custom-range form-control pl-3"'; |
// Classe 'and-help' |
commonFieldsHtml.fieldLabel.classAttr = ' class="' + commonFieldsHtml.helpClass + '"'; |
commonFieldsHtml.fieldLabel.classAttr = ' class="mt-3 ' + commonFieldsHtml.helpClass + '"'; |
// Step |
if( '' !== fieldStep ) { |
commonFieldsHtml.fieldInput.otherAttr += ' step="' + fieldStep + '"'; |
1202,7 → 1277,6 |
if( '' !== fieldMax ) { |
commonFieldsHtml.fieldInput.otherAttr += ' max="' + fieldMax + '"'; |
} |
fieldHtml = |
'<div' + |
' class="range"' + |
1220,40 → 1294,40 |
'>' + |
// Nom du champ |
commonFieldsHtml.fieldLabel.labelContent + |
// Bouton 'help' |
commonFieldsHtml.helpButton + |
'</label>' + |
// Bouton 'help' |
commonFieldsHtml.helpButton + |
'<input' + |
// Type |
commonFieldsHtml.fieldInput.typeAttr + |
// Name |
commonFieldsHtml.fieldInput.nameAttr + |
// DataId |
commonFieldsHtml.dataIdAttr + |
// Class |
commonFieldsHtml.fieldInput.classAttr + |
// Info-bulle |
commonFieldsHtml.titleAttr + |
// Required |
commonFieldsHtml.fieldInput.mandatoryAttr + |
// Default |
' value="' + fieldDefaultNum + '"' + |
// Autres attributs |
commonFieldsHtml.fieldInput.otherAttr + |
'>' + |
'<input' + |
' type="number"' + |
' name="' + fieldKey + 'Output"' + |
// Info-bulle |
commonFieldsHtml.titleAttr + |
// Placeholder |
commonFieldsHtml.fieldInput.placeholderAttr + |
' value="' + fieldDefaultNum + '"' + |
// Autres attributs |
commonFieldsHtml.fieldInput.otherAttr + |
// DataId |
commonFieldsHtml.dataIdAttr + |
'>' + |
'<div class="col-sm-12 row" style="max-width=100%">' + |
// Visualiser min max et la valeur de range |
'<p class="col-sm-2 range-values text-center font-weight-bold">'+ |
'Min ' + fieldMin + |
'</p>'+ |
'<div class="range-live-value range-values text-center font-weight-bold col-sm-7">'+ |
fieldDefaultNum + |
'</div>'+ |
'<p class="col-sm-2 range-values text-center font-weight-bold">'+ |
'Max ' + fieldMax + |
'</p>' + |
'<input' + |
// Type |
commonFieldsHtml.fieldInput.typeAttr + |
// Name |
commonFieldsHtml.fieldInput.nameAttr + |
// DataId |
commonFieldsHtml.dataIdAttr + |
// Class |
commonFieldsHtml.fieldInput.classAttr + |
// Info-bulle |
commonFieldsHtml.titleAttr + |
// Required |
commonFieldsHtml.fieldInput.mandatoryAttr + |
// Default |
' value="' + fieldDefaultNum + '"' + |
// Autres attributs |
commonFieldsHtml.fieldInput.otherAttr + |
'>' + |
'</div>' |
'</div>'; |
break; |
1266,7 → 1340,7 |
// Ouvrir l'attribut class (suppression de '"') |
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1); |
// Classe 'and-help' |
commonFieldsHtml.fieldInput.classAttr += commonFieldsHtml.helpClass + '"'; |
commonFieldsHtml.fieldInput.classAttr += commonFieldsHtml.helpClass + ' form-control"'; |
// Min |
if( '' !== fieldMin ) { |
commonFieldsHtml.fieldInput.otherAttr += ' min="' + fieldMin + '"'; |
1275,6 → 1349,8 |
if( '' !== fieldMax ) { |
commonFieldsHtml.fieldInput.otherAttr += ' max="' + fieldMax + '"'; |
} |
// Class du label |
commonFieldsHtml.fieldLabel.classAttr = 'class="mt-3"'; |
fieldHtml = |
'<div class="number">' + |
'<label' + |
1289,6 → 1365,8 |
'>' + |
// Nom du champ |
commonFieldsHtml.fieldLabel.labelContent + |
// Bouton 'help' |
commonFieldsHtml.helpButton + |
'</label>' + |
'<input' + |
// Type |
1310,8 → 1388,6 |
// Autres attributs |
commonFieldsHtml.fieldInput.otherAttr + |
'>' + |
// Bouton 'help' |
commonFieldsHtml.helpButton + |
'</div>'; |
break; |
1321,7 → 1397,9 |
// Ouvrir l'attribut class (suppression de '"') |
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1); |
// Classe 'and-help' |
commonFieldsHtml.fieldInput.classAttr += commonFieldsHtml.helpClass + '"'; |
commonFieldsHtml.fieldInput.classAttr += commonFieldsHtml.helpClass + ' form-control"'; |
// Class du label |
commonFieldsHtml.fieldLabel.classAttr = 'class="mt-3"'; |
fieldHtml = |
'<label' + |
1336,6 → 1414,8 |
'>' + |
// Nom du champ |
commonFieldsHtml.fieldLabel.labelContent + |
// Bouton 'help' |
commonFieldsHtml.helpButton + |
'</label>' + |
'<input' + |
// Type |
1354,9 → 1434,7 |
commonFieldsHtml.fieldInput.mandatoryAttr + |
// Autres attributs |
commonFieldsHtml.fieldInput.otherAttr + |
'>' + |
// Bouton 'help' |
commonFieldsHtml.helpButton; |
'>'; |
break; |
} |
return fieldHtml; |
1386,18 → 1464,19 |
function onOtherOption( thisFieldset , index ) { |
// Ce champ (dans la prévisualisation) |
var thisPreviewFieldset = $( '.preview-fields[data-id="' + index + '"]'), |
//L'élément choisi |
// L'élément choisi |
element = $('.field-element' , thisFieldset ).val(), |
// Où insérer le champ "Autre" |
$element = $( '.' + element , thisPreviewFieldset ), |
// html du champ "Autre" |
collectOther = |
'<label data-id="' + index + '" for="collect-other">Autre option :</label>' + |
'<input type="text" name="collect-other" data-id="' + index + '" class="collect-other" >'; |
'<div class="col-sm-12 mt-1 collect-other-block">'+ |
'<label data-id="' + index + '" for="collect-other" style="font-weight:300">Autre option :</label>' + |
'<input type="text" name="collect-other" data-id="' + index + '" class="collect-other form-control" >'+ |
'</div>'; |
// Pouvoir supprimer le champ "Autre" |
function optionRemove( thisPreviewFieldset ) { |
$( 'label[for="collect-other"]' , thisPreviewFieldset ).remove(); |
$( 'input.collect-other' , thisPreviewFieldset ).remove(); |
$( '.collect-other-block' , thisPreviewFieldset ).remove(); |
} |
switch( element ) { |
1427,12 → 1506,23 |
}); |
break; |
case 'checkbox' : |
case 'list-checkbox' : |
// Lorsque "Autre" est coché |
$( 'input#other' , thisPreviewFieldset ).on( 'click' , function () { |
$( 'input#other-' + element + '-' + index, thisPreviewFieldset ).on( 'click' , function () { |
// Insertion du champ "Autre" après les boutons |
if( $( this ).is( ':checked' ) ) { |
$( '.checkboxes', thisPreviewFieldset ).append( collectOther ); |
} else { |
// Suppression du champ autre |
optionRemove( thisPreviewFieldset ); |
} |
}); |
break; |
case 'checkbox' : |
// Lorsque "Autre" est coché |
$( 'input#other-' + element + '-' + index, thisPreviewFieldset ).on( 'click' , function () { |
// Insertion du champ "Autre" après les boutons |
if( $( this ).is( ':checked' ) ) { |
$element.after( collectOther ); |
} else { |
// Suppression du champ autre |
1469,7 → 1559,7 |
if( 0 < $( thisFieldset ).length ) { |
// Prévisualisation d'un champ |
$( '#zone-supp .preview-container' ).append( |
'<div class="preview-fields" data-id="' + index + '">'+ |
'<div class="preview-fields col-sm-12 row" data-id="' + index + '">'+ |
onClickPreviewField( thisFieldset , index ) + |
'</div>' |
); |
1502,7 → 1592,7 |
// Sortie avec la touche escape |
$( '#help-modal' ).modal( { keyboard : true } ); |
// Affichage |
$( '#help-modal' ).modal( 'show' ); |
$( '#help-modal' ).modal({ show: true }); |
// Remplacer l'autofocus qui ne fonctionne plus en HTML5 |
// Message dans la doc de bootstrap : |
// Due to how HTML5 defines its semantics, |
1529,7 → 1619,15 |
// de la prévisualisation pour les nouveaux champs |
var firstClick = true; |
// Positionnement de la prévisualisation |
$( window ).ready( function() { |
}); |
jQuery( document ).ready( function() { |
// reset de tous les formulaires |
$( 'form' ).each( function() { |
$( this )[0].reset(); |
}); |
// Identifiant de champ |
var fieldIndex = 0; |
// Ajout de nouveaux champs |
/trunk/widget/modules/manager/Manager.php |
---|
138,8 → 138,9 |
} |
$json = $this->getDao()->consulter( $url ); |
$retour['donnees']['widget'] = (array) json_decode( $json, true ); |
$retour['donnees']['widgetUrlTpl'] = $this->config['manager']['widgetUrlTpl']; |
$retour['donnees']['widget'] = (array) json_decode( $json, true ); |
$retour['donnees']['widgetUrlTpl'] = $this->config['manager']['widgetUrlTpl']; |
$retour['donnees']['chemin_images'] = sprintf( $this->config['chemins']['baseURLAbsoluDyn'], $this->config['manager']['dossierTmp'] ); |
return $retour; |
} |
220,7 → 221,6 |
private function traiterDonneesFiles() { |
$return = array(); |
$dossier_url = __DIR__ . '/squelettes/img/images_projets/' . $_POST['projet'] . '/'; |
$transmettre_donnees = false; |
$files_names = array(); |
$help_files_names = array(); |
229,6 → 229,8 |
"L\'extention de l\'image pour " . $nom . " n\'est pas bonne". |
", formats acceptés : png, gif, jpg, jpeg, ou csv.". |
"</div>"; |
$image_projet_langue = ( $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : ''; |
$dossier_url = __DIR__ . '/squelettes/img/images_projets/' . $_POST['projet'] . $image_projet_langue . '/'; |
foreach ( array_keys( $_FILES ) as $file ) { |