UNPKG

@spartacus/storefront

Version:

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

33 lines 5.33 kB
import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core'; import { tap } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "../../../cms-structure/page/model/cms-component-data"; import * as i2 from "../../../shared/components/generic-link/generic-link.component"; import * as i3 from "@angular/common"; export class LinkComponent { constructor(component) { this.component = component; this.data$ = this.component.data$.pipe(tap((data) => (this.styleClasses = data === null || data === void 0 ? void 0 : data.styleClasses))); } /** * Returns `_blank` to force opening the link in a new window whenever the * `data.target` flag is set to `true`. */ getTarget(data) { return data.target === 'true' || data.target === true ? '_blank' : null; } } LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: LinkComponent, deps: [{ token: i1.CmsComponentData }], target: i0.ɵɵFactoryTarget.Component }); LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: LinkComponent, selector: "cx-link", host: { properties: { "class": "this.styleClasses" } }, ngImport: i0, template: "<cx-generic-link\n *ngIf=\"data$ | async as data\"\n [url]=\"data.url\"\n [style]=\"data.styleAttributes\"\n [target]=\"getTarget(data)\"\n >{{ data.linkName }}</cx-generic-link\n>\n", components: [{ type: i2.GenericLinkComponent, selector: "cx-generic-link", inputs: ["url", "target", "id", "class", "style", "title"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: LinkComponent, decorators: [{ type: Component, args: [{ selector: 'cx-link', templateUrl: './link.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }] }], ctorParameters: function () { return [{ type: i1.CmsComponentData }]; }, propDecorators: { styleClasses: [{ type: HostBinding, args: ['class'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdG9yZWZyb250bGliL2Ntcy1jb21wb25lbnRzL2NvbnRlbnQvbGluay9saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvY29udGVudC9saW5rL2xpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVFyQyxNQUFNLE9BQU8sYUFBYTtJQU94QixZQUFzQixTQUE2QztRQUE3QyxjQUFTLEdBQVQsU0FBUyxDQUFvQztRQUpuRSxVQUFLLEdBQWlDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDN0QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFlBQVksQ0FBQyxDQUFDLENBQ3hELENBQUM7SUFFb0UsQ0FBQztJQUV2RTs7O09BR0c7SUFDSCxTQUFTLENBQUMsSUFBc0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUUsQ0FBQzs7MEdBZlUsYUFBYTs4RkFBYixhQUFhLHVHQ1gxQiw2TEFPQTsyRkRJYSxhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxTQUFTO29CQUNuQixXQUFXLEVBQUUsdUJBQXVCO29CQUNwQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7dUdBRXVCLFlBQVk7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbXNMaW5rQ29tcG9uZW50IH0gZnJvbSAnQHNwYXJ0YWN1cy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENtc0NvbXBvbmVudERhdGEgfSBmcm9tICcuLi8uLi8uLi9jbXMtc3RydWN0dXJlL3BhZ2UvbW9kZWwvY21zLWNvbXBvbmVudC1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3gtbGluaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDb21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgc3R5bGVDbGFzc2VzOiBzdHJpbmc7XG5cbiAgZGF0YSQ6IE9ic2VydmFibGU8Q21zTGlua0NvbXBvbmVudD4gPSB0aGlzLmNvbXBvbmVudC5kYXRhJC5waXBlKFxuICAgIHRhcCgoZGF0YSkgPT4gKHRoaXMuc3R5bGVDbGFzc2VzID0gZGF0YT8uc3R5bGVDbGFzc2VzKSlcbiAgKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY29tcG9uZW50OiBDbXNDb21wb25lbnREYXRhPENtc0xpbmtDb21wb25lbnQ+KSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGBfYmxhbmtgIHRvIGZvcmNlIG9wZW5pbmcgdGhlIGxpbmsgaW4gYSBuZXcgd2luZG93IHdoZW5ldmVyIHRoZVxuICAgKiBgZGF0YS50YXJnZXRgIGZsYWcgaXMgc2V0IHRvIGB0cnVlYC5cbiAgICovXG4gIGdldFRhcmdldChkYXRhOiBDbXNMaW5rQ29tcG9uZW50KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRhdGEudGFyZ2V0ID09PSAndHJ1ZScgfHwgZGF0YS50YXJnZXQgPT09IHRydWUgPyAnX2JsYW5rJyA6IG51bGw7XG4gIH1cbn1cbiIsIjxjeC1nZW5lcmljLWxpbmtcbiAgKm5nSWY9XCJkYXRhJCB8IGFzeW5jIGFzIGRhdGFcIlxuICBbdXJsXT1cImRhdGEudXJsXCJcbiAgW3N0eWxlXT1cImRhdGEuc3R5bGVBdHRyaWJ1dGVzXCJcbiAgW3RhcmdldF09XCJnZXRUYXJnZXQoZGF0YSlcIlxuICA+e3sgZGF0YS5saW5rTmFtZSB9fTwvY3gtZ2VuZXJpYy1saW5rXG4+XG4iXX0=