UNPKG

fabric8-planner

Version:
74 lines 3.04 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { cloneDeep } from 'lodash'; import { AND, EQUAL } from '../../services/query-keys'; import { FilterService } from './../../services/filter.service'; var LabelsComponent = /** @class */ (function () { function LabelsComponent(route, filterService) { this.route = route; this.filterService = filterService; this._labels = []; this.context = ''; this.onLabelClick = new EventEmitter(); this.onRemoveLabel = new EventEmitter(); this.labels = []; this.showMore = false; } Object.defineProperty(LabelsComponent.prototype, "labelInput", { set: function (labels) { this._labels = labels.filter(function (label) { return label.backgroundColor && label.textColor; }); }, enumerable: true, configurable: true }); LabelsComponent.prototype.moreClick = function (event) { event.stopPropagation(); }; LabelsComponent.prototype.clickLabel = function (label, event) { event.stopPropagation(); this.onLabelClick.emit(label); }; LabelsComponent.prototype.removeLabel = function (label, event) { event.stopPropagation(); this.onRemoveLabel.emit(label); }; LabelsComponent.prototype.constructQueryExpression = function (labelId) { this.queryParams = cloneDeep(this.route.snapshot.queryParams); var showTree = this.queryParams.hasOwnProperty('showTree'); var showCompleted = this.queryParams.hasOwnProperty('showCompleted'); var newQuery = this.filterService.queryBuilder('label', EQUAL, labelId); var existingQuery = {}; if (this.queryParams.hasOwnProperty('q')) { existingQuery = this.filterService.queryToJson(this.queryParams['q']); } var finalQuery = this.filterService.jsonToQuery(this.filterService.queryJoiner(existingQuery, AND, newQuery)); this.queryParams['q'] = finalQuery; return this.queryParams; }; LabelsComponent.decorators = [ { type: Component, args: [{ selector: 'f8-label', template: require('./labels.component.html'), styles: [require('./labels.component.css').toString()] },] }, ]; /** @nocollapse */ LabelsComponent.ctorParameters = function () { return [ { type: ActivatedRoute, }, { type: FilterService, }, ]; }; LabelsComponent.propDecorators = { 'labelInput': [{ type: Input, args: ['labels',] },], 'truncateAfter': [{ type: Input },], 'allowDelete': [{ type: Input },], 'context': [{ type: Input },], 'onLabelClick': [{ type: Output },], 'onRemoveLabel': [{ type: Output },], }; return LabelsComponent; }()); export { LabelsComponent }; //# sourceMappingURL=labels.component.js.map