@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.
- package/README.md +1 -135
- package/fesm2022/ruc-lib-metaform.mjs +450 -0
- package/fesm2022/ruc-lib-metaform.mjs.map +1 -0
- package/index.d.ts +125 -2
- package/package.json +9 -36
- package/components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component.d.ts +0 -18
- package/components/ruc-meta-inputs/ruc-meta-inputs.component.d.ts +0 -23
- package/components/ruc-meta-radio-group/ruc-meta-radio-group.component.d.ts +0 -20
- package/components/ruc-meta-select/ruc-meta-select.component.d.ts +0 -17
- package/components/ruc-text-area/ruc-text-area.component.d.ts +0 -19
- package/esm2020/components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component.mjs +0 -42
- package/esm2020/components/ruc-meta-inputs/ruc-meta-inputs.component.mjs +0 -54
- package/esm2020/components/ruc-meta-radio-group/ruc-meta-radio-group.component.mjs +0 -38
- package/esm2020/components/ruc-meta-select/ruc-meta-select.component.mjs +0 -56
- package/esm2020/components/ruc-text-area/ruc-text-area.component.mjs +0 -39
- package/esm2020/index.mjs +0 -3
- package/esm2020/interfaces/metaFormsDefault.mjs +0 -2
- package/esm2020/lib/ruclib-metaform/ruclib-metaform.component.mjs +0 -105
- package/esm2020/lib/ruclib-metaform.module.mjs +0 -100
- package/esm2020/ruc-lib-metaform.mjs +0 -5
- package/esm2020/services/ruc-meta-form-validation.service.mjs +0 -29
- package/esm2020/services/ruc-meta-form.service.mjs +0 -23
- package/fesm2015/ruc-lib-metaform.mjs +0 -432
- package/fesm2015/ruc-lib-metaform.mjs.map +0 -1
- package/fesm2020/ruc-lib-metaform.mjs +0 -432
- package/fesm2020/ruc-lib-metaform.mjs.map +0 -1
- package/interfaces/metaFormsDefault.d.ts +0 -73
- package/lib/ruclib-metaform/ruclib-metaform.component.d.ts +0 -45
- package/lib/ruclib-metaform.module.d.ts +0 -27
- package/services/ruc-meta-form-validation.service.d.ts +0 -12
- 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
|
-
|
|
2
|
-
|
|
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": "
|
|
4
|
-
"license": "MIT",
|
|
3
|
+
"version": "3.1.0",
|
|
5
4
|
"peerDependencies": {
|
|
6
|
-
"@
|
|
7
|
-
"@
|
|
8
|
-
"@angular/material": "^15.
|
|
9
|
-
"@angular/
|
|
10
|
-
"@
|
|
11
|
-
"@
|
|
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": "
|
|
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
|
-
"
|
|
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
|