adjuster-ui.service.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import {Injectable} from '@angular/core';
  2. import {HsLayoutService} from 'hslayers-ng';
  3. import {AdjusterPresetsService} from './adjuster-presets.service';
  4. import {AdjusterService} from './adjuster.service';
  5. @Injectable({providedIn: 'root'})
  6. export class AdjusterUIService {
  7. constructor(
  8. public adjusterService: AdjusterService,
  9. public adjusterPresetsService: AdjusterPresetsService,
  10. public hsLayoutService: HsLayoutService
  11. ) {}
  12. hasDatasets(factor): boolean {
  13. return factor.datasets.length > 0;
  14. }
  15. getLabelInCurrentLang(labels) {
  16. return this.adjusterPresetsService.getLabelInCurrentLang(labels);
  17. }
  18. noDataSelected(): boolean {
  19. if (this.adjusterService.factors.length === 0) {
  20. return true;
  21. }
  22. let datasetsEffectivelyTurnedOn = [];
  23. for (const factor of this.adjusterService.factors) {
  24. if (factor.weight === 0) {
  25. continue;
  26. }
  27. datasetsEffectivelyTurnedOn = [
  28. ...datasetsEffectivelyTurnedOn,
  29. ...factor.datasets.filter((ds) => ds.included),
  30. ];
  31. }
  32. return datasetsEffectivelyTurnedOn.length === 0;
  33. }
  34. noOperationSelected(): boolean {
  35. return (
  36. !this.adjusterService.allowIndex && !this.adjusterService.allowClusters
  37. );
  38. }
  39. /*selectMethod(): void {
  40. this.adjusterService.method = this.method;
  41. this.adjusterEventService.methodChanged.next(this.method);
  42. }*/
  43. }