ng-ipa-library 1.3.9 → 1.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -56,7 +56,7 @@ export class GenerateFormComponent {
|
|
|
56
56
|
column.validationPattern
|
|
57
57
|
? Validators.pattern(column.validationPattern)
|
|
58
58
|
: Validators.nullValidator,
|
|
59
|
-
['select', 'radio', '
|
|
59
|
+
['select', 'radio', 'file', 'recaptcha'].indexOf(column.type) <= -1
|
|
60
60
|
? Validators.maxLength(column.size)
|
|
61
61
|
: Validators.nullValidator,
|
|
62
62
|
column.type === 'number'
|
|
@@ -93,10 +93,10 @@ export class GenerateFormComponent {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
GenerateFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: GenerateFormComponent, deps: [{ token: i1.IPAFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
GenerateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", isArabicForm: "isArabicForm", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\r\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\r\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container [formArrayName]=\"'items'+ column.formControlName\"\r\n *ngFor=\"let control of getFormControls(column.formControlName).controls; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\r\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\r\n type=\"checkbox\" formControlName=\"checkbox\">\r\n <label class=\"form-check-label\"\r\n [for]=\"column.formControlName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container *ngFor=\"let item of column.data; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\">\r\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\"\r\n type=\"radio\" [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\" [class]=\"column.containerClasses\">\r\n <ipa-file-upload [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [acceptedFiles]=\"column.acceptedFiles!\" [multiple]=\"column.multipleFile!\"\r\n [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\" [autoUpload]=\"column.autoUploadFile!\"\r\n [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\" ngDefaultControl\r\n [formControlName]=\"column.formControlName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.formControlName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\r\n </ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\" [class]=\"column.containerClasses\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"
|
|
96
|
+
GenerateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", isArabicForm: "isArabicForm", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\r\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\r\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container [formArrayName]=\"'items'+ column.formControlName\"\r\n *ngFor=\"let control of getFormControls(column.formControlName).controls; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\r\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\r\n type=\"checkbox\" formControlName=\"checkbox\">\r\n <label class=\"form-check-label\"\r\n [for]=\"column.formControlName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container *ngFor=\"let item of column.data; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\">\r\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\"\r\n type=\"radio\" [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\" [class]=\"column.containerClasses\">\r\n <ipa-file-upload [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [acceptedFiles]=\"column.acceptedFiles!\" [multiple]=\"column.multipleFile!\"\r\n [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\" [autoUpload]=\"column.autoUploadFile!\"\r\n [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\" ngDefaultControl\r\n [formControlName]=\"column.formControlName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.formControlName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\r\n </ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\" [class]=\"column.containerClasses\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"isArabicForm? 'ar':'en'\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.formControlName}}\">\r\n </ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [type]=\"column.type\" [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""], components: [{ type: i2.TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses", "isArabicForm"] }, { type: i3.DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "firstItemLabel", "searchable", "notFoundText", "classes", "containerClasses", "isArabicForm", "fromGenerateForm"] }, { type: i4.FileUploadComponent, selector: "ipa-file-upload", inputs: ["label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { type: i5.RecaptchaComponent, selector: "ipa-recaptcha", inputs: ["siteKey", "recaptchaSize", "lang", "recaptchaType", "theme", "useGlobalDomain"] }, { type: i6.TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "placeholder", "label", "required", "patternErrorMsg", "onlyNumber", "pattern", "classes", "containerClasses", "isArabicForm"] }], directives: [{ type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i7.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i7.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
|
|
97
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: GenerateFormComponent, decorators: [{
|
|
98
98
|
type: Component,
|
|
99
|
-
args: [{ selector: 'ipa-generate-form', template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\r\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\r\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container [formArrayName]=\"'items'+ column.formControlName\"\r\n *ngFor=\"let control of getFormControls(column.formControlName).controls; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\r\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\r\n type=\"checkbox\" formControlName=\"checkbox\">\r\n <label class=\"form-check-label\"\r\n [for]=\"column.formControlName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container *ngFor=\"let item of column.data; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\">\r\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\"\r\n type=\"radio\" [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\" [class]=\"column.containerClasses\">\r\n <ipa-file-upload [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [acceptedFiles]=\"column.acceptedFiles!\" [multiple]=\"column.multipleFile!\"\r\n [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\" [autoUpload]=\"column.autoUploadFile!\"\r\n [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\" ngDefaultControl\r\n [formControlName]=\"column.formControlName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.formControlName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\r\n </ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\" [class]=\"column.containerClasses\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"
|
|
99
|
+
args: [{ selector: 'ipa-generate-form', template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\r\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\r\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container [formArrayName]=\"'items'+ column.formControlName\"\r\n *ngFor=\"let control of getFormControls(column.formControlName).controls; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\r\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\r\n type=\"checkbox\" formControlName=\"checkbox\">\r\n <label class=\"form-check-label\"\r\n [for]=\"column.formControlName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container *ngFor=\"let item of column.data; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\">\r\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\"\r\n type=\"radio\" [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\" [class]=\"column.containerClasses\">\r\n <ipa-file-upload [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [acceptedFiles]=\"column.acceptedFiles!\" [multiple]=\"column.multipleFile!\"\r\n [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\" [autoUpload]=\"column.autoUploadFile!\"\r\n [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\" ngDefaultControl\r\n [formControlName]=\"column.formControlName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.formControlName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\r\n </ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\" [class]=\"column.containerClasses\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"isArabicForm? 'ar':'en'\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.formControlName}}\">\r\n </ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [type]=\"column.type\" [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""] }]
|
|
100
100
|
}], ctorParameters: function () { return [{ type: i1.IPAFormService }]; }, propDecorators: { generateForm: [{
|
|
101
101
|
type: Input
|
|
102
102
|
}], form: [{
|
|
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
122
122
|
}], fileDeleted: [{
|
|
123
123
|
type: Output
|
|
124
124
|
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2dlbmVyYXRlLWZvcm0vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2dlbmVyYXRlLWZvcm0vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVMvRSxNQUFNLE9BQU8scUJBQXFCO0lBb0JoQyxZQUFvQixpQkFBaUM7UUFBakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFnQjtRQWpCNUMsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFJcEIsa0JBQWEsR0FBeUIsUUFBUSxDQUFDO1FBQy9DLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGtCQUFhLEdBQXNCLE9BQU8sQ0FBQztRQUMzQyxVQUFLLEdBQXFCLE9BQU8sQ0FBQztRQUNsQyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUVoQyxzQkFBc0I7UUFDWixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBSWEsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxlQUFlLENBQUMsZUFBdUI7UUFDckMsT0FBTyxJQUFJLENBQUMs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QUFDLEtBQVk7UUFDNUMsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFELE9BQU8sYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7O2tIQXhIVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixzWUNWbEMscWdNQThGTzsyRkRwRk0scUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjtxR0FLcEIsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFHSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJUEFGb3JtU2VydmljZSB9IGZyb20gJy4uL2lwYS1mb3JtL2lwYS1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb2x1bW4sIEdlbmVyYXRlRm9ybSB9IGZyb20gJy4uL21vZGVscy9nZW5lcmF0ZUZvcm0ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpcGEtZ2VuZXJhdGUtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyYXRlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2dlbmVyYXRlLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdlbmVyYXRlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZ2VuZXJhdGVGb3JtITogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm0hOiBHZW5lcmF0ZUZvcm07XHJcbiAgQElucHV0KCkgaXNBcmFiaWNGb3JtID0gdHJ1ZTtcclxuXHJcbiAgLy8gcmVjYXB0Y2hhIGlucHV0c1xyXG4gIEBJbnB1dCgpIHNpdGVLZXkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcmVjYXB0Y2hhU2l6ZTogJ2NvbXBhY3QnIHwgJ25vcm1hbCcgPSAnbm9ybWFsJztcclxuICBASW5wdXQoKSBsYW5nOiAnYXInIHwgJ2VuJyA9ICdhcic7XHJcbiAgQElucHV0KCkgcmVjYXB0Y2hhVHlwZTogJ2ltYWdlJyB8ICdhdWRpbycgPSAnaW1hZ2UnO1xyXG4gIEBJbnB1dCgpIHRoZW1lOiAnbGlnaHQnIHwgJ2RhcmsnID0gJ2xpZ2h0JztcclxuICBASW5wdXQoKSB1c2VHbG9iYWxEb21haW4gPSB0cnVlO1xyXG5cclxuICAvLyBmaWxlIHVwbG9hZCBvdXRwdXRzXHJcbiAgQE91dHB1dCgpIHN1Y2Nlc3NVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZpbGVBZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZmlsZURlbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGVycm9yTXNnITogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogSVBBRm9ybVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBnZXRGb3JtQ29udHJvbHMoZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlRm9ybS5nZXQoJ2l0ZW1zJyArIGZvcm1Db250cm9sTmFtZSkgYXMgRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0RXJyb3JNZXNzYWdlKGZvcm1Db250cm9sTmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZ2VuZXJhdGVGb3JtLmNvbnRyb2xzW1xyXG4gICAgICBmb3JtQ29udHJvbE5hbWVcclxuICAgIF0gYXMgRm9ybUNvbnRyb2w7XHJcbiAgICB0aGlzLmVycm9yTXNnID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoXHJcbiAgICAgIGZvcm1Db250cm9sLFxyXG4gICAgICAnJyxcclxuICAgICAgdGhpcy5pc0FyYWJpY0Zvcm1cclxuICAgICk7XHJcbiAgICByZXR1cm4gdGhpcy5lcnJvck1zZztcclxuICB9XHJcblxyXG4gIFN1Y2Nlc3NVcGxvYWQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zdWNjZXNzVXBsb2FkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgRmlsZUFkZGVkKGZpbGU6IGFueSwgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmNvbnRyb2xzW2Zvcm1Db250cm9sTmFtZV0ucGF0Y2hWYWx1ZShmaWxlKTtcclxuICAgIHRoaXMuZmlsZUFkZGVkLmVtaXQoZmlsZSk7XHJcbiAgfVxyXG5cclxuICBGaWxlRGVsZXRlZChldmVudDogYW55LCBmb3JtQ29udHJvbE5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5nZW5lcmF0ZUZvcm0uY29udHJvbHNbZm9ybUNvbnRyb2xOYW1lXS5wYXRjaFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5maWxlRGVsZXRlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcclxuICAgIHRoaXMuZm9ybS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xyXG4gICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdjaGVja2JveCcpIHtcclxuICAgICAgICB0aGlzLmFkZENoZWNrYm94Q29udHJvbChjb2x1bW4pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmFkZENvbnRyb2woXHJcbiAgICAgICAgICBjb2x1bW4uZm9ybUNvbnRyb2xOYW1lLFxyXG4gICAgICAgICAgbmV3IEZvcm1Db250cm9sKG51bGwsIFtcclxuICAgICAgICAgICAgY29sdW1uLnJlcXVpcmVkID8gVmFsaWRhdG9ycy5yZXF1aXJlZCA6IFZhbGlkYXRvcnMubnVsbFZhbGlkYXRvcixcclxuICAgICAgICAgICAgY29sdW1uLnZhbGlkYXRpb25QYXR0ZXJuXHJcbiAgICAgICAgICAgICAgPyBWYWxpZGF0b3JzLnBhdHRlcm4oY29sdW1uLnZhbGlkYXRpb25QYXR0ZXJuKVxyXG4gICAgICAgICAgICAgIDogVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yLFxyXG4gICAgICAgICAgICBbJ3NlbGVjdCcsICdyYWRpbycsICdjaGVja2JveCcsICdmaWxlJywgJ3JlY2FwdGNoYSddLmluZGV4T2YoXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGVcclxuICAgICAgICAgICAgKSA8PSAtMVxyXG4gICAgICAgICAgICAgID8gVmFsaWRhdG9ycy5tYXhMZW5ndGgoY29sdW1uLnNpemUhKVxyXG4gICAgICAgICAgICAgIDogVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yLFxyXG4gICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gJ251bWJlcidcclxuICAgICAgICAgICAgICA/IFZhbGlkYXRvcnMubWluKDEpXHJcbiAgICAgICAgICAgICAgOiBWYWxpZGF0b3JzLm51bGxWYWxpZGF0b3IsXHJcbiAgICAgICAgICBdKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRDaGVja2JveENvbnRyb2woY29sdW1uOiBDb2x1bW4pIHtcclxuICAgIGxldCBjaGVja2JveEdyb3VwID0gbmV3IEZvcm1BcnJheShcclxuICAgICAgY29sdW1uLmRhdGEhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKHtcclxuICAgICAgICAgIFtjb2x1bW4udmFsdWVGaWVsZCFdOiBuZXcgRm9ybUNvbnRyb2woaXRlbVtjb2x1bW4udmFsdWVGaWVsZCFdKSxcclxuICAgICAgICAgIFtjb2x1bW4udGV4dEZpZWxkIV06IG5ldyBGb3JtQ29udHJvbChpdGVtW2NvbHVtbi50ZXh0RmllbGQhXSksXHJcbiAgICAgICAgICBjaGVja2JveDogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5nZW5lcmF0ZUZvcm0uYWRkQ29udHJvbChcclxuICAgICAgY29sdW1uLmZvcm1Db250cm9sTmFtZSxcclxuICAgICAgbmV3IEZvcm1Db250cm9sKFxyXG4gICAgICAgIG51bGwsXHJcbiAgICAgICAgY29sdW1uLnJlcXVpcmVkID8gVmFsaWRhdG9ycy5yZXF1aXJlZCA6IFZhbGlkYXRvcnMubnVsbFZhbGlkYXRvclxyXG4gICAgICApXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUZvcm0uYWRkQ29udHJvbChcclxuICAgICAgJ2l0ZW1zJyArIGNvbHVtbi5mb3JtQ29udHJvbE5hbWUsXHJcbiAgICAgIGNoZWNrYm94R3JvdXBcclxuICAgICk7XHJcbiAgICBjaGVja2JveEdyb3VwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBhbnlbXSkgPT4ge1xyXG4gICAgICBsZXQgc2VsZWN0ZWRJdGVtcyA9IHRoaXMuZ2V0Q2hlY2tib3hTZWxlY3RlZFZhbHVlcyh2YWx1ZSk7XHJcbiAgICAgIGlmIChzZWxlY3RlZEl0ZW1zKSB7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUZvcm0uY29udHJvbHNbY29sdW1uLmZvcm1Db250cm9sTmFtZV0ucGF0Y2hWYWx1ZShcclxuICAgICAgICAgIHNlbGVjdGVkSXRlbXMubWFwKCh4KSA9PiB4W2NvbHVtbi50ZXh0RmllbGQhXSlcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmNvbnRyb2xzW2NvbHVtbi5mb3JtQ29udHJvbE5hbWVdLnBhdGNoVmFsdWUobnVsbCk7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUZvcm0uY29udHJvbHNbY29sdW1uLmZvcm1Db250cm9sTmFtZV0ubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2hlY2tib3hTZWxlY3RlZFZhbHVlcyhpdGVtczogYW55W10pOiBhbnlbXSB8IG51bGwge1xyXG4gICAgbGV0IHNlbGVjdGVkSXRlbXMgPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY2hlY2tib3gpO1xyXG4gICAgcmV0dXJuIHNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCA/IHNlbGVjdGVkSXRlbXMgOiBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImdlbmVyYXRlRm9ybVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGZvcm0uY29sdW1uc1wiPlxyXG4gICAgICAgIDxkaXYgW25nU3dpdGNoXT1cImNvbHVtbi50eXBlXCI+XHJcbiAgICAgICAgICAgIDwhLS0gVEVYVEFSRUEgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0QXJlYSdcIj5cclxuICAgICAgICAgICAgICAgIDxpcGEtdGV4dGFyZWEtaW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4uZm9ybUNvbnRyb2xOYW1lXCIgW2lkXT1cImNvbHVtbi5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpc0FyYWJpY0Zvcm0/IGNvbHVtbi5hcmFiaWNMYWJlbCA6IGNvbHVtbi5lbmdsaXNoTGFiZWxcIiBbcmVxdWlyZWRdPVwiY29sdW1uLnJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGF0dGVybkVycm9yTXNnXT1cImlzQXJhYmljRm9ybT8gY29sdW1uLnBhdHRlcm5BckVycm9yTXNnISA6IGNvbHVtbi5wYXR0ZXJuRW5FcnJvck1zZyFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc2VzXT1cImNvbHVtbi5pbnB1dENsYXNzZXMhXCIgW2NvbnRhaW5lckNsYXNzZXNdPVwiY29sdW1uLmNvbnRhaW5lckNsYXNzZXMhXCJcclxuICAgICAgICAgICAgICAgICAgICBbaXNBcmFiaWNGb3JtXT1cImlzQXJhYmljRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgPC9pcGEtdGV4dGFyZWEtaW5wdXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBEUk9QIERPV04gTElTVCAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIj5cclxuICAgICAgICAgICAgICAgIDxpcGEtZHJvcGRvd24taW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4uZm9ybUNvbnRyb2xOYW1lXCIgW2lkXT1cImNvbHVtbi5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpc0FyYWJpY0Zvcm0/IGNvbHVtbi5hcmFiaWNMYWJlbCA6IGNvbHVtbi5lbmdsaXNoTGFiZWxcIiBbaXRlbXNdPVwiY29sdW1uLmRhdGEhXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCJjb2x1bW4udmFsdWVGaWVsZCFcIiBbdGV4dEZpZWxkXT1cImNvbHVtbi50ZXh0RmllbGQhXCIgW3JlcXVpcmVkXT1cImNvbHVtbi5yZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiY29sdW1uLnNlYXJjaGFibGUhXCIgW25vdEZvdW5kVGV4dF09XCJjb2x1bW4ubm90Rm91bmRUZXh0IVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiY29sdW1uLmlucHV0Q2xhc3NlcyFcIiBbY29udGFpbmVyQ2xhc3Nlc109XCJjb2x1bW4uY29udGFpbmVyQ2xhc3NlcyFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpc0FyYWJpY0Zvcm1dPVwiaXNBcmFiaWNGb3JtXCIgW2Zyb21HZW5lcmF0ZUZvcm1dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9pcGEtZHJvcGRvd24taW5wdXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBDSEVDS0JPWCAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiIFtjbGFzc109XCJjb2x1bW4uY29udGFpbmVyQ2xhc3Nlc1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7aXNBcmFiaWNGb3JtPyBjb2x1bW4uYXJhYmljTGFiZWwgOiBjb2x1bW4uZW5nbGlzaExhYmVsfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUFycmF5TmFtZV09XCInaXRlbXMnKyBjb2x1bW4uZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29udHJvbCBvZiBnZXRGb3JtQ29udHJvbHMoY29sdW1uLmZvcm1Db250cm9sTmFtZSkuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayB7e2NvbHVtbi5pbnB1dENsYXNzZXN9fVwiIFtmb3JtR3JvdXBOYW1lXT1cImlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtpZF09XCJjb2x1bW4uZm9ybUNvbnRyb2xOYW1lK2NvbnRyb2wudmFsdWVbY29sdW1uLnZhbHVlRmllbGQhXVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIiBmb3JtQ29udHJvbE5hbWU9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiY29sdW1uLmZvcm1Db250cm9sTmFtZStjb250cm9sLnZhbHVlW2NvbHVtbi52YWx1ZUZpZWxkIV1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29udHJvbC52YWx1ZVtjb2x1bW4udGV4dEZpZWxkIV19fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiIHN0eWxlPVwiZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0RXJyb3JNZXNzYWdlKGNvbHVtbi5mb3JtQ29udHJvbE5hbWUpICE9PSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tlcnJvck1zZ319XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIFJBRElPIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCIgW2NsYXNzXT1cImNvbHVtbi5jb250YWluZXJDbGFzc2VzXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+e3tpc0FyYWJpY0Zvcm0/IGNvbHVtbi5hcmFiaWNMYWJlbCA6IGNvbHVtbi5lbmdsaXNoTGFiZWx9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbHVtbi5kYXRhOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sge3tjb2x1bW4uaW5wdXRDbGFzc2VzfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtpZF09XCJjb2x1bW4uZm9ybUNvbnRyb2xOYW1lK2l0ZW1bY29sdW1uLnZhbHVlRmllbGQhXVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIiBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbHVtbi5mb3JtQ29udHJvbE5hbWVcIiBbdmFsdWVdPVwiaXRlbVtjb2x1bW4udGV4dEZpZWxkIV1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIFtmb3JdPVwiY29sdW1uLmZvcm1Db250cm9sTmFtZStpdGVtW2NvbHVtbi52YWx1ZUZpZWxkIV1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbVtjb2x1bW4udGV4dEZpZWxkIV19fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiIHN0eWxlPVwiZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0RXJyb3JNZXNzYWdlKGNvbHVtbi5mb3JtQ29udHJvbE5hbWUpICE9PSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tlcnJvck1zZ319XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIEZJTEUgVVBMT0FEIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInZmlsZSdcIiBbY2xhc3NdPVwiY29sdW1uLmNvbnRhaW5lckNsYXNzZXNcIj5cclxuICAgICAgICAgICAgICAgIDxpcGEtZmlsZS11cGxvYWQgW2xhYmVsXT1cImlzQXJhYmljRm9ybT8gY29sdW1uLmFyYWJpY0xhYmVsIDogY29sdW1uLmVuZ2xpc2hMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FjY2VwdGVkRmlsZXNdPVwiY29sdW1uLmFjY2VwdGVkRmlsZXMhXCIgW211bHRpcGxlXT1cImNvbHVtbi5tdWx0aXBsZUZpbGUhXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4RmlsZVNpemVdPVwiY29sdW1uLnNpemUhXCIgW21ldGhvZF09XCJjb2x1bW4uYXBpVVJsTWV0aG9kIVwiIFthdXRvVXBsb2FkXT1cImNvbHVtbi5hdXRvVXBsb2FkRmlsZSFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthcGlVcmxdPVwiY29sdW1uLmFwaVVybD8/ICdhcGlVcmwnIFwiIFthdXRob3JpemF0aW9uXT1cImNvbHVtbi5hdXRob3JpemF0aW9uIVwiIG5nRGVmYXVsdENvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbHVtbi5mb3JtQ29udHJvbE5hbWVcIiAoc3VjY2Vzc1VwbG9hZCk9XCJTdWNjZXNzVXBsb2FkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChmaWxlQWRkZWQpPVwiRmlsZUFkZGVkKCRldmVudCwgY29sdW1uLmZvcm1Db250cm9sTmFtZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChmaWxlRGVsZXRlZCk9XCJGaWxlRGVsZXRlZCgkZXZlbnQsIGNvbHVtbi5mb3JtQ29udHJvbE5hbWUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2lwYS1maWxlLXVwbG9hZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIHJlY2FwdGNoYSAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3JlY2FwdGNoYSdcIiBbY2xhc3NdPVwiY29sdW1uLmNvbnRhaW5lckNsYXNzZXNcIj5cclxuICAgICAgICAgICAgICAgIDxpcGEtcmVjYXB0Y2hhIFtyZWNhcHRjaGFTaXplXT1cInJlY2FwdGNoYVNpemVcIiBbbGFuZ109XCJsYW5nXCIgW3RoZW1lXT1cInRoZW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVjYXB0Y2hhVHlwZV09XCJyZWNhcHRjaGFUeXBlXCIgW3VzZUdsb2JhbERvbWFpbl09XCJ1c2VHbG9iYWxEb21haW5cIlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7Y29sdW1uLmZvcm1Db250cm9sTmFtZX19XCI+XHJcbiAgICAgICAgICAgICAgICA8L2lwYS1yZWNhcHRjaGE+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBERUZBVUxUIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAgICA8aXBhLXRleHQtaW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4uZm9ybUNvbnRyb2xOYW1lXCIgW2lkXT1cImNvbHVtbi5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbHVtbi50eXBlXCIgW2xhYmVsXT1cImlzQXJhYmljRm9ybT8gY29sdW1uLmFyYWJpY0xhYmVsIDogY29sdW1uLmVuZ2xpc2hMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImNvbHVtbi5yZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhdHRlcm5FcnJvck1zZ109XCJpc0FyYWJpY0Zvcm0/IGNvbHVtbi5wYXR0ZXJuQXJFcnJvck1zZyEgOiBjb2x1bW4ucGF0dGVybkVuRXJyb3JNc2chXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Nlc109XCJjb2x1bW4uaW5wdXRDbGFzc2VzIVwiIFtjb250YWluZXJDbGFzc2VzXT1cImNvbHVtbi5jb250YWluZXJDbGFzc2VzIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lzQXJhYmljRm9ybV09XCJpc0FyYWJpY0Zvcm1cIj5cclxuICAgICAgICAgICAgICAgIDwvaXBhLXRleHQtaW5wdXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvZm9ybT4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2dlbmVyYXRlLWZvcm0vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2dlbmVyYXRlLWZvcm0vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVMvRSxNQUFNLE9BQU8scUJBQXFCO0lBb0JoQyxZQUFvQixpQkFBaUM7UUFBakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFnQjtRQWpCNUMsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFJcEIsa0JBQWEsR0FBeUIsUUFBUSxDQUFDO1FBQy9DLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGtCQUFhLEdBQXNCLE9BQU8sQ0FBQztRQUMzQyxVQUFLLEdBQXFCLE9BQU8sQ0FBQztRQUNsQyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUVoQyxzQkFBc0I7UUFDWixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBSWEsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxlQUFlLENBQUMsZUFBdUI7UUFDckMsT0FBTyxJQUFJLENBQUMs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QUM1QyxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUQsT0FBTyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekQsQ0FBQzs7a0hBdEhVLHFCQUFxQjtzR0FBckIscUJBQXFCLHNZQ1ZsQyx3aE1BOEZPOzJGRHBGTSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO3FHQUtwQixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IElQQUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vaXBhLWZvcm0vaXBhLWZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IENvbHVtbiwgR2VuZXJhdGVGb3JtIH0gZnJvbSAnLi4vbW9kZWxzL2dlbmVyYXRlRm9ybS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lwYS1nZW5lcmF0ZS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2VuZXJhdGVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBnZW5lcmF0ZUZvcm0hOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybSE6IEdlbmVyYXRlRm9ybTtcclxuICBASW5wdXQoKSBpc0FyYWJpY0Zvcm0gPSB0cnVlO1xyXG5cclxuICAvLyByZWNhcHRjaGEgaW5wdXRzXHJcbiAgQElucHV0KCkgc2l0ZUtleSE6IHN0cmluZztcclxuICBASW5wdXQoKSByZWNhcHRjaGFTaXplOiAnY29tcGFjdCcgfCAnbm9ybWFsJyA9ICdub3JtYWwnO1xyXG4gIEBJbnB1dCgpIGxhbmc6ICdhcicgfCAnZW4nID0gJ2FyJztcclxuICBASW5wdXQoKSByZWNhcHRjaGFUeXBlOiAnaW1hZ2UnIHwgJ2F1ZGlvJyA9ICdpbWFnZSc7XHJcbiAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgPSAnbGlnaHQnO1xyXG4gIEBJbnB1dCgpIHVzZUdsb2JhbERvbWFpbiA9IHRydWU7XHJcblxyXG4gIC8vIGZpbGUgdXBsb2FkIG91dHB1dHNcclxuICBAT3V0cHV0KCkgc3VjY2Vzc1VwbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZmlsZUFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmaWxlRGVsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgZXJyb3JNc2chOiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbGlkYXRpb25TZXJ2aWNlOiBJUEFGb3JtU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1Db250cm9scyhmb3JtQ29udHJvbE5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVGb3JtLmdldCgnaXRlbXMnICsgZm9ybUNvbnRyb2xOYW1lKSBhcyBGb3JtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBnZXRFcnJvck1lc3NhZ2UoZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5nZW5lcmF0ZUZvcm0uY29udHJvbHNbXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZVxyXG4gICAgXSBhcyBGb3JtQ29udHJvbDtcclxuICAgIHRoaXMuZXJyb3JNc2cgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldEVycm9yTWVzc2FnZShcclxuICAgICAgZm9ybUNvbnRyb2wsXHJcbiAgICAgICcnLFxyXG4gICAgICB0aGlzLmlzQXJhYmljRm9ybVxyXG4gICAgKTtcclxuICAgIHJldHVybiB0aGlzLmVycm9yTXNnO1xyXG4gIH1cclxuXHJcbiAgU3VjY2Vzc1VwbG9hZChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnN1Y2Nlc3NVcGxvYWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBGaWxlQWRkZWQoZmlsZTogYW55LCBmb3JtQ29udHJvbE5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5nZW5lcmF0ZUZvcm0uY29udHJvbHNbZm9ybUNvbnRyb2xOYW1lXS5wYXRjaFZhbHVlKGZpbGUpO1xyXG4gICAgdGhpcy5maWxlQWRkZWQuZW1pdChmaWxlKTtcclxuICB9XHJcblxyXG4gIEZpbGVEZWxldGVkKGV2ZW50OiBhbnksIGZvcm1Db250cm9sTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmdlbmVyYXRlRm9ybS5jb250cm9sc1tmb3JtQ29udHJvbE5hbWVdLnBhdGNoVmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbGVEZWxldGVkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCkge1xyXG4gICAgdGhpcy5mb3JtLmNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XHJcbiAgICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2NoZWNrYm94Jykge1xyXG4gICAgICAgIHRoaXMuYWRkQ2hlY2tib3hDb250cm9sKGNvbHVtbik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUZvcm0uYWRkQ29udHJvbChcclxuICAgICAgICAgIGNvbHVtbi5mb3JtQ29udHJvbE5hbWUsXHJcbiAgICAgICAgICBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1xyXG4gICAgICAgICAgICBjb2x1bW4ucmVxdWlyZWQgPyBWYWxpZGF0b3JzLnJlcXVpcmVkIDogVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yLFxyXG4gICAgICAgICAgICBjb2x1bW4udmFsaWRhdGlvblBhdHRlcm5cclxuICAgICAgICAgICAgICA/IFZhbGlkYXRvcnMucGF0dGVybihjb2x1bW4udmFsaWRhdGlvblBhdHRlcm4pXHJcbiAgICAgICAgICAgICAgOiBWYWxpZGF0b3JzLm51bGxWYWxpZGF0b3IsXHJcbiAgICAgICAgICAgIFsnc2VsZWN0JywgJ3JhZGlvJywgJ2ZpbGUnLCAncmVjYXB0Y2hhJ10uaW5kZXhPZihjb2x1bW4udHlwZSkgPD0gLTFcclxuICAgICAgICAgICAgICA/IFZhbGlkYXRvcnMubWF4TGVuZ3RoKGNvbHVtbi5zaXplISlcclxuICAgICAgICAgICAgICA6IFZhbGlkYXRvcnMubnVsbFZhbGlkYXRvcixcclxuICAgICAgICAgICAgY29sdW1uLnR5cGUgPT09ICdudW1iZXInXHJcbiAgICAgICAgICAgICAgPyBWYWxpZGF0b3JzLm1pbigxKVxyXG4gICAgICAgICAgICAgIDogVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yLFxyXG4gICAgICAgICAgXSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkQ2hlY2tib3hDb250cm9sKGNvbHVtbjogQ29sdW1uKSB7XHJcbiAgICBsZXQgY2hlY2tib3hHcm91cCA9IG5ldyBGb3JtQXJyYXkoXHJcbiAgICAgIGNvbHVtbi5kYXRhIS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICAgICAgICBbY29sdW1uLnZhbHVlRmllbGQhXTogbmV3IEZvcm1Db250cm9sKGl0ZW1bY29sdW1uLnZhbHVlRmllbGQhXSksXHJcbiAgICAgICAgICBbY29sdW1uLnRleHRGaWVsZCFdOiBuZXcgRm9ybUNvbnRyb2woaXRlbVtjb2x1bW4udGV4dEZpZWxkIV0pLFxyXG4gICAgICAgICAgY2hlY2tib3g6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmFkZENvbnRyb2woXHJcbiAgICAgIGNvbHVtbi5mb3JtQ29udHJvbE5hbWUsXHJcbiAgICAgIG5ldyBGb3JtQ29udHJvbChcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIGNvbHVtbi5yZXF1aXJlZCA/IFZhbGlkYXRvcnMucmVxdWlyZWQgOiBWYWxpZGF0b3JzLm51bGxWYWxpZGF0b3JcclxuICAgICAgKVxyXG4gICAgKTtcclxuICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmFkZENvbnRyb2woXHJcbiAgICAgICdpdGVtcycgKyBjb2x1bW4uZm9ybUNvbnRyb2xOYW1lLFxyXG4gICAgICBjaGVja2JveEdyb3VwXHJcbiAgICApO1xyXG4gICAgY2hlY2tib3hHcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZTogYW55W10pID0+IHtcclxuICAgICAgbGV0IHNlbGVjdGVkSXRlbXMgPSB0aGlzLmdldENoZWNrYm94U2VsZWN0ZWRWYWx1ZXModmFsdWUpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWRJdGVtcykge1xyXG4gICAgICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmNvbnRyb2xzW2NvbHVtbi5mb3JtQ29udHJvbE5hbWVdLnBhdGNoVmFsdWUoXHJcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zLm1hcCgoeCkgPT4geFtjb2x1bW4udGV4dEZpZWxkIV0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlRm9ybS5jb250cm9sc1tjb2x1bW4uZm9ybUNvbnRyb2xOYW1lXS5wYXRjaFZhbHVlKG51bGwpO1xyXG4gICAgICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmNvbnRyb2xzW2NvbHVtbi5mb3JtQ29udHJvbE5hbWVdLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENoZWNrYm94U2VsZWN0ZWRWYWx1ZXMoaXRlbXM6IGFueVtdKTogYW55W10gfCBudWxsIHtcclxuICAgIGxldCBzZWxlY3RlZEl0ZW1zID0gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNoZWNrYm94KTtcclxuICAgIHJldHVybiBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgPyBzZWxlY3RlZEl0ZW1zIDogbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJnZW5lcmF0ZUZvcm1cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBmb3JtLmNvbHVtbnNcIj5cclxuICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJjb2x1bW4udHlwZVwiPlxyXG4gICAgICAgICAgICA8IS0tIFRFWFRBUkVBIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIndGV4dEFyZWEnXCI+XHJcbiAgICAgICAgICAgICAgICA8aXBhLXRleHRhcmVhLWlucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwiY29sdW1uLmZvcm1Db250cm9sTmFtZVwiIFtpZF09XCJjb2x1bW4uZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiaXNBcmFiaWNGb3JtPyBjb2x1bW4uYXJhYmljTGFiZWwgOiBjb2x1bW4uZW5nbGlzaExhYmVsXCIgW3JlcXVpcmVkXT1cImNvbHVtbi5yZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhdHRlcm5FcnJvck1zZ109XCJpc0FyYWJpY0Zvcm0/IGNvbHVtbi5wYXR0ZXJuQXJFcnJvck1zZyEgOiBjb2x1bW4ucGF0dGVybkVuRXJyb3JNc2chXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Nlc109XCJjb2x1bW4uaW5wdXRDbGFzc2VzIVwiIFtjb250YWluZXJDbGFzc2VzXT1cImNvbHVtbi5jb250YWluZXJDbGFzc2VzIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lzQXJhYmljRm9ybV09XCJpc0FyYWJpY0Zvcm1cIj5cclxuICAgICAgICAgICAgICAgIDwvaXBhLXRleHRhcmVhLWlucHV0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gRFJPUCBET1dOIExJU1QgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3QnXCI+XHJcbiAgICAgICAgICAgICAgICA8aXBhLWRyb3Bkb3duLWlucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwiY29sdW1uLmZvcm1Db250cm9sTmFtZVwiIFtpZF09XCJjb2x1bW4uZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiaXNBcmFiaWNGb3JtPyBjb2x1bW4uYXJhYmljTGFiZWwgOiBjb2x1bW4uZW5nbGlzaExhYmVsXCIgW2l0ZW1zXT1cImNvbHVtbi5kYXRhIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwiY29sdW1uLnZhbHVlRmllbGQhXCIgW3RleHRGaWVsZF09XCJjb2x1bW4udGV4dEZpZWxkIVwiIFtyZXF1aXJlZF09XCJjb2x1bW4ucmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImNvbHVtbi5zZWFyY2hhYmxlIVwiIFtub3RGb3VuZFRleHRdPVwiY29sdW1uLm5vdEZvdW5kVGV4dCFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc2VzXT1cImNvbHVtbi5pbnB1dENsYXNzZXMhXCIgW2NvbnRhaW5lckNsYXNzZXNdPVwiY29sdW1uLmNvbnRhaW5lckNsYXNzZXMhXCJcclxuICAgICAgICAgICAgICAgICAgICBbaXNBcmFiaWNGb3JtXT1cImlzQXJhYmljRm9ybVwiIFtmcm9tR2VuZXJhdGVGb3JtXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDwvaXBhLWRyb3Bkb3duLWlucHV0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gQ0hFQ0tCT1ggLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIiBbY2xhc3NdPVwiY29sdW1uLmNvbnRhaW5lckNsYXNzZXNcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD57e2lzQXJhYmljRm9ybT8gY29sdW1uLmFyYWJpY0xhYmVsIDogY29sdW1uLmVuZ2xpc2hMYWJlbH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW2Zvcm1BcnJheU5hbWVdPVwiJ2l0ZW1zJysgY29sdW1uLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2YgZ2V0Rm9ybUNvbnRyb2xzKGNvbHVtbi5mb3JtQ29udHJvbE5hbWUpLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sge3tjb2x1bW4uaW5wdXRDbGFzc2VzfX1cIiBbZm9ybUdyb3VwTmFtZV09XCJpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbaWRdPVwiY29sdW1uLmZvcm1Db250cm9sTmFtZStjb250cm9sLnZhbHVlW2NvbHVtbi52YWx1ZUZpZWxkIV1cIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgZm9ybUNvbnRyb2xOYW1lPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yXT1cImNvbHVtbi5mb3JtQ29udHJvbE5hbWUrY29udHJvbC52YWx1ZVtjb2x1bW4udmFsdWVGaWVsZCFdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2NvbnRyb2wudmFsdWVbY29sdW1uLnRleHRGaWVsZCFdfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldEVycm9yTWVzc2FnZShjb2x1bW4uZm9ybUNvbnRyb2xOYW1lKSAhPT0gbnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ZXJyb3JNc2d9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBSQURJTyAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3JhZGlvJ1wiIFtjbGFzc109XCJjb2x1bW4uY29udGFpbmVyQ2xhc3Nlc1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7aXNBcmFiaWNGb3JtPyBjb2x1bW4uYXJhYmljTGFiZWwgOiBjb2x1bW4uZW5nbGlzaExhYmVsfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW4uZGF0YTsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIHt7Y29sdW1uLmlucHV0Q2xhc3Nlc319XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbaWRdPVwiY29sdW1uLmZvcm1Db250cm9sTmFtZStpdGVtW2NvbHVtbi52YWx1ZUZpZWxkIV1cIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4uZm9ybUNvbnRyb2xOYW1lXCIgW3ZhbHVlXT1cIml0ZW1bY29sdW1uLnRleHRGaWVsZCFdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBbZm9yXT1cImNvbHVtbi5mb3JtQ29udHJvbE5hbWUraXRlbVtjb2x1bW4udmFsdWVGaWVsZCFdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2l0ZW1bY29sdW1uLnRleHRGaWVsZCFdfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldEVycm9yTWVzc2FnZShjb2x1bW4uZm9ybUNvbnRyb2xOYW1lKSAhPT0gbnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ZXJyb3JNc2d9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBGSUxFIFVQTE9BRCAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2ZpbGUnXCIgW2NsYXNzXT1cImNvbHVtbi5jb250YWluZXJDbGFzc2VzXCI+XHJcbiAgICAgICAgICAgICAgICA8aXBhLWZpbGUtdXBsb2FkIFtsYWJlbF09XCJpc0FyYWJpY0Zvcm0/IGNvbHVtbi5hcmFiaWNMYWJlbCA6IGNvbHVtbi5lbmdsaXNoTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthY2NlcHRlZEZpbGVzXT1cImNvbHVtbi5hY2NlcHRlZEZpbGVzIVwiIFttdWx0aXBsZV09XCJjb2x1bW4ubXVsdGlwbGVGaWxlIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heEZpbGVTaXplXT1cImNvbHVtbi5zaXplIVwiIFttZXRob2RdPVwiY29sdW1uLmFwaVVSbE1ldGhvZCFcIiBbYXV0b1VwbG9hZF09XCJjb2x1bW4uYXV0b1VwbG9hZEZpbGUhXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXBpVXJsXT1cImNvbHVtbi5hcGlVcmw/PyAnYXBpVXJsJyBcIiBbYXV0aG9yaXphdGlvbl09XCJjb2x1bW4uYXV0aG9yaXphdGlvbiFcIiBuZ0RlZmF1bHRDb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4uZm9ybUNvbnRyb2xOYW1lXCIgKHN1Y2Nlc3NVcGxvYWQpPVwiU3VjY2Vzc1VwbG9hZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAoZmlsZUFkZGVkKT1cIkZpbGVBZGRlZCgkZXZlbnQsIGNvbHVtbi5mb3JtQ29udHJvbE5hbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAoZmlsZURlbGV0ZWQpPVwiRmlsZURlbGV0ZWQoJGV2ZW50LCBjb2x1bW4uZm9ybUNvbnRyb2xOYW1lKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9pcGEtZmlsZS11cGxvYWQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSByZWNhcHRjaGEgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidyZWNhcHRjaGEnXCIgW2NsYXNzXT1cImNvbHVtbi5jb250YWluZXJDbGFzc2VzXCI+XHJcbiAgICAgICAgICAgICAgICA8aXBhLXJlY2FwdGNoYSBbcmVjYXB0Y2hhU2l6ZV09XCJyZWNhcHRjaGFTaXplXCIgW2xhbmddPVwiaXNBcmFiaWNGb3JtPyAnYXInOidlbidcIiBbdGhlbWVdPVwidGhlbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWNhcHRjaGFUeXBlXT1cInJlY2FwdGNoYVR5cGVcIiBbdXNlR2xvYmFsRG9tYWluXT1cInVzZUdsb2JhbERvbWFpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwie3tjb2x1bW4uZm9ybUNvbnRyb2xOYW1lfX1cIj5cclxuICAgICAgICAgICAgICAgIDwvaXBhLXJlY2FwdGNoYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIERFRkFVTFQgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgICAgIDxpcGEtdGV4dC1pbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbHVtbi5mb3JtQ29udHJvbE5hbWVcIiBbaWRdPVwiY29sdW1uLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiY29sdW1uLnR5cGVcIiBbbGFiZWxdPVwiaXNBcmFiaWNGb3JtPyBjb2x1bW4uYXJhYmljTGFiZWwgOiBjb2x1bW4uZW5nbGlzaExhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiY29sdW1uLnJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGF0dGVybkVycm9yTXNnXT1cImlzQXJhYmljRm9ybT8gY29sdW1uLnBhdHRlcm5BckVycm9yTXNnISA6IGNvbHVtbi5wYXR0ZXJuRW5FcnJvck1zZyFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc2VzXT1cImNvbHVtbi5pbnB1dENsYXNzZXMhXCIgW2NvbnRhaW5lckNsYXNzZXNdPVwiY29sdW1uLmNvbnRhaW5lckNsYXNzZXMhXCJcclxuICAgICAgICAgICAgICAgICAgICBbaXNBcmFiaWNGb3JtXT1cImlzQXJhYmljRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgPC9pcGEtdGV4dC1pbnB1dD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9mb3JtPiJdfQ==
|
|
@@ -824,7 +824,7 @@ class GenerateFormComponent {
|
|
|
824
824
|
column.validationPattern
|
|
825
825
|
? Validators.pattern(column.validationPattern)
|
|
826
826
|
: Validators.nullValidator,
|
|
827
|
-
['select', 'radio', '
|
|
827
|
+
['select', 'radio', 'file', 'recaptcha'].indexOf(column.type) <= -1
|
|
828
828
|
? Validators.maxLength(column.size)
|
|
829
829
|
: Validators.nullValidator,
|
|
830
830
|
column.type === 'number'
|
|
@@ -861,10 +861,10 @@ class GenerateFormComponent {
|
|
|
861
861
|
}
|
|
862
862
|
}
|
|
863
863
|
GenerateFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: GenerateFormComponent, deps: [{ token: IPAFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
864
|
-
GenerateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", isArabicForm: "isArabicForm", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\r\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\r\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container [formArrayName]=\"'items'+ column.formControlName\"\r\n *ngFor=\"let control of getFormControls(column.formControlName).controls; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\r\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\r\n type=\"checkbox\" formControlName=\"checkbox\">\r\n <label class=\"form-check-label\"\r\n [for]=\"column.formControlName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container *ngFor=\"let item of column.data; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\">\r\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\"\r\n type=\"radio\" [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\" [class]=\"column.containerClasses\">\r\n <ipa-file-upload [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [acceptedFiles]=\"column.acceptedFiles!\" [multiple]=\"column.multipleFile!\"\r\n [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\" [autoUpload]=\"column.autoUploadFile!\"\r\n [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\" ngDefaultControl\r\n [formControlName]=\"column.formControlName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.formControlName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\r\n </ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\" [class]=\"column.containerClasses\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"
|
|
864
|
+
GenerateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", isArabicForm: "isArabicForm", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\r\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\r\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container [formArrayName]=\"'items'+ column.formControlName\"\r\n *ngFor=\"let control of getFormControls(column.formControlName).controls; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\r\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\r\n type=\"checkbox\" formControlName=\"checkbox\">\r\n <label class=\"form-check-label\"\r\n [for]=\"column.formControlName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container *ngFor=\"let item of column.data; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\">\r\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\"\r\n type=\"radio\" [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\" [class]=\"column.containerClasses\">\r\n <ipa-file-upload [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [acceptedFiles]=\"column.acceptedFiles!\" [multiple]=\"column.multipleFile!\"\r\n [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\" [autoUpload]=\"column.autoUploadFile!\"\r\n [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\" ngDefaultControl\r\n [formControlName]=\"column.formControlName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.formControlName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\r\n </ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\" [class]=\"column.containerClasses\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"isArabicForm? 'ar':'en'\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.formControlName}}\">\r\n </ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [type]=\"column.type\" [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""], components: [{ type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses", "isArabicForm"] }, { type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "firstItemLabel", "searchable", "notFoundText", "classes", "containerClasses", "isArabicForm", "fromGenerateForm"] }, { type: FileUploadComponent, selector: "ipa-file-upload", inputs: ["label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { type: RecaptchaComponent, selector: "ipa-recaptcha", inputs: ["siteKey", "recaptchaSize", "lang", "recaptchaType", "theme", "useGlobalDomain"] }, { type: TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "placeholder", "label", "required", "patternErrorMsg", "onlyNumber", "pattern", "classes", "containerClasses", "isArabicForm"] }], directives: [{ type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
|
|
865
865
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: GenerateFormComponent, decorators: [{
|
|
866
866
|
type: Component,
|
|
867
|
-
args: [{ selector: 'ipa-generate-form', template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\r\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\r\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container [formArrayName]=\"'items'+ column.formControlName\"\r\n *ngFor=\"let control of getFormControls(column.formControlName).controls; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\r\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\r\n type=\"checkbox\" formControlName=\"checkbox\">\r\n <label class=\"form-check-label\"\r\n [for]=\"column.formControlName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container *ngFor=\"let item of column.data; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\">\r\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\"\r\n type=\"radio\" [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\" [class]=\"column.containerClasses\">\r\n <ipa-file-upload [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [acceptedFiles]=\"column.acceptedFiles!\" [multiple]=\"column.multipleFile!\"\r\n [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\" [autoUpload]=\"column.autoUploadFile!\"\r\n [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\" ngDefaultControl\r\n [formControlName]=\"column.formControlName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.formControlName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\r\n </ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\" [class]=\"column.containerClasses\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"
|
|
867
|
+
args: [{ selector: 'ipa-generate-form', template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\r\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\r\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container [formArrayName]=\"'items'+ column.formControlName\"\r\n *ngFor=\"let control of getFormControls(column.formControlName).controls; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\r\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\r\n type=\"checkbox\" formControlName=\"checkbox\">\r\n <label class=\"form-check-label\"\r\n [for]=\"column.formControlName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\" [class]=\"column.containerClasses\">\r\n <label>{{isArabicForm? column.arabicLabel : column.englishLabel}}</label>\r\n <ng-container *ngFor=\"let item of column.data; let i = index\">\r\n <div class=\"form-check {{column.inputClasses}}\">\r\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\"\r\n type=\"radio\" [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </ng-container>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.formControlName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\" [class]=\"column.containerClasses\">\r\n <ipa-file-upload [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [acceptedFiles]=\"column.acceptedFiles!\" [multiple]=\"column.multipleFile!\"\r\n [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\" [autoUpload]=\"column.autoUploadFile!\"\r\n [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\" ngDefaultControl\r\n [formControlName]=\"column.formControlName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.formControlName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\r\n </ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\" [class]=\"column.containerClasses\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"isArabicForm? 'ar':'en'\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.formControlName}}\">\r\n </ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\r\n [type]=\"column.type\" [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\r\n [required]=\"column.required\"\r\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\r\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\"\r\n [isArabicForm]=\"isArabicForm\">\r\n </ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""] }]
|
|
868
868
|
}], ctorParameters: function () { return [{ type: IPAFormService }]; }, propDecorators: { generateForm: [{
|
|
869
869
|
type: Input
|
|
870
870
|
}], form: [{
|