import {Component, ViewEncapsulation} from '@angular/core'; import {BaCard} from '../../../../theme/components'; import {NG2_SMART_TABLE_DIRECTIVES, LocalDataSource} from 'ng2-smart-table'; import { SmartTablesService } from './smartTables.service'; @Component({ selector: 'basic-tables', encapsulation: ViewEncapsulation.None, directives: [BaCard, NG2_SMART_TABLE_DIRECTIVES], styles: [require('./smartTables.scss')], template: require('./smartTables.html'), providers: [SmartTablesService] }) export class SmartTables { query: string = ''; settings = { add: { addButtonContent: '', createButtonContent: '', cancelButtonContent: '', }, edit: { editButtonContent: '', saveButtonContent: '', cancelButtonContent: '', }, delete: { deleteButtonContent: '', }, columns: { id: { title: 'ID', type: 'number' }, firstName: { title: 'First Name', type: 'string' }, lastName: { title: 'Last Name', type: 'string' }, username: { title: 'Username', type: 'string' }, email: { title: 'E-mail', type: 'string' }, age: { title: 'Age', type: 'number' } } }; source: LocalDataSource = new LocalDataSource(); constructor(protected service: SmartTablesService) { this.service.getData().then((data) => { this.source.load(data); }); } onSearch(): void { this.source.setFilter([ { field: 'id', search: this.query }, { field: 'firstName', search: this.query }, { field: 'lastName', search: this.query }, { field: 'username', search: this.query }, { field: 'email', search: this.query }, { field: 'age', search: this.query } ], false); } }