onshore-forms 0.0.7 → 0.0.9

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.
Files changed (77) hide show
  1. package/esm2020/lib/components/form-autocomplete-item/form-autocomplete-item.component.mjs +11 -0
  2. package/esm2020/lib/components/form-checkbox-item/form-checkbox-item.component.mjs +62 -0
  3. package/esm2020/lib/components/form-colorpicker-item/form-colorpicker-item.component.mjs +69 -0
  4. package/esm2020/lib/components/form-dropdown-item/form-dropdown-item.component.mjs +65 -0
  5. package/esm2020/lib/components/form-image-item/form-image-item.component.mjs +160 -0
  6. package/esm2020/lib/components/form-input-item/form-input-item.component.mjs +63 -0
  7. package/esm2020/lib/components/form-switch-item/form-switch-item.component.mjs +65 -0
  8. package/esm2020/lib/components/form-textarea-item/form-textarea-item.component.mjs +61 -0
  9. package/esm2020/lib/components/form-validation-output/form-validation-output.component.mjs +41 -0
  10. package/esm2020/lib/enums/form.enums.mjs +26 -0
  11. package/esm2020/lib/models/form.models.mjs +2 -0
  12. package/esm2020/lib/onshore-forms.component.mjs +22 -0
  13. package/esm2020/lib/onshore-forms.module.mjs +134 -0
  14. package/esm2020/lib/onshore-forms.service.mjs +151 -0
  15. package/esm2020/onshore-forms.mjs +5 -0
  16. package/esm2020/public-api.mjs +18 -0
  17. package/fesm2015/onshore-forms.mjs +921 -0
  18. package/fesm2015/onshore-forms.mjs.map +1 -0
  19. package/fesm2020/onshore-forms.mjs +877 -0
  20. package/fesm2020/onshore-forms.mjs.map +1 -0
  21. package/index.d.ts +5 -0
  22. package/lib/components/form-autocomplete-item/form-autocomplete-item.component.d.ts +5 -0
  23. package/lib/components/form-checkbox-item/form-checkbox-item.component.d.ts +21 -0
  24. package/lib/components/form-colorpicker-item/form-colorpicker-item.component.d.ts +23 -0
  25. package/lib/components/form-dropdown-item/form-dropdown-item.component.d.ts +22 -0
  26. package/lib/components/form-image-item/form-image-item.component.d.ts +40 -0
  27. package/lib/components/form-input-item/form-input-item.component.d.ts +23 -0
  28. package/lib/components/form-switch-item/form-switch-item.component.d.ts +21 -0
  29. package/lib/components/form-textarea-item/form-textarea-item.component.d.ts +22 -0
  30. package/lib/components/form-validation-output/form-validation-output.component.d.ts +17 -0
  31. package/lib/enums/form.enums.d.ts +23 -0
  32. package/lib/models/form.models.d.ts +61 -0
  33. package/lib/onshore-forms.component.d.ts +8 -0
  34. package/lib/onshore-forms.module.d.ts +31 -0
  35. package/lib/onshore-forms.service.d.ts +32 -0
  36. package/package.json +21 -10
  37. package/{src/public-api.ts → public-api.d.ts} +0 -4
  38. package/karma.conf.js +0 -44
  39. package/ng-package.json +0 -11
  40. package/src/lib/components/form-autocomplete-item/form-autocomplete-item.component.html +0 -46
  41. package/src/lib/components/form-autocomplete-item/form-autocomplete-item.component.scss +0 -0
  42. package/src/lib/components/form-autocomplete-item/form-autocomplete-item.component.ts +0 -133
  43. package/src/lib/components/form-checkbox-item/form-checkbox-item.component.html +0 -23
  44. package/src/lib/components/form-checkbox-item/form-checkbox-item.component.scss +0 -0
  45. package/src/lib/components/form-checkbox-item/form-checkbox-item.component.ts +0 -65
  46. package/src/lib/components/form-colorpicker-item/form-colorpicker-item.component.html +0 -30
  47. package/src/lib/components/form-colorpicker-item/form-colorpicker-item.component.scss +0 -0
  48. package/src/lib/components/form-colorpicker-item/form-colorpicker-item.component.ts +0 -71
  49. package/src/lib/components/form-dropdown-item/form-dropdown-item.component.html +0 -44
  50. package/src/lib/components/form-dropdown-item/form-dropdown-item.component.scss +0 -0
  51. package/src/lib/components/form-dropdown-item/form-dropdown-item.component.ts +0 -68
  52. package/src/lib/components/form-image-item/form-image-item.component.html +0 -79
  53. package/src/lib/components/form-image-item/form-image-item.component.scss +0 -3
  54. package/src/lib/components/form-image-item/form-image-item.component.ts +0 -155
  55. package/src/lib/components/form-input-item/form-input-item.component.html +0 -81
  56. package/src/lib/components/form-input-item/form-input-item.component.scss +0 -3
  57. package/src/lib/components/form-input-item/form-input-item.component.ts +0 -66
  58. package/src/lib/components/form-switch-item/form-switch-item.component.html +0 -8
  59. package/src/lib/components/form-switch-item/form-switch-item.component.scss +0 -0
  60. package/src/lib/components/form-switch-item/form-switch-item.component.ts +0 -72
  61. package/src/lib/components/form-textarea-item/form-textarea-item.component.html +0 -39
  62. package/src/lib/components/form-textarea-item/form-textarea-item.component.scss +0 -0
  63. package/src/lib/components/form-textarea-item/form-textarea-item.component.ts +0 -64
  64. package/src/lib/components/form-validation-output/form-validation-output.component.html +0 -2
  65. package/src/lib/components/form-validation-output/form-validation-output.component.scss +0 -1
  66. package/src/lib/components/form-validation-output/form-validation-output.component.ts +0 -43
  67. package/src/lib/enums/form.enums.ts +0 -24
  68. package/src/lib/models/form.models.ts +0 -70
  69. package/src/lib/onshore-forms.component.ts +0 -20
  70. package/src/lib/onshore-forms.module.ts +0 -78
  71. package/src/lib/onshore-forms.service.ts +0 -172
  72. package/src/test.ts +0 -27
  73. package/styles/css/main.css +0 -1
  74. package/styles/css/theme1.css +0 -1
  75. package/tsconfig.lib.json +0 -24
  76. package/tsconfig.lib.prod.json +0 -20
  77. package/tsconfig.spec.json +0 -17
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onshore-forms.mjs","sources":["../../../projects/onshore-forms/src/lib/enums/form.enums.ts","../../../projects/onshore-forms/src/lib/onshore-forms.service.ts","../../../projects/onshore-forms/src/lib/onshore-forms.component.ts","../../../projects/onshore-forms/src/lib/components/form-validation-output/form-validation-output.component.ts","../../../projects/onshore-forms/src/lib/components/form-validation-output/form-validation-output.component.html","../../../projects/onshore-forms/src/lib/components/form-input-item/form-input-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-input-item/form-input-item.component.html","../../../projects/onshore-forms/src/lib/components/form-switch-item/form-switch-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-switch-item/form-switch-item.component.html","../../../projects/onshore-forms/src/lib/components/form-textarea-item/form-textarea-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-textarea-item/form-textarea-item.component.html","../../../projects/onshore-forms/src/lib/components/form-image-item/form-image-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-image-item/form-image-item.component.html","../../../projects/onshore-forms/src/lib/components/form-dropdown-item/form-dropdown-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-dropdown-item/form-dropdown-item.component.html","../../../projects/onshore-forms/src/lib/components/form-colorpicker-item/form-colorpicker-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-colorpicker-item/form-colorpicker-item.component.html","../../../projects/onshore-forms/src/lib/components/form-checkbox-item/form-checkbox-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-checkbox-item/form-checkbox-item.component.html","../../../projects/onshore-forms/src/lib/components/form-autocomplete-item/form-autocomplete-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-autocomplete-item/form-autocomplete-item.component.html","../../../projects/onshore-forms/src/lib/onshore-forms.module.ts","../../../projects/onshore-forms/src/public-api.ts","../../../projects/onshore-forms/src/onshore-forms.ts"],"sourcesContent":["export enum OnshoreFormTemplateType {\r\n text = 'text',\r\n textarea = 'textarea',\r\n editor = 'editor',\r\n password = 'password',\r\n number = 'number',\r\n email = 'email',\r\n phone = 'phone',\r\n regexp = 'regexp',\r\n select = 'select',\r\n check = 'check',\r\n radio = 'radio',\r\n image = 'image',\r\n autocomplete = 'autocomplete',\r\n color = 'color',\r\n subform = 'subform'\r\n}\r\n\r\nexport enum OnshoreImageError {\r\n none = '',\r\n fileType = 'fileType',\r\n ratio = 'ratio',\r\n size = 'size',\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { Subject, Subscription } from 'rxjs';\nimport { OnshoreFormTemplateType } from './enums/form.enums';\nimport { OnshoreFormTemplateItem, OnshoreFormValidationItem } from './models/form.models';\n@Injectable({\n providedIn: 'root'\n})\nexport class OnshoreFormsService {\n\n _form: FormGroup;\n _formTemplate: OnshoreFormTemplateItem[];\n _formValidations: OnshoreFormValidationItem[] = [];\n\n subscriptions: Array<Subscription> = [];\n\n public isLoading$: Subject<boolean> = new Subject<boolean>();\n\n constructor() {\n this._form = new FormGroup({}, {updateOn: 'change'});\n this._formTemplate = [];\n }\n\n public get form(): FormGroup {\n return this._form;\n }\n\n public get formValues() {\n return this._form?.value;\n }\n\n public patchForm(value: any) {\n this._form?.patchValue(value);\n }\n\n public resetForm() {\n this._form?.reset();\n this._form?.updateValueAndValidity({ onlySelf: false, emitEvent: true });\n this.subscriptions.forEach((subscription: Subscription) => {\n subscription.unsubscribe();\n });\n\n this._form = null!;\n this._formTemplate = null!;\n }\n\n public generateForm(formTemplate: OnshoreFormTemplateItem[]): FormGroup | null {\n this._formTemplate = formTemplate;\n this._form = new FormGroup({}, {updateOn: 'change'});\n this._form = this.iterateNestedForm(this._form, formTemplate);\n return this._form;\n }\n\n public formTemplate(name: string, formTemplate: OnshoreFormTemplateItem[] = this._formTemplate): OnshoreFormTemplateItem {\n let template: OnshoreFormTemplateItem;\n\n if(formTemplate) {\n for(let i = 0; i < formTemplate?.length; i++) {\n const item = formTemplate[i];\n if(item.name === name) {\n template = item;\n i = formTemplate.length;\n }else if(item.subformArray) {\n const arrayTemplate = this.formTemplate(name, item.subformArray);\n if(arrayTemplate) template = arrayTemplate;\n }else if(item.subformObject) {\n const objectTemplate = this.formTemplate(name, item.subformObject);\n if(objectTemplate) template = objectTemplate;\n }\n }\n }\n\n return template!;\n }\n\n public formControl(name: string, formGroup: FormGroup | null = this._form): FormControl {\n return formGroup?.get(name) as FormControl;\n }\n\n public formArray(name: string): FormArray {\n return this._form?.get(name) as FormArray;\n }\n\n public formGroup(form: FormGroup, name: string): FormGroup {\n return form.get(name) as FormGroup;\n }\n\n public addFormArrayItem(name: string, item: OnshoreFormTemplateItem) {\n let formControls = <any>{};\n\n if(item) {\n item.subformArray?.forEach((subitem: OnshoreFormTemplateItem) => {\n formControls[subitem.name] = new FormControl(subitem.default !== undefined ? subitem.default : '', {\n validators: subitem.validators || [],\n updateOn: 'change'\n });\n });\n }\n\n const formGroup = new FormGroup(formControls);\n formGroup.setParent(this.formArray(name));\n\n this.formArray(name).push(formGroup);\n\n this.subscribeNestedFormGroup(formGroup);\n }\n\n public removeFormArrayItem(form: FormArray, index: number) {\n form.removeAt(index);\n }\n\n public setFormValidations(validations: OnshoreFormValidationItem[] = []) {\n this._formValidations = validations;\n }\n\n public enable() {\n setTimeout(() => {\n this._form?.enable({onlySelf: true, emitEvent: false});\n }, 100);\n }\n\n public disable() {\n setTimeout(() => {\n this._form?.disable({onlySelf: true, emitEvent: false});\n }, 100);\n }\n\n public setError(control: string, error: Object) {\n this.formControl(control).setErrors(error);\n }\n\n public setLoader(loaders$: Subject<boolean>[]) {\n loaders$.forEach($loader => {\n this.subscriptions.push($loader.subscribe(isLoading => {\n isLoading ? this.disable() : this.enable();\n this.isLoading$.next(isLoading);\n }));\n });\n }\n\n iterateNestedForm(form: FormGroup, formTemplate: OnshoreFormTemplateItem[]): any {\n formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n if(item.type === OnshoreFormTemplateType.subform) {\n if(item.subformArray) {\n form.controls[item.name] = new FormArray([]);\n form.controls[item.name].setParent(form);\n }\n if(item.subformObject) {\n form.controls[item.name] = new FormGroup({});\n form.controls[item.name] = this.iterateNestedForm(form.controls[item.name] as FormGroup, item.subformObject) as FormGroup;\n this.subscribeNestedFormGroup(form.controls[item.name] as FormGroup);\n }\n } else {\n form.addControl(item.name, new FormControl(item.default !== undefined ? item.default : '', {\n validators: item.validators || [],\n updateOn: 'change'\n }));\n }\n });\n return form;\n }\n\n subscribeNestedFormGroup(nestedFormItem: FormGroup) {\n this.subscriptions.push(nestedFormItem.valueChanges.subscribe(() => {\n this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n }));\n this.subscriptions.push(nestedFormItem.statusChanges.subscribe(() => {\n this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n }));\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-onshore-forms',\n template: `\n <p>\n onshore-forms works 2!\n </p>\n `,\n styles: [\n ]\n})\nexport class OnshoreFormsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input, OnChanges, SimpleChanges\n} from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { OnshoreFormValidationItem } from '../../models/form.models';\n\n@Component({\n selector: 'onshore-form-validation-output',\n templateUrl: './form-validation-output.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormValidationOutputComponent implements OnChanges {\n @Input() validationErrors!: ValidationErrors | null;\n @Input() externValidationPattern: string = \"\";\n @Input() validationItems!: OnshoreFormValidationItem[];\n\n validationTranslation: string = '';\n\n ngOnChanges(changes: SimpleChanges) {\n this.validationTranslation = '';\n if(changes['validationErrors'].currentValue) {\n Object.keys(this.validationErrors!).forEach(error => {\n const exists = Object.values(this.validationItems).filter( validationItem => validationItem.key == error);\n if(exists && exists.length > 0) {\n this.validationTranslation += this.translate.instant('request.error.' + error) + '<br>';\n } else {\n const errorValues = this.validationErrors![error];\n this.validationTranslation += this.translate.instant('form.validation.' + error, errorValues) + '<br>';\n }\n });\n }\n this.cdr.markForCheck();\n }\n\n constructor(private cdr: ChangeDetectorRef,\n private translate: TranslateService,) {\n\n }\n}\n","<small *ngIf=\"validationErrors && validationErrors['pattern']\" [innerHTML]=\"externValidationPattern\"></small>\n<small *ngIf=\"validationTranslation\" [innerHTML]=\"validationTranslation\"></small>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input, OnChanges, OnDestroy,\n OnInit, Optional,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\n\n@Component({\n selector: 'onshore-form-input-item',\n templateUrl: './form-input-item.component.html',\n styleUrls: ['./form-input-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormInputItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n\n FormTemplateItemType = OnshoreFormTemplateType;\n\n passwordVisible: boolean = false;\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n this.ngControl.control?.statusChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n if(this.formTemplate.enabled) {\n this.ngControl.control?.enable();\n } else {\n this.ngControl.control?.disable();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<div class=\"flex flex-column mb-3\">\n <div class=\"flex justify-content-between align-items-center\">\n <b [class.text-muted]=\"disabled\" class=\"mb-1 white-space-nowrap\">\n {{formTemplate.label}}\n <span *ngIf=\"formTemplate.required\" class=\"tl-color-danger\">*</span>\n </b>\n <i *ngIf=\"formTemplate.tooltip\" class=\"fa fa-info-circle tl-color-black\" [pTooltip]=\"formTemplate.tooltip\" tooltipPosition=\"left\" [escape]=\"false\"></i>\n </div>\n\n <span class=\"p-inputgroup w-100\">\n\n <container-element [ngSwitch]=\"formTemplate.type\" class=\"w-100\" style=\"width: 100%\">\n\n <input *ngSwitchDefault\n class=\"w-100\"\n type=\"text\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n pInputText\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control.touched && ngControl.control.invalid\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"/>\n\n <input *ngSwitchCase=\"'password'\"\n class=\"w-100\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n pInputText\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control.touched && ngControl.control.invalid\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"/>\n\n <p-inputNumber *ngSwitchCase=\"'number'\"\n class=\"w-100\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control.touched && ngControl.control.invalid\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [step]=\"formTemplate.settings?.step ?? 1\"\n [min]=\"formTemplate.settings?.min ?? null\"\n [max]=\"formTemplate.settings?.max ?? null\">\n </p-inputNumber>\n <!--\n [showButtons]=\"true\"\n buttonLayout=\"horizontal\"\n spinnerMode=\"horizontal\"\n decrementButtonClass=\"p-button-outlined text-black-50\"\n incrementButtonClass=\"p-button-outlined text-black-50\"\n -->\n </container-element>\n\n <span class=\"p-inputgroup-addon\">\n <i *ngIf=\"formTemplate.type != FormTemplateItemType.password\" class=\"fa\"\n [class.tl-color-black]=\"ngControl.control.untouched\"\n [class.fa-check]=\"formTemplate.required && ngControl.control.valid\"\n [class.tl-color-primary1]=\"ngControl.control.touched && ngControl.control.valid\"\n [class.fa-exclamation-triangle]=\"ngControl.control.touched && ngControl.control.invalid\"\n [class.tl-color-danger]=\"ngControl.control.touched && ngControl.control.invalid\"\n ></i>\n <i *ngIf=\"formTemplate.type == FormTemplateItemType.password\" class=\"fa tl-color-black\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n (click)=\"passwordVisible = !passwordVisible\"\n ></i>\n </span>\n\n </span>\n\n <small *ngIf=\"formTemplate.description\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n\n <div *ngIf=\"ngControl.control.touched\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\"\n [externValidationPattern]=\"formTemplate.validationPatternTranslation\">\n </onshore-form-validation-output>\n </div>\n\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\n\n@Component({\n selector: 'onshore-form-switch-item',\n templateUrl: './form-switch-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormSwitchItemComponent implements OnInit, ControlValueAccessor, OnDestroy, OnChanges {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Output() valueChange: EventEmitter<boolean> = new EventEmitter();\n\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.pipe(\n debounceTime(100),\n distinctUntilChanged(),\n skip(1)\n ).subscribe(newValue => {\n this.valueChange.emit(this.ngControl.control?.value);\n });\n\n this.ngControl.control?.valueChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n this.ngControl.control?.statusChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n\n if(this.ngControl.control?.value == undefined && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n if(this.formTemplate.enabled) {\n this.ngControl.control?.enable();\n } else {\n this.ngControl.control?.disable();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<div class=\"flex flex-column pt-1\">\n <div class=\"flex justify-content-between align-items-center\">\n <i *ngIf=\"formTemplate.tooltip\" class=\"fa fa-info-circle tl-color-black\" [pTooltip]=\"formTemplate.tooltip\" tooltipPosition=\"left\" [escape]=\"false\"></i>\n </div>\n\n <p-inputSwitch [name]=\"formTemplate.name\" [formControl]=\"ngControl.control\" [inputId]=\"formTemplate.name\"></p-inputSwitch>\n\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input, OnChanges, OnDestroy,\n OnInit, Optional,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\n\n@Component({\n selector: 'onshore-form-textarea-item',\n templateUrl: './form-textarea-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormTextareaItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n\n FormTemplateItemType = OnshoreFormTemplateType;\n\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n this.ngControl.control?.statusChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n if(this.formTemplate.enabled) {\n this.ngControl.control?.enable();\n } else {\n this.ngControl.control?.disable();\n }\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<div class=\"flex flex-column mb-3\">\n <div class=\"flex justify-content-between align-items-center\">\n <b [class.text-muted]=\"disabled\" class=\"mb-1 white-space-nowrap\">\n {{formTemplate.label}}\n <span *ngIf=\"formTemplate.required\" class=\"tl-color-danger\">*</span>\n </b>\n <i *ngIf=\"formTemplate.tooltip\" class=\"fa fa-info-circle tl-color-black\" [pTooltip]=\"formTemplate.tooltip\" tooltipPosition=\"left\" [escape]=\"false\"></i>\n </div>\n\n <span class=\"p-input-icon-right\">\n <i class=\"fa\"\n [class.tl-color-black]=\"ngControl.control?.untouched\"\n [class.fa-check]=\"ngControl.control?.touched && ngControl.control?.valid\"\n [class.text-primary]=\"ngControl.control?.touched && ngControl.control?.valid\"\n [class.fa-exclamation-triangle]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [class.tl-color-danger]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n ></i>\n <textarea class=\"w-100\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.label\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"></textarea>\n </span>\n\n <small *ngIf=\"formTemplate.description\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n\n <div *ngIf=\"ngControl.control?.touched\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control?.errors\"\n [externValidationPattern]=\"formTemplate.validationPatternTranslation\">\n </onshore-form-validation-output>\n </div>\n\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter, Input, OnDestroy, OnInit,\n Optional, Output,\n Self\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { TranslateService } from '@ngx-translate/core';\nimport { OnshoreFormTemplateItem, OnshoreImageItemSettings } from '../../models/form.models';\n\n@Component({\n selector: 'onshore-form-image-item',\n templateUrl: './form-image-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormImageItemComponent implements ControlValueAccessor, OnInit, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() inverseColor: boolean = false;\n\n // Image updload params\n @Input() imageWidth: number = 400;\n @Input() imageHeight: number = 400;\n @Input() public containWithinAspectRatio = false;\n @Input() public aspectRatio: number = 1 / 1;\n @Output() imageDeleted: EventEmitter<string> = new EventEmitter();\n @Output() imageCleared: EventEmitter<any> = new EventEmitter();\n @Output() imageSelectedFromMedia: EventEmitter<any> = new EventEmitter();\n\n image = '';\n disabled = false;\n webcamDialogVisible: boolean = false;\n imageChooserDialogVisible: boolean = false;\n formSettings: OnshoreImageItemSettings;\n\n subscriptions: Array<Subscription> = [];\n\n getFileImage(image: any) {\n this.imageChooserDialogVisible = false;\n if(image) {\n this.image = image;\n setTimeout(() => {\n this.cdr.markForCheck();\n this.ngControl?.control?.setValue(this.image);\n this.ngControl?.control?.markAsDirty();\n }, 500);\n }\n }\n\n getWebcamImage(image: any) {\n this.webcamDialogVisible = false;\n if(image) {\n this.image = image;\n setTimeout(() => {\n this.cdr.markForCheck();\n this.ngControl?.control?.setValue(this.image);\n this.ngControl?.control?.markAsDirty();\n }, 500);\n }\n }\n\n /*searchMedia() {\n this.dialogService.open(SearchMediaComponent,{\n styleClass: 'p-dialog-background-white',\n modal: true,\n header: this.translate.instant('search.media.dialogTitle'),\n data: { targetType: this.formSettings.mediaType }\n }).onClose.subscribe((result) => {\n if(result) {\n this.image = result.url;\n setTimeout(() => {\n this.cdr.markForCheck();\n this.ngControl?.control?.setValue(this.image);\n this.ngControl?.control?.markAsDirty();\n this.imageSelectedFromMedia.next(result);\n }, 500);\n }\n });\n }*/\n\n removeImage() {\n if(this.image && !this.image.includes('base64')) {\n this.imageDeleted.emit(this.image);\n } else {\n this.imageCleared.emit();\n }\n\n this.ngControl?.control?.setValue(null);\n this.ngControl?.control?.markAsDirty();\n this.image = '';\n }\n\n public writeValue(obj: any): void {\n if(obj && !obj.includes('base64')) {\n this.image = obj;\n }\n if(obj == null) {\n this.image = '';\n }\n this.cdr.markForCheck();\n }\n\n public registerOnChange(fn: any): void {\n if(this.ngControl.value) {\n this.image = this.ngControl.value;\n this.cdr.markForCheck();\n }\n }\n\n public registerOnTouched(fn: any): void {}\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n ngOnInit(): void {\n this.ngControl.control.valueChanges.subscribe((value) => {\n this.cdr.markForCheck();\n });\n this.ngControl.control.statusChanges.subscribe((status) => {\n this.cdr.markForCheck();\n });\n\n if(this.ngControl.control.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n if(this.formTemplate.enabled) {\n this.ngControl.control.enable();\n } else {\n this.ngControl.control.disable();\n }\n if(this.formTemplate.settings) {\n this.formSettings = this.formTemplate.settings as OnshoreImageItemSettings;\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach((subscription: Subscription) => {\n subscription.unsubscribe();\n });\n this.ngControl.control.disable();\n this.image = null;\n }\n\n constructor(private cdr: ChangeDetectorRef,\n @Self() @Optional() public ngControl: NgControl,\n public dialogService: DialogService,\n private translate: TranslateService) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<div class=\"flex flex-column mb-3\" style=\"max-width: 500px\">\n <div class=\"flex justify-content-between align-items-center\">\n <b [class.text-muted]=\"disabled\" class=\"mb-1 white-space-nowrap\">\n {{formTemplate.label}}\n <span *ngIf=\"formTemplate.required\" class=\"tl-color-danger\">*</span>\n </b>\n <i *ngIf=\"formTemplate.tooltip\" class=\"fa fa-info-circle tl-color-black\" [pTooltip]=\"formTemplate.tooltip\" tooltipPosition=\"left\" [escape]=\"false\"></i>\n </div>\n\n <div class=\"w-100\">\n\n <div class=\"position-relative flex justify-content-center align-items-center\" style=\"background-color: white\">\n <!--<app-image-placeholder class=\"w-100\" [image]=\"image\" imageStyle=\"position: absolut; height: 250px; width: 250px\" [placeholder]=\"formSettings?.imagePlaceholder ? formSettings?.imagePlaceholder + ' fa-10x' : 'fa-image fa-10x'\" placeholderStyle=\"width: 250px; height: 250px\"></app-image-placeholder>-->\n </div>\n\n <div class=\"flex flex-column mt-4 w-100\">\n <button pButton pRipple type=\"button\"\n [hidden]=\"formSettings?.disableImageSelection\"\n icon=\"fa fa-image\"\n label=\"Bild hochladen\"\n class=\"p-button-rounded p-button-outlined text-secondary mb-2\"\n [disabled]=\"disabled\"\n (click)=\"imageChooserDialogVisible = true\">\n </button>\n\n <button pButton pRipple type=\"button\"\n [hidden]=\"formSettings?.disableWebcamSelection\"\n icon=\"fa fa-camera\"\n label=\"Foto aufnehmen\"\n class=\"p-button-rounded p-button-outlined text-secondary mb-2\"\n [disabled]=\"disabled\"\n (click)=\"webcamDialogVisible = true\">\n </button>\n\n <!--<button pButton pRipple type=\"button\"\n [hidden]=\"formSettings?.disableMediaSelection\"\n icon=\"fa fa-photo-video\"\n label=\"Medienverwaltung\"\n class=\"p-button-rounded p-button-outlined text-secondary mb-2\"\n [disabled]=\"disabled\"\n (click)=\"searchMedia()\">\n </button>-->\n\n <button pButton pRipple type=\"button\"\n [hidden]=\"formSettings?.disableDelete\"\n icon=\"fa fa-eraser\"\n label=\"Entfernen\"\n (click)=\"removeImage()\"\n [disabled]=\"!image || disabled\"\n class=\"p-button-rounded p-button-outlined text-secondary\">\n </button>\n\n </div>\n\n </div>\n\n <small *ngIf=\"formTemplate.description\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n\n</div>\n\n<!--\n<p-dialog [header]=\"'Bild auswählen'\" [(visible)]=\"imageChooserDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\">\n <app-image-chooser buttonLabel=\"Auswählen\"\n (choosen)=\"getFileImage($event)\"\n (canceled)=\"imageChooserDialogVisible = false\"\n [inverseColor]=\"inverseColor\"\n [resizeToWidth]=\"imageWidth\"\n [resizeToHeight]=\"imageHeight\"\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\n [aspectRatio]=\"aspectRatio\"\n backgroundColor=\"transparent\"></app-image-chooser>\n</p-dialog>\n-->\n\n<!--\n<p-dialog [header]=\"'Foto aufnehmen'\" [(visible)]=\"webcamDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\">\n <app-webcam *ngIf=\"webcamDialogVisible\" buttonLabel=\"Smile\" (shot)=\"getWebcamImage($event)\" (canceled)=\"webcamDialogVisible = false\" [inverseColor]=\"inverseColor\"></app-webcam>\n</p-dialog>\n-->\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input, OnChanges, OnDestroy,\n OnInit, Optional,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { OnshoreDropdownSettings, OnshoreFormTemplateItem } from '../../models/form.models';\n\n@Component({\n selector: 'onshore-form-dropdown-item',\n templateUrl: './form-dropdown-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormDropdownItemComponent implements OnInit, OnChanges, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n\n disabled: boolean | undefined = false;\n multiple: boolean | undefined = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n clearSelection() {\n this.ngControl.control?.setValue(null);\n }\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n this.ngControl.control?.statusChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n if(this.formTemplate.enabled) {\n this.ngControl.control?.enable();\n } else {\n this.ngControl.control?.disable();\n }\n\n this.multiple = (this.formTemplate.settings as OnshoreDropdownSettings)?.multiple;\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<div class=\"flex flex-column mb-3\">\n <div class=\"flex justify-content-between align-items-center\">\n <b [class.text-muted]=\"disabled\" class=\"mb-1 white-space-nowrap\">\n {{formTemplate?.label}}\n <span *ngIf=\"formTemplate?.required\" class=\"tl-color-danger\">*</span>\n </b>\n <i *ngIf=\"formTemplate?.tooltip\" class=\"fa fa-info-circle tl-color-black\" [pTooltip]=\"formTemplate?.tooltip\" tooltipPosition=\"left\" [escape]=\"false\"></i>\n </div>\n\n <p-dropdown *ngIf=\"!multiple\"\n class=\"w-100\"\n [options]=\"formTemplate?.options\"\n [formControl]=\"ngControl.control\"\n [name]=\"formTemplate?.name\"\n [placeholder]=\"formTemplate?.placeholder\"\n [disabled]=\"disabled\"\n [dataKey]=\"formTemplate?.optionDataKey\"\n [showClear]=\"formTemplate?.settings?.showClear\"\n (onClear)=\"clearSelection()\"\n optionDisabled=\"disabled\"\n appendTo=\"body\">\n </p-dropdown>\n\n <p-multiSelect *ngIf=\"multiple\"\n class=\"w-100\"\n [options]=\"formTemplate?.options\"\n [formControl]=\"ngControl.control\"\n [name]=\"formTemplate?.name\"\n [placeholder]=\"formTemplate?.placeholder\"\n [disabled]=\"disabled\"\n [dataKey]=\"formTemplate?.optionDataKey\"\n display=\"chip\"\n optionDisabled=\"disabled\"\n appendTo=\"body\"></p-multiSelect>\n\n <div *ngIf=\"ngControl.control.touched\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\"\n [externValidationPattern]=\"formTemplate?.validationPatternTranslation\">\n </onshore-form-validation-output>\n </div>\n\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input, OnChanges, OnDestroy,\n OnInit, Optional,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\n@Component({\n selector: 'onshore-form-colorpicker-item',\n templateUrl: './form-colorpicker-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormColorpickerItemComponent implements OnInit, OnChanges, ControlValueAccessor, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n\n disabled: boolean = false;\n colorPickerValue = '';\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeColor() {\n this.ngControl.control?.setValue(this.colorPickerValue);\n }\n\n changeInput(input: any) {\n this.colorPickerValue = input.target?.value;\n }\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n this.ngControl.control?.statusChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.colorPickerValue = this.formTemplate.default;\n this.cdr.markForCheck();\n }\n if(this.formTemplate.enabled) {\n this.ngControl.control?.enable();\n } else {\n this.ngControl.control?.disable();\n }\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.colorPickerValue = this.ngControl.control?.value;\n this.cdr.markForCheck();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<div class=\"flex flex-column mb-3\">\n <div class=\"flex justify-content-between align-items-center\">\n <b [class.text-muted]=\"disabled\" class=\"mb-1 white-space-nowrap\">\n {{formTemplate.label}}:\n <span *ngIf=\"formTemplate.required\" class=\"tl-color-danger\">*</span>\n </b>\n <i *ngIf=\"formTemplate.tooltip\" class=\"fa fa-info-circle tl-color-black\" [pTooltip]=\"formTemplate.tooltip\" tooltipPosition=\"left\" [escape]=\"false\"></i>\n </div>\n\n <div class=\"flex w-100\">\n <p-colorPicker [(ngModel)]=\"colorPickerValue\" format=\"hex\" [inline]=\"false\" appendTo=\"body\" [baseZIndex]=\"99999\" (onChange)=\"changeColor()\"></p-colorPicker>\n <input class=\"w-100 ml-2\"\n type=\"text\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.label\"\n [formControl]=\"ngControl.control\"\n pInputText\n [value]=\"ngControl.control.value\"\n (input)=\"changeInput($event)\"/>\n </div>\n\n <div *ngIf=\"ngControl.control.touched\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\"\n [externValidationPattern]=\"formTemplate.validationPatternTranslation\">\n </onshore-form-validation-output>\n </div>\n\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input, OnChanges, OnDestroy,\n OnInit, Optional,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\n\n@Component({\n selector: 'onshore-form-checkbox-item',\n templateUrl: './form-checkbox-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormCheckboxItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeCheck(value: any) {\n this.ngControl.control?.setValue(value.checked);\n }\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n this.ngControl.control?.statusChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n\n if(this.ngControl.control?.value !== true && this.ngControl.control?.value !== false && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n if(this.formTemplate.enabled) {\n this.ngControl.control?.enable();\n } else {\n this.ngControl.control?.disable();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<div class=\"flex flex-column mb-3\">\n <div class=\"flex justify-content-between align-items-center\">\n <b [class.text-muted]=\"disabled\" class=\"mb-1 white-space-nowrap\">\n {{formTemplate.label}}\n <span *ngIf=\"formTemplate.required\" class=\"tl-color-danger\">*</span>\n </b>\n <i *ngIf=\"formTemplate.tooltip\" class=\"fa fa-info-circle tl-color-black\" [pTooltip]=\"formTemplate.tooltip\" tooltipPosition=\"left\" [escape]=\"false\"></i>\n </div>\n\n <div class=\"p-field-checkbox flex\">\n <p-checkbox class=\"align-self-start mt-1\" [name]=\"formTemplate.name\" [formControl]=\"ngControl.control\" [binary]=\"true\" [inputId]=\"formTemplate.name\" [value]=\"ngControl.control.value\" (onChange)=\"changeCheck($event)\"></p-checkbox>\n <label class=\"mb-0 ml-2\" [for]=\"formTemplate.name\">{{formTemplate.description}}</label>\n </div>\n\n <div *ngIf=\"ngControl.control.touched\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\"\n [externValidationPattern]=\"formTemplate.validationPatternTranslation\">\n </onshore-form-validation-output>\n </div>\n\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter, Input, OnDestroy, OnInit,\n Optional, Output,\n Self\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\n\n@Component({\n selector: 'onshore-form-autocomplete-item',\n templateUrl: './form-autocomplete-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormAutocompleteItemComponent {\n\n}\n/*export class OnshoreFormAutocompleteItemComponent implements ControlValueAccessor, OnDestroy, OnInit {\n @Input() formTemplate: OnshoreFormTemplateItem;\n @Output() onSelect: EventEmitter<UnionDataType> = new EventEmitter();\n @Output() onClear: EventEmitter<boolean> = new EventEmitter();\n\n @Input() public dataType: DataType = DataType.user;\n @Input() public searchFields: string[] = [];\n @Input() public selectedField: string = '';\n @Input() public preventDuplicatesField: string = '';\n @Input() public suggestionsHighlightedField: string = '';\n @Input() public suggestionsLineOneFields: string[] = [];\n @Input() public suggestionsLineTwoFields: string[] = [];\n @Input() public multiple: boolean = false;\n\n disabled: boolean = false;\n dataSearch: UnionDataType[];\n selectedData: UnionDataType;\n\n selected(data: UnionDataType) {\n this.onSelect.emit(data);\n this.cdr.markForCheck();\n }\n\n searchClear() {\n this.dataSearch = [];\n this.ngControl.reset();\n this.onClear.emit();\n }\n\n searchPrepare(term: any) {\n if(term.query != '') {\n this.search(term.query);\n }else{\n this.dataSearch = [];\n this.ngControl.reset();\n this.onClear.emit();\n }\n }\n\n async search(searchTerm: string) {\n let filterParams = {};\n\n this.searchFields.forEach(field => {\n // @ts-ignore\n filterParams[field + '[regex]'] = searchTerm;\n });\n\n if(this.searchFields.length > 1) {\n // @ts-ignore\n filterParams['condition'] = 'or';\n }\n\n const data: UnionDataType[] = await this.apiService.getWithQuery(this.dataType, filterParams);\n\n if(this.preventDuplicatesField != '') {\n this.dataSearch = data.filter(item => {\n // @ts-ignore\n return !(this.ngControl?.value || []).find(value => value[this.preventDuplicatesField] === item[this.preventDuplicatesField]);\n });\n } else {\n this.dataSearch = data;\n }\n this.cdr.markForCheck();\n }\n\n public writeValue(obj: any): void {\n if(obj) {\n this.selectedData = obj;\n this.cdr.markForCheck();\n }\n }\n\n public registerOnChange(fn: any): void {\n if(this.ngControl.value) {\n this.selectedData = this.ngControl.value;\n this.cdr.markForCheck();\n }\n }\n\n public registerOnTouched(fn: any): void {}\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n this.ngControl.control?.statusChanges.subscribe(() => {\n this.cdr.markForCheck();\n });\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n if(this.formTemplate.enabled) {\n this.ngControl.control?.enable();\n } else {\n this.ngControl.control?.disable();\n }\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(private cdr: ChangeDetectorRef,\n private apiService: ApiService,\n @Self() @Optional() public ngControl: NgControl) {\n\n this.ngControl.valueAccessor = this;\n }\n\n}*/\n","<!--<div class=\"flex flex-column mb-3\">\n <div *ngIf=\"formTemplate.label\" class=\"flex justify-content-between align-items-center\">\n <b [class.text-muted]=\"disabled\" class=\"mb-1 white-space-nowrap\">\n {{formTemplate.label}}\n <span *ngIf=\"formTemplate.required\" class=\"tl-color-danger\">*</span>\n </b>\n <i *ngIf=\"formTemplate.tooltip\" class=\"fa fa-info-circle tl-color-black\" [pTooltip]=\"formTemplate.tooltip\" tooltipPosition=\"left\" [escape]=\"false\"></i>\n </div>\n\n <p-autoComplete [placeholder]=\"formTemplate.placeholder\"\n appendTo=\"body\"\n [formControl]=\"this.ngControl.control\"\n (onSelect)=\"selected($event)\"\n (onUnselect)=\"selected($event)\"\n (onClear)=\"searchClear()\"\n [suggestions]=\"dataSearch\"\n (completeMethod)=\"searchPrepare($event)\"\n [size]=\"30\"\n [minLength]=\"2\"\n [multiple]=\"multiple\"\n [delay]=\"1000\"\n [unique]=\"true\"\n [field]=\"selectedField\"\n class=\"w-100\">\n <ng-template let-item pTemplate=\"item\">\n <div *ngIf=\"suggestionsHighlightedField\">\n <span class=\"mr-1\">\n <b>{{item[suggestionsHighlightedField]}}</b><br>\n </span>\n </div>\n <div [hidden]=\"suggestionsLineOneFields.length <= 0\"><span *ngFor=\"let field of suggestionsLineOneFields\">{{item[field]}} </span></div>\n <div [hidden]=\"suggestionsLineTwoFields.length <= 0\"><span *ngFor=\"let field of suggestionsLineTwoFields\">{{item[field]}} </span></div>\n </ng-template>\n </p-autoComplete>\n\n <small *ngIf=\"formTemplate.description\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n\n <div *ngIf=\"ngControl.control.touched\">\n <onshore-form-validation-output\n [validationErrors]=\"ngControl.control.errors\"\n [externValidationPattern]=\"formTemplate.validationPatternTranslation\">\n </onshore-form-validation-output>\n </div>\n\n</div>\n-->\n","import { NgModule } from '@angular/core';\nimport { OnshoreFormsComponent } from './onshore-forms.component';\nimport { OnshoreFormsService } from './onshore-forms.service';\nimport { OnshoreFormInputItemComponent } from './components/form-input-item/form-input-item.component';\nimport { OnshoreFormSwitchItemComponent } from './components/form-switch-item/form-switch-item.component';\nimport { OnshoreFormTextareaItemComponent } from './components/form-textarea-item/form-textarea-item.component';\nimport { OnshoreFormValidationOutputComponent } from './components/form-validation-output/form-validation-output.component';\nimport { OnshoreFormImageItemComponent } from './components/form-image-item/form-image-item.component';\nimport { OnshoreFormDropdownItemComponent } from './components/form-dropdown-item/form-dropdown-item.component';\nimport { OnshoreFormColorpickerItemComponent } from './components/form-colorpicker-item/form-colorpicker-item.component';\nimport { OnshoreFormCheckboxItemComponent } from './components/form-checkbox-item/form-checkbox-item.component';\nimport { OnshoreFormAutocompleteItemComponent } from './components/form-autocomplete-item/form-autocomplete-item.component';\nimport { AutoCompleteModule } from 'primeng/autocomplete';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { ColorPickerModule } from 'primeng/colorpicker';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { InputNumberModule } from 'primeng/inputnumber';\nimport { InputSwitchModule } from 'primeng/inputswitch';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { InputTextareaModule } from 'primeng/inputtextarea';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { RippleModule } from 'primeng/ripple';\nimport { DialogModule } from 'primeng/dialog';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [\n OnshoreFormsComponent,\n OnshoreFormInputItemComponent,\n OnshoreFormSwitchItemComponent,\n OnshoreFormTextareaItemComponent,\n OnshoreFormValidationOutputComponent,\n OnshoreFormImageItemComponent,\n OnshoreFormDropdownItemComponent,\n OnshoreFormColorpickerItemComponent,\n OnshoreFormCheckboxItemComponent,\n OnshoreFormAutocompleteItemComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonModule,\n RippleModule,\n AutoCompleteModule,\n CheckboxModule,\n ColorPickerModule,\n DropdownModule,\n MultiSelectModule,\n TooltipModule,\n InputNumberModule,\n InputSwitchModule,\n InputTextModule,\n InputTextareaModule,\n DialogModule\n ],\n exports: [\n OnshoreFormsComponent,\n OnshoreFormInputItemComponent,\n OnshoreFormSwitchItemComponent,\n OnshoreFormTextareaItemComponent,\n OnshoreFormValidationOutputComponent,\n OnshoreFormImageItemComponent,\n OnshoreFormDropdownItemComponent,\n OnshoreFormColorpickerItemComponent,\n OnshoreFormCheckboxItemComponent,\n OnshoreFormAutocompleteItemComponent\n ],\n providers: [\n OnshoreFormsService\n ]\n})\nexport class OnshoreFormsModule { }\n","/*\n * Public API Surface of onshore-forms\n */\n\nexport * from './lib/onshore-forms.service';\nexport * from './lib/onshore-forms.component';\nexport * from './lib/onshore-forms.module';\nexport * from './lib/enums/form.enums';\nexport * from './lib/models/form.models';\nexport * from './lib/components/form-autocomplete-item/form-autocomplete-item.component';\nexport * from './lib/components/form-checkbox-item/form-checkbox-item.component';\nexport * from './lib/components/form-colorpicker-item/form-colorpicker-item.component';\nexport * from './lib/components/form-dropdown-item/form-dropdown-item.component';\nexport * from './lib/components/form-image-item/form-image-item.component';\nexport * from './lib/components/form-input-item/form-input-item.component';\nexport * from './lib/components/form-switch-item/form-switch-item.component';\nexport * from './lib/components/form-textarea-item/form-textarea-item.component';\nexport * from './lib/components/form-validation-output/form-validation-output.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i6.OnshoreFormValidationOutputComponent","i4","i5.OnshoreFormValidationOutputComponent","i2","i3","i5","i7"],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="onshore-forms" />
5
+ export * from './public-api';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class OnshoreFormAutocompleteItemComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormAutocompleteItemComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormAutocompleteItemComponent, "onshore-form-autocomplete-item", never, {}, {}, never, never, false>;
5
+ }
@@ -0,0 +1,21 @@
1
+ import { ChangeDetectorRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
3
+ import { OnshoreFormTemplateItem } from '../../models/form.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class OnshoreFormCheckboxItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {
6
+ ngControl: NgControl;
7
+ private cdr;
8
+ formTemplate: OnshoreFormTemplateItem;
9
+ disabled: boolean;
10
+ writeValue(obj: any): void;
11
+ registerOnChange(fn: any): void;
12
+ registerOnTouched(fn: any): void;
13
+ setDisabledState?(isDisabled: boolean): void;
14
+ changeCheck(value: any): void;
15
+ ngOnInit(): void;
16
+ ngOnChanges(changes: SimpleChanges): void;
17
+ ngOnDestroy(): void;
18
+ constructor(ngControl: NgControl, cdr: ChangeDetectorRef);
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormCheckboxItemComponent, [{ optional: true; self: true; }, null]>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormCheckboxItemComponent, "onshore-form-checkbox-item", never, { "formTemplate": "formTemplate"; }, {}, never, never, false>;
21
+ }
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectorRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
3
+ import { OnshoreFormTemplateItem } from '../../models/form.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class OnshoreFormColorpickerItemComponent implements OnInit, OnChanges, ControlValueAccessor, OnDestroy {
6
+ ngControl: NgControl;
7
+ private cdr;
8
+ formTemplate: OnshoreFormTemplateItem;
9
+ disabled: boolean;
10
+ colorPickerValue: string;
11
+ writeValue(obj: any): void;
12
+ registerOnChange(fn: any): void;
13
+ registerOnTouched(fn: any): void;
14
+ setDisabledState?(isDisabled: boolean): void;
15
+ changeColor(): void;
16
+ changeInput(input: any): void;
17
+ ngOnInit(): void;
18
+ ngOnDestroy(): void;
19
+ ngOnChanges(changes: SimpleChanges): void;
20
+ constructor(ngControl: NgControl, cdr: ChangeDetectorRef);
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormColorpickerItemComponent, [{ optional: true; self: true; }, null]>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormColorpickerItemComponent, "onshore-form-colorpicker-item", never, { "formTemplate": "formTemplate"; }, {}, never, never, false>;
23
+ }
@@ -0,0 +1,22 @@
1
+ import { ChangeDetectorRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
3
+ import { OnshoreFormTemplateItem } from '../../models/form.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class OnshoreFormDropdownItemComponent implements OnInit, OnChanges, ControlValueAccessor, OnChanges, OnDestroy {
6
+ ngControl: NgControl;
7
+ private cdr;
8
+ formTemplate: OnshoreFormTemplateItem;
9
+ disabled: boolean | undefined;
10
+ multiple: boolean | undefined;
11
+ writeValue(obj: any): void;
12
+ registerOnChange(fn: any): void;
13
+ registerOnTouched(fn: any): void;
14
+ setDisabledState?(isDisabled: boolean): void;
15
+ clearSelection(): void;
16
+ ngOnInit(): void;
17
+ ngOnDestroy(): void;
18
+ ngOnChanges(changes: SimpleChanges): void;
19
+ constructor(ngControl: NgControl, cdr: ChangeDetectorRef);
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormDropdownItemComponent, [{ optional: true; self: true; }, null]>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormDropdownItemComponent, "onshore-form-dropdown-item", never, { "formTemplate": "formTemplate"; }, {}, never, never, false>;
22
+ }
@@ -0,0 +1,40 @@
1
+ import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
3
+ import { Subscription } from 'rxjs';
4
+ import { DialogService } from 'primeng/dynamicdialog';
5
+ import { TranslateService } from '@ngx-translate/core';
6
+ import { OnshoreFormTemplateItem, OnshoreImageItemSettings } from '../../models/form.models';
7
+ import * as i0 from "@angular/core";
8
+ export declare class OnshoreFormImageItemComponent implements ControlValueAccessor, OnInit, OnDestroy {
9
+ private cdr;
10
+ ngControl: NgControl;
11
+ dialogService: DialogService;
12
+ private translate;
13
+ formTemplate: OnshoreFormTemplateItem;
14
+ inverseColor: boolean;
15
+ imageWidth: number;
16
+ imageHeight: number;
17
+ containWithinAspectRatio: boolean;
18
+ aspectRatio: number;
19
+ imageDeleted: EventEmitter<string>;
20
+ imageCleared: EventEmitter<any>;
21
+ imageSelectedFromMedia: EventEmitter<any>;
22
+ image: string;
23
+ disabled: boolean;
24
+ webcamDialogVisible: boolean;
25
+ imageChooserDialogVisible: boolean;
26
+ formSettings: OnshoreImageItemSettings;
27
+ subscriptions: Array<Subscription>;
28
+ getFileImage(image: any): void;
29
+ getWebcamImage(image: any): void;
30
+ removeImage(): void;
31
+ writeValue(obj: any): void;
32
+ registerOnChange(fn: any): void;
33
+ registerOnTouched(fn: any): void;
34
+ setDisabledState?(isDisabled: boolean): void;
35
+ ngOnInit(): void;
36
+ ngOnDestroy(): void;
37
+ constructor(cdr: ChangeDetectorRef, ngControl: NgControl, dialogService: DialogService, translate: TranslateService);
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormImageItemComponent, [null, { optional: true; self: true; }, null, null]>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormImageItemComponent, "onshore-form-image-item", never, { "formTemplate": "formTemplate"; "inverseColor": "inverseColor"; "imageWidth": "imageWidth"; "imageHeight": "imageHeight"; "containWithinAspectRatio": "containWithinAspectRatio"; "aspectRatio": "aspectRatio"; }, { "imageDeleted": "imageDeleted"; "imageCleared": "imageCleared"; "imageSelectedFromMedia": "imageSelectedFromMedia"; }, never, never, false>;
40
+ }
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectorRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
3
+ import { OnshoreFormTemplateItem } from '../../models/form.models';
4
+ import { OnshoreFormTemplateType } from '../../enums/form.enums';
5
+ import * as i0 from "@angular/core";
6
+ export declare class OnshoreFormInputItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {
7
+ ngControl: NgControl;
8
+ private cdr;
9
+ formTemplate: OnshoreFormTemplateItem;
10
+ FormTemplateItemType: typeof OnshoreFormTemplateType;
11
+ passwordVisible: boolean;
12
+ disabled: boolean;
13
+ writeValue(obj: any): void;
14
+ registerOnChange(fn: any): void;
15
+ registerOnTouched(fn: any): void;
16
+ setDisabledState?(isDisabled: boolean): void;
17
+ ngOnInit(): void;
18
+ ngOnChanges(changes: SimpleChanges): void;
19
+ ngOnDestroy(): void;
20
+ constructor(ngControl: NgControl, cdr: ChangeDetectorRef);
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormInputItemComponent, [{ optional: true; self: true; }, null]>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormInputItemComponent, "onshore-form-input-item", never, { "formTemplate": "formTemplate"; }, {}, never, never, false>;
23
+ }
@@ -0,0 +1,21 @@
1
+ import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
3
+ import { OnshoreFormTemplateItem } from '../../models/form.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class OnshoreFormSwitchItemComponent implements OnInit, ControlValueAccessor, OnDestroy, OnChanges {
6
+ ngControl: NgControl;
7
+ private cdr;
8
+ formTemplate: OnshoreFormTemplateItem;
9
+ valueChange: EventEmitter<boolean>;
10
+ disabled: boolean;
11
+ writeValue(obj: any): void;
12
+ registerOnChange(fn: any): void;
13
+ registerOnTouched(fn: any): void;
14
+ setDisabledState?(isDisabled: boolean): void;
15
+ ngOnInit(): void;
16
+ ngOnChanges(changes: SimpleChanges): void;
17
+ ngOnDestroy(): void;
18
+ constructor(ngControl: NgControl, cdr: ChangeDetectorRef);
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormSwitchItemComponent, [{ optional: true; self: true; }, null]>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormSwitchItemComponent, "onshore-form-switch-item", never, { "formTemplate": "formTemplate"; }, { "valueChange": "valueChange"; }, never, never, false>;
21
+ }
@@ -0,0 +1,22 @@
1
+ import { ChangeDetectorRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
3
+ import { OnshoreFormTemplateItem } from '../../models/form.models';
4
+ import { OnshoreFormTemplateType } from '../../enums/form.enums';
5
+ import * as i0 from "@angular/core";
6
+ export declare class OnshoreFormTextareaItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnChanges, OnDestroy {
7
+ ngControl: NgControl;
8
+ private cdr;
9
+ formTemplate: OnshoreFormTemplateItem;
10
+ FormTemplateItemType: typeof OnshoreFormTemplateType;
11
+ disabled: boolean;
12
+ writeValue(obj: any): void;
13
+ registerOnChange(fn: any): void;
14
+ registerOnTouched(fn: any): void;
15
+ setDisabledState?(isDisabled: boolean): void;
16
+ ngOnInit(): void;
17
+ ngOnDestroy(): void;
18
+ ngOnChanges(changes: SimpleChanges): void;
19
+ constructor(ngControl: NgControl, cdr: ChangeDetectorRef);
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormTextareaItemComponent, [{ optional: true; self: true; }, null]>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormTextareaItemComponent, "onshore-form-textarea-item", never, { "formTemplate": "formTemplate"; }, {}, never, never, false>;
22
+ }
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { ValidationErrors } from '@angular/forms';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import { OnshoreFormValidationItem } from '../../models/form.models';
5
+ import * as i0 from "@angular/core";
6
+ export declare class OnshoreFormValidationOutputComponent implements OnChanges {
7
+ private cdr;
8
+ private translate;
9
+ validationErrors: ValidationErrors | null;
10
+ externValidationPattern: string;
11
+ validationItems: OnshoreFormValidationItem[];
12
+ validationTranslation: string;
13
+ ngOnChanges(changes: SimpleChanges): void;
14
+ constructor(cdr: ChangeDetectorRef, translate: TranslateService);
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormValidationOutputComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormValidationOutputComponent, "onshore-form-validation-output", never, { "validationErrors": "validationErrors"; "externValidationPattern": "externValidationPattern"; "validationItems": "validationItems"; }, {}, never, never, false>;
17
+ }
@@ -0,0 +1,23 @@
1
+ export declare enum OnshoreFormTemplateType {
2
+ text = "text",
3
+ textarea = "textarea",
4
+ editor = "editor",
5
+ password = "password",
6
+ number = "number",
7
+ email = "email",
8
+ phone = "phone",
9
+ regexp = "regexp",
10
+ select = "select",
11
+ check = "check",
12
+ radio = "radio",
13
+ image = "image",
14
+ autocomplete = "autocomplete",
15
+ color = "color",
16
+ subform = "subform"
17
+ }
18
+ export declare enum OnshoreImageError {
19
+ none = "",
20
+ fileType = "fileType",
21
+ ratio = "ratio",
22
+ size = "size"
23
+ }
@@ -0,0 +1,61 @@
1
+ import { OnshoreFormTemplateType } from '../enums/form.enums';
2
+ export interface OnshoreCountryCode {
3
+ id: number;
4
+ name: string;
5
+ alpha2: string;
6
+ alpha3: string;
7
+ currency?: string;
8
+ }
9
+ export interface OnshoreLanguageLocale {
10
+ id: number;
11
+ name: string;
12
+ code: string;
13
+ }
14
+ export interface OnshoreInputNumberOptionSettings {
15
+ step?: number;
16
+ min?: number;
17
+ max?: number;
18
+ }
19
+ export interface OnshoreInputTextOptionSettings {
20
+ minLength?: number;
21
+ maxLength?: number;
22
+ }
23
+ export interface OnshoreImageItemSettings {
24
+ disableImageSelection?: boolean;
25
+ disableWebcamSelection?: boolean;
26
+ disableMediaSelection?: boolean;
27
+ disableDelete?: boolean;
28
+ imagePlaceholder?: string;
29
+ mediaType?: string;
30
+ }
31
+ export interface OnshoreDropdownSettings {
32
+ multiple?: boolean;
33
+ showClear?: boolean;
34
+ }
35
+ export interface OnshoreFormTemplateItem {
36
+ name: string;
37
+ type?: OnshoreFormTemplateType;
38
+ required?: boolean;
39
+ label?: string;
40
+ placeholder?: string;
41
+ tooltip?: string;
42
+ enabled?: boolean;
43
+ options?: OnshoreFormTemplateOptions[] | void[];
44
+ optionDataKey?: string;
45
+ settings?: OnshoreInputNumberOptionSettings | OnshoreInputTextOptionSettings | OnshoreImageItemSettings | OnshoreDropdownSettings;
46
+ default?: any;
47
+ description?: string;
48
+ validationPatternTranslation?: string;
49
+ validationItems?: OnshoreFormValidationItem[];
50
+ validators?: any[];
51
+ subformArray?: OnshoreFormTemplateItem[];
52
+ subformObject?: OnshoreFormTemplateItem[];
53
+ }
54
+ export interface OnshoreFormTemplateOptions {
55
+ label: string;
56
+ value: any;
57
+ }
58
+ export interface OnshoreFormValidationItem {
59
+ key: string;
60
+ label: string;
61
+ }
@@ -0,0 +1,8 @@
1
+ import { OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class OnshoreFormsComponent implements OnInit {
4
+ constructor();
5
+ ngOnInit(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormsComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormsComponent, "lib-onshore-forms", never, {}, {}, never, never, false>;
8
+ }
@@ -0,0 +1,31 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./onshore-forms.component";
3
+ import * as i2 from "./components/form-input-item/form-input-item.component";
4
+ import * as i3 from "./components/form-switch-item/form-switch-item.component";
5
+ import * as i4 from "./components/form-textarea-item/form-textarea-item.component";
6
+ import * as i5 from "./components/form-validation-output/form-validation-output.component";
7
+ import * as i6 from "./components/form-image-item/form-image-item.component";
8
+ import * as i7 from "./components/form-dropdown-item/form-dropdown-item.component";
9
+ import * as i8 from "./components/form-colorpicker-item/form-colorpicker-item.component";
10
+ import * as i9 from "./components/form-checkbox-item/form-checkbox-item.component";
11
+ import * as i10 from "./components/form-autocomplete-item/form-autocomplete-item.component";
12
+ import * as i11 from "@angular/common";
13
+ import * as i12 from "@angular/forms";
14
+ import * as i13 from "primeng/button";
15
+ import * as i14 from "primeng/ripple";
16
+ import * as i15 from "primeng/autocomplete";
17
+ import * as i16 from "primeng/checkbox";
18
+ import * as i17 from "primeng/colorpicker";
19
+ import * as i18 from "primeng/dropdown";
20
+ import * as i19 from "primeng/multiselect";
21
+ import * as i20 from "primeng/tooltip";
22
+ import * as i21 from "primeng/inputnumber";
23
+ import * as i22 from "primeng/inputswitch";
24
+ import * as i23 from "primeng/inputtext";
25
+ import * as i24 from "primeng/inputtextarea";
26
+ import * as i25 from "primeng/dialog";
27
+ export declare class OnshoreFormsModule {
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormsModule, never>;
29
+ static ɵmod: i0.ɵɵNgModuleDeclaration<OnshoreFormsModule, [typeof i1.OnshoreFormsComponent, typeof i2.OnshoreFormInputItemComponent, typeof i3.OnshoreFormSwitchItemComponent, typeof i4.OnshoreFormTextareaItemComponent, typeof i5.OnshoreFormValidationOutputComponent, typeof i6.OnshoreFormImageItemComponent, typeof i7.OnshoreFormDropdownItemComponent, typeof i8.OnshoreFormColorpickerItemComponent, typeof i9.OnshoreFormCheckboxItemComponent, typeof i10.OnshoreFormAutocompleteItemComponent], [typeof i11.CommonModule, typeof i12.FormsModule, typeof i12.ReactiveFormsModule, typeof i13.ButtonModule, typeof i14.RippleModule, typeof i15.AutoCompleteModule, typeof i16.CheckboxModule, typeof i17.ColorPickerModule, typeof i18.DropdownModule, typeof i19.MultiSelectModule, typeof i20.TooltipModule, typeof i21.InputNumberModule, typeof i22.InputSwitchModule, typeof i23.InputTextModule, typeof i24.InputTextareaModule, typeof i25.DialogModule], [typeof i1.OnshoreFormsComponent, typeof i2.OnshoreFormInputItemComponent, typeof i3.OnshoreFormSwitchItemComponent, typeof i4.OnshoreFormTextareaItemComponent, typeof i5.OnshoreFormValidationOutputComponent, typeof i6.OnshoreFormImageItemComponent, typeof i7.OnshoreFormDropdownItemComponent, typeof i8.OnshoreFormColorpickerItemComponent, typeof i9.OnshoreFormCheckboxItemComponent, typeof i10.OnshoreFormAutocompleteItemComponent]>;
30
+ static ɵinj: i0.ɵɵInjectorDeclaration<OnshoreFormsModule>;
31
+ }
@@ -0,0 +1,32 @@
1
+ import { FormArray, FormControl, FormGroup } from '@angular/forms';
2
+ import { Subject, Subscription } from 'rxjs';
3
+ import { OnshoreFormTemplateItem, OnshoreFormValidationItem } from './models/form.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class OnshoreFormsService {
6
+ _form: FormGroup;
7
+ _formTemplate: OnshoreFormTemplateItem[];
8
+ _formValidations: OnshoreFormValidationItem[];
9
+ subscriptions: Array<Subscription>;
10
+ isLoading$: Subject<boolean>;
11
+ constructor();
12
+ get form(): FormGroup;
13
+ get formValues(): any;
14
+ patchForm(value: any): void;
15
+ resetForm(): void;
16
+ generateForm(formTemplate: OnshoreFormTemplateItem[]): FormGroup | null;
17
+ formTemplate(name: string, formTemplate?: OnshoreFormTemplateItem[]): OnshoreFormTemplateItem;
18
+ formControl(name: string, formGroup?: FormGroup | null): FormControl;
19
+ formArray(name: string): FormArray;
20
+ formGroup(form: FormGroup, name: string): FormGroup;
21
+ addFormArrayItem(name: string, item: OnshoreFormTemplateItem): void;
22
+ removeFormArrayItem(form: FormArray, index: number): void;
23
+ setFormValidations(validations?: OnshoreFormValidationItem[]): void;
24
+ enable(): void;
25
+ disable(): void;
26
+ setError(control: string, error: Object): void;
27
+ setLoader(loaders$: Subject<boolean>[]): void;
28
+ iterateNestedForm(form: FormGroup, formTemplate: OnshoreFormTemplateItem[]): any;
29
+ subscribeNestedFormGroup(nestedFormItem: FormGroup): void;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormsService, never>;
31
+ static ɵprov: i0.ɵɵInjectableDeclaration<OnshoreFormsService>;
32
+ }