@vendasta/store
Version:
Components and data for Store
55 lines • 4.94 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, Output, EventEmitter } from '@angular/core';
export class StoreComponent {
constructor() {
this.items = [];
this.searchable = true;
this.itemClicked = new EventEmitter();
}
/**
* @return {?}
*/
get filteredItems() {
if (this.filterTerm) {
return this.items.filter(pkg => pkg.name.toLowerCase().indexOf(this.filterTerm.toLowerCase()) !== -1);
}
return this.items;
}
}
StoreComponent.decorators = [
{ type: Component, args: [{
selector: 'va-store',
template: `
<div class="toolbar">
<div *ngIf="searchable" class="table-controls-row">
<va-search-box (update)="filterTerm = $event"></va-search-box>
</div>
</div>
<div class="row row-gutters">
<div *ngFor="let item of filteredItems" class="col-flex">
<va-store-card [item]="item" (cardClicked)="this.itemClicked.emit(item)"></va-store-card>
</div>
</div>
`,
styles: [".flex-row{display:flex;flex-direction:row}.toolbar{padding:0;background-color:#fff;color:#616161}.toolbar .disabled{cursor:default}.toolbar .disabled mat-icon{cursor:default;color:#9e9e9e}.toolbar va-search-box{margin-right:10px;width:350px}.toolbar .table-controls-row{padding:0 10px 10px;display:flex;flex-direction:row;align-items:center}.toolbar .table-controls-row:first-of-type{padding-top:10px}.top-border{border-top:1px solid #fff}.selected{background-color:#fff}.row{display:flex;flex-wrap:wrap}.row+.row-gutters{margin-top:0}.row-gutters{margin-top:-20px;margin-left:-20px}.row-gutters>.col-flex{padding-top:20px;padding-left:20px}.col-flex{position:relative;max-width:100%;box-sizing:border-box;flex:0 0 auto;width:100%}@media screen and (min-width:480px){.col-flex{width:50%}}@media screen and (min-width:1200px){.col-flex{width:33.333333%}}"]
}] }
];
StoreComponent.propDecorators = {
items: [{ type: Input }],
searchable: [{ type: Input }],
itemClicked: [{ type: Output }]
};
if (false) {
/** @type {?} */
StoreComponent.prototype.items;
/** @type {?} */
StoreComponent.prototype.searchable;
/** @type {?} */
StoreComponent.prototype.itemClicked;
/** @type {?} */
StoreComponent.prototype.filterTerm;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHZlbmRhc3RhL3N0b3JlLyIsInNvdXJjZXMiOlsibGliL3N0b3JlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQW9COUUsTUFBTSxPQUFPLGNBQWM7SUFoQjNCO1FBaUJXLFVBQUssR0FBZ0IsRUFBRSxDQUFDO1FBQ3hCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBVXhELENBQUM7Ozs7SUFOQyxJQUFJLGFBQWE7UUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZHO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7OztZQTVCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDs7YUFFRjs7O29CQUVFLEtBQUs7eUJBQ0wsS0FBSzswQkFDTCxNQUFNOzs7O0lBRlAsK0JBQWlDOztJQUNqQyxvQ0FBMkI7O0lBQzNCLHFDQUFzRDs7SUFFdEQsb0NBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7U3RvcmVJdGVtfSBmcm9tICcuL3N0b3JlLWl0ZW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YS1zdG9yZScsXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXYgY2xhc3M9XCJ0b29sYmFyXCI+XG4gIDxkaXYgKm5nSWY9XCJzZWFyY2hhYmxlXCIgY2xhc3M9XCJ0YWJsZS1jb250cm9scy1yb3dcIj5cbiAgICAgIDx2YS1zZWFyY2gtYm94ICh1cGRhdGUpPVwiZmlsdGVyVGVybSA9ICRldmVudFwiPjwvdmEtc2VhcmNoLWJveD5cbiAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicm93IHJvdy1ndXR0ZXJzXCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkSXRlbXNcIiBjbGFzcz1cImNvbC1mbGV4XCI+XG4gICAgICAgICAgPHZhLXN0b3JlLWNhcmQgW2l0ZW1dPVwiaXRlbVwiIChjYXJkQ2xpY2tlZCk9XCJ0aGlzLml0ZW1DbGlja2VkLmVtaXQoaXRlbSlcIj48L3ZhLXN0b3JlLWNhcmQ+XG4gICAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3N0b3JlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3RvcmVDb21wb25lbnQge1xuICBASW5wdXQoKSBpdGVtczogU3RvcmVJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgc2VhcmNoYWJsZSA9IHRydWU7XG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U3RvcmVJdGVtPigpO1xuXG4gIGZpbHRlclRlcm06IHN0cmluZztcblxuICBnZXQgZmlsdGVyZWRJdGVtcygpOiBTdG9yZUl0ZW1bXSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyVGVybSkge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKHBrZyA9PiBwa2cubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5maWx0ZXJUZXJtLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLml0ZW1zO1xuICB9XG59XG4iXX0=