import ngModule from '../module'; import SearchPanel from 'core/components/searchbar/search-panel'; import './style.scss'; class Controller extends SearchPanel { constructor($element, $) { super($element, $); } $onInit() { this.filter = { isActive: true, tags: [] }; } changeCategory(id) { if (this.filter.categoryFk != id) { this.filter.categoryFk = id; this.applyFilters(); } } removeItemFilter(param) { this.filter[param] = null; if (param == 'categoryFk') this.filter['typeFk'] = null; this.applyFilters(); } removeTag(tag) { const index = this.filter.tags.indexOf(tag); if (index > -1) this.filter.tags.splice(index, 1); this.applyFilters(); } onKeyPress($event) { if ($event.key === 'Enter') this.applyFilters(); } applyFilters() { for (let i = 0; i < this.filter.tags.length; i++) { if (!this.filter.tags[i].value) this.filter.tags.splice(i, 1); } return this.model.applyFilter({}, this.filter); } showTagInfo(itemTag) { if (!itemTag.tagFk) return itemTag.value; return `${this.tags.find(tag => tag.id == itemTag.tagFk).name}: ${itemTag.value}`; } } ngModule.component('vnLatestBuysSearchPanel', { template: require('./index.html'), controller: Controller, bindings: { model: '<' } });