@spartacus/storefront
Version:
Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.
44 lines • 6.93 kB
JavaScript
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 "../../../shared/components/media/media.component";
import * as i4 from "@angular/common";
export class BannerComponent {
constructor(component) {
this.component = component;
this.data$ = this.component.data$.pipe(tap((data) => (this.styleClasses = data.styleClasses)));
}
/**
* Returns `_blank` to force opening the link in a new window whenever the
* `data.external` flag is set to true.
*/
getTarget(data) {
return data.external === 'true' || data.external === true ? '_blank' : null;
}
getImage(data) {
if (data.media) {
if ('url' in data.media) {
return data.media;
}
else {
return data.media;
}
}
}
}
BannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: BannerComponent, deps: [{ token: i1.CmsComponentData }], target: i0.ɵɵFactoryTarget.Component });
BannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: BannerComponent, selector: "cx-banner", host: { properties: { "class": "this.styleClasses" } }, ngImport: i0, template: "<ng-container *ngIf=\"data$ | async as data\">\n <cx-generic-link\n *ngIf=\"data.urlLink\"\n [url]=\"data.urlLink\"\n [target]=\"getTarget(data)\"\n >\n <p class=\"headline\" *ngIf=\"data.headline\" [innerHTML]=\"data.headline\"></p>\n <cx-media [container]=\"getImage(data)\"></cx-media>\n <p class=\"content\" *ngIf=\"data.content\" [innerHTML]=\"data.content\"></p>\n </cx-generic-link>\n</ng-container>\n", components: [{ type: i2.GenericLinkComponent, selector: "cx-generic-link", inputs: ["url", "target", "id", "class", "style", "title"] }, { type: i3.MediaComponent, selector: "cx-media", inputs: ["container", "format", "alt", "role", "loading"], outputs: ["loaded"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: BannerComponent, decorators: [{
type: Component,
args: [{
selector: 'cx-banner',
templateUrl: './banner.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}], ctorParameters: function () { return [{ type: i1.CmsComponentData }]; }, propDecorators: { styleClasses: [{
type: HostBinding,
args: ['class']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvY29udGVudC9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvY29udGVudC9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2hGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBUXJDLE1BQU0sT0FBTyxlQUFlO0lBTzFCLFlBQXNCLFNBQStDO1FBQS9DLGNBQVMsR0FBVCxTQUFTLENBQXNDO1FBSnJFLFVBQUssR0FBbUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDdkQsQ0FBQztJQUVzRSxDQUFDO0lBRXpFOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxJQUF3QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM5RSxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXdCO1FBQy9CLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQWMsQ0FBQzthQUM1QjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQyxLQUFtQixDQUFDO2FBQ2pDO1NBQ0Y7SUFDSCxDQUFDOzs0R0F6QlUsZUFBZTtnR0FBZixlQUFlLHlHQ1g1QiwrYUFXQTsyRkRBYSxlQUFlO2tCQUwzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7dUdBRXVCLFlBQVk7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbXNCYW5uZXJDb21wb25lbnQsIEltYWdlLCBJbWFnZUdyb3VwIH0gZnJvbSAnQHNwYXJ0YWN1cy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENtc0NvbXBvbmVudERhdGEgfSBmcm9tICcuLi8uLi8uLi9jbXMtc3RydWN0dXJlL3BhZ2UvbW9kZWwvY21zLWNvbXBvbmVudC1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3gtYmFubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jhbm5lci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCYW5uZXJDb21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgc3R5bGVDbGFzc2VzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgZGF0YSQ6IE9ic2VydmFibGU8Q21zQmFubmVyQ29tcG9uZW50PiA9IHRoaXMuY29tcG9uZW50LmRhdGEkLnBpcGUoXG4gICAgdGFwKChkYXRhKSA9PiAodGhpcy5zdHlsZUNsYXNzZXMgPSBkYXRhLnN0eWxlQ2xhc3NlcykpXG4gICk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbXBvbmVudDogQ21zQ29tcG9uZW50RGF0YTxDbXNCYW5uZXJDb21wb25lbnQ+KSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGBfYmxhbmtgIHRvIGZvcmNlIG9wZW5pbmcgdGhlIGxpbmsgaW4gYSBuZXcgd2luZG93IHdoZW5ldmVyIHRoZVxuICAgKiBgZGF0YS5leHRlcm5hbGAgZmxhZyBpcyBzZXQgdG8gdHJ1ZS5cbiAgICovXG4gIGdldFRhcmdldChkYXRhOiBDbXNCYW5uZXJDb21wb25lbnQpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gZGF0YS5leHRlcm5hbCA9PT0gJ3RydWUnIHx8IGRhdGEuZXh0ZXJuYWwgPT09IHRydWUgPyAnX2JsYW5rJyA6IG51bGw7XG4gIH1cblxuICBnZXRJbWFnZShkYXRhOiBDbXNCYW5uZXJDb21wb25lbnQpOiBJbWFnZSB8IEltYWdlR3JvdXAgfCB1bmRlZmluZWQge1xuICAgIGlmIChkYXRhLm1lZGlhKSB7XG4gICAgICBpZiAoJ3VybCcgaW4gZGF0YS5tZWRpYSkge1xuICAgICAgICByZXR1cm4gZGF0YS5tZWRpYSBhcyBJbWFnZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkYXRhLm1lZGlhIGFzIEltYWdlR3JvdXA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YSQgfCBhc3luYyBhcyBkYXRhXCI+XG4gIDxjeC1nZW5lcmljLWxpbmtcbiAgICAqbmdJZj1cImRhdGEudXJsTGlua1wiXG4gICAgW3VybF09XCJkYXRhLnVybExpbmtcIlxuICAgIFt0YXJnZXRdPVwiZ2V0VGFyZ2V0KGRhdGEpXCJcbiAgPlxuICAgIDxwIGNsYXNzPVwiaGVhZGxpbmVcIiAqbmdJZj1cImRhdGEuaGVhZGxpbmVcIiBbaW5uZXJIVE1MXT1cImRhdGEuaGVhZGxpbmVcIj48L3A+XG4gICAgPGN4LW1lZGlhIFtjb250YWluZXJdPVwiZ2V0SW1hZ2UoZGF0YSlcIj48L2N4LW1lZGlhPlxuICAgIDxwIGNsYXNzPVwiY29udGVudFwiICpuZ0lmPVwiZGF0YS5jb250ZW50XCIgW2lubmVySFRNTF09XCJkYXRhLmNvbnRlbnRcIj48L3A+XG4gIDwvY3gtZ2VuZXJpYy1saW5rPlxuPC9uZy1jb250YWluZXI+XG4iXX0=