UNPKG

@iotize/ionic

Version:

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

50 lines 8.85 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 { storeService; filteredConnectionTypes = undefined; items; set connectionTypes(filteredConnectionTypes) { this.filteredConnectionTypes = filteredConnectionTypes; this.items = filterByConnectionTypes(this.filteredConnectionTypes)(this.items || []); } selected = new EventEmitter(); sub; constructor(storeService) { this.storeService = storeService; } 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 */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TapConnectionStoreListComponent, deps: [{ token: i1.TapConnectionStoreService }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", 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: "18.2.14", 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: () => [{ type: i1.TapConnectionStoreService }], propDecorators: { items: [{ type: Input }], connectionTypes: [{ type: Input }], selected: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWNvbm5lY3Rpb24tc3RvcmUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb3RpemUtaW9uaWMvc3JjL2xpYi90YXAtY29ubmVjdC90YXAtY29ubmVjdGlvbi1zdG9yZS90YXAtY29ubmVjdGlvbi1zdG9yZS1saXN0L3RhcC1jb25uZWN0aW9uLXN0b3JlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW90aXplLWlvbmljL3NyYy9saWIvdGFwLWNvbm5lY3QvdGFwLWNvbm5lY3Rpb24tc3RvcmUvdGFwLWNvbm5lY3Rpb24tc3RvcmUtbGlzdC90YXAtY29ubmVjdGlvbi1zdG9yZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFVLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIseUJBQXlCLEdBQzFCLE1BQU0saUNBQWlDLENBQUM7Ozs7OztBQU96QyxNQUFNLE9BQU8sK0JBQStCO0lBZ0J0QjtJQWZwQix1QkFBdUIsR0FBYyxTQUFTLENBQUM7SUFFdEMsS0FBSyxDQUE0QjtJQUUxQyxJQUFhLGVBQWUsQ0FBQyx1QkFBNkM7UUFDeEUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQ2hFLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVTLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztJQUV4RCxHQUFHLENBQWdCO0lBRTNCLFlBQW9CLFlBQXVDO1FBQXZDLGlCQUFZLEdBQVosWUFBWSxDQUEyQjtJQUFHLENBQUM7SUFFL0QsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU07aUJBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztpQkFDaEUsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQTRCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7MkhBbENVLCtCQUErQjsrR0FBL0IsK0JBQStCLG9LQ3RCNUMsdVpBa0JBOzs0RkRJYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsMkJBQTJCOzhGQU81QixLQUFLO3NCQUFiLEtBQUs7Z0JBRU8sZUFBZTtzQkFBM0IsS0FBSztnQkFPSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFRhcENvbm5lY3Rpb25TdG9yZUl0ZW0gfSBmcm9tICcuLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQge1xuICBmaWx0ZXJCeUNvbm5lY3Rpb25UeXBlcyxcbiAgVGFwQ29ubmVjdGlvblN0b3JlU2VydmljZSxcbn0gZnJvbSAnLi4vdGFwLWNvbm5lY3Rpb24tc3RvcmUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RhcC1jb25uZWN0aW9uLXN0b3JlLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFwLWNvbm5lY3Rpb24tc3RvcmUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhcC1jb25uZWN0aW9uLXN0b3JlLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFwQ29ubmVjdGlvblN0b3JlTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgZmlsdGVyZWRDb25uZWN0aW9uVHlwZXM/OiBzdHJpbmdbXSA9IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKSBpdGVtcz86IFRhcENvbm5lY3Rpb25TdG9yZUl0ZW1bXTtcblxuICBASW5wdXQoKSBzZXQgY29ubmVjdGlvblR5cGVzKGZpbHRlcmVkQ29ubmVjdGlvblR5cGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuZmlsdGVyZWRDb25uZWN0aW9uVHlwZXMgPSBmaWx0ZXJlZENvbm5lY3Rpb25UeXBlcztcbiAgICB0aGlzLml0ZW1zID0gZmlsdGVyQnlDb25uZWN0aW9uVHlwZXModGhpcy5maWx0ZXJlZENvbm5lY3Rpb25UeXBlcykoXG4gICAgICB0aGlzLml0ZW1zIHx8IFtdXG4gICAgKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFwQ29ubmVjdGlvblN0b3JlSXRlbT4oKTtcblxuICBwcml2YXRlIHN1Yj86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZTogVGFwQ29ubmVjdGlvblN0b3JlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXRlbXMpIHtcbiAgICAgIHRoaXMuc3ViID0gdGhpcy5zdG9yZVNlcnZpY2UudmFsdWVzXG4gICAgICAgIC5waXBlKG1hcChmaWx0ZXJCeUNvbm5lY3Rpb25UeXBlcyh0aGlzLmZpbHRlcmVkQ29ubmVjdGlvblR5cGVzKSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICAgIHRoaXMuaXRlbXMgPSB2YWx1ZXM7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25JdGVtU2VsZWN0ZWQoaXRlbTogVGFwQ29ubmVjdGlvblN0b3JlSXRlbSkge1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChpdGVtKTtcbiAgfVxufVxuIiwiPGlvbi1ncmlkPlxuICA8aW9uLXJvdyBjbGFzcz1cImNlbnRlci1yb3dcIj5cbiAgICA8aW9uLWNvbFxuICAgICAgc2l6ZS14cz1cIjEyXCJcbiAgICAgIHNpemUtc209XCIxMlwiXG4gICAgICBzaXplLW1kPVwiMTJcIlxuICAgICAgc2l6ZS1sZz1cIjZcIlxuICAgICAgc2l6ZS14bD1cIjRcIlxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgID5cbiAgICAgIDx0YXAtY29ubmVjdGlvbi1zdG9yZS1pdGVtXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAoc2VsZWN0ZWQpPVwib25JdGVtU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L3RhcC1jb25uZWN0aW9uLXN0b3JlLWl0ZW0+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG48L2lvbi1ncmlkPlxuIl19