<commit_before><!-- MODAL HEADER -->
<div class="modal-header">

  <div id="title">
      <h5 class="main-color "> {{ selectedObsTaxonDetail?.nom_vern }} - {{ selectedObsTaxonDetail?.nom_valide }} </h5>
      <div id="inpn">
        <a target="_blank " href="https://inpn.mnhn.fr/espece/cd_nom/{{ selectedObsTaxonDetail?.cd_nom }} ">
          <button type="button"  *ngIf="oneObsSynthese?.url_source" class="btn btn-light">
            Voir la fiche INPN du taxon 
          </button>
        </a>
      </div>

  </div>

  <button type="button" class="close" aria-label="Close" (click)="closeModal()">
      <span aria-hidden="true">&times;</span>
  </button>

</div>

<!-- MODAL BODY -->

<div class="modal-body">

  <p></p>

        <span class="font-xs">

          <div *ngIf="edit" id="statusChange">

            <br>

            <form >
              <div>
                <span *ngFor="let item of validationStatus" id="validButtons">

                  <label [ngStyle]="{'background-color': VALIDATION_CONFIG.STATUS_INFO[item.cd_nomenclature]?.color}" role="button" class="btn btn-success box-shadow" aria-pressed="true">
                    <input (click)="setCurrentCdNomenclature(item)" type="radio" [formControl]="statusForm.controls.statut" value="{{item.id_nomenclature}}">
                    {{item.mnemonique}}</label>
                </span>
              </div>

              <div class="md-form mb-0" style="padding-top:5px;">
                <span> Commentaire : </span>
                <textarea type="text" rows="1" class="form-control md-textarea" [formControl]="statusForm.controls.comment"> </textarea>
              </div>


            </form>

            <div style="padding-top:5px;">
              <button class="btn btn-sm btn-light" type="submit" data-dismiss="modal" (click)="cancel()">Annuler</button>
              <button id="saveButton" (click)="onSubmit(statusForm.value)" data-toggle="modal" value="Enregistrer" type="button" [disabled]="!this.statusForm.valid" class="btn btn-sm btn-success" data-dismiss="modal" #required>

                Enregistrer
              </button>
            </div>

            <br>

          </div>

          <p></p>
          <b> Statut de validation actuel : </b> <span *ngIf="!selectedObs?.valid_status"> En attente de validation </span> {{selectedObs?.valid_status}}
          <button class="edit btn btn-sm btn-primary"(click)="getStatusNames()" [disabled]=edit>
            <i class="material-icons" id="modify"> edit </i> modifier le statut de validation
          </button>
          <br>
          <b> Observation de : </b> {{selectedObs?.observers}} 
          <span *ngIf="selectedObs?.cor_observers?.length > 0">
            (
            <span *ngFor="let observers of selectedObs?.cor_observers; let i = index">
              {{ observers.email}} <span *ngIf="i != selectedObs?.cor_observers.length -1">, </span>
            </span>
            <button> <a href="{{mailto}}"><i class="fa fa-envelope-o" aria-hidden="true"></i></a> </button>
          )
          </span>
          <br>

          <span *ngIf="selectedObs?.date_min != selectedObs?.date_max; else elseBlock">
            <b> Date : </b>{{selectedObs?.date_min}} -> {{selectedObs?.date_max}}
          </span>
          <ng-template #elseBlock>
            <b> Date : </b>{{selectedObs?.date_min}}
          </ng-template>
          <br>

  <mat-tab-group>

    <mat-tab label="Historique">
      <table class="font-xs table table-striped table-sm">

        <thead>
          <tr>
            <th class="table_date"> Date de validation </th>
            <th class="table_status"> Statut </th>
            <th class="table_comment"> Validateur </th>
            <th class="table_comment"> Commentaire </th>
          </tr>
        </thead>

        <tbody>
          <tr *ngFor="let row of validationHistory">
            <td width="15%"> {{row.date}} </td>
            <td width="20%"> <span class="validationCircle" [ngStyle]="{'background': VALIDATION_CONFIG.STATUS_INFO[row.cd_nomenclature]?.color}"><i class="material-icons" id="auto" style="font-size: 13px;padding-top: 3px;padding-left:1px;" *ngIf="row.typeValidation == 'True'">computer</i></span>
              <div class="statusName">
                {{row.label_default}}
              </div> 
            </td>
            <td width="20%"> <span> {{row.validator}} </span> </td>
            <td> {{row.comment}} </td>
          </tr>
        </tbody>

      </table>
    </mat-tab>

    <mat-tab label="Observation">
      <table class="font-xs table table-striped table-sm">
        <tr>
          <td> Statut de l'observation </td>
          <td> {{selectedObs?.observation_status}} </td>
        </tr>
        <tr>
          <td> Technique d'observation </td>
          <td> {{selectedObs?.obs_technique}} </td>
        </tr>
        <tr>
          <td> Méthode d'observation </td>
          <td> {{selectedObs?.obs_method}} </td>
        </tr>
        <tr>
          <td> Etat biologique </td>
          <td> {{selectedObs?.bio_condition}} </td>
        </tr>

        <tr>
          <td> Statut biologique </td>
          <td> {{selectedObs?.bio_status}} </td>
        </tr>

        <tr>
          <td> Sexe </td>
          <td> {{selectedObs?.sex}} </td>
        </tr>
        <tr>
          <td> Stade de vie </td>
          <td> {{selectedObs?.life_stage}} </td>
        </tr>
        <tr>
          <td> Denombrement min </td>
          <td> {{selectedObs?.count_min}} </td>
        </tr>
        <tr>
          <td> Denombrement max </td>
          <td> {{selectedObs?.count_max}} </td>
        </tr>
        <tr>
          <td> Type de dénombrement </td>
          <td> {{selectedObs?.type_count}} </td>
        </tr>
        <tr>
          <td> Objet du dénombrement </td>
          <td> {{selectedObs?.obj_count}} </td>
        </tr>
        <tr>
        <tr>
          <td> Naturalité </td>
          <td> {{selectedObs?.naturalness}} </td>
        </tr>

        <tr>
          <td> Commentaire </td>
          <td> {{selectedObs?.comments}} </td>
        </tr>

        <tr>
          <td> Determinateur </td>
          <td> {{selectedObs?.determiner}} </td>
        </tr>
        <tr>
          <td> Preuve d'existance </td>
          <td> {{selectedObs?.exist_proof}} </td>
        </tr>
        <tr>
          <td> Preuve numérique </td>
          <td> {{selectedObs?.digital_proof}} </td>
        </tr>
        <tr>
          <td> Preuve non numérique </td>
          <td> {{selectedObs?.non_digital_proof}} </td>
        </tr>
        <tr>
          <td> Echantillon de preuve </td>
          <td> {{selectedObs?.sample_number_proof}} </td>
        </tr>
        <tr>

        <tr>
          <td> Type de regroupement </td>
          <td> {{selectedObs?.grp_typ}} </td>
        </tr>

        <tr>
          <td> Source de la donnée </td>
          <td> {{selectedObs?.source_status}} </td>
        </tr>

        <tr>
          <td> Sensibilité </td>
          <td> {{selectedObs?.sensitivity}} </td>
        </tr>
        <tr><commit_msg>correction coquille : existance --> existence<commit_after><!-- MODAL HEADER -->
<div class="modal-header">

  <div id="title">
      <h5 class="main-color "> {{ selectedObsTaxonDetail?.nom_vern }} - {{ selectedObsTaxonDetail?.nom_valide }} </h5>
      <div id="inpn">
        <a target="_blank " href="https://inpn.mnhn.fr/espece/cd_nom/{{ selectedObsTaxonDetail?.cd_nom }} ">
          <button type="button"  *ngIf="oneObsSynthese?.url_source" class="btn btn-light">
            Voir la fiche INPN du taxon 
          </button>
        </a>
      </div>

  </div>

  <button type="button" class="close" aria-label="Close" (click)="closeModal()">
      <span aria-hidden="true">&times;</span>
  </button>

</div>

<!-- MODAL BODY -->

<div class="modal-body">

  <p></p>

        <span class="font-xs">

          <div *ngIf="edit" id="statusChange">

            <br>

            <form >
              <div>
                <span *ngFor="let item of validationStatus" id="validButtons">

                  <label [ngStyle]="{'background-color': VALIDATION_CONFIG.STATUS_INFO[item.cd_nomenclature]?.color}" role="button" class="btn btn-success box-shadow" aria-pressed="true">
                    <input (click)="setCurrentCdNomenclature(item)" type="radio" [formControl]="statusForm.controls.statut" value="{{item.id_nomenclature}}">
                    {{item.mnemonique}}</label>
                </span>
              </div>

              <div class="md-form mb-0" style="padding-top:5px;">
                <span> Commentaire : </span>
                <textarea type="text" rows="1" class="form-control md-textarea" [formControl]="statusForm.controls.comment"> </textarea>
              </div>


            </form>

            <div style="padding-top:5px;">
              <button class="btn btn-sm btn-light" type="submit" data-dismiss="modal" (click)="cancel()">Annuler</button>
              <button id="saveButton" (click)="onSubmit(statusForm.value)" data-toggle="modal" value="Enregistrer" type="button" [disabled]="!this.statusForm.valid" class="btn btn-sm btn-success" data-dismiss="modal" #required>

                Enregistrer
              </button>
            </div>

            <br>

          </div>

          <p></p>
          <b> Statut de validation actuel : </b> <span *ngIf="!selectedObs?.valid_status"> En attente de validation </span> {{selectedObs?.valid_status}}
          <button class="edit btn btn-sm btn-primary"(click)="getStatusNames()" [disabled]=edit>
            <i class="material-icons" id="modify"> edit </i> modifier le statut de validation
          </button>
          <br>
          <b> Observation de : </b> {{selectedObs?.observers}} 
          <span *ngIf="selectedObs?.cor_observers?.length > 0">
            (
            <span *ngFor="let observers of selectedObs?.cor_observers; let i = index">
              {{ observers.email}} <span *ngIf="i != selectedObs?.cor_observers.length -1">, </span>
            </span>
            <button> <a href="{{mailto}}"><i class="fa fa-envelope-o" aria-hidden="true"></i></a> </button>
          )
          </span>
          <br>

          <span *ngIf="selectedObs?.date_min != selectedObs?.date_max; else elseBlock">
            <b> Date : </b>{{selectedObs?.date_min}} -> {{selectedObs?.date_max}}
          </span>
          <ng-template #elseBlock>
            <b> Date : </b>{{selectedObs?.date_min}}
          </ng-template>
          <br>

  <mat-tab-group>

    <mat-tab label="Historique">
      <table class="font-xs table table-striped table-sm">

        <thead>
          <tr>
            <th class="table_date"> Date de validation </th>
            <th class="table_status"> Statut </th>
            <th class="table_comment"> Validateur </th>
            <th class="table_comment"> Commentaire </th>
          </tr>
        </thead>

        <tbody>
          <tr *ngFor="let row of validationHistory">
            <td width="15%"> {{row.date}} </td>
            <td width="20%"> <span class="validationCircle" [ngStyle]="{'background': VALIDATION_CONFIG.STATUS_INFO[row.cd_nomenclature]?.color}"><i class="material-icons" id="auto" style="font-size: 13px;padding-top: 3px;padding-left:1px;" *ngIf="row.typeValidation == 'True'">computer</i></span>
              <div class="statusName">
                {{row.label_default}}
              </div> 
            </td>
            <td width="20%"> <span> {{row.validator}} </span> </td>
            <td> {{row.comment}} </td>
          </tr>
        </tbody>

      </table>
    </mat-tab>

    <mat-tab label="Observation">
      <table class="font-xs table table-striped table-sm">
        <tr>
          <td> Statut de l'observation </td>
          <td> {{selectedObs?.observation_status}} </td>
        </tr>
        <tr>
          <td> Technique d'observation </td>
          <td> {{selectedObs?.obs_technique}} </td>
        </tr>
        <tr>
          <td> Méthode d'observation </td>
          <td> {{selectedObs?.obs_method}} </td>
        </tr>
        <tr>
          <td> Etat biologique </td>
          <td> {{selectedObs?.bio_condition}} </td>
        </tr>

        <tr>
          <td> Statut biologique </td>
          <td> {{selectedObs?.bio_status}} </td>
        </tr>

        <tr>
          <td> Sexe </td>
          <td> {{selectedObs?.sex}} </td>
        </tr>
        <tr>
          <td> Stade de vie </td>
          <td> {{selectedObs?.life_stage}} </td>
        </tr>
        <tr>
          <td> Denombrement min </td>
          <td> {{selectedObs?.count_min}} </td>
        </tr>
        <tr>
          <td> Denombrement max </td>
          <td> {{selectedObs?.count_max}} </td>
        </tr>
        <tr>
          <td> Type de dénombrement </td>
          <td> {{selectedObs?.type_count}} </td>
        </tr>
        <tr>
          <td> Objet du dénombrement </td>
          <td> {{selectedObs?.obj_count}} </td>
        </tr>
        <tr>
        <tr>
          <td> Naturalité </td>
          <td> {{selectedObs?.naturalness}} </td>
        </tr>

        <tr>
          <td> Commentaire </td>
          <td> {{selectedObs?.comments}} </td>
        </tr>

        <tr>
          <td> Determinateur </td>
          <td> {{selectedObs?.determiner}} </td>
        </tr>
        <tr>
          <td> Preuve d'existence </td>
          <td> {{selectedObs?.exist_proof}} </td>
        </tr>
        <tr>
          <td> Preuve numérique </td>
          <td> {{selectedObs?.digital_proof}} </td>
        </tr>
        <tr>
          <td> Preuve non numérique </td>
          <td> {{selectedObs?.non_digital_proof}} </td>
        </tr>
        <tr>
          <td> Echantillon de preuve </td>
          <td> {{selectedObs?.sample_number_proof}} </td>
        </tr>
        <tr>

        <tr>
          <td> Type de regroupement </td>
          <td> {{selectedObs?.grp_typ}} </td>
        </tr>

        <tr>
          <td> Source de la donnée </td>
          <td> {{selectedObs?.source_status}} </td>
        </tr>

        <tr>
          <td> Sensibilité </td>
          <td> {{selectedObs?.sensitivity}} </td>
        </tr>
        <tr>
{'fraction_non_alphanumeric': 0.1789888748063653, 'fraction_numerical': 0.0025348542458808617, 'mean_word_length': 1.8565969428801288, 'pattern_counts': {'":': 0, '<': 503, '<?xml version=': 0, '>': 508, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4050877', 'n_tokens_mistral': 4691, 'n_tokens_neox': 4451, 'n_words': 952}