123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- <?php
- global $myUser;
- User::check_access('dynamicform','read');
- require_once(__DIR__.SLASH.'DynamicForm.class.php');
- $dynamicform = DynamicForm::provide();
- $defaultType = base64_encode(json_encode(FieldType::available('text')));
- ?>
- <div class="dynamicform">
- <div id="dynamic-form-form" class="row dynamic-form-form" data-default-type="<?php echo $defaultType; ?>" data-action="dynamicform_form_save" data-id="<?php echo $dynamicform->id; ?>">
- <div class="col-md-12">
- <h3>Formulaire</h3>
- <div class="row">
- <div class="input-group col-md-6">
- <div class="input-group-text input-group-prepend">Libellé</div>
- <input id="label" name="label" class="form-control" placeholder="" value="<?php echo $dynamicform->label; ?>" type="text">
- <input id="color" name="color" data-type="color" title="Couleur" class="form-control" placeholder="" value="<?php echo $dynamicform->color; ?>" type="text">
- <input id="icon" name="icon" data-type="icon" class="form-control" placeholder="" value="<?php echo $dynamicform->icon; ?>" type="text">
- </div>
- <div class="input-group col-md-6">
- <div class="input-group-text input-group-prepend"><input id="allFirm" name="allFirm" <?php if(!$myUser->can('dynamicForm','configure')) echo 'readonly="readonly"'; ?> type="checkbox" data-type="checkbox" <?php echo $dynamicform->firm == 0 ? 'checked="checked"': ''; ?> >Disponible pour tout les établissements</div>
- <div class="input-group-text input-group-prepend ml-1">Slug</div>
- <input id="slug" name="slug" <?php if(!$myUser->can('dynamicForm','configure')) echo 'readonly="readonly"'; ?> class="form-control" placeholder="" value="<?php echo $dynamicform->slug; ?>" type="text">
- <div onclick="dynamicform_form_save();" class="btn btn-success"><i class="fas fa-check"></i> Enregistrer</div>
- </div>
- </div>
- <br/>
- </div>
- </div>
- <div id="form-layout" class="form-layout" >
- <template id="layout-row">
- <div class="row">
- <div class="col-md column">
- <ul class="fields"></ul>
- <div class="btn btn-primary btn-field-add shadow-sm p-2 pointer d-inline-block w-100"><i class="fas fa-plus"></i> Ajouter un champ</div>
- <ul class="layout-column-menu">
- <li class="btn-layout btn-column-add" title="Ajouter une colonne"><i class="fas fa-plus"></i></li>
- <li class="btn-layout btn-column-remove" title="Supprimer une colonne"><i class="fas fa-times"></i></li>
- </ul>
- </div>
- <ul class="layout-row-menu">
- <li class="btn-layout btn-row-add" title="Ajouter une ligne"><i class="fas fa-plus"></i></li>
- <li class="btn-layout btn-row-remove" title="Supprimer une ligne"><i class="fas fa-times"></i></li>
- </ul>
- </div>
- </template>
- <template id="field-template">
- <li
- data-id="{{id}}"
- data-label="{{label}}"
- data-type="{{type.slug}}"
- data-description="{{description}}"
- data-mandatory="{{mandatory}}"
- data-readonly="{{readonly}}"
- data-default="{{default}}"
- data-slug="{{slug}}"
- data-meta="{{meta}}"
- class="shadow-sm bg-white p-2 mb-2 field">
- <span class="font-weight-bold"><i title="Type {{type.label}}" class="{{type.icon}}"></i> {{label}}</span>
- <small class="text-muted">{{description}}</small>
- <span class="mandatory badge badge-pill badge-warning"><i class="fas fa-exclamation-triangle"></i> Obligatoire</span>
- <span class="readonly badge badge-pill badge-light"><i class="fas fa-eye"></i> Lecture seule</span>
- {{#default}}<span class="badge">Valeur défaut : {{default}}</span>{{/default}}
- <span class="right">
- <div class="btn-group btn-group-sm" role="group">
- <div class="btn btn-field-edit text-muted my-0 py-0 pointer" title="Éditer ce champ" href=""><i class="fas fa-ellipsis-v"></i></div>
- <div class="btn btn-field-move text-muted my-0 py-0" title="Déplacer ce champ"><i class="fas fa-arrows-alt"></i></div>
- <div class="btn btn-field-remove text-danger my-0 py-0" title="Supprimer ce champ"><i class="far fa-trash-alt"></i></div>
- </div>
- </span>
- <div class="clear"></div>
- </li>
- </template>
- </div>
- </div>
- <div class="dynamic-field-panel bg-white shadow p-3 fold" id="dynamic-field-form">
- <h5 class="text-muted"><i class="fas fa-bars"></i> Propriétés <i class="far fa-times-circle right pointer" onclick="$('.dynamic-field-panel').addClass('fold');"></i></h5>
- <div class="dynamic-field-main">
- <div class="input-group mb-2">
- <div class="input-group-prepend">
- <label class="input-group-text" for="label">Libellé</label>
- </div>
- <input id="label" name="label" class="form-control label" placeholder="" value="" type="text">
- </div>
- <div class="input-group mb-2">
- <div class="input-group-prepend">
- <label class="input-group-text" for="type">Type</label>
- </div>
- <select class="form-control select-control" name="type" id="type" onchange="dynamicform_fieldtype_change();">
- <?php
- $availableTypes = array();
- foreach(FieldType::available() as $key=>$type)
- $availableTypes[$key] = $type;
- uasort($availableTypes, function($a,$b){
- return $a->label > $b->label;
- });
- foreach($availableTypes as $type):
- ?>
- <option data-options="<?php echo base64_encode(json_encode($type)); ?>" value="<?php echo $type->slug; ?>"><?php echo $type->label; ?></option>
- <?php endforeach; ?>
- </select>
- </div>
- <label for="mandatory">
- <input type="checkbox" name="mandatory" id="mandatory" data-type="checkbox"> Obligatoire</label>
- <label for="readonly">
- <input type="checkbox" name="readonly" id="readonly" data-type="checkbox"> Lecture seule</label>
- <br/>
- <div class="input-group mb-2">
- <div class="input-group-prepend">
- <label for="default" class="input-group-text">Valeur par défaut</label>
- </div>
- <input id="default" name="default" class="form-control" placeholder="" value="" type="text">
- </div>
- <div class="input-group mb-2">
- <div class="input-group-prepend">
- <label class="input-group-text" for="description">Description</label>
- </div>
- <input id="description" name="description" class="form-control" placeholder="" value="" type="text">
- </div>
- <div class="btn btn-link align-center w-100 mt-2" onclick="$(this).next('.advanced').toggleClass('hidden')">PARAMETRES AVANCÉS</div>
- <div class="advanced hidden">
- <div class="input-group mb-2">
- <div class="input-group-prepend">
- <label class="input-group-text" for="slug">Slug</label>
- </div>
- <input id="slug" name="slug" class="form-control" <?php if(!$myUser->can('dynamicForm','configure')) echo 'readonly="readonly"'; ?> placeholder="" value="" type="text">
- </div>
- <label class="font-weight-bold mt-2">OPTION DE RECHERCHES</label>
- <label><input type="checkbox" data-type="checkbox" id="show-filter">Afficher dans les filtres de recherche</label><br/>
- <label class="font-weight-bold text-muted mt-2">Désactiver les opérateurs de recherche suivants</label>
- <div id="deleted-operators">
- <?php
- global $databases_credentials;
- $connector = $databases_credentials['local']['connector'];
- foreach($connector::operators() as $uid=>$operator): ?>
- <label><input type="checkbox" data-type="checkbox" value="<?php echo $uid ?>"><?php echo $operator["label"].' ('.$uid.')' ?></label><br/>
- <?php endforeach; ?>
- </div>
- </div>
- </div>
- <div class="dynamic-field-settings"></div>
- <div onclick="dynamicform_field_save();" class="btn btn-success w-100 mt-2"><i class="fas fa-check"></i> Enregistrer</div>
- </div>
|