UNPKG

@asoftwareworld/form-builder-pro

Version:

ASW Form Builder Pro helps you with rapid development and designed web forms which includes several controls. The key feature of Form Builder is to make your content attractive and effective. We can customize our control at run time and preview the same b

1 lines 23.6 kB
{"version":3,"file":"asoftwareworld-form-builder-pro-form-control-autocomplete.mjs","sources":["../../src/components/form-control/autocomplete/autocomplete.ts","../../src/components/form-control/autocomplete/autocomplete.html","../../src/components/form-control/autocomplete/autocomplete.module.ts","../../src/components/form-control/autocomplete/public_api.ts","../../src/components/form-control/autocomplete/asoftwareworld-form-builder-pro-form-control-autocomplete.ts"],"sourcesContent":["/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ControlOption, CSSFrameworkEnum } from '@asoftwareworld/form-builder-pro/api';\nimport { Constants, Icons, AswApiService } from '@asoftwareworld/form-builder-pro/common';\nimport { AswConfirmDialog } from '@asoftwareworld/form-builder-pro/form-control/confirm-dialog';\nimport { AswSingleSelectDialog } from '@asoftwareworld/form-builder-pro/form-control/shared';\nimport { AutoCompleteControl } from './autocomplete-control';\n\n@Component({\n selector: 'asw-autocomplete',\n templateUrl: './autocomplete.html'\n})\nexport class AswAutocomplete implements OnInit {\n constants: any = Constants;\n icons = Icons;\n filteredOptions!: ControlOption[] | undefined;\n\n /**\n * Autocomplete control\n */\n @Input() control: any;\n @Input() CSSFramework: CSSFrameworkEnum = CSSFrameworkEnum.Material;\n @Input() isPreviewTemplate = false;\n @Input() propertyPersonalization: string[] = [];\n @Input() formControls: any[] = [];\n\n @Output() autocompleteUpdateEvent = new EventEmitter<AutoCompleteControl>();\n @Output() autocompleteDeleteEvent = new EventEmitter<AutoCompleteControl>();\n @Output() selectionChange = new EventEmitter<AutoCompleteControl>();\n @Output() duplicateControl = new EventEmitter<AutoCompleteControl>();\n\n constructor(\n public dialog: MatDialog,\n private aswApiService: AswApiService\n ) {}\n\n ngOnInit(): void {\n if (this.control?.apiUrl) {\n this.callApiToFetchData(this.control);\n } else {\n this.filteredOptions = this.control.options;\n }\n }\n\n private callApiToFetchData(control: any) {\n switch (control.method) {\n case 'GET': {\n this.aswApiService.get(control.apiUrl, control.headers).subscribe({\n next: (data) => {\n if (data?.value) {\n this.setControlOptions(data.value);\n } else {\n this.setControlOptions(data);\n }\n }\n });\n break;\n }\n case 'POST': {\n this.aswApiService.post(control.apiUrl, control.body, control.headers).subscribe({\n next: (data) => {\n if (data?.value) {\n this.setControlOptions(data.value);\n } else {\n this.setControlOptions(data);\n }\n }\n });\n break;\n }\n case 'PUT': {\n this.aswApiService.put(control.apiUrl, control.body, control.headers).subscribe({\n next: (data) => {\n if (data?.value) {\n this.setControlOptions(data.value);\n } else {\n this.setControlOptions(data);\n }\n }\n });\n break;\n }\n case 'PATCH': {\n this.aswApiService.patch(control.apiUrl, control.body, control.headers).subscribe({\n next: (data) => {\n if (data?.value) {\n this.setControlOptions(data.value);\n } else {\n this.setControlOptions(data);\n }\n }\n });\n break;\n }\n case 'DELETE': {\n this.aswApiService.delete(control.apiUrl, control.headers).subscribe({\n next: (data) => {\n if (data?.value) {\n this.setControlOptions(data.value);\n } else {\n this.setControlOptions(data);\n }\n }\n });\n break;\n }\n }\n }\n\n private setControlOptions(options: ControlOption): void {\n this.control.options = options;\n this.filteredOptions = this.control.options;\n }\n\n filter(control: AutoCompleteControl): ControlOption[] | undefined {\n if (control.value) {\n const filterValue = control.value.toLowerCase();\n control.options.forEach((element) => {\n element.isChecked = control.value === element.key ? true : false;\n });\n this.selectionChange.emit(control);\n return this.control?.options.filter((option: ControlOption) => option.value.toLowerCase().startsWith(filterValue));\n }\n return this.control?.options;\n }\n\n /**\n * Delete autocomplete control based on control index\n * @param control autocomplete control items\n */\n deleteAutocompleteDialog(control: AutoCompleteControl): void {\n const dialogRef = this.dialog.open(AswConfirmDialog, {\n width: '350px',\n data: { name: control.controlType, message: this.constants.messages.waringMessage }\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result !== undefined) {\n this.autocompleteDeleteEvent.emit(control);\n }\n });\n }\n\n editAutocompleteDialog(control: AutoCompleteControl, formControls: any[]): void {\n let allControls: any[] = [];\n this.getAllExceptCurrentControl(formControls, allControls);\n allControls = [...new Set(allControls.map((numberControl) => numberControl))];\n control.options.forEach((element) => {\n element.isChecked = control.value === element.key ? true : false;\n if (!element.hideControl) {\n element.hideControl = [];\n }\n });\n const dialogRef = this.dialog.open(AswSingleSelectDialog, {\n width: '80%',\n minWidth: '70vw',\n disableClose: true,\n data: { control, CSSFramework: this.CSSFramework, propertyPersonalization: this.propertyPersonalization, allControls }\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result !== undefined) {\n this.autocompleteUpdateEvent.emit(result);\n }\n });\n }\n\n duplicateAutocompleteControl(control: AutoCompleteControl): void {\n this.duplicateControl.emit(control);\n }\n\n private getAllExceptCurrentControl(formControls: any[], allControls: any[]): void {\n //allControls.push(...formControls.filter((x) => x.id !== this.control.id));\n const columnsControls = formControls.filter((x) => x.controlType === 'columns');\n if (columnsControls.length) {\n columnsControls.forEach((control) => {\n let isSelectedControl = false;\n control.columns.forEach((column: any) => {\n column.components.forEach((component: any) => {\n if (component.controlType === 'columns') {\n this.getAllExceptCurrentControl(column.components, allControls);\n }\n if (component.id === this.control.id) {\n isSelectedControl = true;\n }\n });\n });\n if (!isSelectedControl) {\n allControls.push(control);\n }\n });\n }\n }\n}\n","<ng-container *ngIf=\"control as control\">\r\n <ng-container *ngIf=\"CSSFramework === 'material'; else bootstrap\">\r\n <mat-form-field [appearance]=\"control.style\" class=\"asw-width-100 {{control.customClass}}\">\r\n <mat-label>{{control.label | aswTranslate}}</mat-label>\r\n <input [placeholder]=\"control.label | aswTranslate\"\r\n [id]=\"control.id\"\r\n [matAutocomplete]=\"auto\"\r\n matInput\r\n [(ngModel)]=\"control.value\"\r\n #input=\"ngModel\"\r\n [matTooltip]=\"control.tooltip | aswTranslate\"\r\n (ngModelChange)=\"filteredOptions = filter(control)\"\r\n [required]=\"control.isRequired\"\r\n [disabled]=\"control.isDisabled ? true : false\">\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option.key\">\r\n {{option.value}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"input.invalid && (input.dirty || input.touched)\">\r\n <ng-container *ngIf=\"input?.errors?.required\">\r\n {{control.label | aswTranslate}} {{'FormControl.IsRequired' | aswTranslate}}\r\n </ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <ng-template #bootstrap>\r\n <div class=\"asw-mb-3\">\r\n <label for=\"{{control.id}}\" \r\n class=\"asw-input-label {{(input.invalid && (input.dirty || input.touched)) ? 'asw-red-color' : ''}}\"\r\n [class.asw-invalid-label]=\"control.isRequired\">{{control.label | aswTranslate}}</label>\r\n <input [placeholder]=\"control.label | aswTranslate\"\r\n [id]=\"control.id\"\r\n [matAutocomplete]=\"auto\"\r\n matInput\r\n [(ngModel)]=\"control.value\"\r\n #input=\"ngModel\"\r\n [matTooltip]=\"control.tooltip | aswTranslate\"\r\n (ngModelChange)=\"filteredOptions = filter(control)\"\r\n class=\"asw-input-control {{control.customClass}}\"\r\n [class.asw-is-invalid]=\"input.invalid && (input.dirty || input.touched)\"\r\n [required]=\"control.isRequired\"\r\n [disabled]=\"control.isDisabled ? true : false\">\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option.key\">\r\n {{option.value}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <div *ngIf=\"input.invalid && (input.dirty || input.touched)\" class=\"invalid-feedback\">\r\n <ng-container *ngIf=\"input?.errors?.required\">\r\n {{control.label | aswTranslate}} {{'FormControl.IsRequired' | aswTranslate}}\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <div class=\"asw-row\" *ngIf=\"isPreviewTemplate\">\r\n <div class=\"asw-col-md-12\" align=\"right\">\r\n <button mat-icon-button\r\n type=\"button\" \r\n matTooltip=\"{{'FormControl.Duplicate' | aswTranslate}}\" \r\n [matTooltipPosition]=\"'below'\"\r\n (click)=\"duplicateAutocompleteControl(control)\">\r\n <div [innerHTML]=\"icons.contentCopy | aswSafeHtml\"></div>\r\n </button>\r\n <button mat-icon-button \r\n type=\"button\" \r\n matTooltip=\"{{'FormControl.Edit' | aswTranslate}}\" \r\n [matTooltipPosition]=\"'below'\" \r\n (click)=\"editAutocompleteDialog(control, formControls)\">\r\n <div [innerHTML]=\"icons.edit | aswSafeHtml\"></div>\r\n </button>\r\n <button mat-icon-button \r\n type=\"button\" \r\n matTooltip=\"{{'FormControl.Delete' | aswTranslate}}\" \r\n [matTooltipPosition]=\"'below'\" \r\n (click)=\"deleteAutocompleteDialog(control)\">\r\n <div [innerHTML]=\"icons.delete2 | aswSafeHtml\"></div>\r\n </button>\r\n </div>\r\n </div>\r\n</ng-container>","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AswPipeModule, MaterialModule } from '@asoftwareworld/form-builder-pro/common';\nimport { AswTranslateModule } from '@asoftwareworld/form-builder-pro/core';\nimport { AswConfirmDialogModule } from '@asoftwareworld/form-builder-pro/form-control/confirm-dialog';\nimport { AswSharedDialogModule } from '@asoftwareworld/form-builder-pro/form-control/shared';\nimport { AswAutocomplete } from './autocomplete';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, AswConfirmDialogModule, AswSharedDialogModule, MaterialModule, AswTranslateModule, AswPipeModule],\n declarations: [AswAutocomplete],\n exports: [AswAutocomplete]\n})\nexport class AswAutocompleteModule {}\n","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nexport * from './autocomplete';\nexport * from './autocomplete-control';\nexport * from './autocomplete.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}