UNPKG

@asoftwareworld/form-builder

Version:

ASW Form Builder 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 befor

1 lines 13.3 kB
{"version":3,"file":"asoftwareworld-form-builder-form-control-textfield.mjs","sources":["../../src/components/form-control/textfield/textfield.ts","../../src/components/form-control/textfield/textfield.html","../../src/components/form-control/textfield/textfield.module.ts","../../src/components/form-control/textfield/public_api.ts","../../src/components/form-control/textfield/asoftwareworld-form-builder-form-control-textfield.ts"],"sourcesContent":["/**\r\n * @license\r\n * Copyright ASW (A Software World) All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file\r\n */\r\n\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AswConfirmDialog } from '@asoftwareworld/form-builder/form-control/confirm-dialog';\r\nimport { AswTextDialog, Constants } from '@asoftwareworld/form-builder/form-control/core';\r\nimport { TextFieldControl } from './textfield-control';\r\n\r\n@Component({\r\n selector: 'asw-textfield',\r\n templateUrl: './textfield.html'\r\n})\r\nexport class AswTextField {\r\n\r\n constants: any = Constants;\r\n /**\r\n * TextField control\r\n */\r\n @Input() control: TextFieldControl | null = null;\r\n\r\n /**\r\n * TextField control index to help update or delete button from drop area\r\n */\r\n @Input() controlIndex!: number;\r\n\r\n @Input() isPreviewTemplate = false;\r\n\r\n @Output() textFieldUpdateEvent = new EventEmitter<{control: TextFieldControl, index: number}>();\r\n @Output() textFieldDeleteEvent = new EventEmitter<number>();\r\n @Output() aswModelChange = new EventEmitter<TextFieldControl>();\r\n @Output() duplicateControl = new EventEmitter<TextFieldControl>();\r\n\r\n constructor(public dialog: MatDialog) {\r\n }\r\n\r\n deleteTextFieldDialog(control: TextFieldControl, controlIndex: number): void {\r\n const dialogRef = this.dialog.open(AswConfirmDialog, {\r\n width: '350px',\r\n data: { name: control.controlType, message: this.constants.messages.waringMessage }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result !== undefined) {\r\n this.textFieldDeleteEvent.emit(controlIndex);\r\n }\r\n });\r\n }\r\n\r\n editTextFieldDialog(control: TextFieldControl, controlIndex: number): void {\r\n const dialogRef = this.dialog.open(AswTextDialog, {\r\n disableClose: true,\r\n width: '80%',\r\n minWidth: '70vw',\r\n data: control\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result !== undefined) {\r\n this.textFieldUpdateEvent.emit({control: result, index: controlIndex});\r\n }\r\n });\r\n }\r\n\r\n onChange(control: TextFieldControl): void {\r\n this.aswModelChange.emit(control);\r\n }\r\n\r\n duplicateTextFieldControl(control: TextFieldControl): void {\r\n this.duplicateControl.emit(control);\r\n }\r\n}\r\n","<ng-container *ngIf=\"control as control\">\r\n <mat-form-field [appearance]=\"control.style\" class=\"asw-mat-form-field {{control.customClass}}\">\r\n <mat-label>{{control.label}}</mat-label>\r\n <input matInput type=\"text\"\r\n [id]=\"control.id\"\r\n pattern=\"{{control.pattern}}\"\r\n [placeholder]=\"control.label\"\r\n [(ngModel)]=\"control.value\" \r\n #input=\"ngModel\"\r\n (change)=\"onChange(control)\"\r\n [matTooltip]=\"control.tooltip\"\r\n [maxlength]=\"control.maxlength\"\r\n [minlength]=\"control.minlength\"\r\n [required]=\"control.isRequired\"\r\n [disabled]=\"control.isDisabled ? true : false\">\r\n <mat-error class=\"asw-mat-error\" *ngIf=\"input.invalid && (input.dirty || input.touched)\">\r\n <ng-container class=\"asw-mat-error\" *ngIf=\"input?.errors?.required\">\r\n {{control.label}} is required\r\n </ng-container>\r\n <ng-container class=\"asw-mat-error\" *ngIf=\"input?.errors?.minlength\">\r\n Sorry, {{control.label}} must be at least {{control.minlength}} characters long.\r\n </ng-container>\r\n <ng-container class=\"asw-mat-error\" *ngIf=\"input?.errors?.pattern\">\r\n {{control.customErrorMsg}}\r\n </ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n <ng-template [ngIf]=\"isPreviewTemplate\">\r\n <div class=\"row mb-2\">\r\n <div class=\"col-md-12\">\r\n <button mat-icon-button \r\n type=\"button\" \r\n matTooltip=\"Duplicate\" \r\n [matTooltipPosition]=\"'below'\" \r\n (click)=\"duplicateTextFieldControl(control)\">\r\n <mat-icon>content_copy</mat-icon>\r\n </button>\r\n <button mat-icon-button \r\n type=\"button\" \r\n matTooltip=\"Edit\" \r\n [matTooltipPosition]=\"'below'\" \r\n (click)=\"editTextFieldDialog(control, controlIndex)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button mat-icon-button \r\n type=\"button\" \r\n matTooltip=\"Delete\" \r\n [matTooltipPosition]=\"'below'\" \r\n (click)=\"deleteTextFieldDialog(control, controlIndex)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div> \r\n </div>\r\n </ng-template>\r\n</ng-container>","/**\r\n * @license\r\n * Copyright ASW (A Software World) All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file\r\n */\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { AswConfirmDialogModule } from '@asoftwareworld/form-builder/form-control/confirm-dialog';\r\nimport { AswSharedDialogModule } from '@asoftwareworld/form-builder/form-control/core';\r\n\r\nimport { AswTextField } from './textfield';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatDialogModule,\r\n MatSlideToggleModule,\r\n MatTooltipModule,\r\n MatDividerModule,\r\n MatIconModule,\r\n AswConfirmDialogModule,\r\n MatButtonModule,\r\n AswSharedDialogModule\r\n ],\r\n declarations: [\r\n AswTextField\r\n ],\r\n exports: [\r\n AswTextField\r\n ]\r\n})\r\nexport class AswTextFieldModule { }\r\n","/**\r\n * @license\r\n * Copyright ASW (A Software World) All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file\r\n */\r\n\r\nexport * from './textfield';\r\nexport * from './textfield-control';\r\nexport * from './textfield.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAMG;MAYU,YAAY,CAAA;AAoBF,IAAA,MAAA;IAlBnB,SAAS,GAAQ,SAAS;AAC1B;;AAEG;IACM,OAAO,GAA4B,IAAI;AAEhD;;AAEG;AACM,IAAA,YAAY;IAEZ,iBAAiB,GAAG,KAAK;AAExB,IAAA,oBAAoB,GAAG,IAAI,YAAY,EAA8C;AACrF,IAAA,oBAAoB,GAAG,IAAI,YAAY,EAAU;AACjD,IAAA,cAAc,GAAG,IAAI,YAAY,EAAoB;AACrD,IAAA,gBAAgB,GAAG,IAAI,YAAY,EAAoB;AAEjE,IAAA,WAAA,CAAmB,MAAiB,EAAA;QAAjB,IAAM,CAAA,MAAA,GAAN,MAAM;;IAGzB,qBAAqB,CAAC,OAAyB,EAAE,YAAoB,EAAA;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACjD,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa;AACpF,SAAA,CAAC;QACF,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,IAAG;AACvC,YAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACtB,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC;;AAEpD,SAAC,CAAC;;IAGN,mBAAmB,CAAC,OAAyB,EAAE,YAAoB,EAAA;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;AAC9C,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,IAAI,EAAE;AACT,SAAA,CAAC;QACF,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,IAAG;AACvC,YAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACtB,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAC,CAAC;;AAE9E,SAAC,CAAC;;AAGN,IAAA,QAAQ,CAAC,OAAyB,EAAA;AAC9B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;;AAGrC,IAAA,yBAAyB,CAAC,OAAyB,EAAA;AAC/C,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;;wGAtD9B,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,4UClBzB,24FAsDe,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,4EAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,4EAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDpCF,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,SAAS;+BACI,eAAe,EAAA,QAAA,EAAA,24FAAA,EAAA;8EAShB,OAAO,EAAA,CAAA;sBAAf;gBAKQ,YAAY,EAAA,CAAA;sBAApB;gBAEQ,iBAAiB,EAAA,CAAA;sBAAzB;gBAES,oBAAoB,EAAA,CAAA;sBAA7B;gBACS,oBAAoB,EAAA,CAAA;sBAA7B;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,gBAAgB,EAAA,CAAA;sBAAzB;;;AEpCL;;;;;;AAMG;MAyCU,kBAAkB,CAAA;wGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAlB,kBAAkB,EAAA,YAAA,EAAA,CANvB,YAAY,CAAA,EAAA,OAAA,EAAA,CAfZ,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,cAAc;YACd,eAAe;YACf,eAAe;YACf,oBAAoB;YACpB,gBAAgB;YAChB,gBAAgB;YAChB,aAAa;YACb,sBAAsB;YACtB,eAAe;AACf,YAAA,qBAAqB,aAMrB,YAAY,CAAA,EAAA,CAAA;AAGP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YArBvB,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,cAAc;YACd,eAAe;YACf,eAAe;YACf,oBAAoB;YACpB,gBAAgB;YAChB,gBAAgB;YAChB,aAAa;YACb,sBAAsB;YACtB,eAAe;YACf,qBAAqB,CAAA,EAAA,CAAA;;4FAShB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAvB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,cAAc;wBACd,eAAe;wBACf,eAAe;wBACf,oBAAoB;wBACpB,gBAAgB;wBAChB,gBAAgB;wBAChB,aAAa;wBACb,sBAAsB;wBACtB,eAAe;wBACf;AACH,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL;AACH;AACJ,iBAAA;;;AC9CD;;;;;;AAMG;;ACNH;;AAEG;;;;"}