@pepperi-addons/ngx-lib 0.2.41 → 0.2.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/address/address.component.d.ts +3 -0
  2. package/address/pepperi-addons-ngx-lib-address.metadata.json +1 -1
  3. package/attachment/attachment.component.d.ts +3 -0
  4. package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
  5. package/bundles/pepperi-addons-ngx-lib-address.umd.js +18 -0
  6. package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +1 -1
  7. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +18 -0
  8. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
  9. package/bundles/pepperi-addons-ngx-lib-form.umd.js +1 -1
  10. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  11. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +19 -1
  12. package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
  13. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +18 -0
  14. package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
  15. package/esm2015/address/address.component.js +15 -1
  16. package/esm2015/attachment/attachment.component.js +15 -1
  17. package/esm2015/form/field-generator.component.js +2 -2
  18. package/esm2015/separator/separator.component.js +16 -2
  19. package/esm2015/signature/signature.component.js +15 -1
  20. package/fesm2015/pepperi-addons-ngx-lib-address.js +14 -0
  21. package/fesm2015/pepperi-addons-ngx-lib-address.js.map +1 -1
  22. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +14 -0
  23. package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
  24. package/fesm2015/pepperi-addons-ngx-lib-form.js +1 -1
  25. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  26. package/fesm2015/pepperi-addons-ngx-lib-separator.js +15 -1
  27. package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
  28. package/fesm2015/pepperi-addons-ngx-lib-signature.js +14 -0
  29. package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
  30. package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
  31. package/package.json +1 -1
  32. package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
  33. package/separator/separator.component.d.ts +3 -0
  34. package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
  35. package/signature/signature.component.d.ts +3 -0
@@ -12,8 +12,21 @@ class PepSeparatorComponent {
12
12
  this.controlType = 'separator';
13
13
  this.form = null;
14
14
  this.layoutType = 'form';
15
+ this._visible = true;
15
16
  this.standAlone = false;
16
17
  }
18
+ set visible(visible) {
19
+ this._visible = visible;
20
+ if (visible) {
21
+ this.renderer.removeClass(this.element.nativeElement, 'hidden-element');
22
+ }
23
+ else {
24
+ this.renderer.addClass(this.element.nativeElement, 'hidden-element');
25
+ }
26
+ }
27
+ get visible() {
28
+ return this._visible;
29
+ }
17
30
  ngOnInit() {
18
31
  if (this.form === null) {
19
32
  this.standAlone = true;
@@ -38,7 +51,8 @@ PepSeparatorComponent.propDecorators = {
38
51
  label: [{ type: Input }],
39
52
  xAlignment: [{ type: Input }],
40
53
  form: [{ type: Input }],
41
- layoutType: [{ type: Input }]
54
+ layoutType: [{ type: Input }],
55
+ visible: [{ type: Input }]
42
56
  };
43
57
 
44
58
  class PepSeparatorModule {
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-separator.js","sources":["../../../projects/ngx-lib/separator/separator.component.ts","../../../projects/ngx-lib/separator/separator.module.ts","../../../projects/ngx-lib/separator/public-api.ts","../../../projects/ngx-lib/separator/pepperi-addons-ngx-lib-separator.ts"],"sourcesContent":["import {\n Component,\n Input,\n OnInit,\n ChangeDetectionStrategy,\n Renderer2,\n ElementRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-separator',\n templateUrl: './separator.component.html',\n styleUrls: ['./separator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSeparatorComponent implements OnInit {\n @Input() key = '';\n @Input() label = '';\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n controlType = 'separator';\n\n @Input() form: FormGroup = null;\n @Input() layoutType: PepLayoutType = 'form';\n\n standAlone = false;\n\n constructor(private renderer: Renderer2, private element: ElementRef) {}\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PepSeparatorComponent } from './separator.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [PepSeparatorComponent],\n declarations: [PepSeparatorComponent],\n})\nexport class PepSeparatorModule {}\n","/*\n * Public API Surface of ngx-lib/separator\n */\nexport * from './separator.module';\nexport * from './separator.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAsBa,qBAAqB;IAY9B,YAAoB,QAAmB,EAAU,OAAmB;QAAhD,aAAQ,GAAR,QAAQ,CAAW;QAAU,YAAO,GAAP,OAAO,CAAY;QAX3D,QAAG,GAAG,EAAE,CAAC;QACT,UAAK,GAAG,EAAE,CAAC;QACX,eAAU,GAA2B,4BAA4B,CAAC;QAE3E,gBAAW,GAAG,WAAW,CAAC;QAEjB,SAAI,GAAc,IAAI,CAAC;QACvB,eAAU,GAAkB,MAAM,CAAC;QAE5C,eAAU,GAAG,KAAK,CAAC;KAEqD;IAExE,QAAQ;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,uBAAuB,CAAC,4BAA4B,CACvD,CAAC;SACL;KACJ;;;YA7BJ,SAAS,SAAC;gBACP,QAAQ,EAAE,eAAe;gBACzB,4uBAAyC;gBAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAClD;;;YAhBG,SAAS;YACT,UAAU;;;kBAiBT,KAAK;oBACL,KAAK;yBACL,KAAK;mBAIL,KAAK;yBACL,KAAK;;;MCpBG,kBAAkB;;;YAL9B,QAAQ,SAAC;gBACN,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,qBAAqB,CAAC;gBAChC,YAAY,EAAE,CAAC,qBAAqB,CAAC;aACxC;;;ACTD;;;;ACAA;;;;;;"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-separator.js","sources":["../../../projects/ngx-lib/separator/separator.component.ts","../../../projects/ngx-lib/separator/separator.module.ts","../../../projects/ngx-lib/separator/public-api.ts","../../../projects/ngx-lib/separator/pepperi-addons-ngx-lib-separator.ts"],"sourcesContent":["import {\n Component,\n Input,\n OnInit,\n ChangeDetectionStrategy,\n Renderer2,\n ElementRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-separator',\n templateUrl: './separator.component.html',\n styleUrls: ['./separator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSeparatorComponent implements OnInit {\n @Input() key = '';\n @Input() label = '';\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n controlType = 'separator';\n\n @Input() form: FormGroup = null;\n @Input() layoutType: PepLayoutType = 'form';\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n standAlone = false;\n\n constructor(private renderer: Renderer2, private element: ElementRef) { }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PepSeparatorComponent } from './separator.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [PepSeparatorComponent],\n declarations: [PepSeparatorComponent],\n})\nexport class PepSeparatorModule {}\n","/*\n * Public API Surface of ngx-lib/separator\n */\nexport * from './separator.module';\nexport * from './separator.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAsBa,qBAAqB;IAgC9B,YAAoB,QAAmB,EAAU,OAAmB;QAAhD,aAAQ,GAAR,QAAQ,CAAW;QAAU,YAAO,GAAP,OAAO,CAAY;QA/B3D,QAAG,GAAG,EAAE,CAAC;QACT,UAAK,GAAG,EAAE,CAAC;QACX,eAAU,GAA2B,4BAA4B,CAAC;QAE3E,gBAAW,GAAG,WAAW,CAAC;QAEjB,SAAI,GAAc,IAAI,CAAC;QACvB,eAAU,GAAkB,MAAM,CAAC;QAEpC,aAAQ,GAAG,IAAI,CAAC;QAoBxB,eAAU,GAAG,KAAK,CAAC;KAEsD;IArBzE,IACI,OAAO,CAAC,OAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,WAAW,CACrB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,gBAAgB,CACnB,CAAC;SACL;aAAM;YACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,gBAAgB,CACnB,CAAC;SACL;KACJ;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAMD,QAAQ;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,uBAAuB,CAAC,4BAA4B,CACvD,CAAC;SACL;KACJ;;;YAjDJ,SAAS,SAAC;gBACP,QAAQ,EAAE,eAAe;gBACzB,4uBAAyC;gBAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAClD;;;YAhBG,SAAS;YACT,UAAU;;;kBAiBT,KAAK;oBACL,KAAK;yBACL,KAAK;mBAIL,KAAK;yBACL,KAAK;sBAGL,KAAK;;;MCvBG,kBAAkB;;;YAL9B,QAAQ,SAAC;gBACN,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,qBAAqB,CAAC;gBAChC,YAAY,EAAE,CAAC,qBAAqB,CAAC;aACxC;;;ACTD;;;;ACAA;;;;;;"}
@@ -32,6 +32,7 @@ class PepSignatureComponent {
32
32
  this._rowSpan = 1;
33
33
  this.signatureURL = '';
34
34
  // @Input() inDialog = false;
35
+ this._visible = true;
35
36
  this.controlType = 'signature';
36
37
  this.form = null;
37
38
  this.showTitle = true;
@@ -59,6 +60,18 @@ class PepSignatureComponent {
59
60
  get rowSpan() {
60
61
  return this._rowSpan;
61
62
  }
63
+ set visible(visible) {
64
+ this._visible = visible;
65
+ if (visible) {
66
+ this.renderer.removeClass(this.element.nativeElement, 'hidden-element');
67
+ }
68
+ else {
69
+ this.renderer.addClass(this.element.nativeElement, 'hidden-element');
70
+ }
71
+ }
72
+ get visible() {
73
+ return this._visible;
74
+ }
62
75
  set layoutType(value) {
63
76
  this._layoutType = value;
64
77
  this.setFieldHeight();
@@ -214,6 +227,7 @@ PepSignatureComponent.propDecorators = {
214
227
  xAlignment: [{ type: Input }],
215
228
  rowSpan: [{ type: Input }],
216
229
  signatureURL: [{ type: Input }],
230
+ visible: [{ type: Input }],
217
231
  form: [{ type: Input }],
218
232
  showTitle: [{ type: Input }],
219
233
  layoutType: [{ type: Input }],
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-signature.js","sources":["../../../projects/ngx-lib/signature/signature.component.ts","../../../projects/ngx-lib/signature/signature.module.ts","../../../projects/ngx-lib/signature/public-api.ts","../../../projects/ngx-lib/signature/pepperi-addons-ngx-lib-signature.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnDestroy,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n OnChanges,\n ElementRef,\n Renderer2,\n TemplateRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { SignaturePad } from 'ngx-signaturepad/signature-pad';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSignatureField,\n} from '@pepperi-addons/ngx-lib';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'pep-signature',\n styleUrls: ['./signature.component.scss'],\n templateUrl: './signature.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSignatureComponent implements OnInit, OnChanges, OnDestroy {\n @Input() key = '';\n @Input() src = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() signatureURL = '';\n // @Input() inDialog = false;\n\n controlType = 'signature';\n\n @Input() form: FormGroup = null;\n @Input() showTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() isActive = false;\n\n @Output()\n fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('signaturePad') signaturePad: SignaturePad;\n @ViewChild('signaturePopupPad', { read: TemplateRef })\n signaturePopupPad: TemplateRef<any>;\n dialogRef: MatDialogRef<any>;\n\n fieldHeight = '';\n standAlone = false;\n dataURI = null;\n showActionBtn = true;\n\n public isVisibleModal = false;\n acceptSignatureType = 'png';\n\n public signaturePadOptions: any = {\n // passed through to szimek/signature_pad constructor\n minWidth: 2,\n canvasWidth: 500,\n canvasHeight: 300,\n penColor: 'rgb(151, 151, 151)',\n };\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private cd: ChangeDetectorRef,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSignatureField({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n if (changes.src && changes.src.currentValue.length > 0) {\n // Empty dataURI if there is change in the src.\n this.dataURI = null;\n\n // For clean the cache.\n // this.src = this.src ? this.src + '?t=' + new Date().toTimeString() : '';\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n drawComplete(): void {\n // will be notified of szimek/signature_pad's onEnd event\n }\n\n drawStart(): void {\n // will be notified of szimek/signature_pad's onBegin event\n }\n\n openSignModal(): void {\n // If the signature is not empty open it in image viewer.\n if (this.standAlone && this.dataURI) {\n const fileStrArr = this.dataURI.fileStr.split(';');\n\n if (fileStrArr.length === 2) {\n const win = window.open('', '_blank');\n const contentType = fileStrArr[0].split(':')[1];\n const base64 = fileStrArr[1].split(',')[1];\n const blob = this.fileService.convertFromb64toBlob(\n base64,\n contentType\n );\n const url = URL.createObjectURL(blob);\n win.location.href = url;\n }\n // signature allready exits\n } else {\n this.signatureURL = this.src;\n this.openSignatoreDlg(this.signatureURL);\n }\n }\n\n openSignatoreDlg(src = ''): void {\n this.showActionBtn =\n this.signatureURL && this.signatureURL !== '' ? false : true;\n\n this.dialogRef = this.dialogService.openDialog(this.signaturePopupPad);\n this.dialogRef.afterOpened().subscribe(() => {\n this.afterDialogOpened();\n });\n }\n\n afterDialogOpened(): void {\n if (this.signatureURL && this.signatureURL !== '') {\n this.signaturePad.fromDataURL(this.signatureURL);\n this.signaturePad.off();\n }\n }\n\n clearSignModal(): void {\n this.signatureURL = '';\n this.signaturePad.clear();\n this.signaturePad.on();\n }\n\n deleteSignature(event: any): void {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n this.cd.detectChanges();\n }\n\n saveSignModal(event: any): void {\n if (!this.signaturePad.isEmpty()) {\n this.signatureURL = this.signaturePad.toDataURL('image/png');\n const fileValue = {\n acceptedExtensions: this.acceptSignatureType,\n fileStr: this.signatureURL,\n fileExt: this.acceptSignatureType,\n };\n this.changeValue(fileValue);\n } else {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n }\n\n this.dialogRef.close(this.signatureURL);\n }\n\n errorHandler(event: any): void {\n this.signatureURL = this.src = ''; // this.blankImage;\n }\n\n changeValue(fileData: any): void {\n this.dataURI = fileData;\n this.src = this.standAlone && this.dataURI ? this.dataURI.fileStr : '';\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.dataURI ? this.dataURI.fileExt : ''\n );\n // this.valueChange.emit({\n // key: this.key,\n // value,\n // });\n\n this.fileChange.emit(fileData);\n // this.fileChange.emit(value.length > 0 ? JSON.parse(value) : value);\n }\n\n onKeyPress_OpenSignModal(event: any): void {\n const e = event as KeyboardEvent;\n\n if ([13, 32].indexOf(e.which) !== -1) {\n this.openSignModal();\n }\n e.preventDefault();\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { SignaturePadModule } from 'ngx-signaturepad';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepSignatureComponent } from './signature.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n MatDialogModule,\n // External modules\n SignaturePadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepFilesUploaderModule,\n PepDialogModule,\n ],\n exports: [PepSignatureComponent],\n declarations: [PepSignatureComponent],\n})\nexport class PepSignatureModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/signature\n */\nexport * from './signature.module';\nexport * from './signature.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-signature.js","sources":["../../../projects/ngx-lib/signature/signature.component.ts","../../../projects/ngx-lib/signature/signature.module.ts","../../../projects/ngx-lib/signature/public-api.ts","../../../projects/ngx-lib/signature/pepperi-addons-ngx-lib-signature.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnDestroy,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n OnChanges,\n ElementRef,\n Renderer2,\n TemplateRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { SignaturePad } from 'ngx-signaturepad/signature-pad';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSignatureField,\n} from '@pepperi-addons/ngx-lib';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'pep-signature',\n styleUrls: ['./signature.component.scss'],\n templateUrl: './signature.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSignatureComponent implements OnInit, OnChanges, OnDestroy {\n @Input() key = '';\n @Input() src = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() signatureURL = '';\n // @Input() inDialog = false;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'signature';\n\n @Input() form: FormGroup = null;\n @Input() showTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() isActive = false;\n\n @Output()\n fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('signaturePad') signaturePad: SignaturePad;\n @ViewChild('signaturePopupPad', { read: TemplateRef })\n signaturePopupPad: TemplateRef<any>;\n dialogRef: MatDialogRef<any>;\n\n fieldHeight = '';\n standAlone = false;\n dataURI = null;\n showActionBtn = true;\n\n public isVisibleModal = false;\n acceptSignatureType = 'png';\n\n public signaturePadOptions: any = {\n // passed through to szimek/signature_pad constructor\n minWidth: 2,\n canvasWidth: 500,\n canvasHeight: 300,\n penColor: 'rgb(151, 151, 151)',\n };\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private cd: ChangeDetectorRef,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSignatureField({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n if (changes.src && changes.src.currentValue.length > 0) {\n // Empty dataURI if there is change in the src.\n this.dataURI = null;\n\n // For clean the cache.\n // this.src = this.src ? this.src + '?t=' + new Date().toTimeString() : '';\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n drawComplete(): void {\n // will be notified of szimek/signature_pad's onEnd event\n }\n\n drawStart(): void {\n // will be notified of szimek/signature_pad's onBegin event\n }\n\n openSignModal(): void {\n // If the signature is not empty open it in image viewer.\n if (this.standAlone && this.dataURI) {\n const fileStrArr = this.dataURI.fileStr.split(';');\n\n if (fileStrArr.length === 2) {\n const win = window.open('', '_blank');\n const contentType = fileStrArr[0].split(':')[1];\n const base64 = fileStrArr[1].split(',')[1];\n const blob = this.fileService.convertFromb64toBlob(\n base64,\n contentType\n );\n const url = URL.createObjectURL(blob);\n win.location.href = url;\n }\n // signature allready exits\n } else {\n this.signatureURL = this.src;\n this.openSignatoreDlg(this.signatureURL);\n }\n }\n\n openSignatoreDlg(src = ''): void {\n this.showActionBtn =\n this.signatureURL && this.signatureURL !== '' ? false : true;\n\n this.dialogRef = this.dialogService.openDialog(this.signaturePopupPad);\n this.dialogRef.afterOpened().subscribe(() => {\n this.afterDialogOpened();\n });\n }\n\n afterDialogOpened(): void {\n if (this.signatureURL && this.signatureURL !== '') {\n this.signaturePad.fromDataURL(this.signatureURL);\n this.signaturePad.off();\n }\n }\n\n clearSignModal(): void {\n this.signatureURL = '';\n this.signaturePad.clear();\n this.signaturePad.on();\n }\n\n deleteSignature(event: any): void {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n this.cd.detectChanges();\n }\n\n saveSignModal(event: any): void {\n if (!this.signaturePad.isEmpty()) {\n this.signatureURL = this.signaturePad.toDataURL('image/png');\n const fileValue = {\n acceptedExtensions: this.acceptSignatureType,\n fileStr: this.signatureURL,\n fileExt: this.acceptSignatureType,\n };\n this.changeValue(fileValue);\n } else {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n }\n\n this.dialogRef.close(this.signatureURL);\n }\n\n errorHandler(event: any): void {\n this.signatureURL = this.src = ''; // this.blankImage;\n }\n\n changeValue(fileData: any): void {\n this.dataURI = fileData;\n this.src = this.standAlone && this.dataURI ? this.dataURI.fileStr : '';\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.dataURI ? this.dataURI.fileExt : ''\n );\n // this.valueChange.emit({\n // key: this.key,\n // value,\n // });\n\n this.fileChange.emit(fileData);\n // this.fileChange.emit(value.length > 0 ? JSON.parse(value) : value);\n }\n\n onKeyPress_OpenSignModal(event: any): void {\n const e = event as KeyboardEvent;\n\n if ([13, 32].indexOf(e.which) !== -1) {\n this.openSignModal();\n }\n e.preventDefault();\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { SignaturePadModule } from 'ngx-signaturepad';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepSignatureComponent } from './signature.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n MatDialogModule,\n // External modules\n SignaturePadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepFilesUploaderModule,\n PepDialogModule,\n ],\n exports: [PepSignatureComponent],\n declarations: [PepSignatureComponent],\n})\nexport class PepSignatureModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/signature\n */\nexport * from './signature.module';\nexport * from './signature.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}