@knora/search
Version:
Knora ui module: search
49 lines • 5.43 kB
JavaScript
import * as tslib_1 from "tslib";
import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
var SelectOntologyComponent = /** @class */ (function () {
function SelectOntologyComponent(fb) {
this.fb = fb;
this.ontologySelected = new EventEmitter();
}
SelectOntologyComponent.prototype.ngOnInit = function () {
var _this = this;
// build a form for the named graph selection
this.form = this.fb.group({
ontology: [null, Validators.required]
});
// emit Iri of the ontology when being selected
this.form.valueChanges.subscribe(function (data) {
_this.ontologySelected.emit(data.ontology);
});
// add form to the parent form group
this.formGroup.addControl('ontology', this.form);
};
SelectOntologyComponent.ctorParameters = function () { return [
{ type: FormBuilder, decorators: [{ type: Inject, args: [FormBuilder,] }] }
]; };
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", FormGroup)
], SelectOntologyComponent.prototype, "formGroup", void 0);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Array)
], SelectOntologyComponent.prototype, "ontologies", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", Object)
], SelectOntologyComponent.prototype, "ontologySelected", void 0);
SelectOntologyComponent = tslib_1.__decorate([
Component({
selector: 'kui-select-ontology',
template: "<mat-form-field *ngIf=\"ontologies.length > 0\" class=\"large-field\">\n <mat-select placeholder=\"Select an Ontology\" [formControl]=\"form.controls['ontology']\">\n <mat-option *ngFor=\"let onto of ontologies\" [value]=\"onto.id\">{{ onto.label }}</mat-option>\n </mat-select>\n</mat-form-field>\n",
styles: [""]
}),
tslib_1.__param(0, Inject(FormBuilder)),
tslib_1.__metadata("design:paramtypes", [FormBuilder])
], SelectOntologyComponent);
return SelectOntologyComponent;
}());
export { SelectOntologyComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9udG9sb2d5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Brbm9yYS9zZWFyY2gvIiwic291cmNlcyI6WyJsaWIvZXh0ZW5kZWQtc2VhcmNoL3NlbGVjdC1vbnRvbG9neS9zZWxlY3Qtb250b2xvZ3kuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9wRTtJQVVJLGlDQUEwQyxFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUovQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBSUssQ0FBQztJQUU5RCwwQ0FBUSxHQUFSO1FBQUEsaUJBZUM7UUFiRyw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN0QixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUN4QyxDQUFDLENBQUM7UUFFSCwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQUMsSUFBSTtZQUNsQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUVILG9DQUFvQztRQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXJELENBQUM7O2dCQWpCNkMsV0FBVyx1QkFBM0MsTUFBTSxTQUFDLFdBQVc7O0lBUnZCO1FBQVIsS0FBSyxFQUFFOzBDQUFZLFNBQVM7OERBQUM7SUFFckI7UUFBUixLQUFLLEVBQUU7MENBQWEsS0FBSzsrREFBbUI7SUFFbkM7UUFBVCxNQUFNLEVBQUU7O3FFQUErQztJQU4vQyx1QkFBdUI7UUFMbkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHFCQUFxQjtZQUMvQiw0VEFBK0M7O1NBRWxELENBQUM7UUFXZ0IsbUJBQUEsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO2lEQUFhLFdBQVc7T0FWaEQsdUJBQXVCLENBNkJuQztJQUFELDhCQUFDO0NBQUEsQUE3QkQsSUE2QkM7U0E3QlksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPbnRvbG9neU1ldGFkYXRhIH0gZnJvbSAnQGtub3JhL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrdWktc2VsZWN0LW9udG9sb2d5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LW9udG9sb2d5LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3Qtb250b2xvZ3kuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RPbnRvbG9neUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBASW5wdXQoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIEBJbnB1dCgpIG9udG9sb2dpZXM6IEFycmF5PE9udG9sb2d5TWV0YWRhdGE+O1xuXG4gICAgQE91dHB1dCgpIG9udG9sb2d5U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIGZvcm06IEZvcm1Hcm91cDtcblxuICAgIGNvbnN0cnVjdG9yIChASW5qZWN0KEZvcm1CdWlsZGVyKSBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikgeyB9XG5cbiAgICBuZ09uSW5pdCgpIHtcblxuICAgICAgICAvLyBidWlsZCBhIGZvcm0gZm9yIHRoZSBuYW1lZCBncmFwaCBzZWxlY3Rpb25cbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICBvbnRvbG9neTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIGVtaXQgSXJpIG9mIHRoZSBvbnRvbG9neSB3aGVuIGJlaW5nIHNlbGVjdGVkXG4gICAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9udG9sb2d5U2VsZWN0ZWQuZW1pdChkYXRhLm9udG9sb2d5KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gYWRkIGZvcm0gdG8gdGhlIHBhcmVudCBmb3JtIGdyb3VwXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ29udG9sb2d5JywgdGhpcy5mb3JtKTtcblxuICAgIH1cblxufVxuIl19