All files / src/app/shared/cms/components/cms-image-enhanced cms-image-enhanced.component.ts

100% Statements 7/7
50% Branches 1/2
100% Functions 2/2
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 261x   1x 1x               1x     1x 1x             1x      
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
 
import { ContentViewHelper } from 'ish-core/models/content-view/content-view.helper';
import { ContentPageletView } from 'ish-core/models/content-view/content-view.model';
import { CMSComponent } from 'ish-shared/cms/models/cms-component/cms-component.model';
 
@Component({
  selector: 'ish-cms-image-enhanced',
  templateUrl: './cms-image-enhanced.component.html',
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class CMSImageEnhancedComponent implements CMSComponent {
  @Input({ required: true }) pagelet: ContentPageletView;
 
  isRouterLink = ContentViewHelper.isRouterLink;
  routerLink = ContentViewHelper.getRouterLink;
 
  /**
   * Getter method to decide whether the image is loading 'lazy' or 'eager'
   * based on the presence of the CSS class 'loading-lazy' in the pagelet configuration.
   */
  get loading(): 'lazy' | 'eager' {
    return this.pagelet.stringParam('CSSClass')?.includes('loading-lazy') ? 'lazy' : 'eager';
  }
}