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.68 kB
import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { ICON_TYPE } from '../icon/icon.model'; import * as i0 from "@angular/core"; import * as i1 from "./site-context-component.service"; import * as i2 from "../icon/icon.component"; import * as i3 from "@angular/common"; export class SiteContextSelectorComponent { constructor(componentService) { this.componentService = componentService; this.iconTypes = ICON_TYPE; } get items$() { return this.componentService.getItems(this.context); } get activeItem$() { return this.componentService.getActiveItem(this.context); } set active(value) { this.componentService.setActive(value, this.context); } get label$() { return this.componentService.getLabel(this.context); } } SiteContextSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SiteContextSelectorComponent, deps: [{ token: i1.SiteContextComponentService }], target: i0.ɵɵFactoryTarget.Component }); SiteContextSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: SiteContextSelectorComponent, selector: "cx-site-context-selector", inputs: { context: "context" }, ngImport: i0, template: "<label *ngIf=\"(items$ | async)?.length > 1 && (items$ | async) as items\">\n <span>{{ label$ | async }}</span>\n <select (change)=\"active = $event.target.value\">\n <option\n *ngFor=\"let item of items\"\n value=\"{{ item.isocode }}\"\n [selected]=\"(activeItem$ | async) === item.isocode\"\n >\n {{ item.label }}\n </option></select\n ><cx-icon [type]=\"iconTypes.CARET_DOWN\" class=\"small\"></cx-icon>\n</label>\n", components: [{ type: i2.IconComponent, selector: "cx-icon,[cxIcon]", inputs: ["cxIcon", "type"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SiteContextSelectorComponent, decorators: [{ type: Component, args: [{ selector: 'cx-site-context-selector', templateUrl: './site-context-selector.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }] }], ctorParameters: function () { return [{ type: i1.SiteContextComponentService }]; }, propDecorators: { context: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1jb250ZXh0LXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvbWlzYy9zaXRlLWNvbnRleHQtc2VsZWN0b3Ivc2l0ZS1jb250ZXh0LXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvbWlzYy9zaXRlLWNvbnRleHQtc2VsZWN0b3Ivc2l0ZS1jb250ZXh0LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFTL0MsTUFBTSxPQUFPLDRCQUE0QjtJQVN2QyxZQUFvQixnQkFBNkM7UUFBN0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE2QjtRQVBqRSxjQUFTLEdBQUcsU0FBUyxDQUFDO0lBTzhDLENBQUM7SUFFckUsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7eUhBekJVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLGdHQ1p6QyxvY0FZQTsyRkRBYSw0QkFBNEI7a0JBTHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsV0FBVyxFQUFFLHdDQUF3QztvQkFDckQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO2tIQVFVLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaXRlQ29udGV4dCB9IGZyb20gJ0BzcGFydGFjdXMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJQ09OX1RZUEUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kZWwnO1xuaW1wb3J0IHsgU2l0ZUNvbnRleHRDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi9zaXRlLWNvbnRleHQtY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2l0ZUNvbnRleHRUeXBlIH0gZnJvbSAnLi9zaXRlLWNvbnRleHQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjeC1zaXRlLWNvbnRleHQtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vc2l0ZS1jb250ZXh0LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNpdGVDb250ZXh0U2VsZWN0b3JDb21wb25lbnQge1xuICBzaXRlQ29udGV4dFNlcnZpY2U6IFNpdGVDb250ZXh0PGFueT47XG4gIGljb25UeXBlcyA9IElDT05fVFlQRTtcbiAgLyoqXG4gICAqIHRoZSBjb250ZXh0IHR5cGUgY2FuIGJlIHNldCBhcyBhbiBpbnB1dC4gSWYgdGhlIGNvbnRleHQgaXNcbiAgICogbm90IGdpdmVuLCB0aGUgY29udGV4dCB3aWxsIGJlIGxvYWRlZCBmcm9tIHRoZSBiYWNrZW5kLlxuICAgKi9cbiAgQElucHV0KCkgY29udGV4dDogU2l0ZUNvbnRleHRUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcG9uZW50U2VydmljZTogU2l0ZUNvbnRleHRDb21wb25lbnRTZXJ2aWNlKSB7fVxuXG4gIGdldCBpdGVtcyQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRTZXJ2aWNlLmdldEl0ZW1zKHRoaXMuY29udGV4dCk7XG4gIH1cblxuICBnZXQgYWN0aXZlSXRlbSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRTZXJ2aWNlLmdldEFjdGl2ZUl0ZW0odGhpcy5jb250ZXh0KTtcbiAgfVxuXG4gIHNldCBhY3RpdmUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5zZXRBY3RpdmUodmFsdWUsIHRoaXMuY29udGV4dCk7XG4gIH1cblxuICBnZXQgbGFiZWwkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50U2VydmljZS5nZXRMYWJlbCh0aGlzLmNvbnRleHQpO1xuICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCIoaXRlbXMkIHwgYXN5bmMpPy5sZW5ndGggPiAxICYmIChpdGVtcyQgfCBhc3luYykgYXMgaXRlbXNcIj5cbiAgPHNwYW4+e3sgbGFiZWwkIHwgYXN5bmMgfX08L3NwYW4+XG4gIDxzZWxlY3QgKGNoYW5nZSk9XCJhY3RpdmUgPSAkZXZlbnQudGFyZ2V0LnZhbHVlXCI+XG4gICAgPG9wdGlvblxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgICAgdmFsdWU9XCJ7eyBpdGVtLmlzb2NvZGUgfX1cIlxuICAgICAgW3NlbGVjdGVkXT1cIihhY3RpdmVJdGVtJCB8IGFzeW5jKSA9PT0gaXRlbS5pc29jb2RlXCJcbiAgICA+XG4gICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgPC9vcHRpb24+PC9zZWxlY3RcbiAgPjxjeC1pY29uIFt0eXBlXT1cImljb25UeXBlcy5DQVJFVF9ET1dOXCIgY2xhc3M9XCJzbWFsbFwiPjwvY3gtaWNvbj5cbjwvbGFiZWw+XG4iXX0=