@ruc-lib/metaform 2.2.2 → 3.1.0

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 (31) hide show
  1. package/README.md +1 -135
  2. package/fesm2022/ruc-lib-metaform.mjs +450 -0
  3. package/fesm2022/ruc-lib-metaform.mjs.map +1 -0
  4. package/index.d.ts +125 -2
  5. package/package.json +9 -36
  6. package/components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component.d.ts +0 -18
  7. package/components/ruc-meta-inputs/ruc-meta-inputs.component.d.ts +0 -23
  8. package/components/ruc-meta-radio-group/ruc-meta-radio-group.component.d.ts +0 -20
  9. package/components/ruc-meta-select/ruc-meta-select.component.d.ts +0 -17
  10. package/components/ruc-text-area/ruc-text-area.component.d.ts +0 -19
  11. package/esm2020/components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component.mjs +0 -42
  12. package/esm2020/components/ruc-meta-inputs/ruc-meta-inputs.component.mjs +0 -54
  13. package/esm2020/components/ruc-meta-radio-group/ruc-meta-radio-group.component.mjs +0 -38
  14. package/esm2020/components/ruc-meta-select/ruc-meta-select.component.mjs +0 -56
  15. package/esm2020/components/ruc-text-area/ruc-text-area.component.mjs +0 -39
  16. package/esm2020/index.mjs +0 -3
  17. package/esm2020/interfaces/metaFormsDefault.mjs +0 -2
  18. package/esm2020/lib/ruclib-metaform/ruclib-metaform.component.mjs +0 -105
  19. package/esm2020/lib/ruclib-metaform.module.mjs +0 -100
  20. package/esm2020/ruc-lib-metaform.mjs +0 -5
  21. package/esm2020/services/ruc-meta-form-validation.service.mjs +0 -29
  22. package/esm2020/services/ruc-meta-form.service.mjs +0 -23
  23. package/fesm2015/ruc-lib-metaform.mjs +0 -432
  24. package/fesm2015/ruc-lib-metaform.mjs.map +0 -1
  25. package/fesm2020/ruc-lib-metaform.mjs +0 -432
  26. package/fesm2020/ruc-lib-metaform.mjs.map +0 -1
  27. package/interfaces/metaFormsDefault.d.ts +0 -73
  28. package/lib/ruclib-metaform/ruclib-metaform.component.d.ts +0 -45
  29. package/lib/ruclib-metaform.module.d.ts +0 -27
  30. package/services/ruc-meta-form-validation.service.d.ts +0 -12
  31. package/services/ruc-meta-form.service.d.ts +0 -14
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ruc-lib-metaform.mjs","sources":["../../src/services/ruc-meta-form-validation.service.ts","../../src/components/ruc-meta-inputs/ruc-meta-inputs.component.ts","../../src/components/ruc-meta-inputs/ruc-meta-inputs.component.html","../../src/components/ruc-meta-radio-group/ruc-meta-radio-group.component.ts","../../src/components/ruc-meta-radio-group/ruc-meta-radio-group.component.html","../../src/components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component.ts","../../src/components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component.html","../../src/services/ruc-meta-form.service.ts","../../src/components/ruc-meta-select/ruc-meta-select.component.ts","../../src/components/ruc-meta-select/ruc-meta-select.component.html","../../src/components/ruc-text-area/ruc-text-area.component.ts","../../src/components/ruc-text-area/ruc-text-area.component.html","../../src/lib/ruclib-metaform/ruclib-metaform.component.ts","../../src/lib/ruclib-metaform/ruclib-metaform.component.html","../../src/ruc-lib-metaform.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport {MetaFormConfig} from '../interfaces/metaFormsDefault';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RucMetaFormValidationService {\r\n\r\n public defaultErrorMessage = 'Invalid Input';\r\n\r\n constructor() { \r\n }\r\n\r\n nospaceValidator(formData:MetaFormConfig){\r\n const re = / /;\r\n if(formData.value.match(re)){\r\n return { nullTable: true }\r\n }else{\r\n return false;\r\n }\r\n }\r\n\r\n alphaNumericValidator(formData:MetaFormConfig){\r\n const re = '^[a-zA-Z0-9_]+$'\r\n return formData.value ? !formData.value.match(re) : false;\r\n }\r\n\r\n \r\n}\r\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'ruc-meta-inputs',\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatRadioModule,\r\n MatCheckboxModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n TextFieldModule,\r\n MatStepperModule,\r\n ],\r\n templateUrl: './ruc-meta-inputs.component.html',\r\n styleUrls: ['./ruc-meta-inputs.component.scss'],\r\n providers: [RucMetaFormValidationService]\r\n})\r\nexport class RucMetaInputsComponent implements OnInit {\r\n @Input() rucInputData: any;\r\n @Input() selectedParentId?: any;\r\n @Output() transferUserInput = new EventEmitter<any>();\r\n @Input() customTheme: string | undefined;\r\n errorMessage: string | undefined;\r\n options: string[] = [];\r\n filteredOptions: any;\r\n constructor(public validationService: RucMetaFormValidationService) {}\r\n\r\n ngOnInit(): void {\r\n this.errorMessage = this.validationService.defaultErrorMessage;\r\n this.rucInputData.value === undefined ? '' : this.rucInputData.value;\r\n this.options = this.rucInputData.autocomplete;\r\n }\r\n /**\r\n *\r\n * @param e\r\n */\r\n modelChangeFn(e: any) {\r\n const validate = this.validationService.alphaNumericValidator(\r\n this.rucInputData\r\n );\r\n this.rucInputData.errorMsg = validate;\r\n if (this.rucInputData.autocomplete) {\r\n this.filteredOptions = this._filter(this.rucInputData.value);\r\n }\r\n this.transferUserInput.emit(this.rucInputData);\r\n }\r\n\r\n private _filter(value: string): string[] {\r\n const filterValue = value.toLowerCase();\r\n return this.options.filter((option) =>\r\n option.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n}\r\n","<mat-form-field class=\"{{customTheme }}\" [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <input type=\"{{rucInputData?.inputType}}\" color=\"accent\" matInput placeholder=\"{{rucInputData?.placeholder}}\" [(ngModel)]=\"rucInputData.value\"\r\n (ngModelChange)=\"modelChangeFn($event.target)\" required=\"{{rucInputData?.required}}\" size=\"{{rucInputData?.size}}\"\r\n maxlength=\"{{rucInputData?.maxlength}}\" min=\"{{rucInputData?.min}}\" max=\"{{rucInputData?.max}}\" pattern=\"{{rucInputData?.pattern}}\"\r\n step=\"{{rucInputData?.step}}\" autofocus=\"{{rucInputData?.autofocus}}\" width=\"{{rucInputData?.width}}\" height=\"{{rucInputData?.height}}\"\r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"!rucInputData?.autocomplete\" [readonly]=\"rucInputData?.readonly\" [matTooltipPosition]=\"rucInputData?.tooltipPosition\"\r\n >\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n @for (option of filteredOptions; track option) {\r\n <mat-option [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n @if (rucInputData?.errorMsg) {\r\n <div class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div>\r\n }\r\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';\r\nimport { MatRadioChange } from '@angular/material/radio';\r\n\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\n@Component({\r\n selector: 'ruc-meta-radio-group',\r\n imports: [\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatRadioModule,\r\n MatCheckboxModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n TextFieldModule,\r\n MatStepperModule\r\n ],\r\n templateUrl: './ruc-meta-radio-group.component.html',\r\n styleUrls: ['./ruc-meta-radio-group.component.scss'],\r\n providers: [RucMetaFormValidationService]\r\n})\r\nexport class RucMetaRadioGroupComponent implements OnInit {\r\n @Input() rucInputData: any;\r\n @Input() customTheme: string | undefined;\r\n @Output() transferUserInput = new EventEmitter<any>();\r\n errorMessage: string | undefined;\r\n radioValue: string | undefined;\r\n constructor(public validationService: RucMetaFormValidationService) {}\r\n\r\n ngOnInit(): void {\r\n this.errorMessage = this.validationService.defaultErrorMessage;\r\n }\r\n /**\r\n *\r\n * @param e\r\n */\r\n modelChangeFn(e: any) {\r\n this.rucInputData.value = e.value;\r\n this.transferUserInput.emit(this.rucInputData);\r\n }\r\n}\r\n","<mat-label>{{rucInputData?.label}}</mat-label>\r\n<mat-radio-group\r\n aria-labelledby=\"radio-group-label\"\r\n class=\"{{customTheme}} radio-group\" [(ngModel)]=\"radioValue\">\r\n @for (item of rucInputData?.groupOptions; track item) {\r\n <mat-radio-button class=\"radio-button\" [value]=\"item.value\"\r\n (change)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-radio-button>\r\n }\r\n</mat-radio-group>\r\n@if (rucInputData?.errorMsg) {\r\n <div class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div>\r\n}\r\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';\r\n\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'ruc-meta-checkbox-group',\r\n imports: [\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatRadioModule,\r\n MatCheckboxModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n TextFieldModule,\r\n MatStepperModule\r\n ],\r\n templateUrl: './ruc-meta-checkbox-group.component.html',\r\n styleUrls: ['./ruc-meta-checkbox-group.component.scss'],\r\n providers: [RucMetaFormValidationService]\r\n})\r\nexport class RucMetaCheckboxGroupComponent implements OnInit {\r\n @Input() rucInputData: any;\r\n @Output() transferUserInput = new EventEmitter<any>();\r\n errorMessage: string | undefined;\r\n\r\n constructor(public validationService: RucMetaFormValidationService) {}\r\n\r\n ngOnInit(): void {\r\n this.errorMessage = this.validationService.defaultErrorMessage;\r\n }\r\n /**\r\n *\r\n * @param e\r\n */\r\n modelChangeFn(e: any) {\r\n const checkboxValues: any[] = [];\r\n this.rucInputData.groupOptions.forEach((x: any) => {\r\n if (x.value) {\r\n checkboxValues.push(x.name);\r\n }\r\n });\r\n this.rucInputData.value = checkboxValues;\r\n this.transferUserInput.emit(this.rucInputData);\r\n }\r\n}\r\n","<mat-label class=\"margin-\">{{rucInputData?.label}}</mat-label>\r\n<ul class=\"ruc-checkbox\">\r\n @for (item of rucInputData?.groupOptions; track item) {\r\n <li>\r\n <mat-checkbox [(ngModel)]=\"item.value\" (ngModelChange)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-checkbox>\r\n </li>\r\n }\r\n</ul>\r\n@if (rucInputData?.errorMsg) {\r\n <div class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div>\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable,Subject, BehaviorSubject } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {MetaFormConfig} from '../interfaces/metaFormsDefault';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RucMetaFormService {\r\n\r\n public metaFormData:MetaFormConfig | undefined;\r\n public currentFormElement: MetaFormConfig | undefined;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public formData: BehaviorSubject<any> = new BehaviorSubject([] as any);\r\n\r\n getFormJson(form: any){\r\n this.formData.next(form);\r\n }\r\n}\r\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { RucMetaFormService } from '../../services/ruc-meta-form.service';\r\nimport { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ruc-meta-select',\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatRadioModule,\r\n MatCheckboxModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n TextFieldModule,\r\n MatStepperModule,\r\n ],\r\n templateUrl: './ruc-meta-select.component.html',\r\n styleUrls: ['./ruc-meta-select.component.scss'],\r\n providers: [RucMetaFormValidationService, RucMetaFormService]\r\n})\r\nexport class RucMetaSelectComponent implements OnInit {\r\n @Input() rucInputData: any;\r\n errorMessage: string | undefined;\r\n @Output() transferUserInput = new EventEmitter<any>();\r\n constructor(\r\n public service: RucMetaFormService,\r\n public validationService: RucMetaFormValidationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.errorMessage = this.validationService.defaultErrorMessage;\r\n }\r\n\r\n modelChangeFn(e: any) {\r\n this.rucInputData.groupOptions.forEach((x: any) => {\r\n if (x.value == e.value) {\r\n this.rucInputData.selectedParentId = x.id;\r\n }\r\n });\r\n if (this.rucInputData.dependentFields) {\r\n this.removDependentFieldParentIdFromOther(\r\n this.rucInputData.dependentFields\r\n );\r\n }\r\n this.service.currentFormElement = this.rucInputData;\r\n this.transferUserInput.emit(this.rucInputData);\r\n }\r\n\r\n removDependentFieldParentIdFromOther(child: any) {\r\n child.forEach((x: any) => {\r\n if (x.selectedParentId) {\r\n delete x.selectedParentId;\r\n x.value = '';\r\n if (x.dependentFields) {\r\n this.removDependentFieldParentIdFromOther(x.dependentFields);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"select-label\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n</div>\r\n<mat-form-field [ngStyle]=\"{ 'width.%': rucInputData?.width }\" matTooltip=\"{{rucInputData?.tooltip}}\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>Choose an option</mat-label>\r\n <mat-select (selectionChange)=\"modelChangeFn($event)\" [(ngModel)]=\"rucInputData.value\">\r\n @for (item of rucInputData?.groupOptions; track item) {\r\n <mat-option [value]=\"item.value\" [disabled]=\"item?.disable\"> {{item.name}}</mat-option>\r\n }\r\n </mat-select>\r\n</mat-form-field>\r\n@if (rucInputData?.errorMsg) {\r\n <div class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div>\r\n}","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ruc-text-area',\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatRadioModule,\r\n MatCheckboxModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n TextFieldModule,\r\n MatStepperModule,\r\n ],\r\n templateUrl: './ruc-text-area.component.html',\r\n styleUrls: ['./ruc-text-area.component.scss'],\r\n providers: [RucMetaFormValidationService]\r\n})\r\nexport class RucTextAreaComponent implements OnInit {\r\n @Input() rucInputData: any;\r\n @Output() transferUserInput = new EventEmitter<any>();\r\n @Input() customTheme: string | undefined;\r\n errorMessage: string | undefined;\r\n\r\n constructor(public validationService: RucMetaFormValidationService) {}\r\n\r\n ngOnInit(): void {\r\n this.errorMessage = this.validationService.defaultErrorMessage;\r\n }\r\n /**\r\n *\r\n * @param e\r\n */\r\n modelChangeFn(e: any) {\r\n this.transferUserInput.emit(this.rucInputData);\r\n }\r\n}\r\n","<mat-form-field [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\" class=\"{{customTheme}}\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <textarea matInput\r\n placeholder=\"{{rucInputData?.placeholder}}\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"{{rucInputData.min}}\"\r\n cdkAutosizeMaxRows=\"{{rucInputData.max}}\"\r\n [readonly]=\"rucInputData?.readonly\"\r\n [(ngModel)]=\"rucInputData.value\"\r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n (ngModelChange)=\"modelChangeFn($event.target)\"></textarea>\r\n</mat-form-field>\r\n@if (rucInputData?.errorMsg) {\r\n <div class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div>\r\n}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {} from '@angular/common/http';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\n// import { RuclibMultiSelectComponent } from '@ruc-lib/multi-select';\r\n// import { RuclibMultiFileUploadComponent } from '@ruc-lib/multi-file-upload';\r\nimport {RuclibMultiSelectComponent} from '@ruc-lib/multi-select';\r\nimport {RuclibMultiFileUploadComponent} from '@ruc-lib/multi-file-upload';\r\nimport { RucMetaInputsComponent } from '../../components/ruc-meta-inputs/ruc-meta-inputs.component';\r\nimport { RucMetaRadioGroupComponent } from '../../components/ruc-meta-radio-group/ruc-meta-radio-group.component';\r\nimport { RucMetaCheckboxGroupComponent } from '../../components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component';\r\nimport { RucMetaSelectComponent } from '../../components/ruc-meta-select/ruc-meta-select.component';\r\nimport { RucTextAreaComponent } from '../../components/ruc-text-area/ruc-text-area.component';\r\nimport { MetaFormConfig } from '../../interfaces/metaFormsDefault';\r\nimport { Subscription } from 'rxjs';\r\nimport { RucMetaFormService } from '../../services/ruc-meta-form.service';\r\n\r\n@Component({\r\n selector: 'uxp-ruclib-metaform',\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatRadioModule,\r\n MatCheckboxModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n TextFieldModule,\r\n MatStepperModule,\r\n RuclibMultiSelectComponent,\r\n RuclibMultiFileUploadComponent,\r\n RuclibMetaformComponent,\r\n RucMetaInputsComponent,\r\n RucMetaRadioGroupComponent,\r\n RucMetaCheckboxGroupComponent,\r\n RucMetaSelectComponent,\r\n RucTextAreaComponent,\r\n ],\r\n templateUrl: './ruclib-metaform.component.html',\r\n styleUrl: './ruclib-metaform.component.scss',\r\n providers: [RucMetaFormService]\r\n})\r\nexport class RuclibMetaformComponent implements OnInit, OnDestroy {\r\n @Output() rucEvent = new EventEmitter<any>();\r\n @Output() childRucEvent = new EventEmitter<any>();\r\n @Input() rucInputData: MetaFormConfig[] = [];\r\n @Input() childForm?: MetaFormConfig[];\r\n @Input()\r\n customTheme!: string;\r\n @Input() isChild?: boolean;\r\n @Input() selectedParentId: any;\r\n inputObjectDataMultiFileUpload?: any;\r\n metaFormSubscribeInputs: Subscription | undefined;\r\n formData: any;\r\n constructor(public service: RucMetaFormService) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.isChild) {\r\n this.service.getFormJson(this.rucInputData);\r\n this.getFormJson();\r\n } else {\r\n this.formData = this.childForm;\r\n }\r\n this.inputObjectDataMultiFileUpload = {\r\n multifileSelection: true,\r\n displayThumbnail: true,\r\n label: 'Choose File',\r\n uploadUrl: '/api/upload',\r\n deleteUrl: '/api/delete',\r\n };\r\n }\r\n\r\n /**\r\n * The purpose of this function to pass data from dependentFields to parent field\r\n * @param getObject\r\n * @param j\r\n */\r\n passEvent(getObject: any, formElement?: any) {\r\n const eventOutput = getObject?.eventOutput\r\n ? getObject.eventOutput\r\n : this.service.currentFormElement;\r\n if (getObject?.eventName == 'onUploading') {\r\n formElement.value = getObject?.eventOutput.name\r\n ? getObject?.eventOutput.name\r\n : getObject?.eventOutput[0].name;\r\n }\r\n this.rucEvent.emit({\r\n eventName: 'metaFormData',\r\n eventOutput: eventOutput,\r\n formData: this.formData,\r\n rucComponentEvent: getObject?.eventName,\r\n });\r\n }\r\n\r\n /**\r\n * Initial function to load for data\r\n */\r\n getFormJson() {\r\n this.metaFormSubscribeInputs = this.service.formData\r\n .asObservable()\r\n .subscribe((formData:any) => {\r\n this.formData = formData;\r\n this.service.metaFormData = this.formData;\r\n });\r\n }\r\n\r\n /**\r\n * This function is to emit form data\r\n * @param event\r\n */\r\n getMetaFormData(event: any) {\r\n this.rucEvent.emit({\r\n eventName: 'metaFormData',\r\n eventOutput: event,\r\n formData: this.formData,\r\n });\r\n }\r\n\r\n /**\r\n * Clear form data\r\n */\r\n clearForm() {\r\n this.formData.map((x: MetaFormConfig) => {\r\n x.value = '';\r\n });\r\n }\r\n\r\n /**\r\n * Destroy the subscriber\r\n */\r\n ngOnDestroy() {\r\n if (this.metaFormSubscribeInputs) {\r\n this.metaFormSubscribeInputs.unsubscribe();\r\n }\r\n }\r\n}\r\n","<form novalidate>\r\n @for (dynamicField of formData; track dynamicField; let j = $index) {\r\n @switch (dynamicField?.fieldType) {\r\n @case ('input') {\r\n @if (dynamicField.formType !== 'stepper') {\r\n <div\r\n [ngStyle]=\"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n @if (\r\n (!selectedParentId && !dynamicField.hasDependentFields) ||\r\n (selectedParentId &&\r\n selectedParentId === dynamicField.dependentFieldParentId)\r\n ) {\r\n <ruc-meta-inputs\r\n [customTheme]=\"customTheme\"\r\n [rucInputData]=\"dynamicField\"\r\n (transferUserInput)=\"getMetaFormData($event)\"\r\n ></ruc-meta-inputs>\r\n }\r\n </div>\r\n }\r\n }\r\n @case ('radio') {\r\n @if (dynamicField.formType !== 'stepper') {\r\n <div\r\n [ngStyle]=\"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n @if (\r\n (!selectedParentId && !dynamicField.dependentFields) ||\r\n (selectedParentId &&\r\n selectedParentId === dynamicField.dependentFieldParentId) ||\r\n (!selectedParentId && dynamicField.dependentFields && !isChild)\r\n ) {\r\n <ruc-meta-radio-group\r\n [customTheme]=\"customTheme\"\r\n [rucInputData]=\"dynamicField\"\r\n (transferUserInput)=\"getMetaFormData($event)\"\r\n ></ruc-meta-radio-group>\r\n }\r\n </div>\r\n }\r\n }\r\n @case ('checkbox') {\r\n @if (dynamicField.formType !== 'stepper') {\r\n <div\r\n [ngStyle]=\"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n @if (\r\n (!selectedParentId && !dynamicField.dependentFields) ||\r\n (selectedParentId &&\r\n selectedParentId === dynamicField.dependentFieldParentId) ||\r\n (!selectedParentId && dynamicField.dependentFields && !isChild)\r\n ) {\r\n <ruc-meta-checkbox-group\r\n [rucInputData]=\"dynamicField\"\r\n (transferUserInput)=\"getMetaFormData($event)\"\r\n ></ruc-meta-checkbox-group>\r\n }\r\n </div>\r\n }\r\n }\r\n @case ('select') {\r\n @if (dynamicField.formType !== 'stepper') {\r\n <div\r\n [ngStyle]=\"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n @if (\r\n (!selectedParentId && !dynamicField.dependentFields) ||\r\n (selectedParentId &&\r\n selectedParentId === dynamicField.dependentFieldParentId) ||\r\n (!selectedParentId && dynamicField.dependentFields && !isChild)\r\n ) {\r\n <ruc-meta-select\r\n [rucInputData]=\"dynamicField\"\r\n (transferUserInput)=\"getMetaFormData($event)\"\r\n ></ruc-meta-select>\r\n }\r\n </div>\r\n }\r\n }\r\n @case ('textarea') {\r\n @if (dynamicField.formType !== 'stepper') {\r\n <div\r\n [ngStyle]=\"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n <ruc-text-area\r\n [rucInputData]=\"dynamicField\"\r\n (transferUserInput)=\"getMetaFormData($event)\"\r\n ></ruc-text-area>\r\n </div>\r\n }\r\n }\r\n @case ('rucMultiSelect') {\r\n @if (dynamicField.formType !== 'stepper') {\r\n <div\r\n [ngStyle]=\"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n <uxp-ruclib-multi-select\r\n [rucInputData]=\"dynamicField?.rucMultiselectInput?.rucInputData\"\r\n [dataSource]=\"dynamicField?.rucMultiselectInput?.dataSource\"\r\n [customTheme]=\"customTheme\"\r\n (rucEvent)=\"passEvent($event)\"\r\n ></uxp-ruclib-multi-select>\r\n </div>\r\n }\r\n }\r\n @case ('rucMultiFileUpload') {\r\n @if (dynamicField.formType !== 'stepper') {\r\n <div\r\n [ngStyle]=\"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n <uxp-ruclib-multi-file-upload\r\n [rucInputData]=\"dynamicField?.rucMultiFileUploadInput?.rucInputData\"\r\n [customTheme]=\"customTheme\"\r\n (rucEvent)=\"passEvent($event, dynamicField)\"\r\n ></uxp-ruclib-multi-file-upload>\r\n </div>\r\n }\r\n }\r\n @default {\r\n @if (dynamicField.hasDependentFields && dynamicField.value) {\r\n <uxp-ruclib-metaform\r\n #dynamicField.id\r\n [rucInputData]=\"formData\"\r\n [childForm]=\"dynamicField.dependentFields\"\r\n [isChild]=\"true\"\r\n [selectedParentId]=\"dynamicField.selectedParentId\"\r\n (rucEvent)=\"passEvent($event, dynamicField.id)\"\r\n ></uxp-ruclib-metaform>\r\n }\r\n }\r\n }\r\n @if (dynamicField.formType === 'stepper') {\r\n <mat-stepper linear #stepper>\r\n @for (stapperField of dynamicField.stepper; track stapperField; let s = $index) {\r\n @switch (stapperField?.fieldType) {\r\n @case ('input') {\r\n @if (stapperField.stepControl !== 'done') {\r\n <mat-step [stepControl]=\"stapperField.stepControl\">\r\n <ng-template matStepLabel>{{\r\n stapperField.stepperlabel\r\n }}</ng-template>\r\n @for (\r\n stepperFormData of stapperField.stepperFormData;\r\n track stepperFormData;\r\n let j = $index\r\n ) {\r\n @switch (stepperFormData?.fieldType) {\r\n @case ('input') {\r\n <div\r\n [ngStyle]=\"{\r\n 'width.%': dynamicField.sameRowColumnWidth - 2\r\n }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n <ruc-meta-inputs\r\n [customTheme]=\"customTheme\"\r\n [rucInputData]=\"stepperFormData\"\r\n (transferUserInput)=\"getMetaFormData($event)\"\r\n ></ruc-meta-inputs>\r\n </div>\r\n }\r\n @case ('textarea') {\r\n <div\r\n [ngStyle]=\"{\r\n 'width.%': dynamicField.sameRowColumnWidth - 2\r\n }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n <ruc-text-area\r\n [rucInputData]=\"stepperFormData\"\r\n (transferUserInput)=\"getMetaFormData($event)\"\r\n ></ruc-text-area>\r\n </div>\r\n }\r\n @case ('radio') {\r\n <div\r\n [ngStyle]=\"{\r\n 'width.%': dynamicField.sameRowColumnWidth - 2\r\n }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n <ruc-meta-radio-group\r\n [customTheme]=\"customTheme\"\r\n [rucInputData]=\"stepperFormData\"\r\n (transferUserInput)=\"getMetaFormData($event)\"\r\n ></ruc-meta-radio-group>\r\n </div>\r\n }\r\n @case ('checkbox') {\r\n <div\r\n [ngStyle]=\"{\r\n 'width.%': dynamicField.sameRowColumnWidth - 2\r\n }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n <ruc-meta-checkbox-group\r\n [rucInputData]=\"stepperFormData\"\r\n (transferUserInput)=\"getMetaFormData($event)\"\r\n ></ruc-meta-checkbox-group>\r\n </div>\r\n }\r\n @case ('select') {\r\n <div\r\n [ngStyle]=\"{\r\n 'width.%': dynamicField.sameRowColumnWidth - 2\r\n }\"\r\n [ngClass]=\"\r\n dynamicField.sameRow === true\r\n ? 'margin-5 column-in-same-row'\r\n : 'margin-5 column-in-new-row'\r\n \"\r\n >\r\n @if (\r\n (!selectedParentId && !dynamicField.dependentFields) ||\r\n (selectedParentId &&\r\n selectedParentId ===\r\n dynamicField.dependentFieldParentId) ||\r\n (!selectedParentId &&\r\n dynamicField.dependentFields &&\r\n !isChild)\r\n ) {\r\n <ruc-meta-select\r\n [rucInputData]=\"dynamicField\"\r\n (transferUserInput)=\"getMetaFormData($event)\"\r\n ></ruc-meta-select>\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n <div>\r\n @if (s > 0) {\r\n <button mat-button matStepperPrevious>Back</button>\r\n }\r\n @if (s < dynamicField.stepper.length) {\r\n <button mat-button matStepperNext>Next</button>\r\n }\r\n </div>\r\n </mat-step>\r\n }\r\n }\r\n @default {\r\n @if (stapperField.stepControl === 'done') {\r\n <mat-step>\r\n <ng-template matStepLabel>{{\r\n stapperField.stepControl\r\n }}</ng-template>\r\n <p>{{ stapperField.stepperlabel }}</p>\r\n <div>\r\n <button mat-button matStepperPrevious>Back</button>\r\n <button mat-button (click)=\"stepper.reset()\">\r\n Reset\r\n </button>\r\n </div>\r\n </mat-step>\r\n }\r\n }\r\n }\r\n }\r\n </mat-stepper>\r\n }\r\n }\r\n @if (!isChild) {\r\n <button mat-raised-button color=\"primary\" (click)=\"clearForm()\">\r\n Clear Form\r\n </button>\r\n }\r\n</form>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.RucMetaFormValidationService","i8","i2","i3","i4","i1.RucMetaFormService","i2.RucMetaFormValidationService","i5","i7","i6"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,2 +1,125 @@
1
- export * from './lib/ruclib-metaform.module';
2
- export * from './lib/ruclib-metaform/ruclib-metaform.component';
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
3
+ import { BehaviorSubject, Subscription } from 'rxjs';
4
+ import { HttpClient } from '@angular/common/http';
5
+
6
+ interface MetaFormConfig {
7
+ formType?: 'simple' | 'stepper';
8
+ inputType: 'text' | 'password' | 'button' | 'checkbox' | 'email' | 'color' | 'date' | 'file' | 'hidden' | 'image' | 'radio' | 'number' | 'range' | 'reset' | 'search' | 'submit' | 'time' | 'tel' | 'url' | 'week' | 'month' | 'number' | 'custom' | 'select' | 'rucMultiFileUpload' | 'rucMultiSelect';
9
+ fieldType: string;
10
+ id?: string;
11
+ errorMsg?: boolean;
12
+ name?: string;
13
+ label?: string;
14
+ value?: any;
15
+ className?: string;
16
+ alt?: string;
17
+ appearance?: string;
18
+ min?: string;
19
+ max?: string;
20
+ width?: string;
21
+ height?: string;
22
+ checked?: boolean;
23
+ disabled?: boolean;
24
+ maxlength?: string;
25
+ readonly?: boolean;
26
+ required?: boolean;
27
+ size?: string;
28
+ step?: string;
29
+ sameRow?: boolean;
30
+ sameRowColumnWidth?: string;
31
+ tooltip?: string;
32
+ tooltipPosition?: string;
33
+ pattern?: any;
34
+ placeholder?: any;
35
+ autofocus?: any;
36
+ autocomplete?: any;
37
+ customComponentName?: 'dialog' | 'multiselect' | 'none';
38
+ rucDialogInput?: any;
39
+ rucMultiselectInput?: {
40
+ rucInputData?: any;
41
+ dataSource?: any;
42
+ };
43
+ rucMultiFileUpload?: {
44
+ rucInputData?: any;
45
+ };
46
+ hasDependentFields?: boolean;
47
+ dependentFieldParentId?: any;
48
+ dependentFields?: MetaFormConfig[];
49
+ selectedParentId?: any;
50
+ toolTipDescription?: string;
51
+ customErrorMessage?: string;
52
+ showErrorOnPopUp?: boolean;
53
+ groupOptions?: groupOptions[];
54
+ stepperForm?: boolean;
55
+ stepper?: Stepper[];
56
+ rucMultiFileUploadInput?: {
57
+ rucInputData?: any;
58
+ };
59
+ }
60
+ interface groupOptions {
61
+ id: string;
62
+ name: string;
63
+ value?: string;
64
+ selected?: boolean;
65
+ disable?: boolean;
66
+ }
67
+ interface Stepper {
68
+ stepControl?: string;
69
+ stepperlabel?: string;
70
+ stepperFormData?: MetaFormConfig[];
71
+ }
72
+
73
+ declare class RucMetaFormService {
74
+ private http;
75
+ metaFormData: MetaFormConfig | undefined;
76
+ currentFormElement: MetaFormConfig | undefined;
77
+ constructor(http: HttpClient);
78
+ formData: BehaviorSubject<any>;
79
+ getFormJson(form: any): void;
80
+ static ɵfac: i0.ɵɵFactoryDeclaration<RucMetaFormService, never>;
81
+ static ɵprov: i0.ɵɵInjectableDeclaration<RucMetaFormService>;
82
+ }
83
+
84
+ declare class RuclibMetaformComponent implements OnInit, OnDestroy {
85
+ service: RucMetaFormService;
86
+ rucEvent: EventEmitter<any>;
87
+ childRucEvent: EventEmitter<any>;
88
+ rucInputData: MetaFormConfig[];
89
+ childForm?: MetaFormConfig[];
90
+ customTheme: string;
91
+ isChild?: boolean;
92
+ selectedParentId: any;
93
+ inputObjectDataMultiFileUpload?: any;
94
+ metaFormSubscribeInputs: Subscription | undefined;
95
+ formData: any;
96
+ constructor(service: RucMetaFormService);
97
+ ngOnInit(): void;
98
+ /**
99
+ * The purpose of this function to pass data from dependentFields to parent field
100
+ * @param getObject
101
+ * @param j
102
+ */
103
+ passEvent(getObject: any, formElement?: any): void;
104
+ /**
105
+ * Initial function to load for data
106
+ */
107
+ getFormJson(): void;
108
+ /**
109
+ * This function is to emit form data
110
+ * @param event
111
+ */
112
+ getMetaFormData(event: any): void;
113
+ /**
114
+ * Clear form data
115
+ */
116
+ clearForm(): void;
117
+ /**
118
+ * Destroy the subscriber
119
+ */
120
+ ngOnDestroy(): void;
121
+ static ɵfac: i0.ɵɵFactoryDeclaration<RuclibMetaformComponent, never>;
122
+ static ɵcmp: i0.ɵɵComponentDeclaration<RuclibMetaformComponent, "uxp-ruclib-metaform", never, { "rucInputData": { "alias": "rucInputData"; "required": false; }; "childForm": { "alias": "childForm"; "required": false; }; "customTheme": { "alias": "customTheme"; "required": false; }; "isChild": { "alias": "isChild"; "required": false; }; "selectedParentId": { "alias": "selectedParentId"; "required": false; }; }, { "rucEvent": "rucEvent"; "childRucEvent": "childRucEvent"; }, never, never, true, never>;
123
+ }
124
+
125
+ export { RuclibMetaformComponent };
package/package.json CHANGED
@@ -1,42 +1,19 @@
1
1
  {
2
2
  "name": "@ruc-lib/metaform",
3
- "version": "2.2.2",
4
- "license": "MIT",
3
+ "version": "3.1.0",
5
4
  "peerDependencies": {
6
- "@ruc-lib/multi-file-upload": "^2.0.8",
7
- "@ruc-lib/multi-select": "^2.0.8",
8
- "@angular/material": "^15.2.0",
9
- "@angular/core": ">=15.0.0 <18.0.0",
10
- "@angular/common": ">=15.0.0 <18.0.0",
11
- "@angular/platform-browser": ">=15.0.0 <18.0.0"
5
+ "@angular/common": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0",
6
+ "@angular/core": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0",
7
+ "@angular/material": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0",
8
+ "@angular/platform-browser": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0",
9
+ "@ruc-lib/multi-file-upload": "3.1.0",
10
+ "@ruc-lib/multi-select": "3.1.0"
12
11
  },
13
- "peerDependenciesMeta": {
14
- "@angular/animations": {
15
- "optional": true
16
- },
17
- "@angular/compiler": {
18
- "optional": true
19
- },
20
- "@angular/platform-browser-dynamic": {
21
- "optional": true
22
- },
23
- "zone.js": {
24
- "optional": true
25
- }
26
- },
27
- "allowedNonPeerDependencies": [],
28
12
  "dependencies": {
29
13
  "tslib": "^2.3.0"
30
14
  },
31
- "publishConfig": {
32
- "access": "public"
33
- },
34
15
  "sideEffects": false,
35
- "module": "fesm2015/ruc-lib-metaform.mjs",
36
- "es2020": "fesm2020/ruc-lib-metaform.mjs",
37
- "esm2020": "esm2020/ruc-lib-metaform.mjs",
38
- "fesm2020": "fesm2020/ruc-lib-metaform.mjs",
39
- "fesm2015": "fesm2015/ruc-lib-metaform.mjs",
16
+ "module": "fesm2022/ruc-lib-metaform.mjs",
40
17
  "typings": "index.d.ts",
41
18
  "exports": {
42
19
  "./package.json": {
@@ -44,11 +21,7 @@
44
21
  },
45
22
  ".": {
46
23
  "types": "./index.d.ts",
47
- "esm2020": "./esm2020/ruc-lib-metaform.mjs",
48
- "es2020": "./fesm2020/ruc-lib-metaform.mjs",
49
- "es2015": "./fesm2015/ruc-lib-metaform.mjs",
50
- "node": "./fesm2015/ruc-lib-metaform.mjs",
51
- "default": "./fesm2020/ruc-lib-metaform.mjs"
24
+ "default": "./fesm2022/ruc-lib-metaform.mjs"
52
25
  }
53
26
  }
54
27
  }
@@ -1,18 +0,0 @@
1
- import { OnInit, EventEmitter } from '@angular/core';
2
- import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
- import * as i0 from "@angular/core";
4
- export declare class RucMetaCheckboxGroupComponent implements OnInit {
5
- validationService: RucMetaFormValidationService;
6
- rucInputData: any;
7
- transferUserInput: EventEmitter<any>;
8
- errorMessage: string | undefined;
9
- constructor(validationService: RucMetaFormValidationService);
10
- ngOnInit(): void;
11
- /**
12
- *
13
- * @param e
14
- */
15
- modelChangeFn(e: any): void;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<RucMetaCheckboxGroupComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<RucMetaCheckboxGroupComponent, "ruc-meta-checkbox-group", never, { "rucInputData": "rucInputData"; }, { "transferUserInput": "transferUserInput"; }, never, never, false, never>;
18
- }
@@ -1,23 +0,0 @@
1
- import { OnInit, EventEmitter } from '@angular/core';
2
- import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
- import * as i0 from "@angular/core";
4
- export declare class RucMetaInputsComponent implements OnInit {
5
- validationService: RucMetaFormValidationService;
6
- rucInputData: any;
7
- selectedParentId?: any;
8
- transferUserInput: EventEmitter<any>;
9
- customTheme: string | undefined;
10
- errorMessage: string | undefined;
11
- options: string[];
12
- filteredOptions: any;
13
- constructor(validationService: RucMetaFormValidationService);
14
- ngOnInit(): void;
15
- /**
16
- *
17
- * @param e
18
- */
19
- modelChangeFn(e: any): void;
20
- private _filter;
21
- static ɵfac: i0.ɵɵFactoryDeclaration<RucMetaInputsComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<RucMetaInputsComponent, "ruc-meta-inputs", never, { "rucInputData": "rucInputData"; "selectedParentId": "selectedParentId"; "customTheme": "customTheme"; }, { "transferUserInput": "transferUserInput"; }, never, never, false, never>;
23
- }
@@ -1,20 +0,0 @@
1
- import { OnInit, EventEmitter } from '@angular/core';
2
- import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
- import * as i0 from "@angular/core";
4
- export declare class RucMetaRadioGroupComponent implements OnInit {
5
- validationService: RucMetaFormValidationService;
6
- rucInputData: any;
7
- customTheme: string | undefined;
8
- transferUserInput: EventEmitter<any>;
9
- errorMessage: string | undefined;
10
- radioValue: string | undefined;
11
- constructor(validationService: RucMetaFormValidationService);
12
- ngOnInit(): void;
13
- /**
14
- *
15
- * @param e
16
- */
17
- modelChangeFn(e: any): void;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<RucMetaRadioGroupComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<RucMetaRadioGroupComponent, "ruc-meta-radio-group", never, { "rucInputData": "rucInputData"; "customTheme": "customTheme"; }, { "transferUserInput": "transferUserInput"; }, never, never, false, never>;
20
- }
@@ -1,17 +0,0 @@
1
- import { OnInit, EventEmitter } from '@angular/core';
2
- import { RucMetaFormService } from "../../services/ruc-meta-form.service";
3
- import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
4
- import * as i0 from "@angular/core";
5
- export declare class RucMetaSelectComponent implements OnInit {
6
- service: RucMetaFormService;
7
- validationService: RucMetaFormValidationService;
8
- rucInputData: any;
9
- errorMessage: string | undefined;
10
- transferUserInput: EventEmitter<any>;
11
- constructor(service: RucMetaFormService, validationService: RucMetaFormValidationService);
12
- ngOnInit(): void;
13
- modelChangeFn(e: any): void;
14
- removDependentFieldParentIdFromOther(child: any): void;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<RucMetaSelectComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<RucMetaSelectComponent, "ruc-meta-select", never, { "rucInputData": "rucInputData"; }, { "transferUserInput": "transferUserInput"; }, never, never, false, never>;
17
- }
@@ -1,19 +0,0 @@
1
- import { OnInit, EventEmitter } from '@angular/core';
2
- import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
- import * as i0 from "@angular/core";
4
- export declare class RucTextAreaComponent implements OnInit {
5
- validationService: RucMetaFormValidationService;
6
- rucInputData: any;
7
- transferUserInput: EventEmitter<any>;
8
- customTheme: string | undefined;
9
- errorMessage: string | undefined;
10
- constructor(validationService: RucMetaFormValidationService);
11
- ngOnInit(): void;
12
- /**
13
- *
14
- * @param e
15
- */
16
- modelChangeFn(e: any): void;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<RucTextAreaComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<RucTextAreaComponent, "ruc-text-area", never, { "rucInputData": "rucInputData"; "customTheme": "customTheme"; }, { "transferUserInput": "transferUserInput"; }, never, never, false, never>;
19
- }
@@ -1,42 +0,0 @@
1
- import { Component, Input, EventEmitter, Output } from '@angular/core';
2
- import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/ruc-meta-form-validation.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/checkbox";
9
- export class RucMetaCheckboxGroupComponent {
10
- constructor(validationService) {
11
- this.validationService = validationService;
12
- this.transferUserInput = new EventEmitter();
13
- }
14
- ngOnInit() {
15
- this.errorMessage = this.validationService.defaultErrorMessage;
16
- }
17
- /**
18
- *
19
- * @param e
20
- */
21
- modelChangeFn(e) {
22
- const checkboxValues = [];
23
- this.rucInputData.groupOptions.forEach((x) => {
24
- if (x.value) {
25
- checkboxValues.push(x.name);
26
- }
27
- });
28
- this.rucInputData.value = checkboxValues;
29
- this.transferUserInput.emit(this.rucInputData);
30
- }
31
- }
32
- RucMetaCheckboxGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaCheckboxGroupComponent, deps: [{ token: i1.RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
33
- RucMetaCheckboxGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMetaCheckboxGroupComponent, selector: "ruc-meta-checkbox-group", inputs: { rucInputData: "rucInputData" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<mat-label class=\"margin-\">{{rucInputData?.label}}</mat-label>\r\n<ul class=\"ruc-checkbox\">\r\n <li *ngFor=\"let item of rucInputData?.groupOptions\">\r\n <mat-checkbox [(ngModel)]=\"item.value\" (ngModelChange)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-checkbox>\r\n </li>\r\n</ul>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div>", styles: ["ul{list-style-type:none;margin-top:4px}.form-error{color:red}.ruc-checkbox{padding-left:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaCheckboxGroupComponent, decorators: [{
35
- type: Component,
36
- args: [{ selector: 'ruc-meta-checkbox-group', template: "<mat-label class=\"margin-\">{{rucInputData?.label}}</mat-label>\r\n<ul class=\"ruc-checkbox\">\r\n <li *ngFor=\"let item of rucInputData?.groupOptions\">\r\n <mat-checkbox [(ngModel)]=\"item.value\" (ngModelChange)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-checkbox>\r\n </li>\r\n</ul>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div>", styles: ["ul{list-style-type:none;margin-top:4px}.form-error{color:red}.ruc-checkbox{padding-left:10px}\n"] }]
37
- }], ctorParameters: function () { return [{ type: i1.RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
38
- type: Input
39
- }], transferUserInput: [{
40
- type: Output
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAvcnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAvcnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTyxpREFBaUQsQ0FBQzs7Ozs7OztBQU85RixNQUFNLE9BQU8sNkJBQTZCO0lBS3hDLFlBQW1CLGlCQUE4QztRQUE5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZCO1FBSHZELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFHZSxDQUFDO0lBRXRFLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztJQUNqRSxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLENBQUs7UUFDakIsTUFBTSxjQUFjLEdBQVUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBQyxFQUFFO1lBQy9DLElBQUcsQ0FBQyxDQUFDLEtBQUssRUFBQztnQkFDVCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pELENBQUM7OzJIQXZCVSw2QkFBNkI7K0dBQTdCLDZCQUE2Qiw4SkNSMUMsb2ZBVU07NEZERk8sNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLHlCQUF5QjttSEFLMUIsWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7UnVjTWV0YUZvcm1WYWxpZGF0aW9uU2VydmljZX0gZnJvbSAgJy4uLy4uL3NlcnZpY2VzL3J1Yy1tZXRhLWZvcm0tdmFsaWRhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWMtbWV0YS1jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSdWNNZXRhQ2hlY2tib3hHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcnVjSW5wdXREYXRhIDogYW55O1xyXG4gIEBPdXRwdXQoKSB0cmFuc2ZlclVzZXJJbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTpSdWNNZXRhRm9ybVZhbGlkYXRpb25TZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZGVmYXVsdEVycm9yTWVzc2FnZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGUgXHJcbiAgICovXHJcbiAgbW9kZWxDaGFuZ2VGbihlOmFueSkge1xyXG4gICAgY29uc3QgY2hlY2tib3hWYWx1ZXM6IGFueVtdID0gW107XHJcbiAgICB0aGlzLnJ1Y0lucHV0RGF0YS5ncm91cE9wdGlvbnMuZm9yRWFjaCgoeDogYW55KT0+e1xyXG4gICAgICBpZih4LnZhbHVlKXtcclxuICAgICAgICBjaGVja2JveFZhbHVlcy5wdXNoKHgubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5ydWNJbnB1dERhdGEudmFsdWUgPSBjaGVja2JveFZhbHVlcztcclxuICAgIHRoaXMudHJhbnNmZXJVc2VySW5wdXQuZW1pdCh0aGlzLnJ1Y0lucHV0RGF0YSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtbGFiZWwgY2xhc3M9XCJtYXJnaW4tXCI+e3tydWNJbnB1dERhdGE/LmxhYmVsfX08L21hdC1sYWJlbD5cclxuPHVsIGNsYXNzPVwicnVjLWNoZWNrYm94XCI+XHJcbiAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcnVjSW5wdXREYXRhPy5ncm91cE9wdGlvbnNcIj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IFsobmdNb2RlbCldPVwiaXRlbS52YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm1vZGVsQ2hhbmdlRm4oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICB7e2l0ZW0/Lm5hbWV9fVxyXG4gICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgPC9saT5cclxuPC91bD5cclxuPGRpdiAqbmdJZj1cInJ1Y0lucHV0RGF0YT8uZXJyb3JNc2dcIiBjbGFzcz1cImZvcm0tZXJyb3JcIj5cclxuICAgIHt7cnVjSW5wdXREYXRhPy5jdXN0b21FcnJvck1lc3NhZ2UgPyBydWNJbnB1dERhdGE/LmN1c3RvbUVycm9yTWVzc2FnZSA6IGVycm9yTWVzc2FnZX19XHJcbjwvZGl2PiJdfQ==
@@ -1,54 +0,0 @@
1
- import { Component, Input, EventEmitter, Output } from '@angular/core';
2
- import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/ruc-meta-form-validation.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/input";
9
- import * as i6 from "@angular/material/core";
10
- import * as i7 from "@angular/material/autocomplete";
11
- import * as i8 from "@angular/material/tooltip";
12
- export class RucMetaInputsComponent {
13
- constructor(validationService) {
14
- this.validationService = validationService;
15
- this.transferUserInput = new EventEmitter();
16
- this.options = [];
17
- }
18
- ngOnInit() {
19
- this.errorMessage = this.validationService.defaultErrorMessage;
20
- this.rucInputData.value === undefined ? "" : this.rucInputData.value;
21
- this.options = this.rucInputData.autocomplete;
22
- }
23
- /**
24
- *
25
- * @param e
26
- */
27
- modelChangeFn(e) {
28
- const validate = this.validationService.alphaNumericValidator(this.rucInputData);
29
- this.rucInputData.errorMsg = validate;
30
- if (this.rucInputData.autocomplete) {
31
- this.filteredOptions = this._filter(this.rucInputData.value);
32
- }
33
- this.transferUserInput.emit(this.rucInputData);
34
- }
35
- _filter(value) {
36
- const filterValue = value.toLowerCase();
37
- return this.options.filter(option => option.toLowerCase().includes(filterValue));
38
- }
39
- }
40
- RucMetaInputsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaInputsComponent, deps: [{ token: i1.RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
41
- RucMetaInputsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMetaInputsComponent, selector: "ruc-meta-inputs", inputs: { rucInputData: "rucInputData", selectedParentId: "selectedParentId", customTheme: "customTheme" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<mat-form-field class=\"{{customTheme }}\" [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <input type=\"{{rucInputData?.inputType}}\" color=\"accent\" matInput placeholder=\"{{rucInputData?.placeholder}}\" [(ngModel)]=\"rucInputData.value\" \r\n (ngModelChange)=\"modelChangeFn($event.target)\" required=\"{{rucInputData?.required}}\" size=\"{{rucInputData?.size}}\"\r\n maxlength=\"{{rucInputData?.maxlength}}\" min=\"{{rucInputData?.min}}\" max=\"{{rucInputData?.max}}\" pattern=\"{{rucInputData?.pattern}}\"\r\n step=\"{{rucInputData?.step}}\" autofocus=\"{{rucInputData?.autofocus}}\" width=\"{{rucInputData?.width}}\" height=\"{{rucInputData?.height}}\"\r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"!rucInputData?.autocomplete\" [readonly]=\"rucInputData?.readonly\" [matTooltipPosition]=\"rucInputData?.tooltipPosition\"\r\n > \r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div> \r\n", styles: [".example-full-width{width:100%}.example-form{min-width:150px;max-width:500px;width:100%}.form-error{color:red}.margin-right{margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaInputsComponent, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'ruc-meta-inputs', template: "<mat-form-field class=\"{{customTheme }}\" [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <input type=\"{{rucInputData?.inputType}}\" color=\"accent\" matInput placeholder=\"{{rucInputData?.placeholder}}\" [(ngModel)]=\"rucInputData.value\" \r\n (ngModelChange)=\"modelChangeFn($event.target)\" required=\"{{rucInputData?.required}}\" size=\"{{rucInputData?.size}}\"\r\n maxlength=\"{{rucInputData?.maxlength}}\" min=\"{{rucInputData?.min}}\" max=\"{{rucInputData?.max}}\" pattern=\"{{rucInputData?.pattern}}\"\r\n step=\"{{rucInputData?.step}}\" autofocus=\"{{rucInputData?.autofocus}}\" width=\"{{rucInputData?.width}}\" height=\"{{rucInputData?.height}}\"\r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"!rucInputData?.autocomplete\" [readonly]=\"rucInputData?.readonly\" [matTooltipPosition]=\"rucInputData?.tooltipPosition\"\r\n > \r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div> \r\n", styles: [".example-full-width{width:100%}.example-form{min-width:150px;max-width:500px;width:100%}.form-error{color:red}.margin-right{margin-right:10px}\n"] }]
45
- }], ctorParameters: function () { return [{ type: i1.RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
46
- type: Input
47
- }], selectedParentId: [{
48
- type: Input
49
- }], transferUserInput: [{
50
- type: Output
51
- }], customTheme: [{
52
- type: Input
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLW1ldGEtaW5wdXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3J1Yy1tZXRhLWlucHV0cy9ydWMtbWV0YS1pbnB1dHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVjLW1ldGEtaW5wdXRzL3J1Yy1tZXRhLWlucHV0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFPLGlEQUFpRCxDQUFDOzs7Ozs7Ozs7O0FBTzlGLE1BQU0sT0FBTyxzQkFBc0I7SUFRakMsWUFBbUIsaUJBQThDO1FBQTlDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNkI7UUFMdkQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUd0RCxZQUFPLEdBQWEsRUFBRSxDQUFDO0lBSXZCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUM7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7SUFDaEQsQ0FBQztJQUNEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxDQUFLO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3RDLElBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUM7WUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDM0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7b0hBakNVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHdOQ1JuQyxxN0NBa0JBOzRGRFZhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7bUhBS2xCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1J1Y01ldGFGb3JtVmFsaWRhdGlvblNlcnZpY2V9IGZyb20gICcuLi8uLi9zZXJ2aWNlcy9ydWMtbWV0YS1mb3JtLXZhbGlkYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3J1Yy1tZXRhLWlucHV0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3J1Yy1tZXRhLWlucHV0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcnVjLW1ldGEtaW5wdXRzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUnVjTWV0YUlucHV0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcnVjSW5wdXREYXRhIDogYW55O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkUGFyZW50SWQ/OmFueTsgXHJcbiAgQE91dHB1dCgpIHRyYW5zZmVyVXNlcklucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgY3VzdG9tVGhlbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZFxyXG4gIG9wdGlvbnM6IHN0cmluZ1tdID0gW107XHJcbiAgZmlsdGVyZWRPcHRpb25zOiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHZhbGlkYXRpb25TZXJ2aWNlOlJ1Y01ldGFGb3JtVmFsaWRhdGlvblNlcnZpY2UpIHsgXHJcbiAgICBcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmRlZmF1bHRFcnJvck1lc3NhZ2U7IFxyXG4gICAgdGhpcy5ydWNJbnB1dERhdGEudmFsdWUgPT09IHVuZGVmaW5lZCA/IFwiXCIgOiB0aGlzLnJ1Y0lucHV0RGF0YS52YWx1ZTtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMucnVjSW5wdXREYXRhLmF1dG9jb21wbGV0ZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGUgXHJcbiAgICovXHJcbiAgbW9kZWxDaGFuZ2VGbihlOmFueSkge1xyXG4gICAgY29uc3QgdmFsaWRhdGUgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmFscGhhTnVtZXJpY1ZhbGlkYXRvcih0aGlzLnJ1Y0lucHV0RGF0YSk7XHJcbiAgICB0aGlzLnJ1Y0lucHV0RGF0YS5lcnJvck1zZyA9IHZhbGlkYXRlO1xyXG4gICAgaWYodGhpcy5ydWNJbnB1dERhdGEuYXV0b2NvbXBsZXRlKXtcclxuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLl9maWx0ZXIodGhpcy5ydWNJbnB1dERhdGEudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50cmFuc2ZlclVzZXJJbnB1dC5lbWl0KHRoaXMucnVjSW5wdXREYXRhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ7e2N1c3RvbVRoZW1lIH19XCIgW25nU3R5bGVdPVwieyAnd2lkdGguJSc6IHJ1Y0lucHV0RGF0YT8ud2lkdGggfVwiIFthcHBlYXJhbmNlXT1cInJ1Y0lucHV0RGF0YT8uYXBwZWFyYW5jZSB8fCAnZmlsbCdcIj5cclxuICAgIDxtYXQtbGFiZWw+e3tydWNJbnB1dERhdGE/LmxhYmVsfX08L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dCB0eXBlPVwie3tydWNJbnB1dERhdGE/LmlucHV0VHlwZX19XCIgY29sb3I9XCJhY2NlbnRcIiBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7cnVjSW5wdXREYXRhPy5wbGFjZWhvbGRlcn19XCIgWyhuZ01vZGVsKV09XCJydWNJbnB1dERhdGEudmFsdWVcIiBcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm1vZGVsQ2hhbmdlRm4oJGV2ZW50LnRhcmdldClcIiByZXF1aXJlZD1cInt7cnVjSW5wdXREYXRhPy5yZXF1aXJlZH19XCIgc2l6ZT1cInt7cnVjSW5wdXREYXRhPy5zaXplfX1cIlxyXG4gICAgbWF4bGVuZ3RoPVwie3tydWNJbnB1dERhdGE/Lm1heGxlbmd0aH19XCIgbWluPVwie3tydWNJbnB1dERhdGE/Lm1pbn19XCIgbWF4PVwie3tydWNJbnB1dERhdGE/Lm1heH19XCIgcGF0dGVybj1cInt7cnVjSW5wdXREYXRhPy5wYXR0ZXJufX1cIlxyXG4gICAgc3RlcD1cInt7cnVjSW5wdXREYXRhPy5zdGVwfX1cIiBhdXRvZm9jdXM9XCJ7e3J1Y0lucHV0RGF0YT8uYXV0b2ZvY3VzfX1cIiB3aWR0aD1cInt7cnVjSW5wdXREYXRhPy53aWR0aH19XCIgaGVpZ2h0PVwie3tydWNJbnB1dERhdGE/LmhlaWdodH19XCJcclxuICAgIG1hdFRvb2x0aXA9XCJ7e3J1Y0lucHV0RGF0YT8udG9vbHRpcH19XCJcclxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiIFttYXRBdXRvY29tcGxldGVEaXNhYmxlZF09XCIhcnVjSW5wdXREYXRhPy5hdXRvY29tcGxldGVcIiBbcmVhZG9ubHldPVwicnVjSW5wdXREYXRhPy5yZWFkb25seVwiIFttYXRUb29sdGlwUG9zaXRpb25dPVwicnVjSW5wdXREYXRhPy50b29sdGlwUG9zaXRpb25cIlxyXG4gICAgPiAgICAgXHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZSBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XHJcbiAgICAgICAge3tvcHRpb259fVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8ZGl2ICpuZ0lmPVwicnVjSW5wdXREYXRhPy5lcnJvck1zZ1wiIGNsYXNzPVwiZm9ybS1lcnJvclwiPlxyXG4gICAge3tydWNJbnB1dERhdGE/LmN1c3RvbUVycm9yTWVzc2FnZSA/IHJ1Y0lucHV0RGF0YT8uY3VzdG9tRXJyb3JNZXNzYWdlIDogZXJyb3JNZXNzYWdlfX1cclxuICA8L2Rpdj4gICBcclxuIl19