adjuster.directive.html 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <div [hidden]="!isVisible()" class="card mainpanel">
  2. <hs-panel-header name="adjuster" [title]="'ADJUSTER.adjustFactors' | translate"></hs-panel-header>
  3. <div class="card-body">
  4. <div class="p-2 center-block">
  5. <div class="d-flex flex-row">
  6. <div>
  7. <button type="button" class="btn btn-primary btn-lg" (click)="adjusterService.apply()"
  8. [disabled]="adjusterService.isInProcess() || noDataSelected() || noOperationSelected() ">{{'ADJUSTER.calculate' | translate}}</button>
  9. </div>
  10. <div>
  11. <button type="button" class="btn btn-sm btn-light hs-lm-item-visibility"
  12. [ngClass]="adjusterService.allowIndex ? 'hs-checkmark' : 'hs-uncheckmark'"
  13. (click)="adjusterService.allowIndex = !adjusterService.allowIndex; $event.stopPropagation()"></button>
  14. <label class="pl-2 text-secondary">{{'ADJUSTER.index' | translate}}</label>
  15. </div>
  16. <div>
  17. <button type="button" class="btn btn-sm btn-light hs-lm-item-visibility"
  18. [ngClass]="adjusterService.allowClusters ? 'hs-checkmark' : 'hs-uncheckmark'"
  19. (click)="adjusterService.allowClusters = !adjusterService.allowClusters; $event.stopPropagation()"></button>
  20. <label class="pl-2 text-secondary">{{'ADJUSTER.clusters' | translate}}</label>
  21. </div>
  22. </div>
  23. <div class="text-warning pt-2" [hidden]="!noDataSelected() || errorMsg">{{'ADJUSTER.noDataSelectedMsg' | translate}}</div>
  24. <div class="text-danger pt-2" [hidden]="!errorMsg">{{'ADJUSTER.serverError' | translate}}: {{errorMsg}}</div>
  25. </div>
  26. <div class="p-2 center-block" [hidden]="!adjusterService.allowClusters">
  27. <div class="pt-2 text-secondary">{{'ADJUSTER.numberOfClusters' | translate}}: {{adjusterService.numberOfClusters}}</div>
  28. <input type="range" class="custom-range" [(ngModel)]="adjusterService.numberOfClusters" min="5" max="15" step="1">
  29. </div>
  30. <div *ngFor="let factor of adjusterService.factors; let datasetlistVisible = false">
  31. <div class="d-flex flex-row">
  32. <div class="p-2 flex-grow-1">
  33. <span class="glyphicon cursor-pointer"
  34. [ngClass]="datasetlistVisible ? 'icon-chevron-down' : 'icon-chevron-right'"
  35. (click)="datasetlistVisible = !datasetlistVisible"></span>
  36. <label class="pl-2 cursor-pointer" (click)="datasetlistVisible = !datasetlistVisible">{{factor.name}}</label>
  37. </div>
  38. <div class="p-2">{{(factor.weight * 100).toFixed(0)}}&nbsp;%</div>
  39. </div>
  40. <input type="range" class="custom-range" [(ngModel)]="factor.weight" min="0"
  41. max="1.0" step="0.05">
  42. <div [hidden]="!datasetlistVisible">
  43. <div *ngFor="let dataset of factor.datasets; let descriptionVisible = false">
  44. <button type="button" class="btn btn-sm btn-light hs-lm-item-visibility"
  45. [ngClass]="dataset.included ? 'hs-checkmark' : 'hs-uncheckmark'"
  46. (click)="dataset.included = !dataset.included;$event.stopPropagation()"></button>
  47. <!-- commented because we do not have descriptions yet -->
  48. <!--span class="glyphicon cursor-pointer text-secondary"
  49. [ngClass]="descriptionVisible ? 'icon-chevron-down' : 'icon-chevron-right'"
  50. (click)="descriptionVisible = !descriptionVisible"></span-->
  51. <!--label class="pl-2 cursor-pointer text-secondary"
  52. (click)="descriptionVisible = !descriptionVisible">{{dataset.name}}</label-->
  53. <label class="pl-2 text-secondary">{{dataset.name}}</label>
  54. <div class="p-2 mb-2 text-justify text-info" [hidden]="!descriptionVisible">
  55. {{dataset.desc}}
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. <hr>
  61. <div class="pt-3 center-block" [hidden]="!adjusterService.clustersLoaded()">
  62. {{'ADJUSTER.layerManagerLink1' | translate}}<br>
  63. {{'ADJUSTER.layerManagerLink2' | translate}} <a href="" (click)="hsLayoutService.setMainPanel('layermanager');$event.preventDefault();">{{'ADJUSTER.layerManagerLinkLMName' | translate}}</a>
  64. </div>
  65. </div>
  66. </div>