mss-engine-forms
Version:
A simple typehead library developed by MSS development team to be used for dynamic forms
20 lines • 6.55 kB
JavaScript
import { Component, Input } from "@angular/core";
import * as i0 from "@angular/core";
import * as i1 from "@angular/forms";
import * as i2 from "@angular/common";
import * as i3 from "@ng-select/ng-select";
export class DynamicSelectComponent {
constructor(formgroupDirective) {
this.formgroupDirective = formgroupDirective;
this.formName = formgroupDirective.control;
}
}
DynamicSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DynamicSelectComponent, deps: [{ token: i1.FormGroupDirective }], target: i0.ɵɵFactoryTarget.Component });
DynamicSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DynamicSelectComponent, selector: "app-dynamic-select", inputs: { field: "field" }, ngImport: i0, template: "<form [formGroup]=\"formName\">\n <div class=\"form-group\">\n <label>{{field.label}} <span *ngIf=\"field?.rules?.required\" class=\"red-asterisk\">*</span></label>\n <!-- <select [formControlName]=\"field.fieldName\">\n <option *ngFor=\"let option of field.options\" [value]=\"option.value\">\n {{option.label}}\n </option>\n </select> -->\n <ng-select [items]=\"field.options\" bindLabel=\"label\" bindValue=\"value\" [formControlName]=\"field.fieldName\"\n [placeholder]=\"field.placeholder\">\n </ng-select>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DynamicSelectComponent, decorators: [{
type: Component,
args: [{ selector: "app-dynamic-select", template: "<form [formGroup]=\"formName\">\n <div class=\"form-group\">\n <label>{{field.label}} <span *ngIf=\"field?.rules?.required\" class=\"red-asterisk\">*</span></label>\n <!-- <select [formControlName]=\"field.fieldName\">\n <option *ngFor=\"let option of field.options\" [value]=\"option.value\">\n {{option.label}}\n </option>\n </select> -->\n <ng-select [items]=\"field.options\" bindLabel=\"label\" bindValue=\"value\" [formControlName]=\"field.fieldName\"\n [placeholder]=\"field.placeholder\">\n </ng-select>\n </div>\n</form>" }]
}], ctorParameters: function () { return [{ type: i1.FormGroupDirective }]; }, propDecorators: { field: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXNzLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkL2R5bmFtaWMtc2VsZWN0L2R5bmFtaWMtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zcy1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1maWVsZC9keW5hbWljLXNlbGVjdC9keW5hbWljLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRekQsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN4RCxJQUFJLENBQUMsUUFBUSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUM3QyxDQUFDOztvSEFOVSxzQkFBc0I7d0dBQXRCLHNCQUFzQixzRkNSbkMsd21CQVlPOzRGREpNLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7eUdBS3JCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Hcm91cERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLWR5bmFtaWMtc2VsZWN0XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHluYW1pYy1zZWxlY3QuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2R5bmFtaWMtc2VsZWN0LmNvbXBvbmVudC5jc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNTZWxlY3RDb21wb25lbnQge1xuICBASW5wdXQoKSBmaWVsZDogYW55O1xuICBmb3JtTmFtZTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybWdyb3VwRGlyZWN0aXZlOiBGb3JtR3JvdXBEaXJlY3RpdmUpIHtcbiAgICB0aGlzLmZvcm1OYW1lID0gZm9ybWdyb3VwRGlyZWN0aXZlLmNvbnRyb2w7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybU5hbWVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICA8bGFiZWw+e3tmaWVsZC5sYWJlbH19IDxzcGFuICpuZ0lmPVwiZmllbGQ/LnJ1bGVzPy5yZXF1aXJlZFwiIGNsYXNzPVwicmVkLWFzdGVyaXNrXCI+Kjwvc3Bhbj48L2xhYmVsPlxuICAgICAgICA8IS0tIDxzZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5maWVsZE5hbWVcIj5cbiAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWVsZC5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIHt7b3B0aW9uLmxhYmVsfX1cbiAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD4gLS0+XG4gICAgICAgIDxuZy1zZWxlY3QgW2l0ZW1zXT1cImZpZWxkLm9wdGlvbnNcIiBiaW5kTGFiZWw9XCJsYWJlbFwiIGJpbmRWYWx1ZT1cInZhbHVlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5maWVsZE5hbWVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIj5cbiAgICAgICAgPC9uZy1zZWxlY3Q+XG4gICAgPC9kaXY+XG48L2Zvcm0+Il19