libey-ng-component-library 0.0.20 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/libey-ng-component-library.umd.js +1 -1
- package/bundles/libey-ng-component-library.umd.js.map +1 -1
- package/esm2015/lib/signature/libey-ng-signature/libey-ng-signature.component.js +2 -2
- package/fesm2015/libey-ng-component-library.js +1 -1
- package/fesm2015/libey-ng-component-library.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libey-ng-component-library.js","sources":["../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.service.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.component.ts","../../../projects/libey-ng-component-library/src/lib/table/directives/libey-column.directive.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.html","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.module.ts","../../../projects/libey-ng-component-library/src/utils/SigWeb/SigWeb.ts","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature/libey-ng-signature.component.ts","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature/libey-ng-signature.component.html","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature.module.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.module.ts","../../../projects/libey-ng-component-library/src/public-api.ts","../../../projects/libey-ng-component-library/src/libey-ng-component-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LibeyNgComponentLibraryService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-libey-ngComponent-library',\n template: `\n <p>\n libey-ng-component-library works!\n </p>\n `,\n styles: [\n ]\n})\nexport class LibeyNgComponentLibraryComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'libey-ng-column'\r\n})\r\nexport class LibeyColumnDirective {\r\n @Input() header!: string;\r\n @Input() property!: string;\r\n @Input() width!: number;\r\n @Input() view: boolean = true;\r\n @Input() arrayMap?: string;\r\n @Input() isArray?: boolean;\r\n @Input() expandable?: boolean;\r\n @Input() class?: string;\r\n @Input() classHeader?: string;\r\n @Input() childTableTemplate: TemplateRef<any>;\r\n @Input() isAutoClose: (item: any) => boolean = () => true;\r\n @Input() rowspan: (item: any) => number = () => 0;\r\n @Input() isRowspan?: boolean;\r\n @ContentChild('headerTemplate', { static: true }) headerTemplate: TemplateRef<any>;\r\n @ContentChild('cellTemplate', { static: true }) cellTemplate: TemplateRef<any>; \r\n @ContentChild(TemplateRef, { static: true }) defaultTemplate: TemplateRef<any>;\r\n getCellTemplate(): TemplateRef<any> {\r\n return this.cellTemplate || this.defaultTemplate;\r\n }\r\n\r\n \r\n}","import { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, QueryList, SimpleChanges, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { LibeyColumnDirective } from './directives/libey-column.directive';\r\ninterface IDataKey {\r\n key: number;\r\n dataKey: number;\r\n childTableTemplate: TemplateRef<any>;\r\n data: any[];\r\n autoClose: boolean;\r\n}\r\n\r\nclass DataKey implements IDataKey {\r\n key: number;\r\n dataKey: number;\r\n childTableTemplate: TemplateRef<any>;\r\n data: any[];\r\n autoClose: boolean;\r\n rowspan: number;\r\n}\r\n\r\n@Component({\r\n selector: 'libey-ng-table',\r\n templateUrl: './libey-ng-table.component.html',\r\n styleUrls: ['./libey-ng-table.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class LibeyNgTableComponent implements OnInit, AfterViewInit, OnChanges {\r\n @Input() set data(value: any[]) {\r\n this._data = value;\r\n }\r\n get data(): any[] {\r\n return this._data;\r\n }\r\n @Input() pageSize: number = 10;\r\n @Input() totalSize: number = 0;\r\n @Input() maxPageButtons: number = 5;\r\n @Input() height: number;\r\n @Input() expandable: boolean = false;\r\n @Input() viewPaginate: boolean = true;\r\n @Input() childTableTemplate!: TemplateRef<any>;\r\n @Input() headerfixed: boolean = false;\r\n @Input() class: string;\r\n @Input() internalPagination: boolean = true;\r\n @Input() currentPage: number = 1;\r\n @Output() pageChange = new EventEmitter<number>();\r\n \r\n @ContentChildren(LibeyColumnDirective) columns!: QueryList<LibeyColumnDirective>;\r\n\r\n rowExpandable: boolean[] = [];\r\n rowExpandableDetail: IDataKey[] = [];\r\n paginatedData: any[] = [];\r\n _data: any[] = [];\r\n columnWidths: number[] = [];\r\n resizingColumnIndex: number | null = null;\r\n startX: number = 0;\r\n startWidth: number = 0;\r\n @ViewChild('tableContainer') tableContainer!: ElementRef;\r\n @ViewChild('table') tableElement!: ElementRef;\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes.data && changes.data.previousValue){\r\n changes.data.currentValue.forEach((value, index) => {\r\n var findData = this.rowExpandableDetail.find(x => x.dataKey == index);\r\n if(findData != null)\r\n findData.autoClose = value.autoClose;\r\n });\r\n this._data = changes.data.currentValue;\r\n this.updatePaginatedData();\r\n }\r\n }\r\n ngOnInit(): void {\r\n this.updatePaginatedData();\r\n }\r\n ngAfterViewInit() {\r\n this.initializeColumnWidths();\r\n // this.adjustTableWidth()\r\n this.cdr.detectChanges();\r\n }\r\n\r\n initializeColumnWidths() {\r\n var padding = 31\r\n var widthDefault = 150\r\n this.columnWidths = this.columns.map(column => column.width);\r\n const containerWidth = this.tableContainer.nativeElement.offsetWidth;\r\n const autoColumns = this.columns.filter(column => column.width == null);\r\n const totalFixedWidth = this.columns.reduce((sum, column) =>\r\n column.width != null ? (sum + this.getWidthValue(column.width)) : sum, 0);\r\n const remainingWidth = containerWidth - (totalFixedWidth + (((this.columns.length - autoColumns.length) * padding)+ (this.expandable ? 61 : 0)));\r\n\r\n if (autoColumns.length > 0) {\r\n var autoColumnWidth = 0;\r\n if(remainingWidth < widthDefault)\r\n autoColumnWidth = widthDefault;\r\n else\r\n autoColumnWidth = Math.max(0, remainingWidth / autoColumns.length);\r\n autoColumns.forEach(column => column.width = autoColumnWidth- padding);\r\n }\r\n this.columnWidths = this.columns.map(column => column.width);\r\n }\r\n // adjustTableWidth() {\r\n // const totalWidth = this.columns.reduce((sum, column) => sum + this.getWidthValue(column.width), 0);\r\n // this.tableElement.nativeElement.style.width = `${totalWidth}px`;\r\n // }\r\n getWidthValue(width: number): number {\r\n return width === null ? 100 : width;\r\n }\r\n\r\n get totalPages(): number {\r\n return Math.ceil(this.totalSize / this.pageSize);\r\n }\r\n\r\n getCellValue(item: any, column: LibeyColumnDirective): string {\r\n const value = this.getNestedValue(item, column.property);\r\n if (Array.isArray(value) && column.arrayMap) {\r\n return value.map(v => this.getNestedValue(v, column.arrayMap!)).join(', ');\r\n }\r\n return value;\r\n }\r\n\r\n private getNestedValue(obj: any, path: string): any {\r\n return path.split('.').reduce((o, key) => {\r\n if (o && typeof o === 'object' && key in o) {\r\n return o[key];\r\n }\r\n return undefined;\r\n }, obj);\r\n }\r\n\r\n private updatePaginatedData(): void {\r\n if(this.viewPaginate && this.internalPagination){\r\n const start = (this.currentPage - 1) * this.pageSize;\r\n const end = start + this.pageSize;\r\n this.paginatedData = this.data.slice(start, end);\r\n }else{\r\n this.paginatedData = this.data;\r\n } \r\n }\r\n pageRange(): number[] {\r\n const start = Math.max(1, this.currentPage - Math.floor(this.maxPageButtons / 2));\r\n const end = Math.min(this.totalPages, start + this.maxPageButtons - 1);\r\n const startPreFinish = end - this.maxPageButtons + 1;\r\n const startFinish = startPreFinish < 1 ? 1 : startPreFinish;\r\n return Array.from({length: end - startFinish + 1}, (_, i) => startFinish + i);\r\n }\r\n goToPage(page: number): void {\r\n this.currentPage = Math.max(1, Math.min(page, this.totalPages));\r\n if(this.internalPagination){ \r\n this.updatePaginatedData(); \r\n }else{\r\n this.pageChange.emit(this.currentPage);\r\n }\r\n }\r\n // hasChildren(row: any): boolean{\r\n // return Array.isArray(row.child) && row.child.length > 0;\r\n // }\r\n toggleRow(index: number){\r\n this.rowExpandable[index] = !this.rowExpandable[index];\r\n }\r\n toggleRowDetail(key: number, indexData: number, column: LibeyColumnDirective, data: any){\r\n if(column.expandable){\r\n var exist = this.rowExpandableDetail.find(x => x.key == key && x.dataKey == indexData);\r\n if(exist == null){\r\n this.rowExpandableDetail = this.rowExpandableDetail.filter(x => (x.key != key || x.dataKey != indexData) && x.autoClose == false);\r\n var item = new DataKey();\r\n item.key = key;\r\n item.dataKey = indexData;\r\n item.childTableTemplate = column.childTableTemplate;\r\n item.autoClose = column.isAutoClose(data);\r\n this.rowExpandableDetail.push(item);\r\n }else{\r\n this.rowExpandableDetail = this.rowExpandableDetail.filter(x => x.key != key || x.dataKey != indexData);\r\n }\r\n }\r\n }\r\n getChildren(fila: any): any[] {\r\n return fila.hijos || [];\r\n }\r\n onResizeStart(index: number, event: MouseEvent) {\r\n this.resizingColumnIndex = index;\r\n this.startX = event.pageX;\r\n this.startWidth = this.columnWidths[index];\r\n document.addEventListener('mousemove', this.onResizeMove);\r\n document.addEventListener('mouseup', this.onResizeEnd);\r\n }\r\n onResizeMove = (event: MouseEvent) => {\r\n if (this.resizingColumnIndex !== null) {\r\n const diff = event.pageX - this.startX;\r\n this.columnWidths[this.resizingColumnIndex] = Math.max(this.startWidth + diff, 50);\r\n\r\n }\r\n }\r\n onResizeEnd = () => {\r\n this.resizingColumnIndex = null;\r\n document.removeEventListener('mousemove', this.onResizeMove);\r\n document.removeEventListener('mouseup', this.onResizeEnd);\r\n }\r\n existRowExpandableDetail(key: number, indexData: number) : boolean{\r\n return this.rowExpandableDetail.filter(x => x.key == key && x.dataKey == indexData).length > 0;\r\n }\r\n viewRowExpandableDetail(indexData: number) :boolean{\r\n return this.rowExpandableDetail.filter(x => x.dataKey == indexData).length > 0;\r\n }\r\n findRowExpandableDetail(indexData: number) :TemplateRef<any>{\r\n var find = this.rowExpandableDetail.find(x => x.dataKey == indexData);\r\n if(find)\r\n return find.childTableTemplate; \r\n else\r\n return null;\r\n }\r\n getRowSpan(column: LibeyColumnDirective, data: any){\r\n return column.rowspan(data);\r\n }\r\n}\r\n","<div class=\"table-container\" #tableContainer [style.height]=\"height == null ? 'auto':(height + 'px')\">\r\n <!-- <table cdkDropList (cdkDropListDropped)=\"drop($event)\"> -->\r\n <table #table [ngClass]=\"class\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"expandable\" [ngClass]=\"headerfixed == true ? 'th-fixed':''\" style=\"width: 25px;\"></th>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <th *ngIf=\"column.view\" [style.width]=\"column.width ? (column.width + 'px') : 'auto'\"\r\n [ngClass]=\"headerfixed == true ? (column.classHeader + ' th-fixed'): column.classHeader\">\r\n <!-- Custom header template -->\r\n <ng-container *ngIf=\"column.headerTemplate; else defaultHeader\">\r\n <ng-container [ngTemplateOutlet]=\"column.headerTemplate\"\r\n [ngTemplateOutletContext]=\"{ column: column, index: i }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <span style=\"white-space: nowrap;\">{{ column.header }}</span>\r\n </ng-template>\r\n <div class=\"resize-handle\" (mousedown)=\"onResizeStart(i, $event)\"></div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"_data.length == 0\">\r\n <tr>\r\n <td [colSpan]=\"expandable ? (columns.length + 1) : (columns.length)\" class=\"text-center\">\r\n No existen datos disponibles\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"paginatedData.length != 0\">\r\n <ng-container *ngFor=\"let item of paginatedData; let a = index\">\r\n <tr>\r\n <td *ngIf=\"expandable\">\r\n <button (click)=\"toggleRow(a)\">\r\n <i [ngClass]=\"rowExpandable[a] ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </td>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <td \r\n *ngIf=\"column.view && (column.isRowspan && column.rowspan(item) > 0)\"\r\n [attr.rowspan]=\"column.rowspan(item)\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"detailTd\" \r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container> \r\n </td>\r\n <td \r\n *ngIf=\"column.view && column.isRowspan != true\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"detailTd\" \r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container> \r\n </td>\r\n </ng-container>\r\n </tr>\r\n <ng-container *ngIf=\"viewRowExpandableDetail(a)\">\r\n <ng-container *ngTemplateOutlet=\"findRowExpandableDetail(a); context: { $implicit: item }\"></ng-container>\r\n </ng-container>\r\n <tr *ngIf=\"rowExpandable[a]\">\r\n <td [attr.colspan]=\"columns.length + (expandable ? 1 : 0)\">\r\n <ng-container [ngTemplateOutlet]=\"childTableTemplate\"\r\n [ngTemplateOutletContext]=\"{ parentRow: item }\">\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n</div>\r\n<div *ngIf=\"viewPaginate && _data.length != 0\" class=\"pagination-controls\">\r\n <div class=\"d-align-center\">\r\n <label class=\"lbl-footer me-20px\"># Registros: {{this.totalSize}}</label>\r\n <label class=\"lbl-footer\"># Filas: {{this.pageSize}}</label>\r\n </div>\r\n <div>\r\n <button (click)=\"goToPage(1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-first-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(currentPage - 1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-previous-page\"></i>\r\n </button>\r\n <ng-container *ngFor=\"let page of pageRange()\">\r\n <button\r\n (click)=\"goToPage(page)\"\r\n [class.active]=\"currentPage === page\"\r\n [disabled]=\"currentPage === page\">\r\n {{ page }}\r\n </button>\r\n </ng-container>\r\n <button (click)=\"goToPage(currentPage + 1)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-next-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(totalPages)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-last-page\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n<ng-template #detailTd let-item=\"item\" let-column=\"column\" let-indexData=\"indexData\" let-indexColumn=\"indexColumn\">\r\n <ng-container *ngIf=\"column.getCellTemplate(); else defaultCell\">\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n <ng-container [ngTemplateOutlet]=\"column.getCellTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item, column: column, index: indexData }\">\r\n </ng-container>\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultCell>\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n {{ getCellValue(item, column) }}\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</ng-template>","// table.module.ts\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LibeyColumnDirective } from './directives/libey-column.directive';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LibeyNgTableComponent } from './libey-ng-table.component';\r\n\r\n@NgModule({\r\n declarations: [LibeyNgTableComponent, LibeyColumnDirective],\r\n imports: [CommonModule,FormsModule],\r\n exports: [LibeyNgTableComponent, LibeyColumnDirective]\r\n})\r\nexport class LibeyNgTableModule { }","// SigWebTablet.ts\r\nexport class SigWebTablet {\r\n private static revokeBlobURL(url: string): void {\r\n if (window.URL) {\r\n URL.revokeObjectURL(url);\r\n } else if (window.webkitURL) {\r\n webkitURL.revokeObjectURL(url);\r\n }\r\n }\r\n private static getBlobURL(blob: Blob): string {\r\n if (window.URL) {\r\n return URL.createObjectURL(blob);\r\n } else if (window.webkitURL) {\r\n return webkitURL.createObjectURL(blob);\r\n }\r\n return ''; // Retornar un string vacío en caso de error\r\n }\r\n\r\n private static baseUri: string = SigWebTablet.makeUri();\r\n private static ctx;\r\n private static Count: boolean = false;\r\n private static EvStatus;\r\n private static onSigPenDown;\r\n private static onSigPenUp;\r\n private static SigWebFontThreshold = 155;\r\n private static NumPointsLastTime = 0;\r\n private static SigImageB64;\r\n\r\n private static makeUri(): string {\r\n var prot = location.protocol;\r\n if (prot == 'file:') {\r\n prot = 'http:';\r\n }\r\n\r\n if (this.isIE()) {\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n }\r\n\r\n if (this.isChrome()) {\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n } else {\r\n //FIREFOX\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n }\r\n }\r\n\r\n private static generateUUID(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\r\n /[xy]/g,\r\n function (c) {\r\n const r = (Math.random() * 16) | 0;\r\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n }\r\n );\r\n }\r\n\r\n static isSigWebInstalled(): boolean {\r\n const xhr = new XMLHttpRequest();\r\n try {\r\n xhr.open(\r\n 'GET',\r\n `${this.baseUri}TabletState?noCache=${this.generateUUID()}`,\r\n false\r\n );\r\n xhr.send();\r\n return xhr.status !== 404 && xhr.status !== 0;\r\n } catch (e) {\r\n console.log('Error checking SigWeb installation', e);\r\n return false;\r\n }\r\n }\r\n\r\n static isIE(): boolean {\r\n return (\r\n navigator.appName === 'Microsoft Internet Explorer' ||\r\n (navigator.appName === 'Netscape' &&\r\n new RegExp('Trident/.*rv:([0-9]{1,}[.0-9]{0,})').exec(\r\n navigator.userAgent\r\n ) != null)\r\n );\r\n }\r\n\r\n static isChrome(): boolean {\r\n return navigator.userAgent.lastIndexOf('Chrome/') > 0;\r\n }\r\n\r\n static SigWebcreateXHR(): XMLHttpRequest | null {\r\n const xhr = new XMLHttpRequest();\r\n if (!xhr) {\r\n throw new Error('No se pudo crear XMLHttpRequest');\r\n }\r\n\r\n return xhr;\r\n }\r\n\r\n static SigWebSetProperty(prop: string): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, true);\r\n xhr.send(null);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetPropertySync(prop: string): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.send();\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(strm);\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSyncSetStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(strm);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetImageStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'image/png');\r\n xhr.send(strm);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetImageBlobProperty(prop, strm) {\r\n var xhr = this.SigWebcreateXHR();\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'blob');\r\n xhr.send(strm);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebGetVersion(prop) {\r\n try {\r\n var xhr = this.SigWebcreateXHR();\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + prop + '?noCache=' + this.generateUUID(),\r\n false\r\n );\r\n xhr.send(null);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n } catch (error) {\r\n console.error('Error en SigWebGetVersion:', error);\r\n return null;\r\n }\r\n return null;\r\n }\r\n\r\n static SigWebGetProperty(prop) {\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + prop + '?noCache=' + this.generateUUID(),\r\n false\r\n );\r\n xhr.send(null);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static GetSigImageB64(callback) {\r\n var cvs = document.createElement('canvas');\r\n var width = this.GetImageXSize();\r\n var height = this.GetImageYSize();\r\n cvs.width = width == '' || width == null ? 0 : Number(width);\r\n cvs.height = height == '' || height == null ? 0 : Number(height);\r\n\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/1' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.send(null);\r\n xhr2.onload = () => {\r\n var cntx = cvs.getContext('2d');\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n img.onload = () => {\r\n cntx.drawImage(img, 0, 0);\r\n var b64String = cvs.toDataURL('image/png');\r\n var loc = b64String.search('base64,');\r\n var retstring = b64String.slice(loc + 7, b64String.length);\r\n if (callback) {\r\n callback(retstring);\r\n }\r\n };\r\n };\r\n }\r\n\r\n static SigWebWaitForPenDown(callback) {\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + 'WaitForPenDown' + '?noCache=' + this.generateUUID()\r\n );\r\n xhr.timeout = 10000;\r\n xhr.onreadystatechange = () => {\r\n if (xhr.readyState != 4) return;\r\n if (xhr.status == 200) callback();\r\n };\r\n xhr.send(null);\r\n }\r\n }\r\n\r\n static GetSigImage(ctx) {\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/1' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.send(null);\r\n xhr2.onload = () => {\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n img.onload = () => {\r\n ctx.drawImage(img, 0, 0);\r\n this.revokeBlobURL(img.src);\r\n img = null;\r\n };\r\n };\r\n }\r\n\r\n static SigWebSetDisplayTarget(obj) {\r\n this.ctx = obj;\r\n }\r\n\r\n static SigWebRefresh() {\r\n var NumPoints = Number(this.NumberOfTabletPoints());\r\n if (NumPoints == this.NumPointsLastTime) {\r\n return;\r\n }\r\n this.NumPointsLastTime = NumPoints;\r\n\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/0' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.onload = () => {\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n //\t\t\t\timg.src = window.URL.createObjectURL(xhr2.response);\r\n img.onload = () => {\r\n this.ctx.drawImage(img, 0, 0);\r\n this.revokeBlobURL(img.src);\r\n img = null;\r\n };\r\n };\r\n xhr2.send(null);\r\n }\r\n\r\n static SigWebEvent() {\r\n var OldEvStatus = this.EvStatus;\r\n\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + 'EventStatus' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr.onload = () => {\r\n this.EvStatus = xhr.responseText;\r\n if (OldEvStatus & 0x01 && this.EvStatus & 0x02) {\r\n if (this.onSigPenDown) {\r\n this.onSigPenDown();\r\n }\r\n }\r\n\r\n if (OldEvStatus & 0x02 && this.EvStatus & 0x01) {\r\n if (this.onSigPenUp) {\r\n this.onSigPenUp();\r\n }\r\n }\r\n };\r\n xhr.send(null);\r\n }\r\n }\r\n\r\n static setSigWebFontThreshold(v) {\r\n this.SigWebFontThreshold = v;\r\n }\r\n\r\n static createLcdBitmapFromCanvas(ourCanvas, xp, yp, width, height) {\r\n var canvasCtx = ourCanvas.getContext('2d');\r\n var imgData = canvasCtx.getImageData(0, 0, width, height);\r\n var j = 0;\r\n var sVal = 0;\r\n var outData = '';\r\n var outIdx = 0;\r\n var data = imgData.data;\r\n\r\n for (var y = 0; y < height; y++)\r\n for (var x = 0; x < width; x++) {\r\n var tmp1 = data[j];\r\n var tmp2 = data[j + 1];\r\n var tmp3 = data[j + 2];\r\n var tmp4 = data[j + 3];\r\n\r\n //\t\t\t\t\tsVal = tmp1 + (tmp2 << 8 ) + ( tmp3 << 16 ) + (tmp4 << 24 );\r\n j = j + 4;\r\n if (tmp1 < this.SigWebFontThreshold) {\r\n outData += 'B';\r\n } else {\r\n outData += 'W';\r\n }\r\n }\r\n\r\n return outData;\r\n }\r\n\r\n static toHex(NibVal) {\r\n switch (NibVal) {\r\n case 0:\r\n return '0';\r\n case 1:\r\n return '1';\r\n case 2:\r\n return '2';\r\n case 3:\r\n return '3';\r\n case 4:\r\n return '4';\r\n case 5:\r\n return '5';\r\n case 6:\r\n return '6';\r\n case 7:\r\n return '7';\r\n case 8:\r\n return '8';\r\n case 9:\r\n return '9';\r\n case 10:\r\n return 'A';\r\n case 11:\r\n return 'B';\r\n case 12:\r\n return 'C';\r\n case 13:\r\n return 'D';\r\n case 14:\r\n return 'E';\r\n case 15:\r\n return 'F';\r\n default:\r\n return '';\r\n }\r\n }\r\n static ToHexString(ByteVal) {\r\n var Str = '';\r\n Str += this.toHex((ByteVal >> 4) & 0x0f);\r\n Str += this.toHex(ByteVal & 0x0f);\r\n return Str;\r\n }\r\n\r\n static textToTablet(x, y, height, str, fnt) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n var ys = height;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, 0, 0, xs, ys);\r\n\r\n this.LcdWriteImageStream(0, 2, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LcdWriteImage(Dst, Mode, Xp, Yp, Url) {\r\n var Prop = 'LcdWriteImage/';\r\n var NewUrl = Url.replace(/\\//g, '_');\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + NewUrl;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LcdWriteLocalImage(Dst, Mode, Xp, Yp, Url) {\r\n var Prop = 'LcdWriteImage/';\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + Url;\r\n this.SigWebSetProperty(Prop);\r\n }\r\n\r\n static LcdWriteImageStream(Dst, Mode, Xp, Yp, Xs, Ys, Url) {\r\n var Prop1 =\r\n 'LcdWriteImageStreamParams/' +\r\n Dst +\r\n ',' +\r\n Mode +\r\n ',' +\r\n Xp +\r\n ',' +\r\n Yp +\r\n ',' +\r\n Xs +\r\n ',' +\r\n Ys;\r\n var Prop2 = 'LcdWriteImageStream/';\r\n\r\n this.SigWebSetPropertySync(Prop1);\r\n this.SigWebSetImageStreamProperty(Prop2, Url);\r\n }\r\n\r\n static LcdWriteImageBlob(Dst, Mode, Xp, Yp, Xs, Ys, Url) {\r\n var Prop = 'LcdWriteImageStream/';\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + Xs + ',' + Ys;\r\n this.SigWebSetImageBlobProperty(Prop, Url);\r\n }\r\n\r\n static measureText(pText, pFontSize, pStyle) {\r\n var lDiv = document.createElement('lDiv');\r\n\r\n document.body.appendChild(lDiv);\r\n\r\n if (pStyle != null) {\r\n lDiv.setAttribute('style', pStyle);\r\n }\r\n lDiv.style.fontSize = '' + pFontSize + 'px';\r\n lDiv.style.position = 'absolute';\r\n lDiv.style.left = '-1000';\r\n lDiv.style.top = '-1000';\r\n\r\n lDiv.innerHTML = pText;\r\n\r\n var lResult = {\r\n width: lDiv.clientWidth,\r\n height: lDiv.clientHeight,\r\n };\r\n\r\n document.body.removeChild(lDiv);\r\n lDiv = null;\r\n\r\n return lResult;\r\n }\r\n static GetVersionString() {\r\n var Prop = 'Version';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetVersion(Prop);\r\n if(Str == null)\r\n return Str;\r\n\r\n var trimStr = Str.slice(1, Str.length - 2);\r\n return trimStr;\r\n }\r\n\r\n static IsPenDown() {\r\n return this.EvStatus & 0x01;\r\n }\r\n\r\n //\r\n //\t\t\tSigPlusNETSig.cs\r\n //\r\n static ClearTablet() {\r\n var Prop = 'ClearSignature';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static NumberOfTabletPoints() {\r\n var Prop = 'TotalPoints';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSigString(sigStr, ctx) {\r\n var Prop = 'SigString';\r\n\r\n Prop = Prop;\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + Prop);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(sigStr);\r\n xhr.onload = () => {\r\n if (ctx) {\r\n var can = ctx.canvas;\r\n this.SetImageXSize(can.width);\r\n this.SetImageYSize(can.height);\r\n this.GetSigImage(ctx);\r\n }\r\n };\r\n }\r\n return '';\r\n }\r\n\r\n static GetSigString() {\r\n var Prop = 'SigString';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetSigCompressionMode(v) {\r\n var Prop = 'CompressionMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSigCompressionMode() {\r\n var Prop = 'CompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetEncryptionMode(v) {\r\n var Prop = 'EncryptionMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetEncryptionMode() {\r\n var Prop = 'EncryptionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetKeyString(keyString) {\r\n var Prop = 'KeyString';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyString);\r\n }\r\n\r\n static GetKeyString() {\r\n var Prop = 'KeyString';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static AutoKeyStart() {\r\n var Prop = 'AutoKeyStart';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static AutoKeyFinish() {\r\n var Prop = 'AutoKeyFinish';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetAutoKeyData(keyData) {\r\n var Prop = 'SetAutoKeyData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyData);\r\n }\r\n\r\n static AutoKeyAddData(keyData) {\r\n var Prop = 'AutoKeyAddData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyData);\r\n return this.GetKeyString();\r\n }\r\n\r\n //\t\tfunction GetKeyReceipt( ) {}\r\n\r\n static GetKeyReceiptAscii() {\r\n var Prop = 'KeyReceiptAscii';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n //\t\tfunction GetSigReceipt( ) {}\r\n\r\n static GetSigReceiptAscii() {\r\n var Prop = 'SigReceiptAscii';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetTimeStamp(timeStamp) {\r\n var Prop = 'TimeStamp';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, timeStamp);\r\n }\r\n\r\n static GetTimeStamp() {\r\n var Prop = 'TimeStamp';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetAnnotate(annotate) {\r\n var Prop = 'Annotate';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, annotate);\r\n }\r\n\r\n static GetAnnotate() {\r\n var Prop = 'Annotate';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetSaveSigInfo(v) {\r\n var Prop = 'SaveSigInfo/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSaveSigInfo() {\r\n var Prop = 'SaveSigInfo';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSavePressureData(v) {\r\n var Prop = 'SavePressureData/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSavePressureData() {\r\n var Prop = 'SavePressureData';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSaveTimeData(v) {\r\n var Prop = 'SaveTimeData/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSaveTimeData() {\r\n var Prop = 'SaveTimeData';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasSpotSize(v) {\r\n var Prop = 'AntiAliasSpotSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasSpotSize() {\r\n var Prop = 'AntiAliasSpotSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasLineScale(v) {\r\n var Prop = 'AntiAliasLineScale/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasLineScale() {\r\n var Prop = 'AntiAliasLineScale';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetNumberOfStrokes() {\r\n var Prop = 'NumberOfStrokes';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetNumPointsForStroke(v) {\r\n var Prop = 'NumberOfPointsInStroke/';\r\n\r\n Prop = Prop + v;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetPointXValue(v1, v2) {\r\n var Prop = 'PointXValue/';\r\n\r\n Prop = Prop + v1 + '/' + v2;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetPointYValue(v1, v2) {\r\n var Prop = 'PointYValue/';\r\n\r\n Prop = Prop + v1 + '/' + v2;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasEnable(v) {\r\n var Prop = 'AntiAliasEnable/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasEnable() {\r\n var Prop = 'AntiAliasEnable';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetUseAmbientColors(v) {\r\n var Prop = 'UseAmbientColors/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETDisplay.cs\r\n //\r\n static SetDisplayXSize(v) {\r\n var Prop = 'DisplayXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayXSize() {\r\n var Prop = 'DisplayXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayYSize(v) {\r\n var Prop = 'DisplayYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayYSize() {\r\n var Prop = 'DisplayYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayPenWidth(v) {\r\n var Prop = 'DisplayPenWidth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayPenWidth() {\r\n var Prop = 'DisplayPenWidth';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStamp(v) {\r\n var Prop = 'DisplayTimeStamp/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStamp() {\r\n var Prop = 'DisplayTimeStamp';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampPosX(v) {\r\n var Prop = 'DisplayTimeStampPosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampPosX() {\r\n var Prop = 'DisplayTimeStampPosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampPosY(v) {\r\n var Prop = 'DisplayTimeStampPosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampPosY() {\r\n var Prop = 'DisplayTimeStampPosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampSize(v) {\r\n var Prop = 'DisplayTimeStampSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampSize() {\r\n var Prop = 'DisplayTimeStampSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotate(v) {\r\n var Prop = 'DisplayAnnotate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotate() {\r\n var Prop = 'DisplayAnnotate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotatePosX(v) {\r\n var Prop = 'DisplayAnnotatePosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotatePosX() {\r\n var Prop = 'DisplayAnnotatePosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotatePosY(v) {\r\n var Prop = 'DisplayAnnotatePosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotatePosY() {\r\n var Prop = 'DisplayAnnotatePosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotateSize(v) {\r\n var Prop = 'DisplayAnnotateSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotateSize() {\r\n var Prop = 'DisplayAnnotateSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETImage.cs\r\n //\r\n //\t\tfunction GetSigImageB64( )\r\n //\t\t\t{\r\n //\t\t\tvar xhr2 = new XMLHttpRequest();\r\n //\t\t\txhr2.open(\"GET\", baseUri + \"SigImage/1\", false );\r\n //\t\t\txhr2.responseType = \"blob\"\r\n //\t\t\txhr2.send(null);\r\n //\t\t\tif (xhr2.readyState == 4 && xhr.status == 200)\r\n //\t\t\t\t{\r\n //\t\t\t\treturn window.URL.createObjectURL(xhr2.response);\r\n //\t\t\t\t}\r\n //\t\t\treturn null;\r\n //\t\t\t}\r\n\r\n static SetImageXSize(v) {\r\n var Prop = 'ImageXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageXSize() {\r\n var Prop = 'ImageXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageYSize(v) {\r\n var Prop = 'ImageYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageYSize() {\r\n var Prop = 'ImageYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImagePenWidth(v) {\r\n var Prop = 'ImagePenWidth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImagePenWidth() {\r\n var Prop = 'ImagePenWidth';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStamp(v) {\r\n var Prop = 'ImageTimeStamp/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStamp() {\r\n var Prop = 'ImageTimeStamp';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampPosX(v) {\r\n var Prop = 'ImageTimeStampPosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampPosX() {\r\n var Prop = 'ImageTimeStampPosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampPosY(v) {\r\n var Prop = 'ImageTimeStampPosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampPosY() {\r\n var Prop = 'ImageTimeStampPosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampSize(v) {\r\n var Prop = 'ImageTimeStampSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampSize() {\r\n var Prop = 'ImageTimeStampSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotate(v) {\r\n var Prop = 'ImageAnnotate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotate() {\r\n var Prop = 'ImageAnnotate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotatePosX(v) {\r\n var Prop = 'ImageAnnotatePosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotatePosX() {\r\n var Prop = 'ImageAnnotatePosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotatePosY(v) {\r\n var Prop = 'ImageAnnotatePosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotatePosY() {\r\n var Prop = 'ImageAnnotatePosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotateSize(v) {\r\n var Prop = 'ImageAnnotateSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotateSize() {\r\n var Prop = 'ImageAnnotateSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyX(v) {\r\n var Prop = 'JustifyX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyX() {\r\n var Prop = 'JustifyX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyY(v) {\r\n var Prop = 'JustifyY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyY() {\r\n var Prop = 'JustifyY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyMode(v) {\r\n var Prop = 'JustifyMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyMode() {\r\n var Prop = 'JustifyMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETKeyPad.cs\r\n //\r\n static KeyPadAddHotSpot(key, coord, xp, yp, xs, ys) {\r\n var Prop = 'KeyPadAddHotSpot/';\r\n Prop = Prop + key + ',' + coord + ',' + xp + ',' + yp + ',' + xs + ',' + ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static KeyPadMarkHotSpot(key, coord, xp, yp, xs, ys) {\r\n this.LCDWriteString(0, 2, xp, yp, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp + xs, yp, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp, yp + ys, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp + xs, yp + ys, '16pt sans-serif', 32, '+');\r\n }\r\n\r\n static KeyPadQueryHotSpot(key) {\r\n var Prop = 'KeyPadQueryHotSpot/';\r\n Prop = Prop + key;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static KeyPadClearHotSpotList() {\r\n var Prop = 'KeyPadClearHotSpotList';\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigWindow(coords, xp, yp, xs, ys) {\r\n var Prop = 'SigWindow/';\r\n Prop = Prop + coords + ',' + xp + ',' + yp + ',' + xs + ',' + ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static ClearSigWindow(inside) {\r\n var Prop = 'ClearSigWindow/';\r\n Prop = Prop + inside;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETLCD.cs\r\n //\r\n static SetLCDCaptureMode(v) {\r\n var Prop = 'CaptureMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetLCDCaptureMode() {\r\n var Prop = 'CaptureMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDSetWindow(xP, yP, xS, yS) {\r\n var Prop = 'LCDSetWindow/';\r\n Prop = Prop + xP + ',' + yP + ',' + xS + ',' + yS;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDWriteString(dest, mode, x, y, fnt, size, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n var ys = size;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n if (xs == 0) {\r\n return;\r\n }\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageStream(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDDrawRectangle(dest, mode, x, y, xs, ys, fill) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.fillStyle = fill;\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDDrawButton(dest, mode, x, y, xs, ys, strys, fill, fnt, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var sxs = Math.round(cntx.measureText(txt).width);\r\n var sys = strys;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = fill;\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, (xs - sxs) / 2, (ys - sys) / 2);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDWriteStringWindow(dest, mode, x, y, fnt, xsize, ysize, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = xsize;\r\n var ys = ysize;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDStringWidth(fnt, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n\r\n return xs;\r\n }\r\n\r\n static LCDStringHeight(fnt, str) {\r\n return 16;\r\n }\r\n\r\n static LcdRefresh(Mode, Xp, Yp, Xs, Ys) {\r\n var Prop = 'LcdRefresh/';\r\n\r\n Prop = Prop + Mode + ',' + Xp + ',' + Yp + ',' + Xs + ',' + Ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDSendCmdString(CmdStr, ReturnCount, Result, TimeOut) {\r\n var Prop = 'LcdSendCmdString/';\r\n\r\n Prop = Prop + ReturnCount + ',' + TimeOut;\r\n Result = this.SigWebSetStreamProperty(Prop, CmdStr);\r\n }\r\n\r\n static LCDSendCmdData(CmdStr, ReturnCount, Result, TimeOut) {\r\n var Prop = 'LcdSendCmdData/';\r\n\r\n Prop = Prop + ReturnCount + ',' + TimeOut;\r\n Result = this.SigWebSetStreamProperty(Prop, CmdStr);\r\n }\r\n\r\n //\t\tfunction LCDSendWindowedGraphicCanvas( dest, mode, x, y, canvas )\r\n //\t\t\t {\r\n //\t\t\t }\r\n\r\n //\t\tfunction LCDSendWindowedGraphicCanvas( dest, mode, x, y, xs, ys, canvas )\r\n //\t\t\t{\r\n //\t\t\tvar Gstr = this.createLcdBitmapFromCanvas( canvas, 0, 0, xs, ys)\r\n //\t\t\tLcdWriteImageStream( dest, mode, x, y, xs, ys, Gstr );\r\n //\t\t\t}\r\n\r\n static LCDSendWindowedGraphicCanvas(dest, mode, x, y, xs, ys, c, xps, yps) {\r\n var canvas = document.createElement('canvas');\r\n var Gstr = this.createLcdBitmapFromCanvas(canvas, xps, yps, xs, ys);\r\n this.LcdWriteImageStream(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDSendGraphicUrl(dest, mode, x, y, url) {\r\n this.LcdWriteImage(dest, mode, x, y, url);\r\n }\r\n\r\n //\t\tfunction LCDSendGraphic( Dest, Mode, XPos, YPos, ImageFileName ) {}\r\n //\t\tfunction LCDSendGraphicURL( Dest, Mode, XPos, YPos, URL ) {}\r\n\r\n static LCDClear() {\r\n var Prop = 'LcdClear';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDSetTabletMap(\r\n LCDType,\r\n LCDXSize,\r\n LCDYSize,\r\n LCDXStart,\r\n LCDYStart,\r\n LCDXStop,\r\n LCDYStop\r\n ) {}\r\n\r\n static LCDSetPixelDepth(v) {\r\n var Prop = 'LcdSetPixelDepth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDGetLCDSize() {\r\n var Prop = 'LcdGetLcdSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n static LCDGetCompressionMode() {\r\n var Prop = 'LcdCompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDGetZCompressionMode() {\r\n var Prop = 'LcdZCompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETLCD.cs\r\n //\r\n\r\n static SetRealTabletState(v) {\r\n var Prop = 'TabletState/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletState() {\r\n var Prop = 'TabletState';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletLogicalXSize(v) {\r\n var Prop = 'TabletLogicalXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletLogicalXSize() {\r\n var Prop = 'TabletLogicalXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetTabletLogicalYSize() {\r\n var Prop = 'TabletLogicalYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletLogicalYSize(v) {\r\n var Prop = 'TabletLogicalYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletXStart(v) {\r\n var Prop = 'TabletXStart/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletXStart() {\r\n var Prop = 'TabletXStart';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletYStart(v) {\r\n var Prop = 'TabletYStart/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletYStart() {\r\n var Prop = 'TabletYStart';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletXStop(v) {\r\n var Prop = 'TabletXStop/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletXStop() {\r\n var Prop = 'TabletXStop';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletYStop(v) {\r\n var Prop = 'TabletYStop/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletYStop() {\r\n var Prop = 'TabletYStop';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletFilterPoints(v) {\r\n var Prop = 'TabletFilterPoints/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletFilterPoints() {\r\n var Prop = 'TabletFilterPoints';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletTimingAdvance(v) {\r\n var Prop = 'TabletTimingAdvance/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletTimingAdvance() {\r\n var Prop = 'TabletTimingAdvance';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletComPort(v) {\r\n var Prop = 'TabletComPort/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletComPort() {\r\n var Prop = 'TabletComPort';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletBaudRate(v) {\r\n var Prop = 'TabletBaudRate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletBaudRate() {\r\n var Prop = 'TabletBaudRate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletRotation(v) {\r\n var Prop = 'TabletRotation/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletRotation() {\r\n var Prop = 'TabletRotation';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletType(v) {\r\n var Prop = 'TabletType/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletType() {\r\n var Prop = 'TabletType';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetServerTabletType(v) {\r\n var Prop = 'ServerTabletType/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetServerTabletType() {\r\n var Prop = 'ServerTabletType';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletComTest(v) {\r\n var Prop = 'TabletComTest/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletComTest() {\r\n var Prop = 'TabletComTest';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletResolution(v) {\r\n var Prop = 'TabletResolution/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletResolution() {\r\n var Prop = 'TabletResolution';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletConnectQuery() {\r\n var Prop = 'TabletConnectQuery';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletModelNumber() {\r\n var Prop = 'TabletModelNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletSerialNumber() {\r\n var Prop = 'TabletSerialNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletPortPath(v) {\r\n var Prop = 'TabletPortPath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletLocalIniFilePath(v) {\r\n var Prop = 'TabletLocalIniFilePath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletModel(v) {\r\n var Prop = 'TabletModel/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSerialPortCloseDelay(v) {\r\n var Prop = 'SerialPortCloseDelay/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSerialPortCloseDelay() {\r\n var Prop = 'SerialPortCloseDelay';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static EnableTabletEncryption() {\r\n var Prop = 'EnableTabletEncryption';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletEncryptionMode(hmode, tmode) {\r\n var Prop = 'TabletEncryptionMode/';\r\n\r\n Prop = Prop + hmode + ',' + tmode;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetMaxLogFileSize(v) {\r\n var Prop = 'MaxLogFileSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSigSockServerPath() {\r\n var Prop = 'SigSockServerPath';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetSigSockClientName() {\r\n var Prop = 'SigSockClientName';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetSigSockPortNumber() {\r\n var Prop = 'SigSockPortNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSigSockServerPath(v) {\r\n var Prop = 'SigSockServerPath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigSockClientName(v) {\r\n var Prop = 'SigSockClientName/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetPortNumber(v) {\r\n var Prop = 'PortNumber/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigSockPortNumber(v) {\r\n var Prop = 'SigSockPortNumber/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetFirmwareRevision() {\r\n var Prop = 'FirmwareRevision';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletData(sigStr) {\r\n var Prop = 'TabletData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, sigStr);\r\n }\r\n\r\n static GetTabletData() {\r\n var Prop = 'TabletData';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static OpenTablet(v) {\r\n var Prop = 'OpenTablet/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static CloseTablet() {\r\n var Prop = 'CloseTablet';\r\n\r\n Prop = Prop;\r\n this.SigWebSetProperty(Prop);\r\n }\r\n\r\n static ResetParameters() {\r\n var Prop = 'ResetParameters';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static testRawData() {\r\n this.OpenTablet(1);\r\n var Str1 = this.GetTabletData();\r\n this.CloseTablet();\r\n }\r\n\r\n static SetTabletState(v, ctx, tv) {\r\n var delay;\r\n\r\n if (tv) {\r\n delay = tv;\r\n } else {\r\n delay = 100;\r\n }\r\n\r\n if (this.GetTabletState() != v) {\r\n if (v == 1) {\r\n if (ctx) {\r\n var can = ctx.canvas;\r\n this.SetDisplayXSize(can.width);\r\n this.SetDisplayYSize(can.height);\r\n this.SigWebSetDisplayTarget(ctx);\r\n }\r\n this.SetRealTabletState(v);\r\n var data = this.GetTabletState();\r\n var dataResult = data == '' || data == null ? 0 : Number(data);\r\n var tmr = null;\r\n if (ctx && dataResult != 0) {\r\n tmr = setInterval(() => this.SigWebRefresh(), delay);\r\n } else {\r\n tmr = null;\r\n }\r\n\r\n return tmr;\r\n } else {\r\n if (ctx) {\r\n clearInterval(ctx);\r\n }\r\n this.SigWebSetDisplayTarget(null);\r\n this.SetRealTabletState(v);\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n OnDestroy,\n ViewChild,\n Output,\n EventEmitter,\n Input,\n} from '@angular/core';\nimport { SigWebTablet } from '../../../utils/SigWeb/SigWeb';\nimport { Form, FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { SignaturePad } from 'angular2-signaturepad';\ninterface IOutputMessage {\n bioSigData: string;\n sigImgData: string;\n sigString: string;\n}\n\nclass OutputMessage implements IOutputMessage {\n bioSigData: string;\n sigImgData: string;\n sigString: string;\n}\n\n@Component({\n selector: 'lib-libey-ng-signature',\n templateUrl: './libey-ng-signature.component.html',\n styleUrls: ['./libey-ng-signature.component.css'],\n})\nexport class LibeyNgSignatureComponent implements AfterViewInit, OnDestroy {\n @Output() OutputSignature = new EventEmitter<IOutputMessage>();\n @Input() DeviceType: string = 'mousepad';\n\n private _destroy$: Subject<boolean> = new Subject<boolean>();\n @ViewChild('sigImg', { static: false })\n canvas!: ElementRef<HTMLCanvasElement>;\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\n cnvContext: CanvasRenderingContext2D;\n tmr: any;\n widthView: number = 500;\n heightView: number = 200;\n widthRender: number = 500;\n heightRender: number = 200;\n signaturePadOptions: Object = {\n minWidth: 5,\n canvasWidth: this.widthView,\n canvasHeight: this.heightView,\n };\n FileValidated = false;\n NotDriver = false;\n UploadFile: string = null;\n File: any;\n constructor() {}\n\n ngAfterViewInit(): void {\n this.InitDevice();\n }\n\n ngOnDestroy(): void {\n this.closingSigWeb();\n this._destroy$.next(true);\n }\n\n ChangeDevice() {\n this.NotDriver = false;\n this.UploadFile = null;\n this.File = null;\n setTimeout(() => {\n this.InitDevice();\n }, 200);\n }\n\n InitDevice() {\n if (this.DeviceType == 'pinpad') {\n this.cnvContext = (<HTMLCanvasElement>(\n this.canvas.nativeElement\n )).getContext('2d');\n }\n if (this.DeviceType == 'mousepad') {\n this.signaturePad.set('minWidth', 5);\n this.signaturePad.clear();\n }\n }\n\n closingSigWeb() {\n SigWebTablet.ClearTablet();\n SigWebTablet.SetTabletState(0, this.tmr, null);\n }\n\n onSign() {\n this.NotDriver = false;\n this.UploadFile = null;\n var driver = SigWebTablet.GetVersionString();\n if(driver == null){\n this.NotDriver = true;\n }else{\n this.NotDriver = false;\n console.log('onSign Clicked!');\n SigWebTablet.SetDisplayXSize(this.widthRender);\n SigWebTablet.SetDisplayYSize(this.heightRender);\n SigWebTablet.SetTabletState(0, this.tmr, null);\n SigWebTablet.SetJustifyMode(0);\n SigWebTablet.ClearTablet();\n\n if (this.tmr == null) {\n this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);\n } else {\n SigWebTablet.SetTabletState(0, this.tmr, null);\n this.tmr = null;\n this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);\n }\n } \n }\n\n onClear() {\n if(this.UploadFile == null){\n if (this.DeviceType == 'pinpad') {\n SigWebTablet.ClearTablet();\n if (this.cnvContext) {\n this.cnvContext.clearRect(\n 0,\n 0,\n this.canvas.nativeElement.width,\n this.canvas.nativeElement.height\n );\n }\n }\n if (this.DeviceType == 'mousepad') {\n this.signaturePad.clear();\n }\n }else{\n this.File = null;\n this.UploadFile = null;\n this.ChangeDevice();\n }\n }\n\n onDone() {\n var result = new OutputMessage();\n if(this.UploadFile == null){\n if (this.DeviceType == 'pinpad') {\n // if (Number(SigWebTablet.NumberOfTabletPoints()) === 0) {\n // alert('Por favor firme antes de continuar');\n // } else {\n SigWebTablet.SetTabletState(0, this.tmr, null);\n\n SigWebTablet.SetSigCompressionMode(1);\n result.bioSigData = SigWebTablet.GetSigString();\n result.sigImgData = SigWebTablet.GetSigString();\n SigWebTablet.SetImageXSize(this.widthRender);\n SigWebTablet.SetImageYSize(this.heightRender);\n SigWebTablet.SetImagePenWidth(5);\n SigWebTablet.GetSigImageB64((base64: string) => {\n result.sigString = \"data:image/png;base64,\" + base64;\n this.OutputSignature.emit(result);\n });\n // }\n }\n if (this.DeviceType == 'mousepad') {\n var result = new OutputMessage();\n result.sigString = this.signaturePad.toDataURL();\n this.OutputSignature.emit(result);\n }\n }else{\n result.sigString = this.UploadFile;\n this.OutputSignature.emit(result);\n }\n }\n fileEvent(event: any) {\n this.UploadFile = null;\n this.FileValidated = false;\n const file = event.target.files[0];\n if (file.type == 'image/jpeg' || file.type == 'image/png') {\n this.FileValidated = false;\n const newWidth = this.widthRender;\n const newHeight = this.heightRender;\n this.resizeImage(file, newWidth, newHeight)\n .then((resizedImageDataUrl) => {\n this.UploadFile = resizedImageDataUrl;\n })\n .catch((error) => {\n console.error('Error al redimensionar la imagen:', error);\n });\n }else{\n this.File = null;\n this.UploadFile = null;\n this.FileValidated = true;\n }\n }\n resizeImage(image: File, newWidth: number, newHeight: number): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = (e) => {\n const img = new Image();\n img.src = e.target.result as string;\n img.onload = () => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n canvas.width = newWidth;\n canvas.height = newHeight;\n ctx.drawImage(img, 0, 0, newWidth, newHeight);\n const resizedImageDataUrl = canvas.toDataURL(image.type);\n resolve(resizedImageDataUrl);\n };\n img.onerror = (error) => {\n reject(error);\n };\n };\n reader.readAsDataURL(image);\n });\n }\n}\n","<div class=\"container\">\n <div *ngIf=\"UploadFile==null\">\n <div *ngIf=\"DeviceType=='pinpad'\" style=\"cursor: pointer; border: 1px ridge #d2d2d2;\">\n <canvas (click)=\"onSign()\" #sigImg [width]=\"widthView\" [height]=\"heightView\"></canvas> \n </div>\n <div *ngIf=\"DeviceType=='mousepad'\" style=\"border: 1px ridge #d2d2d2;\">\n <signature-pad [options]=\"signaturePadOptions\"></signature-pad>\n </div>\n </div>\n <div *ngIf=\"UploadFile!=null\" style=\"border: 1px ridge #d2d2d2;\">\n <img [src]=\"UploadFile\" [width]=\"widthView\" [height]=\"heightView\" />\n </div>\n</div>\n\n<div class=\"row\">\n <div class=\"col-md-12\">\n <input type=\"file\" (change)=\"fileEvent($event)\" [(ngModel)]=\"File\" class=\"form-control form-control-ph\"\n accept=\"image/png, image/jpeg\" style=\"width: 485px;\">\n <label *ngIf=\"FileValidated\" [ngClass]=\"'text-danger'\">Archivo requerido. Formatos permitidos (jpeg, jpg, png)</label>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-6\">\n <ng-select [(ngModel)]=\"DeviceType\" class=\"ng-select\" placeholder=\"Seleccionar\" [clearable]=\"false\"\n (change)=\"ChangeDevice()\">\n <ng-option [value]=\"'pinpad'\">Pinpad</ng-option>\n <ng-option [value]=\"'mousepad'\">Mousepad</ng-option>\n </ng-select>\n <label *ngIf=\"NotDriver\" [ngClass]=\"'text-danger'\">No tiene el driver instalado</label>\n </div>\n <div class=\"col-md-6\">\n <p class=\"text-primary font-link-rp\" style=\"text-align: right; cursor: pointer;\" (click)=\"onClear()\">\n Limpiar firma\n </p>\n </div>\n</div>\n\n<div class=\"modal-footer mt-15 mb-4\">\n <button type=\"button\" class=\"btn btn-primary btn-save-rp\" (click)=\"onDone()\"> \n <i class=\"icon-save-white\"></i> Guardar\n </button>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { LibeyNgSignatureComponent } from './libey-ng-signature/libey-ng-signature.component';\nimport { SignaturePadModule } from 'angular2-signaturepad';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n declarations: [\n LibeyNgSignatureComponent\n ],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n SignaturePadModule,\n CommonModule,\n NgSelectModule,\n NgbModule \n ],\n exports: [\n LibeyNgSignatureComponent,\n SignaturePadModule,\n NgSelectModule,\n NgbModule\n ]\n})\nexport class LibeyNgSignatureModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { LibeyNgTableModule } from './table/libey-ng-table.module';\nimport { LibeyNgSignatureModule } from './signature/libey-ng-signature.module';\nimport { SignaturePadModule } from 'angular2-signaturepad';\n\n\n\n@NgModule({\n declarations: [\n ],\n imports: [\n CommonModule,\n FormsModule,\n LibeyNgTableModule,\n LibeyNgSignatureModule,\n SignaturePadModule\n ],\n exports: [\n LibeyNgTableModule,\n LibeyNgSignatureModule,\n SignaturePadModule\n ],\n providers: [DatePipe]\n})\nexport class LibeyNgComponentLibraryModule { }\n","/*\n * Public API Surface of libey-ng-component-library\n */\n\nexport * from './lib/libey-ng-component-library.service';\nexport * from './lib/libey-ng-component-library.component';\nexport * from './lib/libey-ng-component-library.module';\nexport * from './lib/table/libey-ng-table.module';\nexport * from './lib/table/libey-ng-table.component';\nexport * from './lib/table/directives/libey-column.directive';\nexport * from './lib/signature/libey-ng-signature.module';\nexport * from './lib/signature/libey-ng-signature/libey-ng-signature.component';\nexport * from './utils/SigWeb/SigWeb';\nimport { SignaturePadModule, SignaturePad } from 'angular2-signaturepad';\nexport { SignaturePadModule, SignaturePad };\nexport { NgSelectModule } from '@ng-select/ng-select';\nexport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nexport * from '@popperjs/core';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libey-ng-component-library.js","sources":["../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.service.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.component.ts","../../../projects/libey-ng-component-library/src/lib/table/directives/libey-column.directive.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.html","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.module.ts","../../../projects/libey-ng-component-library/src/utils/SigWeb/SigWeb.ts","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature/libey-ng-signature.component.ts","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature/libey-ng-signature.component.html","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature.module.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.module.ts","../../../projects/libey-ng-component-library/src/public-api.ts","../../../projects/libey-ng-component-library/src/libey-ng-component-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LibeyNgComponentLibraryService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-libey-ngComponent-library',\n template: `\n <p>\n libey-ng-component-library works!\n </p>\n `,\n styles: [\n ]\n})\nexport class LibeyNgComponentLibraryComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'libey-ng-column'\r\n})\r\nexport class LibeyColumnDirective {\r\n @Input() header!: string;\r\n @Input() property!: string;\r\n @Input() width!: number;\r\n @Input() view: boolean = true;\r\n @Input() arrayMap?: string;\r\n @Input() isArray?: boolean;\r\n @Input() expandable?: boolean;\r\n @Input() class?: string;\r\n @Input() classHeader?: string;\r\n @Input() childTableTemplate: TemplateRef<any>;\r\n @Input() isAutoClose: (item: any) => boolean = () => true;\r\n @Input() rowspan: (item: any) => number = () => 0;\r\n @Input() isRowspan?: boolean;\r\n @ContentChild('headerTemplate', { static: true }) headerTemplate: TemplateRef<any>;\r\n @ContentChild('cellTemplate', { static: true }) cellTemplate: TemplateRef<any>; \r\n @ContentChild(TemplateRef, { static: true }) defaultTemplate: TemplateRef<any>;\r\n getCellTemplate(): TemplateRef<any> {\r\n return this.cellTemplate || this.defaultTemplate;\r\n }\r\n\r\n \r\n}","import { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, QueryList, SimpleChanges, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { LibeyColumnDirective } from './directives/libey-column.directive';\r\ninterface IDataKey {\r\n key: number;\r\n dataKey: number;\r\n childTableTemplate: TemplateRef<any>;\r\n data: any[];\r\n autoClose: boolean;\r\n}\r\n\r\nclass DataKey implements IDataKey {\r\n key: number;\r\n dataKey: number;\r\n childTableTemplate: TemplateRef<any>;\r\n data: any[];\r\n autoClose: boolean;\r\n rowspan: number;\r\n}\r\n\r\n@Component({\r\n selector: 'libey-ng-table',\r\n templateUrl: './libey-ng-table.component.html',\r\n styleUrls: ['./libey-ng-table.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class LibeyNgTableComponent implements OnInit, AfterViewInit, OnChanges {\r\n @Input() set data(value: any[]) {\r\n this._data = value;\r\n }\r\n get data(): any[] {\r\n return this._data;\r\n }\r\n @Input() pageSize: number = 10;\r\n @Input() totalSize: number = 0;\r\n @Input() maxPageButtons: number = 5;\r\n @Input() height: number;\r\n @Input() expandable: boolean = false;\r\n @Input() viewPaginate: boolean = true;\r\n @Input() childTableTemplate!: TemplateRef<any>;\r\n @Input() headerfixed: boolean = false;\r\n @Input() class: string;\r\n @Input() internalPagination: boolean = true;\r\n @Input() currentPage: number = 1;\r\n @Output() pageChange = new EventEmitter<number>();\r\n \r\n @ContentChildren(LibeyColumnDirective) columns!: QueryList<LibeyColumnDirective>;\r\n\r\n rowExpandable: boolean[] = [];\r\n rowExpandableDetail: IDataKey[] = [];\r\n paginatedData: any[] = [];\r\n _data: any[] = [];\r\n columnWidths: number[] = [];\r\n resizingColumnIndex: number | null = null;\r\n startX: number = 0;\r\n startWidth: number = 0;\r\n @ViewChild('tableContainer') tableContainer!: ElementRef;\r\n @ViewChild('table') tableElement!: ElementRef;\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes.data && changes.data.previousValue){\r\n changes.data.currentValue.forEach((value, index) => {\r\n var findData = this.rowExpandableDetail.find(x => x.dataKey == index);\r\n if(findData != null)\r\n findData.autoClose = value.autoClose;\r\n });\r\n this._data = changes.data.currentValue;\r\n this.updatePaginatedData();\r\n }\r\n }\r\n ngOnInit(): void {\r\n this.updatePaginatedData();\r\n }\r\n ngAfterViewInit() {\r\n this.initializeColumnWidths();\r\n // this.adjustTableWidth()\r\n this.cdr.detectChanges();\r\n }\r\n\r\n initializeColumnWidths() {\r\n var padding = 31\r\n var widthDefault = 150\r\n this.columnWidths = this.columns.map(column => column.width);\r\n const containerWidth = this.tableContainer.nativeElement.offsetWidth;\r\n const autoColumns = this.columns.filter(column => column.width == null);\r\n const totalFixedWidth = this.columns.reduce((sum, column) =>\r\n column.width != null ? (sum + this.getWidthValue(column.width)) : sum, 0);\r\n const remainingWidth = containerWidth - (totalFixedWidth + (((this.columns.length - autoColumns.length) * padding)+ (this.expandable ? 61 : 0)));\r\n\r\n if (autoColumns.length > 0) {\r\n var autoColumnWidth = 0;\r\n if(remainingWidth < widthDefault)\r\n autoColumnWidth = widthDefault;\r\n else\r\n autoColumnWidth = Math.max(0, remainingWidth / autoColumns.length);\r\n autoColumns.forEach(column => column.width = autoColumnWidth- padding);\r\n }\r\n this.columnWidths = this.columns.map(column => column.width);\r\n }\r\n // adjustTableWidth() {\r\n // const totalWidth = this.columns.reduce((sum, column) => sum + this.getWidthValue(column.width), 0);\r\n // this.tableElement.nativeElement.style.width = `${totalWidth}px`;\r\n // }\r\n getWidthValue(width: number): number {\r\n return width === null ? 100 : width;\r\n }\r\n\r\n get totalPages(): number {\r\n return Math.ceil(this.totalSize / this.pageSize);\r\n }\r\n\r\n getCellValue(item: any, column: LibeyColumnDirective): string {\r\n const value = this.getNestedValue(item, column.property);\r\n if (Array.isArray(value) && column.arrayMap) {\r\n return value.map(v => this.getNestedValue(v, column.arrayMap!)).join(', ');\r\n }\r\n return value;\r\n }\r\n\r\n private getNestedValue(obj: any, path: string): any {\r\n return path.split('.').reduce((o, key) => {\r\n if (o && typeof o === 'object' && key in o) {\r\n return o[key];\r\n }\r\n return undefined;\r\n }, obj);\r\n }\r\n\r\n private updatePaginatedData(): void {\r\n if(this.viewPaginate && this.internalPagination){\r\n const start = (this.currentPage - 1) * this.pageSize;\r\n const end = start + this.pageSize;\r\n this.paginatedData = this.data.slice(start, end);\r\n }else{\r\n this.paginatedData = this.data;\r\n } \r\n }\r\n pageRange(): number[] {\r\n const start = Math.max(1, this.currentPage - Math.floor(this.maxPageButtons / 2));\r\n const end = Math.min(this.totalPages, start + this.maxPageButtons - 1);\r\n const startPreFinish = end - this.maxPageButtons + 1;\r\n const startFinish = startPreFinish < 1 ? 1 : startPreFinish;\r\n return Array.from({length: end - startFinish + 1}, (_, i) => startFinish + i);\r\n }\r\n goToPage(page: number): void {\r\n this.currentPage = Math.max(1, Math.min(page, this.totalPages));\r\n if(this.internalPagination){ \r\n this.updatePaginatedData(); \r\n }else{\r\n this.pageChange.emit(this.currentPage);\r\n }\r\n }\r\n // hasChildren(row: any): boolean{\r\n // return Array.isArray(row.child) && row.child.length > 0;\r\n // }\r\n toggleRow(index: number){\r\n this.rowExpandable[index] = !this.rowExpandable[index];\r\n }\r\n toggleRowDetail(key: number, indexData: number, column: LibeyColumnDirective, data: any){\r\n if(column.expandable){\r\n var exist = this.rowExpandableDetail.find(x => x.key == key && x.dataKey == indexData);\r\n if(exist == null){\r\n this.rowExpandableDetail = this.rowExpandableDetail.filter(x => (x.key != key || x.dataKey != indexData) && x.autoClose == false);\r\n var item = new DataKey();\r\n item.key = key;\r\n item.dataKey = indexData;\r\n item.childTableTemplate = column.childTableTemplate;\r\n item.autoClose = column.isAutoClose(data);\r\n this.rowExpandableDetail.push(item);\r\n }else{\r\n this.rowExpandableDetail = this.rowExpandableDetail.filter(x => x.key != key || x.dataKey != indexData);\r\n }\r\n }\r\n }\r\n getChildren(fila: any): any[] {\r\n return fila.hijos || [];\r\n }\r\n onResizeStart(index: number, event: MouseEvent) {\r\n this.resizingColumnIndex = index;\r\n this.startX = event.pageX;\r\n this.startWidth = this.columnWidths[index];\r\n document.addEventListener('mousemove', this.onResizeMove);\r\n document.addEventListener('mouseup', this.onResizeEnd);\r\n }\r\n onResizeMove = (event: MouseEvent) => {\r\n if (this.resizingColumnIndex !== null) {\r\n const diff = event.pageX - this.startX;\r\n this.columnWidths[this.resizingColumnIndex] = Math.max(this.startWidth + diff, 50);\r\n\r\n }\r\n }\r\n onResizeEnd = () => {\r\n this.resizingColumnIndex = null;\r\n document.removeEventListener('mousemove', this.onResizeMove);\r\n document.removeEventListener('mouseup', this.onResizeEnd);\r\n }\r\n existRowExpandableDetail(key: number, indexData: number) : boolean{\r\n return this.rowExpandableDetail.filter(x => x.key == key && x.dataKey == indexData).length > 0;\r\n }\r\n viewRowExpandableDetail(indexData: number) :boolean{\r\n return this.rowExpandableDetail.filter(x => x.dataKey == indexData).length > 0;\r\n }\r\n findRowExpandableDetail(indexData: number) :TemplateRef<any>{\r\n var find = this.rowExpandableDetail.find(x => x.dataKey == indexData);\r\n if(find)\r\n return find.childTableTemplate; \r\n else\r\n return null;\r\n }\r\n getRowSpan(column: LibeyColumnDirective, data: any){\r\n return column.rowspan(data);\r\n }\r\n}\r\n","<div class=\"table-container\" #tableContainer [style.height]=\"height == null ? 'auto':(height + 'px')\">\r\n <!-- <table cdkDropList (cdkDropListDropped)=\"drop($event)\"> -->\r\n <table #table [ngClass]=\"class\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"expandable\" [ngClass]=\"headerfixed == true ? 'th-fixed':''\" style=\"width: 25px;\"></th>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <th *ngIf=\"column.view\" [style.width]=\"column.width ? (column.width + 'px') : 'auto'\"\r\n [ngClass]=\"headerfixed == true ? (column.classHeader + ' th-fixed'): column.classHeader\">\r\n <!-- Custom header template -->\r\n <ng-container *ngIf=\"column.headerTemplate; else defaultHeader\">\r\n <ng-container [ngTemplateOutlet]=\"column.headerTemplate\"\r\n [ngTemplateOutletContext]=\"{ column: column, index: i }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <span style=\"white-space: nowrap;\">{{ column.header }}</span>\r\n </ng-template>\r\n <div class=\"resize-handle\" (mousedown)=\"onResizeStart(i, $event)\"></div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"_data.length == 0\">\r\n <tr>\r\n <td [colSpan]=\"expandable ? (columns.length + 1) : (columns.length)\" class=\"text-center\">\r\n No existen datos disponibles\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"paginatedData.length != 0\">\r\n <ng-container *ngFor=\"let item of paginatedData; let a = index\">\r\n <tr>\r\n <td *ngIf=\"expandable\">\r\n <button (click)=\"toggleRow(a)\">\r\n <i [ngClass]=\"rowExpandable[a] ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </td>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <td \r\n *ngIf=\"column.view && (column.isRowspan && column.rowspan(item) > 0)\"\r\n [attr.rowspan]=\"column.rowspan(item)\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"detailTd\" \r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container> \r\n </td>\r\n <td \r\n *ngIf=\"column.view && column.isRowspan != true\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"detailTd\" \r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container> \r\n </td>\r\n </ng-container>\r\n </tr>\r\n <ng-container *ngIf=\"viewRowExpandableDetail(a)\">\r\n <ng-container *ngTemplateOutlet=\"findRowExpandableDetail(a); context: { $implicit: item }\"></ng-container>\r\n </ng-container>\r\n <tr *ngIf=\"rowExpandable[a]\">\r\n <td [attr.colspan]=\"columns.length + (expandable ? 1 : 0)\">\r\n <ng-container [ngTemplateOutlet]=\"childTableTemplate\"\r\n [ngTemplateOutletContext]=\"{ parentRow: item }\">\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n</div>\r\n<div *ngIf=\"viewPaginate && _data.length != 0\" class=\"pagination-controls\">\r\n <div class=\"d-align-center\">\r\n <label class=\"lbl-footer me-20px\"># Registros: {{this.totalSize}}</label>\r\n <label class=\"lbl-footer\"># Filas: {{this.pageSize}}</label>\r\n </div>\r\n <div>\r\n <button (click)=\"goToPage(1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-first-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(currentPage - 1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-previous-page\"></i>\r\n </button>\r\n <ng-container *ngFor=\"let page of pageRange()\">\r\n <button\r\n (click)=\"goToPage(page)\"\r\n [class.active]=\"currentPage === page\"\r\n [disabled]=\"currentPage === page\">\r\n {{ page }}\r\n </button>\r\n </ng-container>\r\n <button (click)=\"goToPage(currentPage + 1)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-next-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(totalPages)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-last-page\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n<ng-template #detailTd let-item=\"item\" let-column=\"column\" let-indexData=\"indexData\" let-indexColumn=\"indexColumn\">\r\n <ng-container *ngIf=\"column.getCellTemplate(); else defaultCell\">\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n <ng-container [ngTemplateOutlet]=\"column.getCellTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item, column: column, index: indexData }\">\r\n </ng-container>\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultCell>\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n {{ getCellValue(item, column) }}\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</ng-template>","// table.module.ts\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LibeyColumnDirective } from './directives/libey-column.directive';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LibeyNgTableComponent } from './libey-ng-table.component';\r\n\r\n@NgModule({\r\n declarations: [LibeyNgTableComponent, LibeyColumnDirective],\r\n imports: [CommonModule,FormsModule],\r\n exports: [LibeyNgTableComponent, LibeyColumnDirective]\r\n})\r\nexport class LibeyNgTableModule { }","// SigWebTablet.ts\r\nexport class SigWebTablet {\r\n private static revokeBlobURL(url: string): void {\r\n if (window.URL) {\r\n URL.revokeObjectURL(url);\r\n } else if (window.webkitURL) {\r\n webkitURL.revokeObjectURL(url);\r\n }\r\n }\r\n private static getBlobURL(blob: Blob): string {\r\n if (window.URL) {\r\n return URL.createObjectURL(blob);\r\n } else if (window.webkitURL) {\r\n return webkitURL.createObjectURL(blob);\r\n }\r\n return ''; // Retornar un string vacío en caso de error\r\n }\r\n\r\n private static baseUri: string = SigWebTablet.makeUri();\r\n private static ctx;\r\n private static Count: boolean = false;\r\n private static EvStatus;\r\n private static onSigPenDown;\r\n private static onSigPenUp;\r\n private static SigWebFontThreshold = 155;\r\n private static NumPointsLastTime = 0;\r\n private static SigImageB64;\r\n\r\n private static makeUri(): string {\r\n var prot = location.protocol;\r\n if (prot == 'file:') {\r\n prot = 'http:';\r\n }\r\n\r\n if (this.isIE()) {\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n }\r\n\r\n if (this.isChrome()) {\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n } else {\r\n //FIREFOX\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n }\r\n }\r\n\r\n private static generateUUID(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\r\n /[xy]/g,\r\n function (c) {\r\n const r = (Math.random() * 16) | 0;\r\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n }\r\n );\r\n }\r\n\r\n static isSigWebInstalled(): boolean {\r\n const xhr = new XMLHttpRequest();\r\n try {\r\n xhr.open(\r\n 'GET',\r\n `${this.baseUri}TabletState?noCache=${this.generateUUID()}`,\r\n false\r\n );\r\n xhr.send();\r\n return xhr.status !== 404 && xhr.status !== 0;\r\n } catch (e) {\r\n console.log('Error checking SigWeb installation', e);\r\n return false;\r\n }\r\n }\r\n\r\n static isIE(): boolean {\r\n return (\r\n navigator.appName === 'Microsoft Internet Explorer' ||\r\n (navigator.appName === 'Netscape' &&\r\n new RegExp('Trident/.*rv:([0-9]{1,}[.0-9]{0,})').exec(\r\n navigator.userAgent\r\n ) != null)\r\n );\r\n }\r\n\r\n static isChrome(): boolean {\r\n return navigator.userAgent.lastIndexOf('Chrome/') > 0;\r\n }\r\n\r\n static SigWebcreateXHR(): XMLHttpRequest | null {\r\n const xhr = new XMLHttpRequest();\r\n if (!xhr) {\r\n throw new Error('No se pudo crear XMLHttpRequest');\r\n }\r\n\r\n return xhr;\r\n }\r\n\r\n static SigWebSetProperty(prop: string): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, true);\r\n xhr.send(null);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetPropertySync(prop: string): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.send();\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(strm);\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSyncSetStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(strm);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetImageStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'image/png');\r\n xhr.send(strm);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetImageBlobProperty(prop, strm) {\r\n var xhr = this.SigWebcreateXHR();\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'blob');\r\n xhr.send(strm);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebGetVersion(prop) {\r\n try {\r\n var xhr = this.SigWebcreateXHR();\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + prop + '?noCache=' + this.generateUUID(),\r\n false\r\n );\r\n xhr.send(null);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n } catch (error) {\r\n console.error('Error en SigWebGetVersion:', error);\r\n return null;\r\n }\r\n return null;\r\n }\r\n\r\n static SigWebGetProperty(prop) {\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + prop + '?noCache=' + this.generateUUID(),\r\n false\r\n );\r\n xhr.send(null);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static GetSigImageB64(callback) {\r\n var cvs = document.createElement('canvas');\r\n var width = this.GetImageXSize();\r\n var height = this.GetImageYSize();\r\n cvs.width = width == '' || width == null ? 0 : Number(width);\r\n cvs.height = height == '' || height == null ? 0 : Number(height);\r\n\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/1' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.send(null);\r\n xhr2.onload = () => {\r\n var cntx = cvs.getContext('2d');\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n img.onload = () => {\r\n cntx.drawImage(img, 0, 0);\r\n var b64String = cvs.toDataURL('image/png');\r\n var loc = b64String.search('base64,');\r\n var retstring = b64String.slice(loc + 7, b64String.length);\r\n if (callback) {\r\n callback(retstring);\r\n }\r\n };\r\n };\r\n }\r\n\r\n static SigWebWaitForPenDown(callback) {\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + 'WaitForPenDown' + '?noCache=' + this.generateUUID()\r\n );\r\n xhr.timeout = 10000;\r\n xhr.onreadystatechange = () => {\r\n if (xhr.readyState != 4) return;\r\n if (xhr.status == 200) callback();\r\n };\r\n xhr.send(null);\r\n }\r\n }\r\n\r\n static GetSigImage(ctx) {\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/1' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.send(null);\r\n xhr2.onload = () => {\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n img.onload = () => {\r\n ctx.drawImage(img, 0, 0);\r\n this.revokeBlobURL(img.src);\r\n img = null;\r\n };\r\n };\r\n }\r\n\r\n static SigWebSetDisplayTarget(obj) {\r\n this.ctx = obj;\r\n }\r\n\r\n static SigWebRefresh() {\r\n var NumPoints = Number(this.NumberOfTabletPoints());\r\n if (NumPoints == this.NumPointsLastTime) {\r\n return;\r\n }\r\n this.NumPointsLastTime = NumPoints;\r\n\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/0' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.onload = () => {\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n //\t\t\t\timg.src = window.URL.createObjectURL(xhr2.response);\r\n img.onload = () => {\r\n this.ctx.drawImage(img, 0, 0);\r\n this.revokeBlobURL(img.src);\r\n img = null;\r\n };\r\n };\r\n xhr2.send(null);\r\n }\r\n\r\n static SigWebEvent() {\r\n var OldEvStatus = this.EvStatus;\r\n\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + 'EventStatus' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr.onload = () => {\r\n this.EvStatus = xhr.responseText;\r\n if (OldEvStatus & 0x01 && this.EvStatus & 0x02) {\r\n if (this.onSigPenDown) {\r\n this.onSigPenDown();\r\n }\r\n }\r\n\r\n if (OldEvStatus & 0x02 && this.EvStatus & 0x01) {\r\n if (this.onSigPenUp) {\r\n this.onSigPenUp();\r\n }\r\n }\r\n };\r\n xhr.send(null);\r\n }\r\n }\r\n\r\n static setSigWebFontThreshold(v) {\r\n this.SigWebFontThreshold = v;\r\n }\r\n\r\n static createLcdBitmapFromCanvas(ourCanvas, xp, yp, width, height) {\r\n var canvasCtx = ourCanvas.getContext('2d');\r\n var imgData = canvasCtx.getImageData(0, 0, width, height);\r\n var j = 0;\r\n var sVal = 0;\r\n var outData = '';\r\n var outIdx = 0;\r\n var data = imgData.data;\r\n\r\n for (var y = 0; y < height; y++)\r\n for (var x = 0; x < width; x++) {\r\n var tmp1 = data[j];\r\n var tmp2 = data[j + 1];\r\n var tmp3 = data[j + 2];\r\n var tmp4 = data[j + 3];\r\n\r\n //\t\t\t\t\tsVal = tmp1 + (tmp2 << 8 ) + ( tmp3 << 16 ) + (tmp4 << 24 );\r\n j = j + 4;\r\n if (tmp1 < this.SigWebFontThreshold) {\r\n outData += 'B';\r\n } else {\r\n outData += 'W';\r\n }\r\n }\r\n\r\n return outData;\r\n }\r\n\r\n static toHex(NibVal) {\r\n switch (NibVal) {\r\n case 0:\r\n return '0';\r\n case 1:\r\n return '1';\r\n case 2:\r\n return '2';\r\n case 3:\r\n return '3';\r\n case 4:\r\n return '4';\r\n case 5:\r\n return '5';\r\n case 6:\r\n return '6';\r\n case 7:\r\n return '7';\r\n case 8:\r\n return '8';\r\n case 9:\r\n return '9';\r\n case 10:\r\n return 'A';\r\n case 11:\r\n return 'B';\r\n case 12:\r\n return 'C';\r\n case 13:\r\n return 'D';\r\n case 14:\r\n return 'E';\r\n case 15:\r\n return 'F';\r\n default:\r\n return '';\r\n }\r\n }\r\n static ToHexString(ByteVal) {\r\n var Str = '';\r\n Str += this.toHex((ByteVal >> 4) & 0x0f);\r\n Str += this.toHex(ByteVal & 0x0f);\r\n return Str;\r\n }\r\n\r\n static textToTablet(x, y, height, str, fnt) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n var ys = height;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, 0, 0, xs, ys);\r\n\r\n this.LcdWriteImageStream(0, 2, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LcdWriteImage(Dst, Mode, Xp, Yp, Url) {\r\n var Prop = 'LcdWriteImage/';\r\n var NewUrl = Url.replace(/\\//g, '_');\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + NewUrl;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LcdWriteLocalImage(Dst, Mode, Xp, Yp, Url) {\r\n var Prop = 'LcdWriteImage/';\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + Url;\r\n this.SigWebSetProperty(Prop);\r\n }\r\n\r\n static LcdWriteImageStream(Dst, Mode, Xp, Yp, Xs, Ys, Url) {\r\n var Prop1 =\r\n 'LcdWriteImageStreamParams/' +\r\n Dst +\r\n ',' +\r\n Mode +\r\n ',' +\r\n Xp +\r\n ',' +\r\n Yp +\r\n ',' +\r\n Xs +\r\n ',' +\r\n Ys;\r\n var Prop2 = 'LcdWriteImageStream/';\r\n\r\n this.SigWebSetPropertySync(Prop1);\r\n this.SigWebSetImageStreamProperty(Prop2, Url);\r\n }\r\n\r\n static LcdWriteImageBlob(Dst, Mode, Xp, Yp, Xs, Ys, Url) {\r\n var Prop = 'LcdWriteImageStream/';\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + Xs + ',' + Ys;\r\n this.SigWebSetImageBlobProperty(Prop, Url);\r\n }\r\n\r\n static measureText(pText, pFontSize, pStyle) {\r\n var lDiv = document.createElement('lDiv');\r\n\r\n document.body.appendChild(lDiv);\r\n\r\n if (pStyle != null) {\r\n lDiv.setAttribute('style', pStyle);\r\n }\r\n lDiv.style.fontSize = '' + pFontSize + 'px';\r\n lDiv.style.position = 'absolute';\r\n lDiv.style.left = '-1000';\r\n lDiv.style.top = '-1000';\r\n\r\n lDiv.innerHTML = pText;\r\n\r\n var lResult = {\r\n width: lDiv.clientWidth,\r\n height: lDiv.clientHeight,\r\n };\r\n\r\n document.body.removeChild(lDiv);\r\n lDiv = null;\r\n\r\n return lResult;\r\n }\r\n static GetVersionString() {\r\n var Prop = 'Version';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetVersion(Prop);\r\n if(Str == null)\r\n return Str;\r\n\r\n var trimStr = Str.slice(1, Str.length - 2);\r\n return trimStr;\r\n }\r\n\r\n static IsPenDown() {\r\n return this.EvStatus & 0x01;\r\n }\r\n\r\n //\r\n //\t\t\tSigPlusNETSig.cs\r\n //\r\n static ClearTablet() {\r\n var Prop = 'ClearSignature';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static NumberOfTabletPoints() {\r\n var Prop = 'TotalPoints';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSigString(sigStr, ctx) {\r\n var Prop = 'SigString';\r\n\r\n Prop = Prop;\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + Prop);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(sigStr);\r\n xhr.onload = () => {\r\n if (ctx) {\r\n var can = ctx.canvas;\r\n this.SetImageXSize(can.width);\r\n this.SetImageYSize(can.height);\r\n this.GetSigImage(ctx);\r\n }\r\n };\r\n }\r\n return '';\r\n }\r\n\r\n static GetSigString() {\r\n var Prop = 'SigString';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetSigCompressionMode(v) {\r\n var Prop = 'CompressionMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSigCompressionMode() {\r\n var Prop = 'CompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetEncryptionMode(v) {\r\n var Prop = 'EncryptionMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetEncryptionMode() {\r\n var Prop = 'EncryptionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetKeyString(keyString) {\r\n var Prop = 'KeyString';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyString);\r\n }\r\n\r\n static GetKeyString() {\r\n var Prop = 'KeyString';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static AutoKeyStart() {\r\n var Prop = 'AutoKeyStart';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static AutoKeyFinish() {\r\n var Prop = 'AutoKeyFinish';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetAutoKeyData(keyData) {\r\n var Prop = 'SetAutoKeyData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyData);\r\n }\r\n\r\n static AutoKeyAddData(keyData) {\r\n var Prop = 'AutoKeyAddData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyData);\r\n return this.GetKeyString();\r\n }\r\n\r\n //\t\tfunction GetKeyReceipt( ) {}\r\n\r\n static GetKeyReceiptAscii() {\r\n var Prop = 'KeyReceiptAscii';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n //\t\tfunction GetSigReceipt( ) {}\r\n\r\n static GetSigReceiptAscii() {\r\n var Prop = 'SigReceiptAscii';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetTimeStamp(timeStamp) {\r\n var Prop = 'TimeStamp';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, timeStamp);\r\n }\r\n\r\n static GetTimeStamp() {\r\n var Prop = 'TimeStamp';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetAnnotate(annotate) {\r\n var Prop = 'Annotate';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, annotate);\r\n }\r\n\r\n static GetAnnotate() {\r\n var Prop = 'Annotate';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetSaveSigInfo(v) {\r\n var Prop = 'SaveSigInfo/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSaveSigInfo() {\r\n var Prop = 'SaveSigInfo';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSavePressureData(v) {\r\n var Prop = 'SavePressureData/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSavePressureData() {\r\n var Prop = 'SavePressureData';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSaveTimeData(v) {\r\n var Prop = 'SaveTimeData/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSaveTimeData() {\r\n var Prop = 'SaveTimeData';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasSpotSize(v) {\r\n var Prop = 'AntiAliasSpotSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasSpotSize() {\r\n var Prop = 'AntiAliasSpotSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasLineScale(v) {\r\n var Prop = 'AntiAliasLineScale/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasLineScale() {\r\n var Prop = 'AntiAliasLineScale';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetNumberOfStrokes() {\r\n var Prop = 'NumberOfStrokes';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetNumPointsForStroke(v) {\r\n var Prop = 'NumberOfPointsInStroke/';\r\n\r\n Prop = Prop + v;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetPointXValue(v1, v2) {\r\n var Prop = 'PointXValue/';\r\n\r\n Prop = Prop + v1 + '/' + v2;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetPointYValue(v1, v2) {\r\n var Prop = 'PointYValue/';\r\n\r\n Prop = Prop + v1 + '/' + v2;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasEnable(v) {\r\n var Prop = 'AntiAliasEnable/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasEnable() {\r\n var Prop = 'AntiAliasEnable';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetUseAmbientColors(v) {\r\n var Prop = 'UseAmbientColors/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETDisplay.cs\r\n //\r\n static SetDisplayXSize(v) {\r\n var Prop = 'DisplayXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayXSize() {\r\n var Prop = 'DisplayXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayYSize(v) {\r\n var Prop = 'DisplayYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayYSize() {\r\n var Prop = 'DisplayYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayPenWidth(v) {\r\n var Prop = 'DisplayPenWidth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayPenWidth() {\r\n var Prop = 'DisplayPenWidth';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStamp(v) {\r\n var Prop = 'DisplayTimeStamp/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStamp() {\r\n var Prop = 'DisplayTimeStamp';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampPosX(v) {\r\n var Prop = 'DisplayTimeStampPosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampPosX() {\r\n var Prop = 'DisplayTimeStampPosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampPosY(v) {\r\n var Prop = 'DisplayTimeStampPosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampPosY() {\r\n var Prop = 'DisplayTimeStampPosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampSize(v) {\r\n var Prop = 'DisplayTimeStampSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampSize() {\r\n var Prop = 'DisplayTimeStampSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotate(v) {\r\n var Prop = 'DisplayAnnotate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotate() {\r\n var Prop = 'DisplayAnnotate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotatePosX(v) {\r\n var Prop = 'DisplayAnnotatePosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotatePosX() {\r\n var Prop = 'DisplayAnnotatePosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotatePosY(v) {\r\n var Prop = 'DisplayAnnotatePosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotatePosY() {\r\n var Prop = 'DisplayAnnotatePosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotateSize(v) {\r\n var Prop = 'DisplayAnnotateSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotateSize() {\r\n var Prop = 'DisplayAnnotateSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETImage.cs\r\n //\r\n //\t\tfunction GetSigImageB64( )\r\n //\t\t\t{\r\n //\t\t\tvar xhr2 = new XMLHttpRequest();\r\n //\t\t\txhr2.open(\"GET\", baseUri + \"SigImage/1\", false );\r\n //\t\t\txhr2.responseType = \"blob\"\r\n //\t\t\txhr2.send(null);\r\n //\t\t\tif (xhr2.readyState == 4 && xhr.status == 200)\r\n //\t\t\t\t{\r\n //\t\t\t\treturn window.URL.createObjectURL(xhr2.response);\r\n //\t\t\t\t}\r\n //\t\t\treturn null;\r\n //\t\t\t}\r\n\r\n static SetImageXSize(v) {\r\n var Prop = 'ImageXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageXSize() {\r\n var Prop = 'ImageXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageYSize(v) {\r\n var Prop = 'ImageYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageYSize() {\r\n var Prop = 'ImageYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImagePenWidth(v) {\r\n var Prop = 'ImagePenWidth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImagePenWidth() {\r\n var Prop = 'ImagePenWidth';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStamp(v) {\r\n var Prop = 'ImageTimeStamp/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStamp() {\r\n var Prop = 'ImageTimeStamp';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampPosX(v) {\r\n var Prop = 'ImageTimeStampPosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampPosX() {\r\n var Prop = 'ImageTimeStampPosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampPosY(v) {\r\n var Prop = 'ImageTimeStampPosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampPosY() {\r\n var Prop = 'ImageTimeStampPosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampSize(v) {\r\n var Prop = 'ImageTimeStampSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampSize() {\r\n var Prop = 'ImageTimeStampSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotate(v) {\r\n var Prop = 'ImageAnnotate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotate() {\r\n var Prop = 'ImageAnnotate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotatePosX(v) {\r\n var Prop = 'ImageAnnotatePosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotatePosX() {\r\n var Prop = 'ImageAnnotatePosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotatePosY(v) {\r\n var Prop = 'ImageAnnotatePosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotatePosY() {\r\n var Prop = 'ImageAnnotatePosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotateSize(v) {\r\n var Prop = 'ImageAnnotateSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotateSize() {\r\n var Prop = 'ImageAnnotateSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyX(v) {\r\n var Prop = 'JustifyX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyX() {\r\n var Prop = 'JustifyX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyY(v) {\r\n var Prop = 'JustifyY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyY() {\r\n var Prop = 'JustifyY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyMode(v) {\r\n var Prop = 'JustifyMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyMode() {\r\n var Prop = 'JustifyMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETKeyPad.cs\r\n //\r\n static KeyPadAddHotSpot(key, coord, xp, yp, xs, ys) {\r\n var Prop = 'KeyPadAddHotSpot/';\r\n Prop = Prop + key + ',' + coord + ',' + xp + ',' + yp + ',' + xs + ',' + ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static KeyPadMarkHotSpot(key, coord, xp, yp, xs, ys) {\r\n this.LCDWriteString(0, 2, xp, yp, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp + xs, yp, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp, yp + ys, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp + xs, yp + ys, '16pt sans-serif', 32, '+');\r\n }\r\n\r\n static KeyPadQueryHotSpot(key) {\r\n var Prop = 'KeyPadQueryHotSpot/';\r\n Prop = Prop + key;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static KeyPadClearHotSpotList() {\r\n var Prop = 'KeyPadClearHotSpotList';\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigWindow(coords, xp, yp, xs, ys) {\r\n var Prop = 'SigWindow/';\r\n Prop = Prop + coords + ',' + xp + ',' + yp + ',' + xs + ',' + ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static ClearSigWindow(inside) {\r\n var Prop = 'ClearSigWindow/';\r\n Prop = Prop + inside;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETLCD.cs\r\n //\r\n static SetLCDCaptureMode(v) {\r\n var Prop = 'CaptureMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetLCDCaptureMode() {\r\n var Prop = 'CaptureMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDSetWindow(xP, yP, xS, yS) {\r\n var Prop = 'LCDSetWindow/';\r\n Prop = Prop + xP + ',' + yP + ',' + xS + ',' + yS;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDWriteString(dest, mode, x, y, fnt, size, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n var ys = size;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n if (xs == 0) {\r\n return;\r\n }\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageStream(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDDrawRectangle(dest, mode, x, y, xs, ys, fill) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.fillStyle = fill;\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDDrawButton(dest, mode, x, y, xs, ys, strys, fill, fnt, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var sxs = Math.round(cntx.measureText(txt).width);\r\n var sys = strys;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = fill;\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, (xs - sxs) / 2, (ys - sys) / 2);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDWriteStringWindow(dest, mode, x, y, fnt, xsize, ysize, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = xsize;\r\n var ys = ysize;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDStringWidth(fnt, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n\r\n return xs;\r\n }\r\n\r\n static LCDStringHeight(fnt, str) {\r\n return 16;\r\n }\r\n\r\n static LcdRefresh(Mode, Xp, Yp, Xs, Ys) {\r\n var Prop = 'LcdRefresh/';\r\n\r\n Prop = Prop + Mode + ',' + Xp + ',' + Yp + ',' + Xs + ',' + Ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDSendCmdString(CmdStr, ReturnCount, Result, TimeOut) {\r\n var Prop = 'LcdSendCmdString/';\r\n\r\n Prop = Prop + ReturnCount + ',' + TimeOut;\r\n Result = this.SigWebSetStreamProperty(Prop, CmdStr);\r\n }\r\n\r\n static LCDSendCmdData(CmdStr, ReturnCount, Result, TimeOut) {\r\n var Prop = 'LcdSendCmdData/';\r\n\r\n Prop = Prop + ReturnCount + ',' + TimeOut;\r\n Result = this.SigWebSetStreamProperty(Prop, CmdStr);\r\n }\r\n\r\n //\t\tfunction LCDSendWindowedGraphicCanvas( dest, mode, x, y, canvas )\r\n //\t\t\t {\r\n //\t\t\t }\r\n\r\n //\t\tfunction LCDSendWindowedGraphicCanvas( dest, mode, x, y, xs, ys, canvas )\r\n //\t\t\t{\r\n //\t\t\tvar Gstr = this.createLcdBitmapFromCanvas( canvas, 0, 0, xs, ys)\r\n //\t\t\tLcdWriteImageStream( dest, mode, x, y, xs, ys, Gstr );\r\n //\t\t\t}\r\n\r\n static LCDSendWindowedGraphicCanvas(dest, mode, x, y, xs, ys, c, xps, yps) {\r\n var canvas = document.createElement('canvas');\r\n var Gstr = this.createLcdBitmapFromCanvas(canvas, xps, yps, xs, ys);\r\n this.LcdWriteImageStream(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDSendGraphicUrl(dest, mode, x, y, url) {\r\n this.LcdWriteImage(dest, mode, x, y, url);\r\n }\r\n\r\n //\t\tfunction LCDSendGraphic( Dest, Mode, XPos, YPos, ImageFileName ) {}\r\n //\t\tfunction LCDSendGraphicURL( Dest, Mode, XPos, YPos, URL ) {}\r\n\r\n static LCDClear() {\r\n var Prop = 'LcdClear';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDSetTabletMap(\r\n LCDType,\r\n LCDXSize,\r\n LCDYSize,\r\n LCDXStart,\r\n LCDYStart,\r\n LCDXStop,\r\n LCDYStop\r\n ) {}\r\n\r\n static LCDSetPixelDepth(v) {\r\n var Prop = 'LcdSetPixelDepth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDGetLCDSize() {\r\n var Prop = 'LcdGetLcdSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n static LCDGetCompressionMode() {\r\n var Prop = 'LcdCompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDGetZCompressionMode() {\r\n var Prop = 'LcdZCompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETLCD.cs\r\n //\r\n\r\n static SetRealTabletState(v) {\r\n var Prop = 'TabletState/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletState() {\r\n var Prop = 'TabletState';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletLogicalXSize(v) {\r\n var Prop = 'TabletLogicalXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletLogicalXSize() {\r\n var Prop = 'TabletLogicalXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetTabletLogicalYSize() {\r\n var Prop = 'TabletLogicalYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletLogicalYSize(v) {\r\n var Prop = 'TabletLogicalYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletXStart(v) {\r\n var Prop = 'TabletXStart/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletXStart() {\r\n var Prop = 'TabletXStart';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletYStart(v) {\r\n var Prop = 'TabletYStart/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletYStart() {\r\n var Prop = 'TabletYStart';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletXStop(v) {\r\n var Prop = 'TabletXStop/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletXStop() {\r\n var Prop = 'TabletXStop';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletYStop(v) {\r\n var Prop = 'TabletYStop/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletYStop() {\r\n var Prop = 'TabletYStop';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletFilterPoints(v) {\r\n var Prop = 'TabletFilterPoints/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletFilterPoints() {\r\n var Prop = 'TabletFilterPoints';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletTimingAdvance(v) {\r\n var Prop = 'TabletTimingAdvance/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletTimingAdvance() {\r\n var Prop = 'TabletTimingAdvance';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletComPort(v) {\r\n var Prop = 'TabletComPort/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletComPort() {\r\n var Prop = 'TabletComPort';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletBaudRate(v) {\r\n var Prop = 'TabletBaudRate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletBaudRate() {\r\n var Prop = 'TabletBaudRate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletRotation(v) {\r\n var Prop = 'TabletRotation/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletRotation() {\r\n var Prop = 'TabletRotation';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletType(v) {\r\n var Prop = 'TabletType/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletType() {\r\n var Prop = 'TabletType';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetServerTabletType(v) {\r\n var Prop = 'ServerTabletType/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetServerTabletType() {\r\n var Prop = 'ServerTabletType';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletComTest(v) {\r\n var Prop = 'TabletComTest/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletComTest() {\r\n var Prop = 'TabletComTest';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletResolution(v) {\r\n var Prop = 'TabletResolution/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletResolution() {\r\n var Prop = 'TabletResolution';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletConnectQuery() {\r\n var Prop = 'TabletConnectQuery';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletModelNumber() {\r\n var Prop = 'TabletModelNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletSerialNumber() {\r\n var Prop = 'TabletSerialNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletPortPath(v) {\r\n var Prop = 'TabletPortPath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletLocalIniFilePath(v) {\r\n var Prop = 'TabletLocalIniFilePath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletModel(v) {\r\n var Prop = 'TabletModel/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSerialPortCloseDelay(v) {\r\n var Prop = 'SerialPortCloseDelay/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSerialPortCloseDelay() {\r\n var Prop = 'SerialPortCloseDelay';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static EnableTabletEncryption() {\r\n var Prop = 'EnableTabletEncryption';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletEncryptionMode(hmode, tmode) {\r\n var Prop = 'TabletEncryptionMode/';\r\n\r\n Prop = Prop + hmode + ',' + tmode;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetMaxLogFileSize(v) {\r\n var Prop = 'MaxLogFileSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSigSockServerPath() {\r\n var Prop = 'SigSockServerPath';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetSigSockClientName() {\r\n var Prop = 'SigSockClientName';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetSigSockPortNumber() {\r\n var Prop = 'SigSockPortNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSigSockServerPath(v) {\r\n var Prop = 'SigSockServerPath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigSockClientName(v) {\r\n var Prop = 'SigSockClientName/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetPortNumber(v) {\r\n var Prop = 'PortNumber/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigSockPortNumber(v) {\r\n var Prop = 'SigSockPortNumber/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetFirmwareRevision() {\r\n var Prop = 'FirmwareRevision';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletData(sigStr) {\r\n var Prop = 'TabletData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, sigStr);\r\n }\r\n\r\n static GetTabletData() {\r\n var Prop = 'TabletData';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static OpenTablet(v) {\r\n var Prop = 'OpenTablet/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static CloseTablet() {\r\n var Prop = 'CloseTablet';\r\n\r\n Prop = Prop;\r\n this.SigWebSetProperty(Prop);\r\n }\r\n\r\n static ResetParameters() {\r\n var Prop = 'ResetParameters';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static testRawData() {\r\n this.OpenTablet(1);\r\n var Str1 = this.GetTabletData();\r\n this.CloseTablet();\r\n }\r\n\r\n static SetTabletState(v, ctx, tv) {\r\n var delay;\r\n\r\n if (tv) {\r\n delay = tv;\r\n } else {\r\n delay = 100;\r\n }\r\n\r\n if (this.GetTabletState() != v) {\r\n if (v == 1) {\r\n if (ctx) {\r\n var can = ctx.canvas;\r\n this.SetDisplayXSize(can.width);\r\n this.SetDisplayYSize(can.height);\r\n this.SigWebSetDisplayTarget(ctx);\r\n }\r\n this.SetRealTabletState(v);\r\n var data = this.GetTabletState();\r\n var dataResult = data == '' || data == null ? 0 : Number(data);\r\n var tmr = null;\r\n if (ctx && dataResult != 0) {\r\n tmr = setInterval(() => this.SigWebRefresh(), delay);\r\n } else {\r\n tmr = null;\r\n }\r\n\r\n return tmr;\r\n } else {\r\n if (ctx) {\r\n clearInterval(ctx);\r\n }\r\n this.SigWebSetDisplayTarget(null);\r\n this.SetRealTabletState(v);\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n OnDestroy,\n ViewChild,\n Output,\n EventEmitter,\n Input,\n} from '@angular/core';\nimport { SigWebTablet } from '../../../utils/SigWeb/SigWeb';\nimport { Form, FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { SignaturePad } from 'angular2-signaturepad';\ninterface IOutputMessage {\n bioSigData: string;\n sigImgData: string;\n sigString: string;\n}\n\nclass OutputMessage implements IOutputMessage {\n bioSigData: string;\n sigImgData: string;\n sigString: string;\n}\n\n@Component({\n selector: 'lib-libey-ng-signature',\n templateUrl: './libey-ng-signature.component.html',\n styleUrls: ['./libey-ng-signature.component.css'],\n})\nexport class LibeyNgSignatureComponent implements AfterViewInit, OnDestroy {\n @Output() OutputSignature = new EventEmitter<IOutputMessage>();\n @Input() DeviceType: string = 'mousepad';\n\n private _destroy$: Subject<boolean> = new Subject<boolean>();\n @ViewChild('sigImg', { static: false })\n canvas!: ElementRef<HTMLCanvasElement>;\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\n cnvContext: CanvasRenderingContext2D;\n tmr: any;\n widthView: number = 500;\n heightView: number = 200;\n widthRender: number = 500;\n heightRender: number = 200;\n signaturePadOptions: Object = {\n minWidth: 5,\n canvasWidth: this.widthView,\n canvasHeight: this.heightView,\n };\n FileValidated = false;\n NotDriver = false;\n UploadFile: string = null;\n File: any;\n constructor() {}\n\n ngAfterViewInit(): void {\n this.InitDevice();\n }\n\n ngOnDestroy(): void {\n this.closingSigWeb();\n this._destroy$.next(true);\n }\n\n ChangeDevice() {\n this.NotDriver = false;\n this.UploadFile = null;\n this.File = null;\n setTimeout(() => {\n this.InitDevice();\n }, 200);\n }\n\n InitDevice() {\n if (this.DeviceType == 'pinpad') {\n this.cnvContext = (<HTMLCanvasElement>(\n this.canvas.nativeElement\n )).getContext('2d');\n }\n if (this.DeviceType == 'mousepad') {\n this.signaturePad.set('minWidth', 5);\n this.signaturePad.clear();\n }\n }\n\n closingSigWeb() {\n SigWebTablet.ClearTablet();\n SigWebTablet.SetTabletState(0, this.tmr, null);\n }\n\n onSign() {\n this.NotDriver = false;\n this.UploadFile = null;\n var driver = SigWebTablet.GetVersionString();\n if(driver == null){\n this.NotDriver = true;\n }else{\n this.NotDriver = false;\n console.log('onSign Clicked!');\n SigWebTablet.SetDisplayXSize(this.widthRender);\n SigWebTablet.SetDisplayYSize(this.heightRender);\n SigWebTablet.SetTabletState(0, this.tmr, null);\n SigWebTablet.SetJustifyMode(0);\n SigWebTablet.ClearTablet();\n\n if (this.tmr == null) {\n this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);\n } else {\n SigWebTablet.SetTabletState(0, this.tmr, null);\n this.tmr = null;\n this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);\n }\n } \n }\n\n onClear() {\n if(this.UploadFile == null){\n if (this.DeviceType == 'pinpad') {\n SigWebTablet.ClearTablet();\n if (this.cnvContext) {\n this.cnvContext.clearRect(\n 0,\n 0,\n this.canvas.nativeElement.width,\n this.canvas.nativeElement.height\n );\n }\n }\n if (this.DeviceType == 'mousepad') {\n this.signaturePad.clear();\n }\n }else{\n this.File = null;\n this.UploadFile = null;\n this.ChangeDevice();\n }\n }\n\n onDone() {\n var result = new OutputMessage();\n if(this.UploadFile == null){\n if (this.DeviceType == 'pinpad') {\n // if (Number(SigWebTablet.NumberOfTabletPoints()) === 0) {\n // alert('Por favor firme antes de continuar');\n // } else {\n SigWebTablet.SetTabletState(0, this.tmr, null);\n\n SigWebTablet.SetSigCompressionMode(1);\n result.bioSigData = SigWebTablet.GetSigString();\n result.sigImgData = SigWebTablet.GetSigString();\n SigWebTablet.SetImageXSize(this.widthRender);\n SigWebTablet.SetImageYSize(this.heightRender);\n SigWebTablet.SetImagePenWidth(5);\n SigWebTablet.GetSigImageB64((base64: string) => {\n result.sigString = \"data:image/png;base64,\" + base64;\n this.OutputSignature.emit(result);\n });\n // }\n }\n if (this.DeviceType == 'mousepad') {\n var result = new OutputMessage();\n result.sigString = this.signaturePad.toDataURL();\n this.OutputSignature.emit(result);\n }\n }else{\n result.sigString = this.UploadFile;\n this.OutputSignature.emit(result);\n }\n }\n fileEvent(event: any) {\n this.UploadFile = null;\n this.FileValidated = false;\n const file = event.target.files[0];\n if (file.type == 'image/jpeg' || file.type == 'image/png') {\n this.FileValidated = false;\n const newWidth = this.widthRender;\n const newHeight = this.heightRender;\n this.resizeImage(file, newWidth, newHeight)\n .then((resizedImageDataUrl) => {\n this.UploadFile = resizedImageDataUrl;\n })\n .catch((error) => {\n console.error('Error al redimensionar la imagen:', error);\n });\n }else{\n this.File = null;\n this.UploadFile = null;\n this.FileValidated = true;\n }\n }\n resizeImage(image: File, newWidth: number, newHeight: number): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = (e) => {\n const img = new Image();\n img.src = e.target.result as string;\n img.onload = () => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n canvas.width = newWidth;\n canvas.height = newHeight;\n ctx.drawImage(img, 0, 0, newWidth, newHeight);\n const resizedImageDataUrl = canvas.toDataURL(image.type);\n resolve(resizedImageDataUrl);\n };\n img.onerror = (error) => {\n reject(error);\n };\n };\n reader.readAsDataURL(image);\n });\n }\n}\n","<div class=\"container\">\n <div *ngIf=\"UploadFile==null\">\n <div *ngIf=\"DeviceType=='pinpad'\" style=\"cursor: pointer; border: 1px ridge #d2d2d2;\">\n <canvas (click)=\"onSign()\" #sigImg [width]=\"widthView\" [height]=\"heightView\"></canvas> \n </div>\n <div *ngIf=\"DeviceType=='mousepad'\" style=\"border: 1px ridge #d2d2d2;\">\n <signature-pad [options]=\"signaturePadOptions\"></signature-pad>\n </div>\n </div>\n <div *ngIf=\"UploadFile!=null\" style=\"border: 1px ridge #d2d2d2;\">\n <img [src]=\"UploadFile\" [width]=\"widthView\" [height]=\"heightView\" />\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-12\" style=\"padding-top: 17px !important; padding-bottom: 17px !important;\">\n <input type=\"file\" (change)=\"fileEvent($event)\" [(ngModel)]=\"File\" class=\"form-control form-control-ph\"\n accept=\"image/png, image/jpeg\" style=\"border: none;\">\n <label *ngIf=\"FileValidated\" [ngClass]=\"'text-danger'\">Archivo requerido. Formatos permitidos (jpeg, jpg, png)</label>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-6\">\n <ng-select [(ngModel)]=\"DeviceType\" class=\"ng-select\" placeholder=\"Seleccionar\" [clearable]=\"false\"\n (change)=\"ChangeDevice()\">\n <ng-option [value]=\"'pinpad'\">Pinpad</ng-option>\n <ng-option [value]=\"'mousepad'\">Mousepad</ng-option>\n </ng-select>\n <label *ngIf=\"NotDriver\" [ngClass]=\"'text-danger'\">No tiene el driver instalado</label>\n </div>\n <div class=\"col-md-6\">\n <p class=\"text-primary font-link-rp\" style=\"text-align: right; cursor: pointer;\" (click)=\"onClear()\">\n Limpiar firma\n </p>\n </div>\n</div>\n\n<div class=\"modal-footer mt-15 mb-4\">\n <button type=\"button\" class=\"btn btn-primary btn-save-rp\" (click)=\"onDone()\"> \n <i class=\"icon-save-white\"></i> Guardar\n </button>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { LibeyNgSignatureComponent } from './libey-ng-signature/libey-ng-signature.component';\nimport { SignaturePadModule } from 'angular2-signaturepad';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n declarations: [\n LibeyNgSignatureComponent\n ],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n SignaturePadModule,\n CommonModule,\n NgSelectModule,\n NgbModule \n ],\n exports: [\n LibeyNgSignatureComponent,\n SignaturePadModule,\n NgSelectModule,\n NgbModule\n ]\n})\nexport class LibeyNgSignatureModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { LibeyNgTableModule } from './table/libey-ng-table.module';\nimport { LibeyNgSignatureModule } from './signature/libey-ng-signature.module';\nimport { SignaturePadModule } from 'angular2-signaturepad';\n\n\n\n@NgModule({\n declarations: [\n ],\n imports: [\n CommonModule,\n FormsModule,\n LibeyNgTableModule,\n LibeyNgSignatureModule,\n SignaturePadModule\n ],\n exports: [\n LibeyNgTableModule,\n LibeyNgSignatureModule,\n SignaturePadModule\n ],\n providers: [DatePipe]\n})\nexport class LibeyNgComponentLibraryModule { }\n","/*\n * Public API Surface of libey-ng-component-library\n */\n\nexport * from './lib/libey-ng-component-library.service';\nexport * from './lib/libey-ng-component-library.component';\nexport * from './lib/libey-ng-component-library.module';\nexport * from './lib/table/libey-ng-table.module';\nexport * from './lib/table/libey-ng-table.component';\nexport * from './lib/table/directives/libey-column.directive';\nexport * from './lib/signature/libey-ng-signature.module';\nexport * from './lib/signature/libey-ng-signature/libey-ng-signature.component';\nexport * from './utils/SigWeb/SigWeb';\nimport { SignaturePadModule, SignaturePad } from 'angular2-signaturepad';\nexport { SignaturePadModule, SignaturePad };\nexport { NgSelectModule } from '@ng-select/ng-select';\nexport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nexport * from '@popperjs/core';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3"],"mappings":"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"}
|