libey-ng-component-library 0.0.32 → 0.0.34

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 (69) hide show
  1. package/karma.conf.js +44 -0
  2. package/ng-package.json +13 -0
  3. package/package.json +17 -24
  4. package/src/lib/cpm-indicator/libey-ng-cpm-indicator.component.css +216 -0
  5. package/src/lib/cpm-indicator/libey-ng-cpm-indicator.component.html +201 -0
  6. package/src/lib/cpm-indicator/libey-ng-cpm-indicator.component.spec.ts +25 -0
  7. package/src/lib/cpm-indicator/libey-ng-cpm-indicator.component.ts +203 -0
  8. package/src/lib/cpm-indicator/libey-ng-cpm-indicator.module.ts +19 -0
  9. package/src/lib/icons/icons.component.css +9 -0
  10. package/src/lib/icons/icons.module.ts +16 -0
  11. package/src/lib/icons/libey-ng-icons/libey-ng-icons.component.html +1831 -0
  12. package/src/lib/icons/libey-ng-icons/libey-ng-icons.component.ts +36 -0
  13. package/src/lib/libey-ng-component-library.component.spec.ts +25 -0
  14. package/src/lib/libey-ng-component-library.component.ts +20 -0
  15. package/src/lib/libey-ng-component-library.module.ts +32 -0
  16. package/src/lib/libey-ng-component-library.service.spec.ts +16 -0
  17. package/src/lib/libey-ng-component-library.service.ts +9 -0
  18. package/src/lib/signature/libey-ng-signature/libey-ng-signature.component.css +7 -0
  19. package/src/lib/signature/libey-ng-signature/libey-ng-signature.component.html +41 -0
  20. package/src/lib/signature/libey-ng-signature/libey-ng-signature.component.spec.ts +25 -0
  21. package/src/lib/signature/libey-ng-signature/libey-ng-signature.component.ts +214 -0
  22. package/src/lib/signature/libey-ng-signature.module.ts +30 -0
  23. package/src/lib/table/directives/libey-column.directive.ts +29 -0
  24. package/src/lib/table/libey-ng-table.component.css +249 -0
  25. package/src/lib/table/libey-ng-table.component.html +122 -0
  26. package/src/lib/table/libey-ng-table.component.ts +234 -0
  27. package/src/lib/table/libey-ng-table.module.ts +13 -0
  28. package/{public-api.d.ts → src/public-api.ts} +4 -0
  29. package/src/test.ts +28 -0
  30. package/src/utils/CpmIndicator/cpm-indicator-types.ts +63 -0
  31. package/src/utils/SigWeb/SigWeb.ts +1906 -0
  32. package/tsconfig.lib.json +20 -0
  33. package/tsconfig.lib.prod.json +10 -0
  34. package/tsconfig.spec.json +17 -0
  35. package/bundles/libey-ng-component-library.umd.js +0 -2497
  36. package/bundles/libey-ng-component-library.umd.js.map +0 -1
  37. package/esm2015/lib/cpm-indicator/libey-ng-cpm-indicator.component.js +0 -193
  38. package/esm2015/lib/cpm-indicator/libey-ng-cpm-indicator.module.js +0 -26
  39. package/esm2015/lib/icons/icons.module.js +0 -26
  40. package/esm2015/lib/icons/libey-ng-icons/libey-ng-icons.component.js +0 -52
  41. package/esm2015/lib/libey-ng-component-library.component.js +0 -26
  42. package/esm2015/lib/libey-ng-component-library.module.js +0 -60
  43. package/esm2015/lib/libey-ng-component-library.service.js +0 -14
  44. package/esm2015/lib/signature/libey-ng-signature/libey-ng-signature.component.js +0 -197
  45. package/esm2015/lib/signature/libey-ng-signature.module.js +0 -57
  46. package/esm2015/lib/table/directives/libey-column.directive.js +0 -56
  47. package/esm2015/lib/table/libey-ng-table.component.js +0 -229
  48. package/esm2015/lib/table/libey-ng-table.module.js +0 -21
  49. package/esm2015/libey-ng-component-library.js +0 -5
  50. package/esm2015/public-api.js +0 -23
  51. package/esm2015/utils/CpmIndicator/cpm-indicator-types.js +0 -25
  52. package/esm2015/utils/SigWeb/SigWeb.js +0 -1442
  53. package/fesm2015/libey-ng-component-library.js +0 -2393
  54. package/fesm2015/libey-ng-component-library.js.map +0 -1
  55. package/lib/cpm-indicator/libey-ng-cpm-indicator.component.d.ts +0 -66
  56. package/lib/cpm-indicator/libey-ng-cpm-indicator.module.d.ts +0 -8
  57. package/lib/icons/icons.module.d.ts +0 -8
  58. package/lib/icons/libey-ng-icons/libey-ng-icons.component.d.ts +0 -19
  59. package/lib/libey-ng-component-library.component.d.ts +0 -8
  60. package/lib/libey-ng-component-library.module.d.ts +0 -13
  61. package/lib/libey-ng-component-library.service.d.ts +0 -6
  62. package/lib/signature/libey-ng-signature/libey-ng-signature.component.d.ts +0 -40
  63. package/lib/signature/libey-ng-signature.module.d.ts +0 -13
  64. package/lib/table/directives/libey-column.directive.d.ts +0 -23
  65. package/lib/table/libey-ng-table.component.d.ts +0 -63
  66. package/lib/table/libey-ng-table.module.d.ts +0 -10
  67. package/libey-ng-component-library.d.ts +0 -5
  68. package/utils/CpmIndicator/cpm-indicator-types.d.ts +0 -40
  69. package/utils/SigWeb/SigWeb.d.ts +0 -219
@@ -1,26 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LibeyNgComponentLibraryComponent {
4
- constructor() { }
5
- ngOnInit() {
6
- }
7
- }
8
- LibeyNgComponentLibraryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- LibeyNgComponentLibraryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LibeyNgComponentLibraryComponent, selector: "lib-libey-ngComponent-library", ngImport: i0, template: `
10
- <p>
11
- libey-ng-component-library works!
12
- </p>
13
- `, isInline: true });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryComponent, decorators: [{
15
- type: Component,
16
- args: [{
17
- selector: 'lib-libey-ngComponent-library',
18
- template: `
19
- <p>
20
- libey-ng-component-library works!
21
- </p>
22
- `,
23
- styles: []
24
- }]
25
- }], ctorParameters: function () { return []; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctY29tcG9uZW50LWxpYnJhcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLGdDQUFnQztJQUUzQyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7OEhBTFUsZ0NBQWdDO2tIQUFoQyxnQ0FBZ0MscUVBUmpDOzs7O0dBSVQ7NEZBSVUsZ0NBQWdDO2tCQVY1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELE1BQU0sRUFBRSxFQUNQO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxpYmV5LW5nQ29tcG9uZW50LWxpYnJhcnknLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8cD5cclxuICAgICAgbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkgd29ya3MhXHJcbiAgICA8L3A+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJleU5nQ29tcG9uZW50TGlicmFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,60 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule, DatePipe } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import { LibeyNgTableModule } from './table/libey-ng-table.module';
5
- import { LibeyNgSignatureModule } from './signature/libey-ng-signature.module';
6
- import { SignaturePadModule } from 'angular2-signaturepad';
7
- import { IconsModule } from './icons/icons.module';
8
- import { LibeyNgCpmIndicatorModule } from './cpm-indicator/libey-ng-cpm-indicator.module';
9
- import * as i0 from "@angular/core";
10
- export class LibeyNgComponentLibraryModule {
11
- }
12
- LibeyNgComponentLibraryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- LibeyNgComponentLibraryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, imports: [CommonModule,
14
- FormsModule,
15
- LibeyNgTableModule,
16
- LibeyNgSignatureModule,
17
- SignaturePadModule,
18
- IconsModule,
19
- LibeyNgCpmIndicatorModule], exports: [LibeyNgTableModule,
20
- LibeyNgSignatureModule,
21
- SignaturePadModule,
22
- IconsModule,
23
- LibeyNgCpmIndicatorModule] });
24
- LibeyNgComponentLibraryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, providers: [DatePipe], imports: [[
25
- CommonModule,
26
- FormsModule,
27
- LibeyNgTableModule,
28
- LibeyNgSignatureModule,
29
- SignaturePadModule,
30
- IconsModule,
31
- LibeyNgCpmIndicatorModule,
32
- ], LibeyNgTableModule,
33
- LibeyNgSignatureModule,
34
- SignaturePadModule,
35
- IconsModule,
36
- LibeyNgCpmIndicatorModule] });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, decorators: [{
38
- type: NgModule,
39
- args: [{
40
- declarations: [],
41
- imports: [
42
- CommonModule,
43
- FormsModule,
44
- LibeyNgTableModule,
45
- LibeyNgSignatureModule,
46
- SignaturePadModule,
47
- IconsModule,
48
- LibeyNgCpmIndicatorModule,
49
- ],
50
- exports: [
51
- LibeyNgTableModule,
52
- LibeyNgSignatureModule,
53
- SignaturePadModule,
54
- IconsModule,
55
- LibeyNgCpmIndicatorModule
56
- ],
57
- providers: [DatePipe]
58
- }]
59
- }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctY29tcG9uZW50LWxpYnJhcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBd0IxRixNQUFNLE9BQU8sNkJBQTZCOzsySEFBN0IsNkJBQTZCOzRIQUE3Qiw2QkFBNkIsWUFqQnRDLFlBQVk7UUFDWixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixrQkFBa0I7UUFDbEIsV0FBVztRQUNYLHlCQUF5QixhQUd6QixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLGtCQUFrQjtRQUNsQixXQUFXO1FBQ1gseUJBQXlCOzRIQUloQiw2QkFBNkIsYUFGN0IsQ0FBQyxRQUFRLENBQUMsWUFoQlo7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsa0JBQWtCO1lBQ2xCLFdBQVc7WUFDWCx5QkFBeUI7U0FDMUIsRUFFQyxrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLGtCQUFrQjtRQUNsQixXQUFXO1FBQ1gseUJBQXlCOzRGQUloQiw2QkFBNkI7a0JBckJ6QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIsV0FBVzt3QkFDWCx5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLHlCQUF5QjtxQkFDMUI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTGliZXlOZ1RhYmxlTW9kdWxlIH0gZnJvbSAnLi90YWJsZS9saWJleS1uZy10YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMaWJleU5nU2lnbmF0dXJlTW9kdWxlIH0gZnJvbSAnLi9zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNpZ25hdHVyZVBhZE1vZHVsZSB9IGZyb20gJ2FuZ3VsYXIyLXNpZ25hdHVyZXBhZCc7XHJcbmltcG9ydCB7IEljb25zTW9kdWxlIH0gZnJvbSAnLi9pY29ucy9pY29ucy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMaWJleU5nQ3BtSW5kaWNhdG9yTW9kdWxlIH0gZnJvbSAnLi9jcG0taW5kaWNhdG9yL2xpYmV5LW5nLWNwbS1pbmRpY2F0b3IubW9kdWxlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBMaWJleU5nVGFibGVNb2R1bGUsXHJcbiAgICBMaWJleU5nU2lnbmF0dXJlTW9kdWxlLFxyXG4gICAgU2lnbmF0dXJlUGFkTW9kdWxlLFxyXG4gICAgSWNvbnNNb2R1bGUsXHJcbiAgICBMaWJleU5nQ3BtSW5kaWNhdG9yTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTGliZXlOZ1RhYmxlTW9kdWxlLFxyXG4gICAgTGliZXlOZ1NpZ25hdHVyZU1vZHVsZSxcclxuICAgIFNpZ25hdHVyZVBhZE1vZHVsZSxcclxuICAgIEljb25zTW9kdWxlLFxyXG4gICAgTGliZXlOZ0NwbUluZGljYXRvck1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbRGF0ZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJleU5nQ29tcG9uZW50TGlicmFyeU1vZHVsZSB7IH1cclxuIl19
@@ -1,14 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LibeyNgComponentLibraryService {
4
- constructor() { }
5
- }
6
- LibeyNgComponentLibraryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7
- LibeyNgComponentLibraryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryService, providedIn: 'root' });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryService, decorators: [{
9
- type: Injectable,
10
- args: [{
11
- providedIn: 'root'
12
- }]
13
- }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctY29tcG9uZW50LWxpYnJhcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sOEJBQThCO0lBRXpDLGdCQUFnQixDQUFDOzs0SEFGTiw4QkFBOEI7Z0lBQTlCLDhCQUE4QixjQUY3QixNQUFNOzRGQUVQLDhCQUE4QjtrQkFIMUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJleU5nQ29tcG9uZW50TGlicmFyeVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG59XHJcbiJdfQ==
@@ -1,197 +0,0 @@
1
- import { Component, ViewChild, Output, EventEmitter, Input, } from '@angular/core';
2
- import { SigWebTablet } from '../../../utils/SigWeb/SigWeb';
3
- import { Subject } from 'rxjs';
4
- import { SignaturePad } from 'angular2-signaturepad';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ng-select/ng-select";
7
- import * as i2 from "angular2-signaturepad";
8
- import * as i3 from "@angular/forms";
9
- import * as i4 from "@angular/common";
10
- class OutputMessage {
11
- }
12
- export class LibeyNgSignatureComponent {
13
- constructor() {
14
- this.OutputSignature = new EventEmitter();
15
- this.DeviceType = 'mousepad';
16
- this._destroy$ = new Subject();
17
- this.widthView = 440;
18
- this.heightView = 250;
19
- this.widthRender = 440;
20
- this.heightRender = 250;
21
- this.signaturePadOptions = {
22
- minWidth: 5,
23
- canvasWidth: this.widthView,
24
- canvasHeight: this.heightView,
25
- };
26
- this.FileValidated = false;
27
- this.NotDriver = false;
28
- this.UploadFile = null;
29
- }
30
- ngAfterViewInit() {
31
- this.InitDevice();
32
- }
33
- ngOnDestroy() {
34
- this.closingSigWeb();
35
- this._destroy$.next(true);
36
- }
37
- ChangeDevice() {
38
- this.NotDriver = false;
39
- this.UploadFile = null;
40
- this.File = null;
41
- setTimeout(() => {
42
- this.InitDevice();
43
- }, 200);
44
- }
45
- InitDevice() {
46
- if (this.DeviceType == 'pinpad') {
47
- this.cnvContext = (this.canvas.nativeElement).getContext('2d');
48
- }
49
- if (this.DeviceType == 'mousepad') {
50
- this.signaturePad.set('minWidth', 5);
51
- this.signaturePad.clear();
52
- }
53
- }
54
- closingSigWeb() {
55
- SigWebTablet.ClearTablet();
56
- SigWebTablet.SetTabletState(0, this.tmr, null);
57
- }
58
- onSign() {
59
- this.NotDriver = false;
60
- this.UploadFile = null;
61
- var driver = SigWebTablet.GetVersionString();
62
- if (driver == null) {
63
- this.NotDriver = true;
64
- }
65
- else {
66
- this.NotDriver = false;
67
- console.log('onSign Clicked!');
68
- SigWebTablet.SetDisplayXSize(this.widthRender);
69
- SigWebTablet.SetDisplayYSize(this.heightRender);
70
- SigWebTablet.SetTabletState(0, this.tmr, null);
71
- SigWebTablet.SetJustifyMode(0);
72
- SigWebTablet.ClearTablet();
73
- if (this.tmr == null) {
74
- this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);
75
- }
76
- else {
77
- SigWebTablet.SetTabletState(0, this.tmr, null);
78
- this.tmr = null;
79
- this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);
80
- }
81
- }
82
- }
83
- onClear() {
84
- if (this.UploadFile == null) {
85
- if (this.DeviceType == 'pinpad') {
86
- SigWebTablet.ClearTablet();
87
- if (this.cnvContext) {
88
- this.cnvContext.clearRect(0, 0, this.canvas.nativeElement.width, this.canvas.nativeElement.height);
89
- }
90
- }
91
- if (this.DeviceType == 'mousepad') {
92
- this.signaturePad.clear();
93
- }
94
- }
95
- else {
96
- this.File = null;
97
- this.UploadFile = null;
98
- this.ChangeDevice();
99
- }
100
- }
101
- onDone() {
102
- var result = new OutputMessage();
103
- if (this.UploadFile == null) {
104
- if (this.DeviceType == 'pinpad') {
105
- // if (Number(SigWebTablet.NumberOfTabletPoints()) === 0) {
106
- // alert('Por favor firme antes de continuar');
107
- // } else {
108
- SigWebTablet.SetTabletState(0, this.tmr, null);
109
- SigWebTablet.SetSigCompressionMode(1);
110
- result.bioSigData = SigWebTablet.GetSigString();
111
- result.sigImgData = SigWebTablet.GetSigString();
112
- SigWebTablet.SetImageXSize(this.widthRender);
113
- SigWebTablet.SetImageYSize(this.heightRender);
114
- SigWebTablet.SetImagePenWidth(5);
115
- SigWebTablet.GetSigImageB64((base64) => {
116
- result.sigString = "data:image/png;base64," + base64;
117
- this.OutputSignature.emit(result);
118
- });
119
- // }
120
- }
121
- if (this.DeviceType == 'mousepad') {
122
- var result = new OutputMessage();
123
- result.sigString = this.signaturePad.toDataURL();
124
- this.OutputSignature.emit(result);
125
- }
126
- }
127
- else {
128
- result.sigString = this.UploadFile;
129
- this.OutputSignature.emit(result);
130
- }
131
- }
132
- fileEvent(event) {
133
- this.UploadFile = null;
134
- this.FileValidated = false;
135
- const file = event.target.files[0];
136
- if (file.type == 'image/jpeg' || file.type == 'image/png') {
137
- this.FileValidated = false;
138
- const newWidth = this.widthRender;
139
- const newHeight = this.heightRender;
140
- this.resizeImage(file, newWidth, newHeight)
141
- .then((resizedImageDataUrl) => {
142
- this.UploadFile = resizedImageDataUrl;
143
- })
144
- .catch((error) => {
145
- console.error('Error al redimensionar la imagen:', error);
146
- });
147
- }
148
- else {
149
- this.File = null;
150
- this.UploadFile = null;
151
- this.FileValidated = true;
152
- }
153
- }
154
- resizeImage(image, newWidth, newHeight) {
155
- return new Promise((resolve, reject) => {
156
- const reader = new FileReader();
157
- reader.onload = (e) => {
158
- const img = new Image();
159
- img.src = e.target.result;
160
- img.onload = () => {
161
- const canvas = document.createElement('canvas');
162
- const ctx = canvas.getContext('2d');
163
- canvas.width = newWidth;
164
- canvas.height = newHeight;
165
- ctx.drawImage(img, 0, 0, newWidth, newHeight);
166
- const resizedImageDataUrl = canvas.toDataURL(image.type);
167
- resolve(resizedImageDataUrl);
168
- };
169
- img.onerror = (error) => {
170
- reject(error);
171
- };
172
- };
173
- reader.readAsDataURL(image);
174
- });
175
- }
176
- }
177
- LibeyNgSignatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
178
- LibeyNgSignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LibeyNgSignatureComponent, selector: "lib-libey-ng-signature", inputs: { DeviceType: "DeviceType" }, outputs: { OutputSignature: "OutputSignature" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["sigImg"], descendants: true }, { propertyName: "signaturePad", first: true, predicate: SignaturePad, descendants: true }], ngImport: i0, template: "<div class=\"mb-3\">\r\n <div class=\"row mb-5\">\r\n <div class=\"col-md-12 justify-align-center mb-3\">\r\n <input type=\"file\" (change)=\"fileEvent($event)\" [(ngModel)]=\"File\" class=\"form-control form-control-ph\"\r\n accept=\"image/png, image/jpeg\" style=\"border: none; min-width: 410px; width: auto;\">\r\n <label *ngIf=\"FileValidated\" [ngClass]=\"'text-danger'\">Archivo requerido. Formatos permitidos (jpeg, jpg, png)</label>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <ng-select [(ngModel)]=\"DeviceType\" class=\"ng-select-single ng-select-border-0\" placeholder=\"Seleccionar\" [clearable]=\"false\"\r\n (change)=\"ChangeDevice()\">\r\n <ng-option [value]=\"'pinpad'\">Pinpad</ng-option>\r\n <ng-option [value]=\"'mousepad'\">Mousepad</ng-option>\r\n </ng-select>\r\n <label *ngIf=\"NotDriver\" [ngClass]=\"'text-danger'\">No tiene el driver instalado</label>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"UploadFile==null\">\r\n <div *ngIf=\"DeviceType=='pinpad'\" style=\"border: 1px ridge #D6DEE5;border-radius: 10px; width: 440px;\">\r\n <canvas (click)=\"onSign()\" #sigImg [width]=\"widthView\" [height]=\"heightView\"></canvas>\r\n </div>\r\n <div *ngIf=\"DeviceType=='mousepad'\" style=\"border: 1px ridge #D6DEE5;border-radius: 10px; width: 440px;\">\r\n <signature-pad [options]=\"signaturePadOptions\"></signature-pad>\r\n </div>\r\n </div>\r\n <div *ngIf=\"UploadFile!=null\" style=\"border: 1px ridge #D6DEE5;border-radius: 10px; width: 440px;\">\r\n <img [src]=\"UploadFile\" [width]=\"widthView\" [height]=\"heightView\" />\r\n </div>\r\n\r\n <div class=\"col-md-12 mt-3\">\r\n <button type=\"button\" class=\"btn btn-light-primary-sm border-none text-black\" (click)=\"onClear()\">\r\n <i class=\"icon-trash-blue me-3\"></i> Borrar firma\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-primary btn-save-rp\" (click)=\"onDone()\">\r\n <i class=\"icon-save-white\"></i> Guardar\r\n </button>\r\n</div>", styles: [".container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}\n"], components: [{ type: i1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i1.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { type: i2.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }], directives: [{ 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]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureComponent, decorators: [{
180
- type: Component,
181
- args: [{
182
- selector: 'lib-libey-ng-signature',
183
- templateUrl: './libey-ng-signature.component.html',
184
- styleUrls: ['./libey-ng-signature.component.css'],
185
- }]
186
- }], ctorParameters: function () { return []; }, propDecorators: { OutputSignature: [{
187
- type: Output
188
- }], DeviceType: [{
189
- type: Input
190
- }], canvas: [{
191
- type: ViewChild,
192
- args: ['sigImg', { static: false }]
193
- }], signaturePad: [{
194
- type: ViewChild,
195
- args: [SignaturePad]
196
- }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctc2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS9saWJleS1uZy1zaWduYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUdULFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQU9yRCxNQUFNLGFBQWE7Q0FJbEI7QUFPRCxNQUFNLE9BQU8seUJBQXlCO0lBdUJwQztRQXRCVSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ3RELGVBQVUsR0FBVyxVQUFVLENBQUM7UUFFakMsY0FBUyxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBTTdELGNBQVMsR0FBVyxHQUFHLENBQUM7UUFDeEIsZUFBVSxHQUFXLEdBQUcsQ0FBQztRQUN6QixnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQUMxQixpQkFBWSxHQUFXLEdBQUcsQ0FBQztRQUMzQix3QkFBbUIsR0FBVztZQUM1QixRQUFRLEVBQUUsQ0FBQztZQUNYLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMz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ICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpZ1dlYlRhYmxldCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL1NpZ1dlYi9TaWdXZWInO1xyXG5pbXBvcnQgeyBGb3JtLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTaWduYXR1cmVQYWQgfSBmcm9tICdhbmd1bGFyMi1zaWduYXR1cmVwYWQnO1xyXG5pbnRlcmZhY2UgSU91dHB1dE1lc3NhZ2Uge1xyXG4gIGJpb1NpZ0RhdGE6IHN0cmluZztcclxuICBzaWdJbWdEYXRhOiBzdHJpbmc7XHJcbiAgc2lnU3RyaW5nOiBzdHJpbmc7XHJcbn1cclxuXHJcbmNsYXNzIE91dHB1dE1lc3NhZ2UgaW1wbGVtZW50cyBJT3V0cHV0TWVzc2FnZSB7XHJcbiAgYmlvU2lnRGF0YTogc3RyaW5nO1xyXG4gIHNpZ0ltZ0RhdGE6IHN0cmluZztcclxuICBzaWdTdHJpbmc6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbGliZXktbmctc2lnbmF0dXJlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGliZXktbmctc2lnbmF0dXJlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saWJleS1uZy1zaWduYXR1cmUuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliZXlOZ1NpZ25hdHVyZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgpIE91dHB1dFNpZ25hdHVyZSA9IG5ldyBFdmVudEVtaXR0ZXI8SU91dHB1dE1lc3NhZ2U+KCk7XHJcbiAgQElucHV0KCkgRGV2aWNlVHlwZTogc3RyaW5nID0gJ21vdXNlcGFkJztcclxuXHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIEBWaWV3Q2hpbGQoJ3NpZ0ltZycsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIGNhbnZhcyE6IEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoU2lnbmF0dXJlUGFkKSBzaWduYXR1cmVQYWQ6IFNpZ25hdHVyZVBhZDtcclxuICBjbnZDb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XHJcbiAgdG1yOiBhbnk7XHJcbiAgd2lkdGhWaWV3OiBudW1iZXIgPSA0NDA7XHJcbiAgaGVpZ2h0VmlldzogbnVtYmVyID0gMjUwO1xyXG4gIHdpZHRoUmVuZGVyOiBudW1iZXIgPSA0NDA7XHJcbiAgaGVpZ2h0UmVuZGVyOiBudW1iZXIgPSAyNTA7XHJcbiAgc2lnbmF0dXJlUGFkT3B0aW9uczogT2JqZWN0ID0ge1xyXG4gICAgbWluV2lkdGg6IDUsXHJcbiAgICBjYW52YXNXaWR0aDogdGhpcy53aWR0aFZpZXcsXHJcbiAgICBjYW52YXNIZWlnaHQ6IHRoaXMuaGVpZ2h0VmlldyxcclxuICB9O1xyXG4gIEZpbGVWYWxpZGF0ZWQgPSBmYWxzZTtcclxuICBOb3REcml2ZXIgPSBmYWxzZTtcclxuICBVcGxvYWRGaWxlOiBzdHJpbmcgPSBudWxsO1xyXG4gIEZpbGU6IGFueTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuSW5pdERldmljZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NpbmdTaWdXZWIoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBDaGFuZ2VEZXZpY2UoKSB7XHJcbiAgICB0aGlzLk5vdERyaXZlciA9IGZhbHNlO1xyXG4gICAgdGhpcy5VcGxvYWRGaWxlID0gbnVsbDtcclxuICAgIHRoaXMuRmlsZSA9IG51bGw7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5Jbml0RGV2aWNlKCk7XHJcbiAgICB9LCAyMDApO1xyXG4gIH1cclxuXHJcbiAgSW5pdERldmljZSgpIHtcclxuICAgIGlmICh0aGlzLkRldmljZVR5cGUgPT0gJ3BpbnBhZCcpIHtcclxuICAgICAgdGhpcy5jbnZDb250ZXh0ID0gKDxIVE1MQ2FudmFzRWxlbWVudD4oXHJcbiAgICAgICAgdGhpcy5jYW52YXMubmF0aXZlRWxlbWVudFxyXG4gICAgICApKS5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuRGV2aWNlVHlwZSA9PSAnbW91c2VwYWQnKSB7XHJcbiAgICAgIHRoaXMuc2lnbmF0dXJlUGFkLnNldCgnbWluV2lkdGgnLCA1KTtcclxuICAgICAgdGhpcy5zaWduYXR1cmVQYWQuY2xlYXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NpbmdTaWdXZWIoKSB7XHJcbiAgICBTaWdXZWJUYWJsZXQuQ2xlYXJUYWJsZXQoKTtcclxuICAgIFNpZ1dlYlRhYmxldC5TZXRUYWJsZXRTdGF0ZSgwLCB0aGlzLnRtciwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBvblNpZ24oKSB7XHJcbiAgICB0aGlzLk5vdERyaXZlciA9IGZhbHNlO1xyXG4gICAgdGhpcy5VcGxvYWRGaWxlID0gbnVsbDtcclxuICAgIHZhciBkcml2ZXIgPSBTaWdXZWJUYWJsZXQuR2V0VmVyc2lvblN0cmluZygpO1xyXG4gICAgaWYoZHJpdmVyID09IG51bGwpe1xyXG4gICAgICB0aGlzLk5vdERyaXZlciA9IHRydWU7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5Ob3REcml2ZXIgPSBmYWxzZTtcclxuICAgICAgY29uc29sZS5sb2coJ29uU2lnbiBDbGlja2VkIScpO1xyXG4gICAgICBTaWdXZWJUYWJsZXQuU2V0RGlzcGxheVhTaXplKHRoaXMud2lkdGhSZW5kZXIpO1xyXG4gICAgICBTaWdXZWJUYWJsZXQuU2V0RGlzcGxheVlTaXplKHRoaXMuaGVpZ2h0UmVuZGVyKTtcclxuICAgICAgU2lnV2ViVGFibGV0LlNldFRhYmxldFN0YXRlKDAsIHRoaXMudG1yLCBudWxsKTtcclxuICAgICAgU2lnV2ViVGFibGV0LlNldEp1c3RpZnlNb2RlKDApO1xyXG4gICAgICBTaWdXZWJUYWJsZXQuQ2xlYXJUYWJsZXQoKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnRtciA9PSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy50bXIgPSBTaWdXZWJUYWJsZXQuU2V0VGFibGV0U3RhdGUoMSwgdGhpcy5jbnZDb250ZXh0LCA1MCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgU2lnV2ViVGFibGV0LlNldFRhYmxldFN0YXRlKDAsIHRoaXMudG1yLCBudWxsKTtcclxuICAgICAgICB0aGlzLnRtciA9IG51bGw7XHJcbiAgICAgICAgdGhpcy50bXIgPSBTaWdXZWJUYWJsZXQuU2V0VGFibGV0U3RhdGUoMSwgdGhpcy5jbnZDb250ZXh0LCA1MCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2xlYXIoKSB7XHJcbiAgICBpZih0aGlzLlVwbG9hZEZpbGUgPT0gbnVsbCl7XHJcbiAgICAgIGlmICh0aGlzLkRldmljZVR5cGUgPT0gJ3BpbnBhZCcpIHtcclxuICAgICAgICBTaWdXZWJUYWJsZXQuQ2xlYXJUYWJsZXQoKTtcclxuICAgICAgICBpZiAodGhpcy5jbnZDb250ZXh0KSB7XHJcbiAgICAgICAgICB0aGlzLmNudkNvbnRleHQuY2xlYXJSZWN0KFxyXG4gICAgICAgICAgICAwLFxyXG4gICAgICAgICAgICAwLFxyXG4gICAgICAgICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LndpZHRoLFxyXG4gICAgICAgICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuRGV2aWNlVHlwZSA9PSAnbW91c2VwYWQnKSB7XHJcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuY2xlYXIoKTtcclxuICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuRmlsZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuVXBsb2FkRmlsZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuQ2hhbmdlRGV2aWNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkRvbmUoKSB7XHJcbiAgICB2YXIgcmVzdWx0ID0gbmV3IE91dHB1dE1lc3NhZ2UoKTtcclxuICAgIGlmKHRoaXMuVXBsb2FkRmlsZSA9PSBudWxsKXtcclxuICAgICAgaWYgKHRoaXMuRGV2aWNlVHlwZSA9PSAncGlucGFkJykge1xyXG4gICAgICAgIC8vIGlmIChOdW1iZXIoU2lnV2ViVGFibGV0Lk51bWJlck9mVGFibGV0UG9pbnRzKCkpID09PSAwKSB7XHJcbiAgICAgICAgLy8gICBhbGVydCgnUG9yIGZhdm9yIGZpcm1lIGFudGVzIGRlIGNvbnRpbnVhcicpO1xyXG4gICAgICAgIC8vIH0gZWxzZSB7XHJcbiAgICAgICAgU2lnV2ViVGFibGV0LlNldFRhYmxldFN0YXRlKDAsIHRoaXMudG1yLCBudWxsKTtcclxuXHJcbiAgICAgICAgU2lnV2ViVGFibGV0LlNldFNpZ0NvbXByZXNzaW9uTW9kZSgxKTtcclxuICAgICAgICByZXN1bHQuYmlvU2lnRGF0YSA9IFNpZ1dlYlRhYmxldC5HZXRTaWdTdHJpbmcoKTtcclxuICAgICAgICByZXN1bHQuc2lnSW1nRGF0YSA9IFNpZ1dlYlRhYmxldC5HZXRTaWdTdHJpbmcoKTtcclxuICAgICAgICBTaWdXZWJUYWJsZXQuU2V0SW1hZ2VYU2l6ZSh0aGlzLndpZHRoUmVuZGVyKTtcclxuICAgICAgICBTaWdXZWJUYWJsZXQuU2V0SW1hZ2VZU2l6ZSh0aGlzLmhlaWdodFJlbmRlcik7XHJcbiAgICAgICAgU2lnV2ViVGFibGV0LlNldEltYWdlUGVuV2lkdGgoNSk7XHJcbiAgICAgICAgU2lnV2ViVGFibGV0LkdldFNpZ0ltYWdlQjY0KChiYXNlNjQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgcmVzdWx0LnNpZ1N0cmluZyA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LFwiICsgYmFzZTY0O1xyXG4gICAgICAgICAgdGhpcy5PdXRwdXRTaWduYXR1cmUuZW1pdChyZXN1bHQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5EZXZpY2VUeXBlID09ICdtb3VzZXBhZCcpIHtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IE91dHB1dE1lc3NhZ2UoKTtcclxuICAgICAgICByZXN1bHQuc2lnU3RyaW5nID0gdGhpcy5zaWduYXR1cmVQYWQudG9EYXRhVVJMKCk7XHJcbiAgICAgICAgdGhpcy5PdXRwdXRTaWduYXR1cmUuZW1pdChyZXN1bHQpO1xyXG4gICAgICB9XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmVzdWx0LnNpZ1N0cmluZyA9IHRoaXMuVXBsb2FkRmlsZTtcclxuICAgICAgdGhpcy5PdXRwdXRTaWduYXR1cmUuZW1pdChyZXN1bHQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBmaWxlRXZlbnQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5VcGxvYWRGaWxlID0gbnVsbDtcclxuICAgIHRoaXMuRmlsZVZhbGlkYXRlZCA9IGZhbHNlO1xyXG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuICAgIGlmIChmaWxlLnR5cGUgPT0gJ2ltYWdlL2pwZWcnIHx8IGZpbGUudHlwZSA9PSAnaW1hZ2UvcG5nJykge1xyXG4gICAgICB0aGlzLkZpbGVWYWxpZGF0ZWQgPSBmYWxzZTtcclxuICAgICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLndpZHRoUmVuZGVyO1xyXG4gICAgICBjb25zdCBuZXdIZWlnaHQgPSB0aGlzLmhlaWdodFJlbmRlcjtcclxuICAgICAgdGhpcy5yZXNpemVJbWFnZShmaWxlLCBuZXdXaWR0aCwgbmV3SGVpZ2h0KVxyXG4gICAgICAgIC50aGVuKChyZXNpemVkSW1hZ2VEYXRhVXJsKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLlVwbG9hZEZpbGUgPSByZXNpemVkSW1hZ2VEYXRhVXJsO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYWwgcmVkaW1lbnNpb25hciBsYSBpbWFnZW46JywgZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuRmlsZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuVXBsb2FkRmlsZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuRmlsZVZhbGlkYXRlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlc2l6ZUltYWdlKGltYWdlOiBGaWxlLCBuZXdXaWR0aDogbnVtYmVyLCBuZXdIZWlnaHQ6IG51bWJlcik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkID0gKGUpID0+IHtcclxuICAgICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgICAgICBpbWcuc3JjID0gZS50YXJnZXQucmVzdWx0IGFzIHN0cmluZztcclxuICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcbiAgICAgICAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgIGNhbnZhcy53aWR0aCA9IG5ld1dpZHRoO1xyXG4gICAgICAgICAgY2FudmFzLmhlaWdodCA9IG5ld0hlaWdodDtcclxuICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwLCBuZXdXaWR0aCwgbmV3SGVpZ2h0KTtcclxuICAgICAgICAgIGNvbnN0IHJlc2l6ZWRJbWFnZURhdGFVcmwgPSBjYW52YXMudG9EYXRhVVJMKGltYWdlLnR5cGUpO1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXNpemVkSW1hZ2VEYXRhVXJsKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIGltZy5vbmVycm9yID0gKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH07XHJcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGltYWdlKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgbWItNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBqdXN0aWZ5LWFsaWduLWNlbnRlciBtYi0zXCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIChjaGFuZ2UpPVwiZmlsZUV2ZW50KCRldmVudClcIiBbKG5nTW9kZWwpXT1cIkZpbGVcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtcGhcIlxyXG4gICAgICBhY2NlcHQ9XCJpbWFnZS9wbmcsIGltYWdlL2pwZWdcIiBzdHlsZT1cImJvcmRlcjogbm9uZTsgbWluLXdpZHRoOiA0MTBweDsgd2lkdGg6IGF1dG87XCI+XHJcbiAgICAgIDxsYWJlbCAqbmdJZj1cIkZpbGVWYWxpZGF0ZWRcIiBbbmdDbGFzc109XCIndGV4dC1kYW5nZXInXCI+QXJjaGl2byByZXF1ZXJpZG8uIEZvcm1hdG9zIHBlcm1pdGlkb3MgKGpwZWcsIGpwZywgcG5nKTwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICA8bmctc2VsZWN0IFsobmdNb2RlbCldPVwiRGV2aWNlVHlwZVwiIGNsYXNzPVwibmctc2VsZWN0LXNpbmdsZSBuZy1zZWxlY3QtYm9yZGVyLTBcIiBwbGFjZWhvbGRlcj1cIlNlbGVjY2lvbmFyXCIgW2NsZWFyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJDaGFuZ2VEZXZpY2UoKVwiPlxyXG4gICAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCIncGlucGFkJ1wiPlBpbnBhZDwvbmctb3B0aW9uPlxyXG4gICAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCInbW91c2VwYWQnXCI+TW91c2VwYWQ8L25nLW9wdGlvbj5cclxuICAgICAgICA8L25nLXNlbGVjdD5cclxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJOb3REcml2ZXJcIiBbbmdDbGFzc109XCIndGV4dC1kYW5nZXInXCI+Tm8gdGllbmUgZWwgZHJpdmVyIGluc3RhbGFkbzwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cIlVwbG9hZEZpbGU9PW51bGxcIj5cclxuICAgIDxkaXYgKm5nSWY9XCJEZXZpY2VUeXBlPT0ncGlucGFkJ1wiIHN0eWxlPVwiYm9yZGVyOiAxcHggcmlkZ2UgI0Q2REVFNTtib3JkZXItcmFkaXVzOiAxMHB4OyB3aWR0aDogNDQwcHg7XCI+XHJcbiAgICAgIDxjYW52YXMgIChjbGljayk9XCJvblNpZ24oKVwiICNzaWdJbWcgW3dpZHRoXT1cIndpZHRoVmlld1wiIFtoZWlnaHRdPVwiaGVpZ2h0Vmlld1wiPjwvY2FudmFzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiRGV2aWNlVHlwZT09J21vdXNlcGFkJ1wiIHN0eWxlPVwiYm9yZGVyOiAxcHggcmlkZ2UgI0Q2REVFNTtib3JkZXItcmFkaXVzOiAxMHB4OyB3aWR0aDogNDQwcHg7XCI+XHJcbiAgICAgIDxzaWduYXR1cmUtcGFkIFtvcHRpb25zXT1cInNpZ25hdHVyZVBhZE9wdGlvbnNcIj48L3NpZ25hdHVyZS1wYWQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiVXBsb2FkRmlsZSE9bnVsbFwiIHN0eWxlPVwiYm9yZGVyOiAxcHggcmlkZ2UgI0Q2REVFNTtib3JkZXItcmFkaXVzOiAxMHB4OyB3aWR0aDogNDQwcHg7XCI+XHJcbiAgICA8aW1nIFtzcmNdPVwiVXBsb2FkRmlsZVwiIFt3aWR0aF09XCJ3aWR0aFZpZXdcIiBbaGVpZ2h0XT1cImhlaWdodFZpZXdcIiAvPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG10LTNcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5LXNtIGJvcmRlci1ub25lIHRleHQtYmxhY2tcIiAoY2xpY2spPVwib25DbGVhcigpXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbi10cmFzaC1ibHVlIG1lLTNcIj48L2k+IEJvcnJhciBmaXJtYVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zYXZlLXJwXCIgKGNsaWNrKT1cIm9uRG9uZSgpXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbi1zYXZlLXdoaXRlXCI+PC9pPiBHdWFyZGFyXHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PiJdfQ==
@@ -1,57 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { LibeyNgSignatureComponent } from './libey-ng-signature/libey-ng-signature.component';
5
- import { SignaturePadModule } from 'angular2-signaturepad';
6
- import { NgSelectModule } from '@ng-select/ng-select';
7
- import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
8
- import { IconsModule } from '../icons/icons.module';
9
- import * as i0 from "@angular/core";
10
- export class LibeyNgSignatureModule {
11
- }
12
- LibeyNgSignatureModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- LibeyNgSignatureModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureModule, declarations: [LibeyNgSignatureComponent], imports: [FormsModule,
14
- ReactiveFormsModule,
15
- SignaturePadModule,
16
- CommonModule,
17
- NgSelectModule,
18
- NgbModule], exports: [LibeyNgSignatureComponent,
19
- SignaturePadModule,
20
- NgSelectModule,
21
- NgbModule,
22
- IconsModule] });
23
- LibeyNgSignatureModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureModule, imports: [[
24
- FormsModule,
25
- ReactiveFormsModule,
26
- SignaturePadModule,
27
- CommonModule,
28
- NgSelectModule,
29
- NgbModule
30
- ], SignaturePadModule,
31
- NgSelectModule,
32
- NgbModule,
33
- IconsModule] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgSignatureModule, decorators: [{
35
- type: NgModule,
36
- args: [{
37
- declarations: [
38
- LibeyNgSignatureComponent
39
- ],
40
- imports: [
41
- FormsModule,
42
- ReactiveFormsModule,
43
- SignaturePadModule,
44
- CommonModule,
45
- NgSelectModule,
46
- NgbModule
47
- ],
48
- exports: [
49
- LibeyNgSignatureComponent,
50
- SignaturePadModule,
51
- NgSelectModule,
52
- NgbModule,
53
- IconsModule
54
- ]
55
- }]
56
- }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktbmctc2lnbmF0dXJlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQXNCcEQsTUFBTSxPQUFPLHNCQUFzQjs7b0hBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCLGlCQWxCL0IseUJBQXlCLGFBR3pCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLFlBQVk7UUFDWixjQUFjO1FBQ2QsU0FBUyxhQUdULHlCQUF5QjtRQUN6QixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLFNBQVM7UUFDVCxXQUFXO3FIQUdGLHNCQUFzQixZQWhCeEI7WUFDUCxXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osY0FBYztZQUNkLFNBQVM7U0FDVixFQUdDLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsU0FBUztRQUNULFdBQVc7NEZBR0Ysc0JBQXNCO2tCQXBCbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oseUJBQXlCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFNBQVM7cUJBQ1Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHlCQUF5Qjt3QkFDekIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLFNBQVM7d0JBQ1QsV0FBVztxQkFDWjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMaWJleU5nU2lnbmF0dXJlQ29tcG9uZW50IH0gZnJvbSAnLi9saWJleS1uZy1zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZ25hdHVyZVBhZE1vZHVsZSAgfSBmcm9tICdhbmd1bGFyMi1zaWduYXR1cmVwYWQnO1xyXG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBJY29uc01vZHVsZSB9IGZyb20gJy4uL2ljb25zL2ljb25zLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTGliZXlOZ1NpZ25hdHVyZUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgU2lnbmF0dXJlUGFkTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTmdTZWxlY3RNb2R1bGUsXHJcbiAgICBOZ2JNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIExpYmV5TmdTaWduYXR1cmVDb21wb25lbnQsXHJcbiAgICBTaWduYXR1cmVQYWRNb2R1bGUsXHJcbiAgICBOZ1NlbGVjdE1vZHVsZSxcclxuICAgIE5nYk1vZHVsZSxcclxuICAgIEljb25zTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliZXlOZ1NpZ25hdHVyZU1vZHVsZSB7IH1cclxuIl19
@@ -1,56 +0,0 @@
1
- import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LibeyColumnDirective {
4
- constructor() {
5
- this.view = true;
6
- this.isAutoClose = () => true;
7
- this.rowspan = () => 0;
8
- }
9
- getCellTemplate() {
10
- return this.cellTemplate || this.defaultTemplate;
11
- }
12
- }
13
- LibeyColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
- LibeyColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: LibeyColumnDirective, selector: "libey-ng-column", inputs: { header: "header", property: "property", width: "width", view: "view", arrayMap: "arrayMap", isArray: "isArray", expandable: "expandable", class: "class", classHeader: "classHeader", childTableTemplate: "childTableTemplate", isAutoClose: "isAutoClose", rowspan: "rowspan", isRowspan: "isRowspan" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true, static: true }, { propertyName: "cellTemplate", first: true, predicate: ["cellTemplate"], descendants: true, static: true }, { propertyName: "defaultTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0 });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyColumnDirective, decorators: [{
16
- type: Directive,
17
- args: [{
18
- selector: 'libey-ng-column'
19
- }]
20
- }], propDecorators: { header: [{
21
- type: Input
22
- }], property: [{
23
- type: Input
24
- }], width: [{
25
- type: Input
26
- }], view: [{
27
- type: Input
28
- }], arrayMap: [{
29
- type: Input
30
- }], isArray: [{
31
- type: Input
32
- }], expandable: [{
33
- type: Input
34
- }], class: [{
35
- type: Input
36
- }], classHeader: [{
37
- type: Input
38
- }], childTableTemplate: [{
39
- type: Input
40
- }], isAutoClose: [{
41
- type: Input
42
- }], rowspan: [{
43
- type: Input
44
- }], isRowspan: [{
45
- type: Input
46
- }], headerTemplate: [{
47
- type: ContentChild,
48
- args: ['headerTemplate', { static: true }]
49
- }], cellTemplate: [{
50
- type: ContentChild,
51
- args: ['cellTemplate', { static: true }]
52
- }], defaultTemplate: [{
53
- type: ContentChild,
54
- args: [TemplateRef, { static: true }]
55
- }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliZXktY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvdGFibGUvZGlyZWN0aXZlcy9saWJleS1jb2x1bW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzVFLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFPVyxTQUFJLEdBQVksSUFBSSxDQUFDO1FBT3JCLGdCQUFXLEdBQTJCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztRQUNqRCxZQUFPLEdBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztLQVVuRDtJQUxDLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNuRCxDQUFDOztrSEFuQlUsb0JBQW9CO3NHQUFwQixvQkFBb0Isc25CQWdCakIsV0FBVzs0RkFoQmQsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzhCQUVVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDNEMsY0FBYztzQkFBL0QsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0EsWUFBWTtzQkFBM0QsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNELGVBQWU7c0JBQTNELFlBQVk7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnbGliZXktbmctY29sdW1uJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliZXlDb2x1bW5EaXJlY3RpdmUge1xyXG4gIEBJbnB1dCgpIGhlYWRlciE6IHN0cmluZztcclxuICBASW5wdXQoKSBwcm9wZXJ0eSE6IHN0cmluZztcclxuICBASW5wdXQoKSB3aWR0aCE6IG51bWJlcjtcclxuICBASW5wdXQoKSB2aWV3OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhcnJheU1hcD86IHN0cmluZztcclxuICBASW5wdXQoKSBpc0FycmF5PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBleHBhbmRhYmxlPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjbGFzcz86IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc0hlYWRlcj86IHN0cmluZztcclxuICBASW5wdXQoKSBjaGlsZFRhYmxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgaXNBdXRvQ2xvc2U6IChpdGVtOiBhbnkpID0+IGJvb2xlYW4gPSAoKSA9PiB0cnVlO1xyXG4gIEBJbnB1dCgpIHJvd3NwYW46IChpdGVtOiBhbnkpID0+IG51bWJlciA9ICgpID0+IDA7XHJcbiAgQElucHV0KCkgaXNSb3dzcGFuPzogYm9vbGVhbjtcclxuICBAQ29udGVudENoaWxkKCdoZWFkZXJUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ2NlbGxUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjsgIFxyXG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIGRlZmF1bHRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBnZXRDZWxsVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jZWxsVGVtcGxhdGUgfHwgdGhpcy5kZWZhdWx0VGVtcGxhdGU7XHJcbiAgfVxyXG5cclxuICBcclxufSJdfQ==