UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

47 lines 8.87 kB
import { Component, EventEmitter, Input, Output, } from '@angular/core'; import { map } from 'rxjs/operators'; import { filterByConnectionTypes, TapConnectionStoreService, } from '../tap-connection-store.service'; import * as i0 from "@angular/core"; import * as i1 from "../tap-connection-store.service"; import * as i2 from "@angular/common"; import * as i3 from "@ionic/angular"; import * as i4 from "../tap-connection-store-item/tap-connection-store-item.component"; export class TapConnectionStoreListComponent { set connectionTypes(filteredConnectionTypes) { this.filteredConnectionTypes = filteredConnectionTypes; this.items = filterByConnectionTypes(this.filteredConnectionTypes)(this.items || []); } constructor(storeService) { this.storeService = storeService; this.filteredConnectionTypes = undefined; this.selected = new EventEmitter(); } ngOnInit() { if (!this.items) { this.sub = this.storeService.values .pipe(map(filterByConnectionTypes(this.filteredConnectionTypes))) .subscribe((values) => { this.items = values; }); } } ngOnDestroy() { this.sub?.unsubscribe(); } onItemSelected(item) { this.selected.emit(item); } } /** @nocollapse */ TapConnectionStoreListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapConnectionStoreListComponent, deps: [{ token: i1.TapConnectionStoreService }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ TapConnectionStoreListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TapConnectionStoreListComponent, selector: "tap-connection-store-list", inputs: { items: "items", connectionTypes: "connectionTypes" }, outputs: { selected: "selected" }, ngImport: i0, template: "<ion-grid>\n <ion-row class=\"center-row\">\n <ion-col\n size-xs=\"12\"\n size-sm=\"12\"\n size-md=\"12\"\n size-lg=\"6\"\n size-xl=\"4\"\n *ngFor=\"let item of items\"\n >\n <tap-connection-store-item\n [item]=\"item\"\n (selected)=\"onItemSelected($event)\"\n >\n </tap-connection-store-item>\n </ion-col>\n </ion-row>\n</ion-grid>\n", styles: [".center-row{justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i3.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i3.IonRow, selector: "ion-row" }, { kind: "component", type: i4.TapConnectionStoreItemComponent, selector: "tap-connection-store-item", inputs: ["item"], outputs: ["selected"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapConnectionStoreListComponent, decorators: [{ type: Component, args: [{ selector: 'tap-connection-store-list', template: "<ion-grid>\n <ion-row class=\"center-row\">\n <ion-col\n size-xs=\"12\"\n size-sm=\"12\"\n size-md=\"12\"\n size-lg=\"6\"\n size-xl=\"4\"\n *ngFor=\"let item of items\"\n >\n <tap-connection-store-item\n [item]=\"item\"\n (selected)=\"onItemSelected($event)\"\n >\n </tap-connection-store-item>\n </ion-col>\n </ion-row>\n</ion-grid>\n", styles: [".center-row{justify-content:center}\n"] }] }], ctorParameters: function () { return [{ type: i1.TapConnectionStoreService }]; }, propDecorators: { items: [{ type: Input }], connectionTypes: [{ type: Input }], selected: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWNvbm5lY3Rpb24tc3RvcmUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb3RpemUtaW9uaWMvc3JjL2xpYi90YXAtY29ubmVjdC90YXAtY29ubmVjdGlvbi1zdG9yZS90YXAtY29ubmVjdGlvbi1zdG9yZS1saXN0L3RhcC1jb25uZWN0aW9uLXN0b3JlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW90aXplLWlvbmljL3NyYy9saWIvdGFwLWNvbm5lY3QvdGFwLWNvbm5lY3Rpb24tc3RvcmUvdGFwLWNvbm5lY3Rpb24tc3RvcmUtbGlzdC90YXAtY29ubmVjdGlvbi1zdG9yZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFVLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIseUJBQXlCLEdBQzFCLE1BQU0saUNBQWlDLENBQUM7Ozs7OztBQU96QyxNQUFNLE9BQU8sK0JBQStCO0lBSzFDLElBQWEsZUFBZSxDQUFDLHVCQUE2QztRQUN4RSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDdkQsSUFBSSxDQUFDLEtBQUssR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FDaEUsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQ2pCLENBQUM7SUFDSixDQUFDO0lBTUQsWUFBb0IsWUFBdUM7UUFBdkMsaUJBQVksR0FBWixZQUFZLENBQTJCO1FBZjNELDRCQUF1QixHQUFjLFNBQVMsQ0FBQztRQVdyQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7SUFJRixDQUFDO0lBRS9ELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNO2lCQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7aUJBQ2hFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBNEI7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7Z0pBbENVLCtCQUErQjtvSUFBL0IsK0JBQStCLG9LQ3RCNUMsdVpBa0JBOzRGRElhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSwyQkFBMkI7Z0hBTzVCLEtBQUs7c0JBQWIsS0FBSztnQkFFTyxlQUFlO3NCQUEzQixLQUFLO2dCQU9JLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgVGFwQ29ubmVjdGlvblN0b3JlSXRlbSB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7XG4gIGZpbHRlckJ5Q29ubmVjdGlvblR5cGVzLFxuICBUYXBDb25uZWN0aW9uU3RvcmVTZXJ2aWNlLFxufSBmcm9tICcuLi90YXAtY29ubmVjdGlvbi1zdG9yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGFwLWNvbm5lY3Rpb24tc3RvcmUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXAtY29ubmVjdGlvbi1zdG9yZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFwLWNvbm5lY3Rpb24tc3RvcmUtbGlzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYXBDb25uZWN0aW9uU3RvcmVMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBmaWx0ZXJlZENvbm5lY3Rpb25UeXBlcz86IHN0cmluZ1tdID0gdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpIGl0ZW1zPzogVGFwQ29ubmVjdGlvblN0b3JlSXRlbVtdO1xuXG4gIEBJbnB1dCgpIHNldCBjb25uZWN0aW9uVHlwZXMoZmlsdGVyZWRDb25uZWN0aW9uVHlwZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5maWx0ZXJlZENvbm5lY3Rpb25UeXBlcyA9IGZpbHRlcmVkQ29ubmVjdGlvblR5cGVzO1xuICAgIHRoaXMuaXRlbXMgPSBmaWx0ZXJCeUNvbm5lY3Rpb25UeXBlcyh0aGlzLmZpbHRlcmVkQ29ubmVjdGlvblR5cGVzKShcbiAgICAgIHRoaXMuaXRlbXMgfHwgW11cbiAgICApO1xuICB9XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUYXBDb25uZWN0aW9uU3RvcmVJdGVtPigpO1xuXG4gIHByaXZhdGUgc3ViPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmVTZXJ2aWNlOiBUYXBDb25uZWN0aW9uU3RvcmVTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pdGVtcykge1xuICAgICAgdGhpcy5zdWIgPSB0aGlzLnN0b3JlU2VydmljZS52YWx1ZXNcbiAgICAgICAgLnBpcGUobWFwKGZpbHRlckJ5Q29ubmVjdGlvblR5cGVzKHRoaXMuZmlsdGVyZWRDb25uZWN0aW9uVHlwZXMpKSlcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5pdGVtcyA9IHZhbHVlcztcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkl0ZW1TZWxlY3RlZChpdGVtOiBUYXBDb25uZWN0aW9uU3RvcmVJdGVtKSB7XG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KGl0ZW0pO1xuICB9XG59XG4iLCI8aW9uLWdyaWQ+XG4gIDxpb24tcm93IGNsYXNzPVwiY2VudGVyLXJvd1wiPlxuICAgIDxpb24tY29sXG4gICAgICBzaXplLXhzPVwiMTJcIlxuICAgICAgc2l6ZS1zbT1cIjEyXCJcbiAgICAgIHNpemUtbWQ9XCIxMlwiXG4gICAgICBzaXplLWxnPVwiNlwiXG4gICAgICBzaXplLXhsPVwiNFwiXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiXG4gICAgPlxuICAgICAgPHRhcC1jb25uZWN0aW9uLXN0b3JlLWl0ZW1cbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgIChzZWxlY3RlZCk9XCJvbkl0ZW1TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvdGFwLWNvbm5lY3Rpb24tc3RvcmUtaXRlbT5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cbjwvaW9uLWdyaWQ+XG4iXX0=