UNPKG

@spartacus/storefront

Version:

Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.

37 lines 6 kB
import { ChangeDetectionStrategy, Component, HostListener, } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../../../cms-structure/page/model/cms-component-data"; import * as i2 from "@angular/router"; import * as i3 from "@angular/common"; import * as i4 from "../../../shared/pipes/suplement-hash-anchors/supplement-hash-anchors.pipe"; export class ParagraphComponent { constructor(component, router) { this.component = component; this.router = router; } handleClick(event) { if (this.router && event.target instanceof HTMLAnchorElement) { const element = event.target; const href = element === null || element === void 0 ? void 0 : element.getAttribute('href'); // Use router for internal link navigation if ((href === null || href === void 0 ? void 0 : href.indexOf('/')) === 0) { event.preventDefault(); this.router.navigate([`/${href}`]); } } } } ParagraphComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ParagraphComponent, deps: [{ token: i1.CmsComponentData }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); ParagraphComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: ParagraphComponent, selector: "cx-paragraph", host: { listeners: { "click": "handleClick($event)" } }, ngImport: i0, template: "<p\n *ngIf=\"component.data$ | async as data\"\n [innerHTML]=\"data.content | cxSupplementHashAnchors\"\n></p>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "cxSupplementHashAnchors": i4.SupplementHashAnchorsPipe, "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ParagraphComponent, decorators: [{ type: Component, args: [{ selector: 'cx-paragraph', templateUrl: './paragraph.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }] }], ctorParameters: function () { return [{ type: i1.CmsComponentData }, { type: i2.Router }]; }, propDecorators: { handleClick: [{ type: HostListener, args: ['click', ['$event']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWdyYXBoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvY29udGVudC9wYXJhZ3JhcGgvcGFyYWdyYXBoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvY29udGVudC9wYXJhZ3JhcGgvcGFyYWdyYXBoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVXZCLE1BQU0sT0FBTyxrQkFBa0I7SUEwQjdCLFlBQ1MsU0FBa0QsRUFDL0MsTUFBZTtRQURsQixjQUFTLEdBQVQsU0FBUyxDQUF5QztRQUMvQyxXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQ3hCLENBQUM7SUEzQkcsV0FBVyxDQUFDLEtBQVk7UUFDN0IsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLFlBQVksaUJBQWlCLEVBQUU7WUFDNUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQTJCLENBQUM7WUFDbEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUUzQywwQ0FBMEM7WUFDMUMsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQUssQ0FBQyxFQUFFO2dCQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDcEM7U0FDRjtJQUNILENBQUM7OytHQWJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLDZHQ2QvQixvSEFJQTsyRkRVYSxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFdBQVcsRUFBRSw0QkFBNEI7b0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs0SEFHUSxXQUFXO3NCQURqQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ21zUGFyYWdyYXBoQ29tcG9uZW50IH0gZnJvbSAnQHNwYXJ0YWN1cy9jb3JlJztcbmltcG9ydCB7IENtc0NvbXBvbmVudERhdGEgfSBmcm9tICcuLi8uLi8uLi9jbXMtc3RydWN0dXJlL3BhZ2UvbW9kZWwvY21zLWNvbXBvbmVudC1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3gtcGFyYWdyYXBoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhcmFncmFwaC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQYXJhZ3JhcGhDb21wb25lbnQge1xuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBoYW5kbGVDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yb3V0ZXIgJiYgZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTEFuY2hvckVsZW1lbnQ7XG4gICAgICBjb25zdCBocmVmID0gZWxlbWVudD8uZ2V0QXR0cmlidXRlKCdocmVmJyk7XG5cbiAgICAgIC8vIFVzZSByb3V0ZXIgZm9yIGludGVybmFsIGxpbmsgbmF2aWdhdGlvblxuICAgICAgaWYgKGhyZWY/LmluZGV4T2YoJy8nKSA9PT0gMCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC8ke2hyZWZ9YF0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDUuMFxuICAgKiBVc2UgdGhlIGZvbGxvd2luZyBjb25zdHJ1Y3RvciBpbnN0ZWFkOlxuICAgKiBgYGBcbiAgICogY29uc3RydWN0b3IoXG4gICAqICAgcHVibGljIGNvbXBvbmVudDogQ21zQ29tcG9uZW50RGF0YTxDbXNQYXJhZ3JhcGhDb21wb25lbnQ+LFxuICAgKiAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlclxuICAgKiApIHt9XG4gICAqIGBgYFxuICAgKi9cbiAgY29uc3RydWN0b3IoY29tcG9uZW50OiBDbXNDb21wb25lbnREYXRhPENtc1BhcmFncmFwaENvbXBvbmVudD4pO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tcG9uZW50OiBDbXNDb21wb25lbnREYXRhPENtc1BhcmFncmFwaENvbXBvbmVudD4sXG4gICAgcHJvdGVjdGVkIHJvdXRlcj86IFJvdXRlclxuICApIHt9XG59XG4iLCI8cFxuICAqbmdJZj1cImNvbXBvbmVudC5kYXRhJCB8IGFzeW5jIGFzIGRhdGFcIlxuICBbaW5uZXJIVE1MXT1cImRhdGEuY29udGVudCB8IGN4U3VwcGxlbWVudEhhc2hBbmNob3JzXCJcbj48L3A+XG4iXX0=