adjuster-ui.service.ts 1.7 KB

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