ontotext-reusable-ui-components
Version:
Unified reusable UI components designed for the Ontotext ecosystem.
74 lines • 10.8 kB
JavaScript
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==