UNPKG

ontotext-reusable-ui-components

Version:

Unified reusable UI components designed for the Ontotext ecosystem.

74 lines 10.8 kB
import { Component, Input } from '@angular/core'; import { OntoSearchFacetComponent } from '../onto-search-facet.component'; export class ToggleFacetComponent extends OntoSearchFacetComponent { ngOnChanges(changes) { var _a; super.ngOnChanges(changes); if ((_a = changes === null || changes === void 0 ? void 0 : changes.data) === null || _a === void 0 ? void 0 : _a.currentValue) { this.color = this.data.color; this.facetGroup.sort(this.compareByLabel); } if (this.selected.length) { const indexOfSelectedElement = this.facetGroup.map((item) => item.label).indexOf(this.selected[0].label); this.currentValueIndex = indexOfSelectedElement > 0 ? indexOfSelectedElement : 0; this.currentValue = Boolean(this.currentValueIndex); this.currentSelection = this.facetGroup[this.currentValueIndex]; if (this.facetGroup.length === 1 && indexOfSelectedElement === 0) { this.currentValue = true; } } else if (this.facetGroup.length === 1) { this.currentSelection = this.facetGroup[0]; } else { this.currentSelection = null; this.currentValue = null; this.currentValueIndex = null; } } onToggle($event) { var _a; let selection; if (this.facetGroup.length === 1) { this.facetGroup[0].selected = $event.checked; selection = { name: this.facetGroupName, selected: [this.currentSelection], count: (_a = this.currentSelection) === null || _a === void 0 ? void 0 : _a.count }; } else { this.currentValueIndex = $event.checked ? 1 : 0; this.currentSelection = this.facetGroup[this.currentValueIndex]; this.refreshSelection(this.currentValueIndex); selection = { name: this.facetGroupName, selected: [this.currentSelection], count: this.currentSelection.count }; } this.onSelectionChange.emit(selection); } refreshSelection(indexOfSelected) { this.facetGroup.forEach((value, index) => value.selected = (index === indexOfSelected)); } compareByLabel(item1, item2) { if (item1.label > item2.label) { return 1; } else if (item2.label > item1.label) { return -1; } return 0; } } ToggleFacetComponent.decorators = [ { type: Component, args: [{ selector: 'onto-toggle-facet', template: "<div class=\"toggle-facet\" appCypressData=\"toggle-facet\">\n <div *ngIf=\"facetTitleTemplate\">\n <ng-container [ngTemplateOutlet]=\"facetTitleTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: facetGroupName}\"></ng-container>\n </div>\n <mat-slide-toggle appCypressData=\"toggle-facet-slide\" class=\"toggle-facet-slide\"\n [color]=\"color\"\n (change)=\"onToggle($event)\"\n [(ngModel)]=\"currentValue\">\n <ng-container [ngTemplateOutlet]=\"facetTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: currentSelection}\">\n </ng-container>\n </mat-slide-toggle>\n</div>\n" },] } ]; ToggleFacetComponent.propDecorators = { data: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWZhY2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2plbmtpbnNfam9icy93b3Jrc3BhY2UvcmV1c2FibGUtdWktY29tcG9uZW50cy1yZWxlYXNlL3Byb2plY3RzL29udG8tc2VhcmNoL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vbnRvLXNlYXJjaC1mYWNldC90b2dnbGUtZmFjZXQvdG9nZ2xlLWZhY2V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFVeEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHdCQUF3QjtJQVNoRSxXQUFXLENBQUMsT0FBc0I7O1FBQ2hDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsVUFBSSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsSUFBSSwwQ0FBRSxZQUFZLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDM0M7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3hCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV6RyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FB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bGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T250b1NlYXJjaEZhY2V0Q29tcG9uZW50fSBmcm9tICcuLi9vbnRvLXNlYXJjaC1mYWNldC5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWFyY2hGYWNldFNlbGVjdGlvbn0gZnJvbSAnLi4vbW9kZWxzL3NlYXJjaC1mYWNldC1zZWxlY3Rpb24nO1xuaW1wb3J0IHtTZWFyY2hGYWNldE1vZGVsfSBmcm9tICcuLi9tb2RlbHMvc2VhcmNoLWZhY2V0LW1vZGVsJztcbmltcG9ydCB7TWF0U2xpZGVUb2dnbGVDaGFuZ2V9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQge1NlYXJjaFRvZ2dsZUdyb3VwTW9kZWx9IGZyb20gJy4vc2VhcmNoLXRvZ2dsZS1ncm91cC1tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29udG8tdG9nZ2xlLWZhY2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS1mYWNldC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlRmFjZXRDb21wb25lbnQgZXh0ZW5kcyBPbnRvU2VhcmNoRmFjZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YTogU2VhcmNoVG9nZ2xlR3JvdXBNb2RlbDtcblxuICBjb2xvcjtcbiAgY3VycmVudFNlbGVjdGlvbjogU2VhcmNoRmFjZXRNb2RlbDtcbiAgY3VycmVudFZhbHVlOiBib29sZWFuO1xuICBjdXJyZW50VmFsdWVJbmRleDogbnVtYmVyO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICBpZiAoY2hhbmdlcz8uZGF0YT8uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmNvbG9yID0gdGhpcy5kYXRhLmNvbG9yO1xuICAgICAgdGhpcy5mYWNldEdyb3VwLnNvcnQodGhpcy5jb21wYXJlQnlMYWJlbCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkLmxlbmd0aCkge1xuICAgICAgY29uc3QgaW5kZXhPZlNlbGVjdGVkRWxlbWVudCA9IHRoaXMuZmFjZXRHcm91cC5tYXAoKGl0ZW0pID0+IGl0ZW0ubGFiZWwpLmluZGV4T2YodGhpcy5zZWxlY3RlZFswXS5sYWJlbCk7XG5cbiAgICAgIHRoaXMuY3VycmVudFZhbHVlSW5kZXggPSBpbmRleE9mU2VsZWN0ZWRFbGVtZW50ID4gMCA/IGluZGV4T2ZTZWxlY3RlZEVsZW1lbnQgOiAwO1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBCb29sZWFuKHRoaXMuY3VycmVudFZhbHVlSW5kZXgpO1xuICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gdGhpcy5mYWNldEdyb3VwW3RoaXMuY3VycmVudFZhbHVlSW5kZXhdO1xuXG4gICAgICBpZiAodGhpcy5mYWNldEdyb3VwLmxlbmd0aCA9PT0gMSAmJiBpbmRleE9mU2VsZWN0ZWRFbGVtZW50ID09PSAwKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuZmFjZXRHcm91cC5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IHRoaXMuZmFjZXRHcm91cFswXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gbnVsbDtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlSW5kZXggPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIG9uVG9nZ2xlKCRldmVudDogTWF0U2xpZGVUb2dnbGVDaGFuZ2UpOiB2b2lkIHtcbiAgICBsZXQgc2VsZWN0aW9uOiBTZWFyY2hGYWNldFNlbGVjdGlvbjtcbiAgICBpZiAodGhpcy5mYWNldEdyb3VwLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5mYWNldEdyb3VwWzBdLnNlbGVjdGVkID0gJGV2ZW50LmNoZWNrZWQ7XG4gICAgICBzZWxlY3Rpb24gPSB7XG4gICAgICAgIG5hbWU6IHRoaXMuZmFjZXRHcm91cE5hbWUsXG4gICAgICAgIHNlbGVjdGVkOiBbdGhpcy5jdXJyZW50U2VsZWN0aW9uXSxcbiAgICAgICAgY291bnQ6IHRoaXMuY3VycmVudFNlbGVjdGlvbj8uY291bnRcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlSW5kZXggPSAkZXZlbnQuY2hlY2tlZCA/IDEgOiAwO1xuICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gdGhpcy5mYWNldEdyb3VwW3RoaXMuY3VycmVudFZhbHVlSW5kZXhdO1xuICAgICAgdGhpcy5yZWZyZXNoU2VsZWN0aW9uKHRoaXMuY3VycmVudFZhbHVlSW5kZXgpO1xuXG4gICAgICBzZWxlY3Rpb24gPSB7XG4gICAgICAgIG5hbWU6IHRoaXMuZmFjZXRHcm91cE5hbWUsXG4gICAgICAgIHNlbGVjdGVkOiBbdGhpcy5jdXJyZW50U2VsZWN0aW9uXSxcbiAgICAgICAgY291bnQ6IHRoaXMuY3VycmVudFNlbGVjdGlvbi5jb3VudFxuICAgICAgfTtcbiAgICB9XG4gICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KHNlbGVjdGlvbik7XG4gIH1cblxuICByZWZyZXNoU2VsZWN0aW9uKGluZGV4T2ZTZWxlY3RlZDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5mYWNldEdyb3VwLmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUuc2VsZWN0ZWQgPSAoaW5kZXggPT09IGluZGV4T2ZTZWxlY3RlZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wYXJlQnlMYWJlbChpdGVtMSwgaXRlbTIpOiBudW1iZXIge1xuICAgIGlmIChpdGVtMS5sYWJlbCA+IGl0ZW0yLmxhYmVsKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2UgaWYgKGl0ZW0yLmxhYmVsID4gaXRlbTEubGFiZWwpIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH1cbn1cbiJdfQ==