lems-select.component.html 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <ng-container *ngIf="lemsTypes.length > 0">
  2. <ng-select
  3. [items]="lemsTypes"
  4. [multiple]="true"
  5. [closeOnSelect]="false"
  6. [searchable]="false"
  7. [placeholder]="'selectLemsItems' | translate"
  8. [(ngModel)]="selectedLemTypes"
  9. [disabled]="lemsTypes.length === 0"
  10. groupBy="group"
  11. (change)="updateSelectedLemTypes($event)">
  12. <ng-template ng-header-tmp>
  13. <div class="lem-select-toolbar">
  14. <div class="w-100 text-dark select-all-btn">
  15. <input id="select-all" type="checkbox" class="mr-2" (click)="toggleSelection()"
  16. [checked]="selectedLemTypes?.length === lemsTypes.length"/>
  17. <label for="select-all" class="m-0">{{ 'selectLemsAll' | translate }}</label>
  18. </div>
  19. </div>
  20. </ng-template>
  21. <ng-template ng-option-tmp let-item="item" let-item$="item$" let-index="index" let-search="searchTerm">
  22. <input id="item-{{index}}" type="checkbox" [ngModel]="item$.selected"/>
  23. <evt-icon [iconInfo]="iconColor" [style.color]="item.color"></evt-icon>
  24. <span class="ng-value-label">{{item.label | translate}}</span>
  25. </ng-template>
  26. <ng-template ng-multi-label-tmp let-items="items" let-clear="clear">
  27. <ng-container *ngIf="items.length === 1">
  28. <div class="ng-value" *ngFor="let item of items | slice:0:1">
  29. <evt-icon [iconInfo]="iconColor" [style.color]="item.color"></evt-icon>
  30. <span class="ng-value-label">{{item.label}}</span>
  31. <span class="ng-value-icon right" (click)="clear(item)" aria-hidden="true">×</span>
  32. </div>
  33. </ng-container>
  34. <div class="ng-value" *ngIf="items.length > 1">
  35. <span class="ng-value-label">{{items.length}} {{'selected' | translate}}</span>
  36. </div>
  37. </ng-template>
  38. </ng-select>
  39. </ng-container>
  40. <ng-container *ngIf="lemsTypes.length > 0">
  41. <ng-select
  42. [items]="lemsTypes"
  43. [multiple]="true"
  44. [closeOnSelect]="false"
  45. [searchable]="false"
  46. [placeholder]="'selectIperLemsItems' | translate"
  47. [(ngModel)]="selectedLemTypes"
  48. [disabled]="lemsTypes.length === 0"
  49. groupBy="group"
  50. (change)="updateSelectedLemTypes($event)">
  51. <ng-template ng-header-tmp>
  52. <div class="lem-select-toolbar">
  53. <div class="w-100 text-dark select-all-btn">
  54. <input id="select-all" type="checkbox" class="mr-2" (click)="toggleSelection()"
  55. [checked]="selectedLemTypes?.length === lemsTypes.length"/>
  56. <label for="select-all" class="m-0">{{ 'selectLemsAll' | translate }}</label>
  57. </div>
  58. </div>
  59. </ng-template>
  60. <ng-template ng-option-tmp let-item="item" let-item$="item$" let-index="index" let-search="searchTerm">
  61. <input id="item-{{index}}" type="checkbox" [ngModel]="item$.selected"/>
  62. <!-- *ngIf="item.label==='Sostantivo maschile' or item.label==='Sostantivo femminile' or item.label==='Aggettivo' or item.label==='Avverbio' or item.label==='Nome proprio' or item.label==='Verbo' or item.label==='Forma generica'"> -->
  63. <span class="ng-value-label">
  64. <evt-icon [iconInfo]="iconColor" [style.color]="item.color"></evt-icon>
  65. {{item.label | translate}}</span>
  66. </ng-template>
  67. <ng-template ng-multi-label-tmp let-items="items" let-clear="clear">
  68. <ng-container *ngIf="items.label === 'Iperlemmi'">
  69. <div class="ng-value" *ngFor="let item of items | slice:0:1">
  70. <span class="ng-value-label"><evt-icon [iconInfo]="iconColor" [style.color]="item.color"></evt-icon>
  71. {{item.label}}
  72. </span>
  73. <span class="ng-value-icon right" (click)="clear(item)" aria-hidden="true">×</span>
  74. </div>
  75. </ng-container>
  76. <div class="ng-value" *ngIf="items.length > 1">
  77. <span class="ng-value-label">{{items.length}} {{'selected' | translate}}</span>
  78. </div>
  79. </ng-template>
  80. </ng-select>
  81. </ng-container>