{"version":3,"sources":["./src/app/core/components/image-upload/image-upload.component.html","./src/app/common-feature/pipes/capitalize.pipe.ts","./src/app/core/dialogs/forms/forms.component.ts","./src/app/common-feature/components/loading/loading.component.html","./src/app/core/components/draw-canvas/draw-canvas.component.ts","./src/app/core/common/enum/broadcaster-key.enum.ts","./src/app/core/services/local-storage.service.ts","./src/app/common-feature/pipes/safeHtml.pipe.ts","./src/app/core/components/page-not-found/page-not-found.component.html","./src/app/core/components/signature-and-initial-type/signature-and-initial-type.component.html","./src/app/core/components/error/error.component.html","./src/app/core/components/session-timed-out-page/session-timed-out-page.component.html","./src/app/common-feature/common-feature.module.ts","./src/app/extensions.ts","./src/app/core/services/signer/signer.service.ts","./src/app/core/dialogs/appearance/appearance.component.html","./src/app/core/components/image-upload/image-upload.component.ts","./src/app/core/components/color-picker/constants/color-picker-data-colors.constant.ts","./src/environments/environment.ts","./src/app/core/common/sl/sl-brand.ts","./src/app/common-feature/components/loading/loading.component.ts","./src/app/shared/services/destroy.service.ts","./src/app/core/components/signature-and-initial-type/signature-and-initial-type.component.ts","./src/app/core/components/package-error/package-error.component.html","./src/app/core/common/enum/field-form-type.enum.ts","./src/app/core/components/draw-canvas/draw-canvas.component.html","./src/app/core/dialogs/appearance/appearance.service.ts","./src/app/common-feature/pipes/field-name.pipe.ts","./src/app/core/services/appearance/appearance.model.ts","./src/app/core/services/package/field/field-type.enum.ts","./src/app/app.component.ts","./src/app/core/components/color-picker/color-picker.component.ts","./src/app/core/dialogs/message-box/message-box.component.ts","./src/app/core/dialogs/pdf-download/pdf-download.component.html","./src/app/core/auth/auth.service.ts","./src/app/core/module-import-guard.ts","./src/app/core/components/error/error.component.ts","./src/app/app.module.ts","./src/app/core/common/sl/sl-math.ts","./src/app/core/services/http.service.ts","./src/$_lazy_route_resource lazy namespace object","./src/app/core/components/session-timed-out-page/session-timed-out-page.component.ts","./src/app/core/auth/auth-guard.service.ts","./src/app/core/components/finish-page/finish-page.component.html","./src/app/core/dialogs/pdf-download/pdf-download.component.ts","./src/app/core/services/package/package.service.ts","./src/app/core/dialogs/message-box/message-box.component.html","./src/app/core/services/appearance/appearance.enum.ts","./src/app/app-load.service.ts","./src/app/common-feature/index.ts","./src/app/core/services/pdf/pdf-create.service.ts","./src/app/core/core.module.ts","./src/app/core/dialogs/forms/forms.component.html","./src/app/core/dialogs/appearance/appearance.component.ts","./src/app/core/components/finish-page/finish-page.component.ts","./src/app/core/components/image-upload/image-upload.service.ts","./src/app/core/services/package/field/field.model.ts","./src/app/app-routing.module.ts","./src/app/core/services/signature/signature-initial.service.ts","./src/app/core/services/redirect-guard.service.ts","./src/app/core/components/page-not-found/page-not-found.component.ts","./src/app/app.component.html","./src/app/core/components/package-error/package-error.component.ts","./src/app/core/common/broadcaster.ts","./src/main.ts","./src/app/core/dialogs/appearance/constants/appearance-config-data.constant.ts","./src/app/core/components/color-picker/color-picker.component.html"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["
\n
\n \n\n

{{ description }}

\n
\n
\n \n
\n \n \n \n \n \n\n
\n \"\"\n
\n
\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ngCapitalize',\n})\nexport class CapitalizePipe implements PipeTransform {\n transform(value: any, args?: any): any {\n return !!value ? value.charAt(0).toUpperCase() + value.substr(1).toLowerCase() : '';\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\nimport { DialogRef, ModalComponent, CloseGuard } from 'ngx-modialog-11';\nimport { BSModalContext } from 'ngx-modialog-11/plugins/bootstrap';\n\nimport { FieldFormTypeEnum } from '../../common/enum/field-form-type.enum';\n\nexport class FormsContext extends BSModalContext {\n title: string;\n description: string;\n\n fields: any[];\n buttons: Object[];\n buttonsClass: string;\n\n onClose: Function;\n isClose: boolean;\n classes: string;\n\n status: boolean;\n svg: any;\n xlinkHref: string;\n}\n\n@Component({\n selector: 'app-forms',\n templateUrl: './forms.component.html',\n styleUrls: ['./forms.component.scss'],\n})\nexport class FormsComponent implements OnInit, CloseGuard, ModalComponent {\n isValidate = false;\n context: FormsContext;\n\n wrongAnswer: boolean;\n\n fieldTypes;\n\n constructor(public dialog: DialogRef) {\n this.context = dialog.context;\n this.wrongAnswer = true;\n dialog.setCloseGuard(this);\n }\n\n ngOnInit() {\n this.fieldTypes = FieldFormTypeEnum;\n }\n\n onClick(button) {\n if (!button) {\n return;\n }\n\n if (button.type === 'cancel') {\n this.close();\n }\n\n this.isValidate = this.validate();\n\n if (!this.isValidate) {\n return;\n }\n\n if (button.callback) {\n button.callback(this.context.fields);\n }\n\n this.close();\n }\n\n onClose() {\n this.close();\n }\n\n beforeDismiss(): boolean {\n return true;\n }\n\n beforeClose(): boolean {\n return this.wrongAnswer;\n }\n\n enter(field, value) {\n field.value = value;\n this.isValidate = this.validate();\n }\n\n private close() {\n this.wrongAnswer = false;\n this.dialog.close();\n\n if (this.context.onClose) {\n this.context.onClose();\n }\n }\n\n private validate() {\n if (!this.context.fields) {\n return false;\n }\n\n for (let i = 0; i < this.context.fields.length; i++) {\n if (this.context.fields[i].isRequired && !this.context.fields[i].value) {\n return false;\n }\n }\n\n return true;\n }\n}\n","\n\n\n\n
\n
    \n
  • \n \n \n
  • \n
\n\n
\n
\n \n \n \n
\n
\n
\n\n
\n
{{ 'Sending' | translate }}
\n
    \n
  • \n \n \n
  • \n
\n
\n","import { Component, OnInit, OnDestroy, Input, ElementRef, AfterViewInit, ViewChild, Output, EventEmitter } from '@angular/core';\n\nimport { Modal, BSModalContext } from 'ngx-modialog-11/plugins/bootstrap';\nimport { overlayConfigFactory } from 'ngx-modialog-11';\n\nimport { MessageBoxComponent } from '../../dialogs/message-box/message-box.component';\nimport { PdfCreateService } from '../../services/pdf/pdf-create.service';\n\nimport * as SignaturePad from 'signature_pad';\nimport { Subscription } from 'rxjs';\nimport { AppearanceService } from '@app/core/dialogs/appearance/appearance.service';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'app-draw-canvas',\n templateUrl: './draw-canvas.component.html',\n styleUrls: ['./draw-canvas.component.scss'],\n})\nexport class DrawCanvasComponent implements OnInit, AfterViewInit, OnDestroy {\n public signaturePad;\n public drawing = false;\n\n private subscription: Subscription;\n\n @ViewChild('canvas') canvas: ElementRef;\n\n @Input() description;\n @Input() model;\n\n @Input() width = 800;\n @Input() height = 180;\n @Input() public color = '#444444';\n\n @Output()\n onDraw = new EventEmitter();\n\n @Output()\n onClear = new EventEmitter();\n\n private context: CanvasRenderingContext2D;\n private isUseDefault = false;\n\n constructor(\n private pdfCreateService: PdfCreateService,\n private modal: Modal,\n private appearanceService: AppearanceService,\n ) {}\n\n ngOnInit() {\n this.subscription = this.appearanceService.currentDrawColor().subscribe((color: string) => {\n this.color = color;\n\n if (this.signaturePad) {\n this.signaturePad.penColor = color;\n }\n });\n }\n\n ngAfterViewInit() {\n const canvasEl: HTMLCanvasElement = this.canvas.nativeElement;\n\n this.context = canvasEl.getContext('2d');\n\n canvasEl.width = this.width;\n canvasEl.height = this.height;\n\n if (!SignaturePad) {\n return;\n }\n const data = this.isUseDefault\n ? {}\n : {\n minWidth: 5,\n maxWidth: 5,\n penColor: this.color,\n };\n\n this.signaturePad = new SignaturePad.default(canvasEl, data);\n\n this.signaturePad.onEnd = () => {\n this.uploadFile(this.signaturePad.toDataURL(), this.signaturePad.toData());\n };\n\n if (this.model && this.model.drawData) {\n this.signaturePad.fromData(this.model.drawData);\n }\n }\n\n isEmpty() {\n return this.signaturePad ? this.signaturePad.isEmpty() : true;\n }\n\n clear() {\n this.signaturePad.clear();\n this.model.data = null;\n this.model.drawData = null;\n\n this.onClear.emit({\n data: this.model.data,\n });\n }\n\n ngOnDestroy() {\n if (this.signaturePad) {\n this.signaturePad.off();\n }\n\n this.subscription.unsubscribe();\n }\n\n private uploadFile(dataURL: any, data: any) {\n const blob = this.dataURItoBlob(dataURL);\n const file = this.blobToFile(blob, 'image.png', 'image/png');\n\n this.model.pending = true;\n this.pdfCreateService\n .createPdf(file)\n .pipe(\n finalize(() => {\n this.model.pending = false;\n }),\n )\n .subscribe(\n (resonse) => {\n this.model.drawData = data;\n this.model.data = dataURL;\n this.onResponse(resonse);\n },\n (error) => {\n this.onError(error);\n },\n );\n }\n\n private onError(response?) {\n this.clear();\n this.modal.open(\n MessageBoxComponent,\n overlayConfigFactory(\n {\n description: 'Could not upload image to server',\n classes: 'notitification-popup error-popup',\n buttons: [\n {\n text: 'Ok',\n },\n ],\n onClose: () => {},\n },\n BSModalContext,\n ),\n );\n }\n\n private onResponse(fileId) {\n if (!fileId) {\n this.onError();\n }\n const image = new Image();\n\n image.onload = () => {\n this.model.image = image;\n\n this.onDraw.emit({\n data: this.model.data,\n fileId: fileId,\n });\n };\n image.src = this.model.data;\n }\n\n private dataURItoBlob(dataURI) {\n // convert base64 to raw binary data held in a string\n // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this\n var byteString = atob(dataURI.split(',')[1]);\n\n // separate out the mime component\n var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\n\n // write the bytes of the string to an ArrayBuffer\n var ab = new ArrayBuffer(byteString.length);\n var ia = new Uint8Array(ab);\n\n for (var i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n return new Blob([ab], { type: mimeString });\n }\n\n private blobToFile(blob, fileName, contentType) {\n blob.lastModifiedDate = new Date();\n blob.name = fileName;\n\n return blob;\n }\n}\n","export enum BroadcasterKey {\n SignatureUpdated,\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalStorageService {\n set(key, data: any) {\n window.localStorage.setItem(key, JSON.stringify(data));\n }\n\n get(key) {\n const data = window.localStorage.getItem(key);\n\n return data ? JSON.parse(data) : null;\n }\n\n remove(key) {\n window.localStorage.removeItem(key);\n }\n\n exists(key) {\n return window.localStorage.getItem(key) ? true : false;\n }\n}\n","import { Pipe } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({ name: 'safeHtml' })\nexport class SafeHtmlPipe {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html) {\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\n }\n}\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

\r\n {{ 'Oops!' | translate }}
\r\n {{ \"The page you are looking for doesn't exist.\" | translate }}\r\n

\r\n\r\n \r\n
\r\n
\r\n
\r\n","
\n
\n \n\n
\n \n {{ signatureNameControl.value }}\n
\n
\n
\n\n \n\n","
\n
\n
\n \n \n \n
\n\n \n \n \n \n \n\n
\n

{{ 'Oops, something went wrong.' | translate }}

\n

{{ 'We have been automatically alerted of the issue and are working to fix it as soon as possible.' | translate }}

\n\n \n
\n
\n
\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n

{{ 'Your session has timed out.' | translate }}

\r\n

\r\n {{ 'To return to your session select the button in the email that initiated the session to continue from where you left off.' | translate }}\r\n

\r\n \r\n
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CapitalizePipe } from './pipes/capitalize.pipe';\nimport { SafeHtmlPipe } from './pipes/safeHtml.pipe';\nimport { FieldNamePipe } from './pipes/field-name.pipe';\n\nimport { LoadingComponent } from './components/loading/loading.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n declarations: [CapitalizePipe, SafeHtmlPipe, FieldNamePipe, LoadingComponent],\n exports: [CapitalizePipe, SafeHtmlPipe, FieldNamePipe, LoadingComponent],\n providers: [CapitalizePipe, SafeHtmlPipe, FieldNamePipe],\n})\nexport class CommonFeatureModule {}\n","export const saveSlice = (arr, start?, end?) => (arr === null ? null : arr.slice(start, end));\r\n\r\nexport const isUndefined = (obj) => typeof obj === 'undefined';\r\n\r\nexport const isNull = (obj) => obj === null;\r\n\r\nexport const isUndefinedOrNull = (obj) => isUndefined(obj) || isNull(obj);\r\n\r\nexport const isArray = (arr) => arr instanceof Array;\r\n\r\nexport const s4 = (value?) => {\r\n var part = (Math.random().toString(16) + '000000000').substr(2, 8);\r\n\r\n return value ? '-' + part.substr(0, 4) + '-' + part.substr(4, 4) : part;\r\n};\r\n\r\nexport const newGuid = () => s4() + s4(true) + s4(true) + s4();\r\n\r\nexport const isEqual = (object, object2) => {\r\n if (Object.keys(object).length != Object.keys(object2).length) return false;\r\n\r\n for (let key in object) {\r\n if (object.hasOwnProperty(key) && object2.hasOwnProperty(key)) {\r\n if (object[key] !== object2[key]) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nexport const encodeQueryData = (data) => {\r\n const ret = [];\r\n\r\n for (let d in data) {\r\n if (data.hasOwnProperty(d)) {\r\n ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d]));\r\n }\r\n }\r\n\r\n return ret.join('&');\r\n};\r\n\r\nexport const getJsonFromUrl = (query) => {\r\n if (query) {\r\n return {};\r\n }\r\n\r\n var result = {};\r\n\r\n query.split('&').forEach((part) => {\r\n var item = part.split('=');\r\n\r\n result[item[0]] = decodeURIComponent(item[1]);\r\n });\r\n\r\n return result;\r\n};\r\n\r\nexport const saveProp = (obj, key, value?) => {\r\n if (isUndefined(value)) {\r\n value = '';\r\n }\r\n\r\n if (isUndefined(obj)) {\r\n return value;\r\n }\r\n\r\n return isUndefined(obj[key]) ? value : obj[key];\r\n};\r\n\r\n// TODO For example\r\ndeclare global {\r\n interface StringConstructor {\r\n format(args): any;\r\n }\r\n\r\n interface Array {\r\n isSc(): boolean;\r\n }\r\n\r\n interface Window {\r\n seyHi(): any;\r\n }\r\n}\r\n\r\nwindow.seyHi = () => {\r\n return 'Hi';\r\n};\r\n\r\nString.format = (args) => {\r\n return args;\r\n};\r\n\r\nArray.prototype.isSc = () => {\r\n return true;\r\n};\r\n\r\nexport const isSafari = () => {\r\n return navigator.userAgent.indexOf('safari') != -1 && !(navigator.userAgent.indexOf('chrome') > -1);\r\n};\r\nexport const isChrome = () => {\r\n return navigator.userAgent.indexOf('safari') != -1 && navigator.userAgent.indexOf('chrome') > -1;\r\n};\r\nexport const isFirefox = () => {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n};\r\nexport const isIE = () => {\r\n //TODO:\r\n return /*@cc_on!@*/ false || !!document['documentMode']; //!!navigator.userAgent.match(/Trident\\/7\\./);\r\n};\r\nexport const isEdge = () => {\r\n // http://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser/9851769#9851769\r\n return !isIE && !!window['StyleMedia'];\r\n};\r\nexport const isIE9andLess = () => {\r\n return document.all && !window.atob;\r\n};\r\n\r\nexport const spliceSlice = function (text, index, count, add?) {\r\n // TODO\r\n // We cannot pass negative indexes directly to the 2nd slicing operation.\r\n if (index < 0) {\r\n index = text.length + index;\r\n\r\n if (index < 0) {\r\n index = 0;\r\n }\r\n }\r\n\r\n //return this.slice(0, index) + (add || \"\") + this.slice(index + count);\r\n return text.substring(index, index + count);\r\n};\r\n\r\nexport const parseInt = function (value) {\r\n return Number.parseInt(value);\r\n};\r\n\r\nexport const screenTabletSize = 1023;\r\n\r\nexport const _tr = (value) => {\r\n return value;\r\n};\r\n\r\n// It has only spaces, or is empty\r\nexport const onlySpacesOrEmpty = function (str) {\r\n return /^ *$/.test(str);\r\n};\r\n\r\n// It has only whitespace\r\nexport const hasOnlyWhitespace = function (str) {\r\n return /^ *$/.test(str);\r\n};\r\n\r\nexport const hasWhiteSpace = function (s) {\r\n return /\\S/.test(s);\r\n};\r\n","import { Injectable } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { LocalStorageService } from '../../services/local-storage.service';\n\nimport { environment } from '@env/environment';\n\n@Injectable({ providedIn: 'root' })\nexport class SignerService {\n static isOnlyCurrent = false;\n\n environment;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private localStorageService: LocalStorageService,\n ) {\n this.environment = environment;\n }\n\n set(data) {\n this.localStorageService.set('signer-info', data);\n }\n\n get() {\n return this.localStorageService.get('signer-info');\n }\n\n closeSession() {\n setTimeout(() => {\n this.router.navigate(['/session-expired'], { relativeTo: this.route, skipLocationChange: true });\n }, 100);\n }\n\n checkExpiryDate() {\n const info = this.get();\n\n if (!info) {\n return false;\n }\n const expires = info['.expires'];\n\n if (!expires) {\n return false;\n }\n\n if (new Date(expires).getTime() <= new Date().getTime()) {\n return true;\n }\n return false;\n }\n\n finish = () => {\n this.localStorageService.remove('signer-info');\n this.router.navigate(['/finish']);\n };\n}\n","
\n
\n
\n
\n \n \n \n
\n\n \n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n
\n \n \n \n \n
\n \n \n
\n\n
\n
\n

\n

\n
\n\n
\n \n \n
\n
\n
\n
\n
\n\n
\n \n \n \n\n \n \n \n
\n
\n
\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, AfterViewInit } from '@angular/core';\n\nimport { overlayConfigFactory } from 'ngx-modialog-11';\nimport { Modal, BSModalContext } from 'ngx-modialog-11/plugins/bootstrap';\n\nimport { MessageBoxComponent } from '../../dialogs/message-box/message-box.component';\nimport { PdfCreateService } from '../../services/pdf/pdf-create.service';\n\nimport { ImageUploadService } from './image-upload.service';\nimport { _tr } from '@app/extensions';\nimport { TranslateService } from '@ngx-translate/core';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'app-image-upload',\n templateUrl: './image-upload.component.html',\n styleUrls: ['./image-upload.component.scss'],\n providers: [ImageUploadService],\n})\nexport class ImageUploadComponent implements OnInit, AfterViewInit {\n @Input() model;\n\n @Input() description;\n @Input() maxFileSize: number;\n\n @Input()\n buttonCaption = 'Upload';\n\n @Input()\n fileTooLargeMessage: string;\n\n @Input('extensions')\n supportedExtensions: string[];\n\n @Output()\n onImageUploadFinish = new EventEmitter();\n\n @Output()\n onRemove = new EventEmitter();\n\n @ViewChild('input')\n private inputElementRef: ElementRef;\n\n constructor(\n private modal: Modal,\n private imageUploadService: ImageUploadService,\n private pdfCreateService: PdfCreateService,\n private translate: TranslateService,\n ) {}\n\n ngOnInit() {\n this.supportedExtensions = this.supportedExtensions ? this.supportedExtensions.map((ext) => `image/${ext}`) : ['image/*'];\n }\n\n ngAfterViewInit() {}\n\n fileChange(files: FileList) {\n if (!files) {\n return;\n }\n\n const file = files[0];\n\n if (!file) {\n return;\n }\n\n this.uploadFile(file);\n }\n\n clear(): void {\n this.onRemove.emit({\n data: this.model.data,\n });\n\n this.model.data = null;\n this.inputElementRef.nativeElement.value = '';\n }\n\n private uploadFile(file: File) {\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.modal.open(\n MessageBoxComponent,\n overlayConfigFactory(\n {\n description: this.translate.instant(_tr('An image was too large and was not uploaded. The maximum file size is {{param1}}Mb.'), {\n param1: this.maxFileSize ? this.maxFileSize / 1024 / 1024 : '',\n }),\n buttons: [\n {\n text: 'Ok',\n },\n ],\n onClose: () => {\n this.inputElementRef.nativeElement.value = '';\n },\n },\n BSModalContext,\n ),\n );\n\n return;\n }\n\n if (this.supportedExtensions.indexOf(file.type) == -1) {\n this.modal.open(\n MessageBoxComponent,\n overlayConfigFactory(\n {\n description: 'Unsupported file type.',\n buttons: [\n {\n text: 'Ok',\n },\n ],\n onClose: () => {\n this.inputElementRef.nativeElement.value = '';\n },\n },\n BSModalContext,\n ),\n );\n\n return;\n }\n\n const reader = new FileReader();\n\n reader.readAsDataURL(file);\n\n reader.onloadend = () => {\n this.model.pending = true;\n this.pdfCreateService\n .createPdf(file)\n .pipe(\n finalize(() => {\n this.model.pending = false;\n }),\n )\n .subscribe(\n (resonse) => {\n this.model.data = reader.result;\n this.onResponse(resonse);\n },\n (error) => {\n this.onError(error);\n },\n );\n };\n }\n\n private onError(response?) {\n this.clear();\n this.modal.open(\n MessageBoxComponent,\n overlayConfigFactory(\n {\n description: 'Could not upload image to server',\n classes: 'notitification-popup error-popup',\n buttons: [\n {\n text: 'Ok',\n },\n ],\n onClose: () => {},\n },\n BSModalContext,\n ),\n );\n }\n\n private onResponse(fileId) {\n if (!fileId) {\n this.onError();\n }\n\n const image = new Image();\n\n image.onload = () => {\n this.model.image = image;\n\n this.onImageUploadFinish.emit({\n data: this.model.data,\n fileId: fileId,\n });\n };\n\n image.src = this.model.data;\n }\n}\n","export const COLORS_DATA: string[] = [\n '#000000FF',\n '#ffffffFF',\n '#404040FF',\n '#C3CFD9FF',\n '#788896FF',\n '#4B5C6BFF',\n '#2C88D9FF',\n '#6558F5FF',\n '#730FC3FF',\n '#BD34D1FF',\n '#1AAE9FFF',\n '#207868FF',\n '#897A5FFF',\n '#AC6363FF',\n '#E91E62FF',\n '#E8833AFF',\n '#F7C325FF',\n '#065CDEFF',\n // 'none'\n];\n","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod-2.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\n// @ts-ignore\nconst ENV = window['env'];\n\nexport const environment = {\n version: '2.3.3',\n production: ENV.PRODUCTION,\n isLocally: ENV.IS_LOCALLY,\n apiUrl: `${ENV.API_UPL}`,\n brandTitle: `${ENV.BRAND_TITLE}`,\n brand: `${ENV.BRAND}`,\n links: {\n brandHome: `${ENV.BRAND_HOME}`,\n supportCentr: `https://${ENV.SUPPORT}/`,\n privacy: `https://${ENV.BRAND_HOME_DOMAIN}/${ENV.BRAND_PRIVACY}/`,\n termsOfUse: `${ENV.BRAND_TERMS_OF_USE}/`,\n signUp: `https://${ENV.BRAND_HOME_DOMAIN}/account/login/`,\n showSignUp: ENV.SHOW_SIGN_UP,\n },\n};\n","export class SlBrand {\n static colors = {\n LuluSoft: {\n fill: '#7290BB',\n fillD: '#98B2D9',\n bcg: '#D7EBFE',\n fillErr: '#FF3D41',\n bcgErr: '#FFEBEC',\n pointerNormal: '#4D82B8',\n pointerMissed: '#FF6366',\n progress: '#0072C6',\n textCopySelection: '#80D7EBFE',\n bgcArrow: '#068adf',\n selectedBgcIconAreaField: '#057cc8',\n bgcSignatureAndInitial: '#068ADE1A',\n bgcBtnAction: '#068ADE',\n },\n PdfForge: {\n fill: '#F1BC56',\n fillD: '#C88D00',\n bcg: '#FFE7B1',\n fillErr: '#F00000',\n bcgErr: '#FFD9DA',\n pointerNormal: '#5BBFDE',\n pointerMissed: '#F00000',\n progress: '#F00000',\n textCopySelection: '#80FFE7B1',\n bgcArrow: '#FFAE40',\n selectedBgcIconAreaField: '#FF9900',\n bgcSignatureAndInitial: '#FFF5DF',\n bgcBtnAction: '#E51800',\n },\n ExpertPDF: {\n fill: '#7E9B75',\n fillD: '#A6C29E',\n bcg: '#CDE3CB',\n fillErr: '#EC4E51',\n bcgErr: '#FFEBEC',\n pointerNormal: '#5F9752',\n pointerMissed: '#E08284',\n progress: '#2EA015',\n textCopySelection: '#80D2E8D0',\n bgcArrow: '#33B217',\n selectedBgcIconAreaField: '#379B21',\n bgcSignatureAndInitial: '#33B21733',\n bgcBtnAction: '#33B217',\n },\n };\n\n constructor() {}\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss'],\n})\nexport class LoadingComponent implements OnInit {\n @Input() signerInfoId: string = null;\n\n @Input()\n isRadial: boolean;\n\n @Input()\n isRadialLoader: boolean;\n\n @Input()\n isMainLoader: boolean;\n\n @Input()\n isSendLoader: boolean;\n\n logoBrand: string;\n\n constructor() {}\n\n ngOnInit() {\n if (this.signerInfoId) {\n this.logoBrand = this.signerInfoId;\n }\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class NgOnDestroy extends Subject implements OnDestroy {\n ngOnDestroy(): void {\n this.next(null);\n this.complete();\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-signature-and-initial-type',\n templateUrl: './signature-and-initial-type.component.html',\n styleUrls: ['./signature-and-initial-type.component.scss'],\n})\nexport class SignatureAndInitialTypeComponent implements OnInit, OnChanges {\n public signatureNameControl: FormControl = new FormControl('');\n public valueTypeMaxLength: number = 2048;\n public message: string = null;\n\n private isChanged: boolean = false;\n private currentFont: string;\n private currentType: number;\n\n @Input() context: any;\n @Input() dataTypes: any;\n @Input() fonts: any;\n @Input() color: string;\n\n @Output() selectedItem = new EventEmitter();\n @Output() isEmptyText = new EventEmitter();\n\n @ViewChild('enter') enterRef;\n\n constructor() {}\n\n ngOnInit(): void {\n this.signatureNameControl.setValue(this.context.model.tabs[this.dataTypes.Type].data);\n\n if (this.currentType && this.currentFont) {\n this.selectedItem.emit({\n font: this.currentFont,\n tabType: this.currentType,\n color: this.color,\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.color = changes.color.currentValue;\n }\n\n public clearFiled(): void {\n this.signatureNameControl.setValue('');\n this.isEmptyText.emit(true);\n }\n\n public setData(event, tabType: number): void {\n if (!event) {\n return;\n }\n\n !event.data ? this.isEmptyText.emit(true) : this.isEmptyText.emit(false);\n\n this.message = null;\n\n this.context.model.tabs[tabType].data = event.data;\n\n if (event.fileId) {\n this.context.model.tabs[tabType].fileId = event.fileId;\n }\n\n this.isChanged = event.data ? true : false;\n\n if (tabType !== this.dataTypes[tabType]) {\n this.enterRef.nativeElement.focus();\n }\n }\n\n public onSelectedType(font, type): void {\n this.currentFont = font;\n this.currentType = type;\n\n this.context.model.tabs[type].styles.font = font;\n this.context.model.tabs[type].styles.color = this.color;\n this.selectedItem.emit({ font, tabType: type, color: this.color });\n }\n}\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n

{{ action | translate }}

\r\n

\r\n \r\n
\r\n
\r\n
\r\n","export enum FieldFormTypeEnum {\n Input,\n Textarea,\n}\n","
\n
\n

{{ description | translate }}

\n
\n \n
\n
\n \n \n \n \n \n
\n \n
\n
\n
\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class AppearanceService implements OnDestroy {\n private colorDrawSubject: BehaviorSubject = new BehaviorSubject(this.defaultColor);\n private colorTypeSubject: BehaviorSubject = new BehaviorSubject(this.defaultColor);\n\n constructor() {}\n\n public ngOnDestroy(): void {\n this.colorDrawSubject.complete();\n this.colorTypeSubject.complete();\n }\n\n get defaultColor(): string {\n return '#404040FF';\n }\n\n public currentDrawColor(): Observable {\n return this.colorDrawSubject.asObservable();\n }\n\n public setNewDrawColor(color: string): void {\n this.colorDrawSubject.next(color);\n }\n\n public currentTypeColor(): Observable {\n return this.colorTypeSubject.asObservable();\n }\n\n public setNewTypeColor(color: string): void {\n this.colorTypeSubject.next(color);\n }\n\n public test() {\n console.log('test');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { _tr } from '@app/extensions';\n\n@Pipe({\n name: 'ngFieldName',\n})\nexport class FieldNamePipe implements PipeTransform {\n transform(value: any, args?: any): any {\n let fieldName;\n\n switch (value.toLowerCase()) {\n case 'signature':\n fieldName = _tr('Signature');\n break;\n case 'initials':\n fieldName = _tr('Initials');\n break;\n case 'checkbox':\n fieldName = _tr('Check Box');\n break;\n case 'radiobutton':\n fieldName = _tr('Radio Button');\n break;\n case 'textinput':\n fieldName = _tr('Text field');\n break;\n case 'dropdown':\n fieldName = _tr('List');\n break;\n\n case 'title':\n fieldName = _tr(\"Signer's Title\");\n break;\n\n case 'company':\n fieldName = _tr(\"Signer's Company\");\n break;\n\n case 'name':\n fieldName = _tr(\"Signer's Name\");\n break;\n\n case 'email':\n fieldName = _tr(\"Signer's E-Mail\");\n break;\n\n case 'date':\n fieldName = _tr('Signing Date');\n break;\n\n default:\n fieldName = value.charAt(0).toUpperCase() + value.substr(1).toLowerCase();\n }\n\n return fieldName;\n }\n}\n","import { AppearanceDataType } from './appearance.enum';\n\nexport const appearanceModel = {\n currentType: AppearanceDataType.Type,\n tabs: [\n {\n type: AppearanceDataType.Draw,\n fileId: null,\n data: null,\n },\n {\n type: AppearanceDataType.Type,\n data: null,\n styles: {\n font: 'Lobster',\n },\n },\n {\n type: AppearanceDataType.Image,\n fileId: null,\n data: null,\n },\n ],\n};\n","export class FieldType {\r\n static Enum = {\r\n Signature: 'signature',\r\n Initials: 'initials',\r\n\r\n TextField: 'textinput',\r\n TextArea: 'textarea',\r\n CheckBox: 'checkbox',\r\n RadioButton: 'radiobutton',\r\n DropDown: 'dropdown',\r\n };\r\n}\r\n","import { Component, OnInit, Renderer2 } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { environment } from '@env/environment';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SignerService } from '@app/core/services/signer/signer.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent implements OnInit {\n title = 'app works!';\n brand = environment.brand;\n\n public constructor(\n private titleService: Title,\n translate: TranslateService,\n private signerService: SignerService,\n private renderer: Renderer2,\n ) {\n // this language will be used as a fallback when a translation isn't found in the current language\n translate.setDefaultLang('en');\n // the lang to use, if the lang isn't available, it will use the current loader to get them\n translate.use('en');\n }\n\n public setTitle(newTitle: string) {\n this.titleService.setTitle(newTitle);\n }\n\n ngOnInit() {\n this.setTitle(environment.brandTitle);\n const signerInfo = this.signerService.get();\n\n if (this.brand) {\n this.renderer.addClass(document.body, this.brand);\n }\n\n if (!signerInfo) {\n return;\n }\n\n if (signerInfo.clientId) {\n this.renderer.setAttribute(document.body, 'client', this.brand);\n } else {\n this.renderer.removeAttribute(document.body, 'client');\n }\n }\n}\n","import { Component, ElementRef, HostListener, Input, OnInit, Output } from '@angular/core';\nimport { COLORS_DATA } from '@app/core/components/color-picker/constants/color-picker-data-colors.constant';\nimport { AppearanceService } from '@app/core/dialogs/appearance/appearance.service';\n\n@Component({\n selector: 'app-color-picker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.scss'],\n})\nexport class ColorPickerComponent implements OnInit {\n public colors: string[] = COLORS_DATA;\n public showPicker: boolean = false;\n\n public onClickout: boolean = true;\n public selectedColor: string = '';\n\n @HostListener('document:click', ['$event'])\n clickout(event: MouseEvent) {\n if (!this.elRef.nativeElement.contains(event.target) && this.onClickout) {\n this.showPicker = false;\n }\n }\n\n @Input() public isDefault;\n @Input() public isSimple;\n @Input() public isPopup;\n @Input() public currentColor;\n @Input() public isDisabled;\n @Input() public type: string;\n\n constructor(\n private elRef: ElementRef,\n private appearanceService: AppearanceService,\n ) {}\n\n public ngOnInit(): void {}\n\n public pickColor(): void {\n this.showPicker = !this.showPicker;\n }\n\n public onBasicColorClick(color: string) {\n this.type === 'type' ? this.appearanceService.setNewTypeColor(color) : this.appearanceService.setNewDrawColor(color);\n this.currentColor = color;\n this.selectedColor = color;\n this.showPicker = false;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { DialogRef, ModalComponent, CloseGuard } from 'ngx-modialog-11';\nimport { BSModalContext } from 'ngx-modialog-11/plugins/bootstrap';\n\nexport class MessageBoxContext extends BSModalContext {\n constructor(\n public title: string,\n public description: string,\n public descriptionInfo: string,\n public status: string,\n\n public link: Object,\n\n public buttons: Object[],\n public buttonsClass: string,\n\n public onClose: Function,\n public isClose: boolean,\n\n public svg: any,\n public classes: string,\n public classPopup: string,\n ) {\n super();\n }\n}\n\n@Component({\n selector: 'modal-content',\n templateUrl: './message-box.component.html',\n styleUrls: ['./message-box.component.scss'],\n})\nexport class MessageBoxComponent implements CloseGuard, ModalComponent {\n context: MessageBoxContext;\n\n wrongAnswer: boolean;\n\n constructor(public dialog: DialogRef) {\n this.context = dialog.context;\n this.wrongAnswer = true;\n dialog.setCloseGuard(this);\n }\n\n onClick(callback) {\n if (callback) {\n callback();\n }\n\n this.close();\n }\n\n onClose() {\n this.close();\n }\n\n beforeDismiss(): boolean {\n return true;\n }\n\n beforeClose(): boolean {\n return this.wrongAnswer;\n }\n\n private close() {\n this.wrongAnswer = false;\n this.dialog.close();\n\n if (this.context.onClose) {\n this.context.onClose();\n }\n }\n}\n","
\n
\n
\n \n \n \n
\n \n
\n

{{ context.title | translate }}

\n

{{ context.description | translate }}

\n \n \n \n \n
\n
\n
\n","import { Injectable } from '@angular/core';\n\nimport { HttpService } from '../services/http.service';\nimport { LocalStorageService } from '../services/local-storage.service';\n\nimport { SignerService } from '../services/signer/signer.service';\nimport { environment } from '@env/environment';\n\n@Injectable({ providedIn: 'root' })\nexport class AuthService {\n constructor(\n private httpService: HttpService,\n private localStorageService: LocalStorageService,\n private signerService: SignerService,\n ) {}\n\n isAuthenticated() {\n return !!this.signerService.get();\n }\n\n getSignerInfo(params) {\n return this.httpService.postData('api/v1/account/signers', params, true);\n }\n}\n","export function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error('${moduleName} has already been loaded. Import Core modules in the AppModule only.');\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\nimport { SignerService } from '../../services/signer/signer.service';\n\n@Component({\n selector: 'app-error',\n templateUrl: './error.component.html',\n styleUrls: ['./error.component.scss'],\n})\nexport class ErrorComponent implements OnInit {\n context;\n\n constructor(private signerService: SignerService) {}\n\n ngOnInit() {}\n\n onClose() {\n this.signerService.finish();\n }\n}\n","import { NgModule, APP_INITIALIZER } from '@angular/core';\nimport { APP_BASE_HREF } from '@angular/common';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from '@app/core/core.module';\nimport { AppRoutingModule } from './app-routing.module';\nimport { environment } from '@env/environment';\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\nimport { TranslateModule, TranslateLoader, MissingTranslationHandler, MissingTranslationHandlerParams } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { AppLoadService } from './app-load.service';\nimport { MessageBoxComponent } from '@app/core/dialogs/message-box/message-box.component';\nimport { FormsComponent } from '@app/core/dialogs/forms/forms.component';\nimport { PdfDownloadComponent } from '@app/core/dialogs/pdf-download/pdf-download.component';\nimport { AppearanceComponent } from '@app/core/dialogs/appearance/appearance.component';\n\nexport class MyMissingTranslationHandler implements MissingTranslationHandler {\n handle(params: MissingTranslationHandlerParams) {\n return params.translateService.parser.interpolate(params.key, params.interpolateParams);\n }\n}\n\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http, '/assets/i18n/', '/messages.json' + '?v=' + environment.version);\n}\n\nexport function appLoad(appLoadService: AppLoadService) {\n return () => appLoadService.load();\n}\n\n@NgModule({\n declarations: [AppComponent],\n imports: [\n HttpClientModule,\n TranslateModule.forRoot({\n missingTranslationHandler: { provide: MissingTranslationHandler, useClass: MyMissingTranslationHandler },\n // useDefaultLang: false,\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n AppRoutingModule,\n CoreModule,\n ],\n exports: [AppComponent],\n entryComponents: [MessageBoxComponent, FormsComponent, PdfDownloadComponent, AppearanceComponent],\n providers: [\n {\n provide: APP_BASE_HREF,\n useValue: '/',\n },\n AppLoadService,\n {\n provide: APP_INITIALIZER,\n useFactory: appLoad,\n deps: [AppLoadService],\n multi: true,\n },\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { Injectable } from '@angular/core';\n\nimport * as ext from '@app/extensions';\n\n// Main\nconst SL_MATH_EPSILON: number = 0.0001;\nconst fltEpsilon: number = parseFloat('1.192092896e-07F');\n\nconst castFloatToInt = (value) => {\n return value - (value % 1);\n};\n\nconst floatLt = (a, b) => {\n return a < b + SL_MATH_EPSILON;\n};\n\nconst floatGt = (a, b) => {\n return a > b + SL_MATH_EPSILON;\n};\n\nconst floatEq = (a, b) => {\n return a >= b - SL_MATH_EPSILON && a <= b + SL_MATH_EPSILON;\n};\n\nconst lineIntersectsLine = (a0, a1, b0, b1) => {\n const d = (a1.x - a0.x) * (b1.y - b0.y) - (b1.x - b0.x) * (a1.y - a0.y);\n\n if (d === 0) {\n return false;\n }\n\n const r = ((b1.x - b0.x) * (a0.y - b0.y) - (a0.x - b0.x) * (b1.y - b0.y)) / d;\n\n if (r < 0 || r > 1) {\n return false;\n }\n\n const s = ((a1.x - a0.x) * (a0.y - b0.y) - (a0.x - b0.x) * (a1.y - a0.y)) / d;\n\n if (s < 0 || s > 1) {\n return false;\n }\n\n return true;\n};\n\nconst lineIntersectsRect = (a, b, rect) => {\n if (rect.containsPoint(a) || rect.containsPoint(b)) {\n return true;\n }\n\n if (lineIntersectsLine(a, b, rect.left_top(), rect.right_top())) {\n return true;\n }\n\n if (lineIntersectsLine(a, b, rect.right_top(), rect.right_bottom())) {\n return true;\n }\n\n if (lineIntersectsLine(a, b, rect.right_bottom(), rect.left_bottom())) {\n return true;\n }\n\n if (lineIntersectsLine(a, b, rect.left_bottom(), rect.left_top())) {\n return true;\n }\n\n return false;\n};\n\n// Size\nexport class SizeModel {\n constructor(\n public width = 0,\n public height = 0,\n ) {}\n\n isAreaEmpty(): boolean {\n return this.width === 0 || this.height === 0;\n }\n\n copy(): SizeModel {\n return new SizeModel(this.width, this.height);\n }\n\n isEqual(value): boolean {\n return value && this.width === value.width && this.height === value.height;\n }\n\n isEmpty(): boolean {\n return this.width === 0 && this.height === 0;\n }\n\n floor(): SizeModel {\n return new SizeModel(castFloatToInt(this.width), castFloatToInt(this.height));\n }\n\n round(): SizeModel {\n return new SizeModel(castFloatToInt(Math.ceil(this.width)), castFloatToInt(Math.ceil(this.height)));\n }\n}\n\n// Matrix\nexport class MatrixModel {\n constructor(\n public a,\n public b,\n public c,\n public d,\n public e,\n public f,\n ) {}\n\n determinant(): number {\n return this.a * this.d - this.b * this.c;\n }\n\n invert(): MatrixModel {\n const det = this.determinant();\n\n if (det > -fltEpsilon && det < fltEpsilon) {\n return null;\n }\n\n const scale = 1.0 / det;\n\n const a = this.d * scale;\n const b = -this.b * scale;\n const c = -this.c * scale;\n const d = this.a * scale;\n const e = this.f * (this.c * scale) - this.e * (this.d * scale);\n const f = this.e * (this.b * scale) - this.f * (this.a * scale);\n\n return new MatrixModel(a, b, c, d, e, f);\n }\n\n mapPoint(point) {\n const x = point.x;\n const y = point.y;\n\n return new PointModel(this.a * x + this.c * y + this.e, this.b * x + this.d * y + this.f);\n }\n\n mapRect(rect) {\n const points = [];\n\n points[0] = this.mapPoint({ x: rect.left, y: rect.top });\n points[1] = this.mapPoint({ x: rect.right, y: rect.top });\n points[2] = this.mapPoint({ x: rect.right, y: rect.bottom });\n points[3] = this.mapPoint({ x: rect.left, y: rect.bottom });\n\n const result = {\n left: points[0].x,\n top: points[0].y,\n right: points[0].x,\n bottom: points[0].y,\n };\n\n for (let i = 1; i < 4; ++i) {\n result.left = Math.min(result.left, points[i].x);\n result.top = Math.min(result.top, points[i].y);\n result.right = Math.max(result.right, points[i].x);\n result.bottom = Math.max(result.bottom, points[i].y);\n }\n\n return new RectModel(result.left, result.top, result.right, result.bottom);\n }\n\n mapSize(size) {\n return new SizeModel(this.a * size.width + this.c * size.height, this.b * size.width + this.d * size.height);\n }\n\n copy() {\n return new MatrixModel(this.a, this.b, this.c, this.d, this.e, this.f);\n }\n\n multiply(that) {\n const na = this.a * that.a + this.b * that.c;\n const nb = this.a * that.b + this.b * that.d;\n const nc = this.c * that.a + this.d * that.c;\n const nd = this.c * that.b + this.d * that.d;\n const ne = this.e * that.a + this.f * that.c + that.e;\n const nf = this.e * that.b + this.f * that.d + that.f;\n\n return new MatrixModel(na, nb, nc, nd, ne, nf);\n }\n}\n\n// Rect\nexport class RectModel {\n zoom;\n\n constructor(\n public left,\n public top,\n public right,\n public bottom,\n ) {}\n\n get width() {\n return this.getWidth();\n }\n\n get height() {\n return this.getHeight();\n }\n\n getOrigin() {\n return new PointModel(this.min_x(), this.min_y());\n }\n\n floor() {\n return new RectModel(castFloatToInt(this.min_x()), castFloatToInt(this.min_y()), castFloatToInt(this.max_x()), castFloatToInt(this.max_y()));\n }\n\n round() {\n return new RectModel(Math.round(this.min_x()), Math.round(this.min_y()), Math.round(this.max_x()), Math.round(this.max_y()));\n }\n\n offset(dx, dy) {\n this.left += dx;\n this.top += dy;\n this.right += dx;\n this.bottom += dy;\n }\n\n inflate(dx, dy?) {\n this.left -= dx;\n this.top -= dy;\n this.right += dx;\n this.bottom += dy;\n }\n\n stretch(dx, dy) {\n this.right = this.left + dx;\n this.bottom = this.top - dy;\n }\n\n extend(point) {\n this.left = Math.min(this.left, point.x);\n this.top = Math.min(this.top, point.y);\n this.right = Math.max(this.right, point.x);\n this.bottom = Math.max(this.bottom, point.y);\n }\n\n sort() {\n if (this.left > this.right) {\n const tRight = this.right;\n this.right = this.left;\n this.left = tRight;\n }\n\n if (this.top > this.bottom) {\n const tBottom = this.bottom;\n this.bottom = this.top;\n this.top = tBottom;\n }\n }\n\n min_x() {\n return Math.min(this.left, this.right);\n }\n\n max_x() {\n return Math.max(this.left, this.right);\n }\n\n min_y() {\n return Math.min(this.top, this.bottom);\n }\n\n max_y() {\n return Math.max(this.top, this.bottom);\n }\n\n leftTop() {\n return new PointModel(this.left, this.top);\n }\n\n leftBottom() {\n return new PointModel(this.left, this.bottom);\n }\n\n rightTop() {\n return new PointModel(this.right, this.top);\n }\n\n rightBottom() {\n return new PointModel(this.right, this.bottom);\n }\n\n getWidth() {\n return this.max_x() - this.min_x();\n }\n\n getHeight() {\n return this.max_y() - this.min_y();\n }\n\n getSize() {\n return new SizeModel(this.getWidth(), this.getHeight());\n }\n\n containsPoint(point) {\n return point.x >= this.min_x() && point.x <= this.max_x() && point.y >= this.min_y() && point.y <= this.max_y();\n }\n\n containsRect(rect) {\n return this.min_x() <= rect.min_x() && this.max_x() >= rect.max_x() && this.min_y() <= rect.min_y() && this.max_y() >= rect.max_y();\n }\n\n hasIntersection(rect) {\n return this.min_x() < rect.max_x() && this.min_y() < rect.max_y() && this.max_x() > rect.min_x() && this.max_y() > rect.min_y();\n }\n\n isAreaEmpty() {\n return this.left === this.right || this.top === this.bottom;\n }\n\n getCenter() {\n return new PointModel(this.min_x() + this.getWidth() / 2, this.min_y() + this.getHeight() / 2);\n }\n\n getArea() {\n return this.getWidth() * this.getHeight();\n }\n\n isEqual(that) {\n return this.min_x() === that.min_x() && this.max_x() === that.max_x() && this.min_y() === that.min_y() && this.max_y() === that.max_y();\n }\n\n asArray() {\n return [this.left, this.top, this.right, this.bottom];\n }\n\n copy() {\n return new RectModel(this.left, this.top, this.right, this.bottom);\n }\n}\n\n// Point\nexport class PointModel {\n constructor(\n public x,\n public y,\n ) {}\n\n static pointsCenter(a, b) {\n return new PointModel(a.x + (b.x - a.x) / 2, a.y + (b.y - a.y) / 2);\n }\n\n private pointsSquareDistance(a, b) {\n const dx = b.x - a.x;\n const dy = b.y - a.y;\n\n return dx * dx + dy * dy;\n }\n\n private pointsDistance(a, b) {\n return Math.sqrt(this.pointsSquareDistance(a, b));\n }\n\n private vecDotProduct(a, b) {\n return a.x * b.x + a.y * b.y;\n }\n\n private vecAngleBetween(a, b) {\n const alpha = Math.atan2(a.y, a.x);\n const beta = Math.atan2(b.y, b.x);\n\n return beta - alpha;\n }\n\n floor() {\n return new PointModel(castFloatToInt(this.x), castFloatToInt(this.y));\n }\n\n offset(dx, dy) {\n this.x += dx;\n this.y += dy;\n }\n\n isEqual(value) {\n return value && this.x === value.x && this.y === value.y;\n }\n\n vecMagnitude() {\n return Math.sqrt(this.x * this.x + this.y * this.y);\n }\n\n vecNormalized() {\n const mag = this.vecMagnitude();\n\n if (floatEq(mag, 0)) {\n return this.copy();\n }\n\n return new PointModel(this.x / mag, this.y / mag);\n }\n\n copy() {\n return new PointModel(this.x, this.y);\n }\n\n distanceToEdge(a, b) {\n const p = this;\n const l2 = this.pointsSquareDistance(a, b);\n\n if (l2 === 0) {\n return this.pointsDistance(p, a);\n }\n\n const t = this.vecDotProduct(new PointModel(p.x - a.x, p.y - a.y), new PointModel(b.y - a.y, b.y - a.y)) / l2;\n\n if (t < 0) {\n return this.pointsDistance(p, a);\n } else if (t > 1) {\n return this.pointsDistance(p, b);\n }\n\n return this.pointsDistance(p, new PointModel(a.x + t * (b.x - a.x), a.y + t * (b.y - a.y)));\n }\n}\n\n// Quad\nexport class QuadModel {\n constructor(\n private tl,\n private tr,\n private bl,\n private br,\n ) {}\n\n top_left() {\n return this.tl.copy();\n }\n\n top_right() {\n return this.tr.copy();\n }\n\n bottom_left() {\n return this.bl.copy();\n }\n\n bottom_right() {\n return this.br.copy();\n }\n\n top_center() {\n return PointModel.pointsCenter(this.tl, this.tr);\n }\n\n center_left() {\n return PointModel.pointsCenter(this.tl, this.bl);\n }\n\n bottom_center() {\n return PointModel.pointsCenter(this.bl, this.br);\n }\n\n center_right() {\n return PointModel.pointsCenter(this.br, this.tr);\n }\n\n getCenter() {\n return PointModel.pointsCenter(PointModel.pointsCenter(this.tl, this.br), PointModel.pointsCenter(this.tr, this.bl));\n }\n\n getBound() {\n const points = [];\n points[0] = this.tl;\n points[1] = this.tr;\n points[2] = this.bl;\n points[3] = this.br;\n\n const result = {\n left: points[0].x,\n top: points[0].y,\n right: points[0].x,\n bottom: points[0].y,\n };\n\n for (let i = 1; i < 4; ++i) {\n result.left = Math.min(result.left, points[i].x);\n result.top = Math.min(result.top, points[i].y);\n result.right = Math.max(result.right, points[i].x);\n result.bottom = Math.max(result.bottom, points[i].y);\n }\n\n return new RectModel(result.left, result.top, result.right, result.bottom);\n }\n\n containsPoint(point) {\n var bound = this.getBound();\n if (!bound.containsPoint(point)) return false;\n\n if (point.isEqual(this.tl) || point.isEqual(this.tr) || point.isEqual(this.bl) || point.isEqual(this.br)) return true;\n\n if (floatEq(0, point.distanceToEdge(this.tl, this.tr))) return true;\n if (floatEq(0, point.distanceToEdge(this.tr, this.br))) return true;\n if (floatEq(0, point.distanceToEdge(this.br, this.bl))) return true;\n if (floatEq(0, point.distanceToEdge(this.bl, this.tl))) return true;\n\n var inside = false;\n if (\n this.tl.y > point.y != this.tr.y > point.y &&\n point.x < ((this.tr.x - this.tl.x) * (point.y - this.tl.y)) / (this.tr.y - this.tl.y) + this.tl.x\n )\n inside = !inside;\n if (\n this.tr.y > point.y != this.br.y > point.y &&\n point.x < ((this.br.x - this.tr.x) * (point.y - this.tr.y)) / (this.br.y - this.tr.y) + this.tr.x\n )\n inside = !inside;\n if (\n this.br.y > point.y != this.bl.y > point.y &&\n point.x < ((this.bl.x - this.br.x) * (point.y - this.br.y)) / (this.bl.y - this.br.y) + this.br.x\n )\n inside = !inside;\n if (\n this.bl.y > point.y != this.tl.y > point.y &&\n point.x < ((this.tl.x - this.bl.x) * (point.y - this.bl.y)) / (this.tl.y - this.bl.y) + this.bl.x\n )\n inside = !inside;\n return inside;\n }\n\n hasIntersectionRect(rect) {\n if (rect.containsPoint(this.tl) || rect.containsPoint(this.tr) || rect.containsPoint(this.bl) || rect.containsPoint(this.br)) return true;\n\n if (lineIntersectsRect(this.tl, this.tr, rect)) return true;\n if (lineIntersectsRect(this.tr, this.br, rect)) return true;\n if (lineIntersectsRect(this.br, this.bl, rect)) return true;\n if (lineIntersectsRect(this.bl, this.tl, rect)) return true;\n\n return false;\n }\n\n hasIntersectionQuad(quad) {\n if (this.containsPoint(quad.tl) || this.containsPoint(quad.tr) || this.containsPoint(quad.br) || this.containsPoint(quad.bl)) return true;\n\n if (quad.containsPoint(this.tl) || quad.containsPoint(this.tr) || quad.containsPoint(this.br) || quad.containsPoint(this.bl)) return true;\n\n if (\n lineIntersectsLine(this.tl, this.tr, quad.tl, quad.tr) ||\n lineIntersectsLine(this.tl, this.tr, quad.tr, quad.br) ||\n lineIntersectsLine(this.tl, this.tr, quad.br, quad.bl) ||\n lineIntersectsLine(this.tl, this.tr, quad.bl, quad.tl)\n )\n return true;\n\n if (\n lineIntersectsLine(this.tr, this.br, quad.tl, quad.tr) ||\n lineIntersectsLine(this.tr, this.br, quad.tr, quad.br) ||\n lineIntersectsLine(this.tr, this.br, quad.br, quad.bl) ||\n lineIntersectsLine(this.tr, this.br, quad.bl, quad.tl)\n )\n return true;\n\n if (\n lineIntersectsLine(this.br, this.bl, quad.tl, quad.tr) ||\n lineIntersectsLine(this.br, this.bl, quad.tr, quad.br) ||\n lineIntersectsLine(this.br, this.bl, quad.br, quad.bl) ||\n lineIntersectsLine(this.br, this.bl, quad.bl, quad.tl)\n )\n return true;\n\n if (\n lineIntersectsLine(this.bl, this.tl, quad.tl, quad.tr) ||\n lineIntersectsLine(this.bl, this.tl, quad.tr, quad.br) ||\n lineIntersectsLine(this.bl, this.tl, quad.br, quad.bl) ||\n lineIntersectsLine(this.bl, this.tl, quad.bl, quad.tl)\n )\n return true;\n\n return false;\n }\n\n offset(dx, dy) {\n this.tl.x += dx;\n this.tl.y += dy;\n this.tr.x += dx;\n this.tr.y += dy;\n this.bl.x += dx;\n this.bl.y += dy;\n this.br.x += dx;\n this.br.y += dy;\n }\n\n isRect() {\n const rect1 = new RectModel(this.tl.x, this.tl.y, this.br.x, this.br.y);\n rect1.sort();\n\n const rect2 = new RectModel(this.tr.x, this.tr.y, this.bl.x, this.bl.y);\n rect2.sort();\n\n return rect1.isEqual(rect2);\n }\n\n isEqual(that) {\n if (this == that) return true;\n\n return (\n this.tl.x == that.tl.x &&\n this.tr.x == that.tr.x &&\n this.bl.x == that.bl.x &&\n this.br.x == that.br.x &&\n this.tl.y == that.tl.y &&\n this.tr.y == that.tr.y &&\n this.bl.y == that.bl.y &&\n this.br.y == that.br.y\n );\n }\n\n copy() {\n return new QuadModel(this.tl, this.tr, this.bl, this.br);\n }\n}\n\n@Injectable()\nexport class SlMath {\n static unionRects(a, b) {\n return new RectModel(\n Math.min(a.min_x(), b.min_x()),\n Math.min(a.min_y(), b.min_y()),\n Math.max(a.max_x(), b.max_x()),\n Math.max(a.max_y(), b.max_y()),\n );\n }\n\n static floatLt(a, b) {\n return floatLt(a, b);\n }\n\n static floatGt(a, b) {\n return floatGt(a, b);\n }\n\n static floatEq(a, b) {\n return floatEq(a, b);\n }\n\n static degreeToRadian(degrees) {\n return parseFloat(degrees) * (Math.PI / 180.0);\n }\n\n static size(width = 0, height = 0): SizeModel {\n return new SizeModel(width, height);\n }\n\n static identityMatrix(): MatrixModel {\n const a = 1;\n const b = 0;\n const c = 0;\n const d = 1;\n const e = 0;\n const f = 0;\n\n return new MatrixModel(a, b, c, d, e, f);\n }\n\n static point(x = 0, y = 0) {\n return new PointModel(x, y);\n }\n\n static castFloatToInt(fValue) {\n return castFloatToInt(fValue);\n }\n\n static intersectRects(a, b) {\n if (!a.hasIntersection(b)) {\n return new RectModel(0, 0, 0, 0);\n }\n\n if (a.isAreaEmpty()) {\n return a;\n }\n\n if (b.isAreaEmpty()) {\n return b;\n }\n\n const i = a.copy();\n\n i.left = Math.max(a.min_x(), b.min_x());\n i.top = Math.max(a.min_y(), b.min_y());\n i.right = Math.min(a.max_x(), b.max_x());\n i.bottom = Math.min(a.max_y(), b.max_y());\n\n return i;\n }\n\n //Matrix\n static matrix(a?, b?, c?, d?, e?, f?): MatrixModel {\n if (\n ext.isUndefinedOrNull(a) &&\n ext.isUndefinedOrNull(b) &&\n ext.isUndefinedOrNull(c) &&\n ext.isUndefinedOrNull(d) &&\n ext.isUndefinedOrNull(e) &&\n ext.isUndefinedOrNull(f)\n ) {\n return new MatrixModel(1, 0, 0, 1, 0, 0);\n }\n\n return new MatrixModel(a, b, c, d, e, f);\n }\n\n static translationMatrix(x, y) {\n return new MatrixModel(1, 0, 0, 1, x, y);\n }\n\n static scalingMatrix(x, y, origin?) {\n let orgX = 0;\n let orgY = 0;\n\n if (!ext.isUndefinedOrNull(origin)) {\n orgX = origin.x;\n orgY = origin.y;\n }\n\n return new MatrixModel(x, 0, 0, y, (1 - x) * orgX, (1 - y) * orgY);\n }\n\n static rotationMatrix(radian, origin?) {\n const sina = Math.sin(radian);\n const cosa = Math.cos(radian);\n\n let dx = 0;\n let dy = 0;\n\n if (!ext.isUndefinedOrNull(origin)) {\n dx = origin.x * (1 - cosa) + origin.y * sina;\n dy = origin.y * (1 - cosa) - origin.x * sina;\n }\n\n return new MatrixModel(cosa, sina, -sina, cosa, dx, dy);\n }\n\n // Rect\n static rect(left = 0, top = 0, right = 0, bottom = 0): RectModel {\n return new RectModel(left, top, right, bottom);\n }\n\n static adjustRect(rect) {\n if (!rect) {\n return rect;\n }\n\n const rectI = new RectModel(0, 0, 0, 0);\n\n rectI.left = castFloatToInt(Math.floor(rect.min_x()));\n rectI.top = castFloatToInt(Math.floor(rect.min_y()));\n rectI.right = castFloatToInt(Math.ceil(rect.max_x()));\n rectI.bottom = castFloatToInt(Math.ceil(rect.max_y()));\n\n return /*convertRectIToRectF(*/ rectI /*)*/;\n }\n\n static quadFromRect(rect): QuadModel {\n if (ext.isUndefinedOrNull(rect)) {\n rect = new RectModel(0, 0, 0, 0);\n }\n\n const tl = new PointModel(rect.left, rect.top);\n const tr = new PointModel(rect.right, rect.top);\n const bl = new PointModel(rect.left, rect.bottom);\n const br = new PointModel(rect.right, rect.bottom);\n\n return new QuadModel(tl, tr, bl, br);\n }\n\n static isRectsOnSameLine(a, b, threshold) {\n // if coordinate difference is below the 'threshold' they are treated as being on the same line\n return Math.abs(a.top - b.top) < threshold && Math.abs(a.bottom - b.bottom) < threshold && a.left < b.left && a.right < b.right;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { environment } from '@env/environment';\nimport { Observable } from 'rxjs';\n\nimport { SignerService } from './signer/signer.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { catchError } from 'rxjs/operators';\nimport { throwError } from 'rxjs/internal/observable/throwError';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpService {\n private apiBaseUrl;\n private headers: Headers;\n\n constructor(\n private httpClient: HttpClient,\n private router: Router,\n private route: ActivatedRoute,\n private signerService: SignerService,\n private translate: TranslateService,\n ) {\n this.apiBaseUrl = environment.apiUrl;\n }\n\n getData(url: string, params?: any, isSkipExpired = false): Observable {\n return this.httpRequest(url, 'GET', isSkipExpired);\n }\n\n postData(url: string, model?: any, isSkipExpired = false): Observable {\n return this.httpRequest(url, 'POST', isSkipExpired, model, null);\n }\n\n putData(url: string, model: any, isSkipExpired = false): Observable {\n const body = JSON.stringify(model);\n return this.httpRequest(url, 'PUT', isSkipExpired, body);\n }\n\n deleteData(url: string, isSkipExpired = false): Observable {\n return this.httpRequest(url, 'DELETE', isSkipExpired);\n }\n\n postArrayBufferPromise(url, model?: any, isSkipExpired = false, observe?: string): any {\n const body = JSON.stringify(model);\n return this.httpRequest(url, 'POST', isSkipExpired, body, true, observe).toPromise();\n }\n\n postFormData(url: string, file: File, partName: string = 'image', isSkipExpired = false): Observable {\n const body = new FormData();\n body.append(partName, file, file.name);\n return this.httpRequest(url, 'POST', isSkipExpired, body);\n }\n\n putFormData(url: string, file: File, partName: string = 'image', isSkipExpired = false, responseContentType = null): Observable {\n const body = new FormData();\n body.append(partName, file, file.name);\n return this.httpRequest(url, 'PUT', isSkipExpired, body, null, null, 'text');\n }\n\n downloadFile(url: string, params?: any, isSkipExpired = false) {\n if (!isSkipExpired && this.signerService.checkExpiryDate()) {\n this.signerService.closeSession();\n }\n\n const signerInfo = this.signerService.get();\n\n if (!signerInfo) {\n return;\n }\n\n window.location.href = this.url(url) + '/?access_token=' + signerInfo['access_token'];\n }\n\n private httpRequest(relativeUrl: string, method: 'POST' | 'GET' | 'PUT' | 'DELETE', isSkipExpired: any, body?: any, isArrayBuffer?: boolean, observe?: string, isText?: string): Observable {\n if (!isSkipExpired && this.signerService.checkExpiryDate()) {\n this.signerService.closeSession();\n return Observable.throw('session has timed out');\n }\n\n let headers = new HttpHeaders();\n headers = this.appendAccessToken(headers);\n\n if (!(body instanceof FormData)) {\n headers = headers.append('Content-Type', 'application/json');\n }\n\n if (method === 'GET') {\n headers = headers.append('Cache-Control', 'no-cache');\n }\n\n let request$: Observable;\n const options: any = { headers: headers };\n\n if (method === 'GET') {\n request$ = this.httpClient.get(this.url(relativeUrl), options);\n } else if (method === 'POST') {\n if (isArrayBuffer) {\n options['responseType'] = 'arraybuffer' as 'json';\n }\n\n if (observe) {\n options['observe'] = observe;\n }\n request$ = this.httpClient.post(this.url(relativeUrl), body, options);\n } else if (method === 'PUT') {\n if (isText) {\n options['responseType'] = 'text';\n }\n\n request$ = this.httpClient.put(this.url(relativeUrl), body, options);\n } else if (method === 'DELETE') {\n request$ = this.httpClient.delete(this.url(relativeUrl), options);\n }\n\n return request$.pipe(\n catchError(this.handleError)\n );\n }\n\n private appendAccessToken(headers: HttpHeaders): HttpHeaders {\n const signerInfo = this.signerService.get();\n headers = headers.delete('Authorization');\n\n if (!signerInfo) {\n return headers;\n }\n\n headers = headers.append('Authorization', `${signerInfo['token_type']} ${signerInfo['access_token']}`);\n return headers;\n }\n\n private url(url: string): string {\n return this.apiBaseUrl + url;\n }\n\n private handleError = (error: any) => {\n if (error.status === 401) {\n if (this.signerService.checkExpiryDate()) {\n this.signerService.closeSession();\n } else {\n this.router.navigate(['/error']);\n }\n } else if (error.status === 400) {\n const errorBody = error.error;\n\n if (errorBody) {\n const lang = errorBody.language;\n\n this.translate.use(lang);\n this.translate.setDefaultLang(lang);\n\n const packageErrors = ['PACKAGE_DRAFTED', 'PACKAGE_DECLINED', 'PACKAGE_EXPIRED', 'PACKAGE_ARCHIVED', 'PACKAGE_TRASHED', 'PACKAGE_NOT_FOUND'];\n if (packageErrors.indexOf(errorBody.error) > -1) {\n this.router.navigate(\n [\n '/package-error',\n {\n error: errorBody.error,\n error_description: errorBody.error_description,\n },\n ],\n { relativeTo: this.route, skipLocationChange: true },\n );\n }\n }\n } else if (error.status === 500) {\n this.router.navigate(['/error']);\n }\n\n return throwError(error);\n };\n\n private getErrorJson = (error: any): any => {\n let body;\n\n try {\n body = error.json();\n } catch (exeption) {\n body = error.text('iso-8859'); // UTF-8\n try {\n body = JSON.parse(body);\n } catch (ex) {}\n }\n\n return body;\n };\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","import { Component, OnInit } from '@angular/core';\n\nimport { SignerService } from '../../services/signer/signer.service';\n\n@Component({\n selector: 'app-session-timed-out-page',\n templateUrl: './session-timed-out-page.component.html',\n styleUrls: ['./session-timed-out-page.component.scss'],\n})\nexport class SessionTimedOutPageComponent implements OnInit {\n //context;\n\n constructor(private signerService: SignerService) {}\n\n ngOnInit() {\n //this.context = {\n // title: \"Your session has timed out.\",\n // description: \"To return to your session, click on the button in the original email that initiated the signing process.\",\n // svg: {\n // xlinkHref: \"#dialog-timeout\",\n // xlinkHrefDisabled: \"\"\n // },\n // button:\n // {\n // text: \"Close\"\n // }\n //}\n }\n\n onClose() {\n this.signerService.finish();\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild, CanLoad, Route } from '@angular/router';\n\nimport { AuthService } from './auth.service';\n\n@Injectable({ providedIn: 'root' })\nexport class AuthGuardService implements CanActivate, CanActivateChild, CanLoad {\n constructor(\n private router: Router,\n private authService: AuthService,\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n const url = state.url;\n\n return this.checkAccessToken(url, route);\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n return this.canActivate(route, state);\n }\n\n canLoad(route: Route): boolean {\n const url = '/${route.path}';\n\n return this.checkAccessToken(url);\n }\n\n checkAccessToken(url: string, route?): boolean {\n if (route && route.url && route.url.length > 0 && route.url[0].path === 'auth') {\n if (route.queryParams['session'] && route.queryParams['package']) {\n return true;\n } else {\n this.router.navigate(['/sign']);\n }\n }\n\n if (this.authService.isAuthenticated()) {\n return true;\n }\n\n this.router.navigate(['/finish']);\n\n return false;\n }\n}\n","

finish-page works!

\r\n","import { Component, OnInit, OnChanges, OnDestroy, AfterViewInit, Renderer2 } from '@angular/core';\n\nimport { DialogRef, ModalComponent, CloseGuard } from 'ngx-modialog-11';\nimport { BSModalContext } from 'ngx-modialog-11/plugins/bootstrap';\n\nexport class PdfDownloadContext extends BSModalContext {\n constructor(\n public title: string,\n public description: string,\n public model: any,\n public callback: Function,\n public fonts: string[],\n ) {\n super();\n }\n}\n\n@Component({\n selector: 'app-pdf-download',\n templateUrl: './pdf-download.component.html',\n styleUrls: ['./pdf-download.component.scss'],\n})\nexport class PdfDownloadComponent implements OnInit, CloseGuard, OnChanges, OnDestroy, AfterViewInit, ModalComponent {\n context: PdfDownloadContext;\n wrongAnswer: boolean;\n\n constructor(\n public dialog: DialogRef,\n public renderer: Renderer2,\n ) {\n this.context = this.dialog.context;\n this.wrongAnswer = true;\n this.dialog.setCloseGuard(this);\n }\n\n ngOnInit(): void {}\n\n ngAfterViewInit() {}\n\n ngOnChanges() {}\n\n ngOnDestroy() {}\n\n onClose() {\n this.wrongAnswer = false;\n this.dialog.close();\n }\n\n beforeDismiss(): boolean {\n return true;\n }\n\n beforeClose(): boolean {\n return this.wrongAnswer;\n }\n\n download(document) {\n if (!this.context.callback) {\n return;\n }\n\n this.context.callback(document);\n }\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { CapitalizePipe, FieldNamePipe } from '@app/common-feature';\nimport * as ext from '@app/extensions';\nimport { _tr } from '@app/extensions';\nimport { HttpService } from '../../services/http.service';\nimport { FieldWrapperModel } from '../../services/package/field/field.model';\nimport { FieldType } from '../../services/package/field/field-type.enum';\nimport { Info } from './package.model';\nimport { AppearanceType } from '../../services/appearance/appearance.enum';\nimport { overlayConfigFactory } from 'ngx-modialog-11';\nimport { Modal, BSModalContext } from 'ngx-modialog-11/plugins/bootstrap';\nimport { MessageBoxComponent } from '../../dialogs/message-box/message-box.component';\nimport { PdfDownloadComponent } from '../../dialogs/pdf-download/pdf-download.component';\nimport { environment } from '@env/environment';\nimport { DateTime } from 'luxon';\n\n@Injectable({ providedIn: 'root' })\nexport class PackageService {\n package;\n\n environment;\n\n onChangeTextFieldValue = new EventEmitter();\n onClearFieldValue = new EventEmitter();\n\n private fields: FieldWrapperModel[] = [];\n\n private lastisRequiredField: FieldWrapperModel;\n\n private fieldsInfo: Info;\n\n constructor(\n private modal: Modal,\n private httpService: HttpService,\n private capitalizePipe: CapitalizePipe,\n private fieldNamePipe: FieldNamePipe,\n ) {\n this.environment = environment;\n }\n\n init(data, fieldsInfo: Info) {\n this.package = data;\n\n if (!this.package) {\n return;\n }\n\n this.fieldsInfo = fieldsInfo;\n\n this.wrappingFields(this.package.documents, fieldsInfo);\n this.setLastRequiredField();\n }\n\n get fieldsArr() {\n return this.fields;\n }\n\n // Package\n get isSignedPackage(): boolean {\n if (!this.package) {\n return true;\n }\n\n for (let i = 0; i < this.package.documents.length; i++) {\n if (!this.package.documents[i].roles) {\n continue;\n }\n\n for (let j = 0; j < this.package.documents[i].roles.length; j++) {\n if (!this.package.documents[i].roles[j].isComplete) {\n return false;\n }\n }\n }\n\n return true;\n }\n\n getPackageName(): String {\n if (!this.package) {\n return '';\n }\n\n return this.package.name;\n }\n\n get() {\n return this.package;\n }\n\n get documentCount() {\n if (!this.package) {\n return 0;\n }\n\n if (!this.package.documents) {\n return 0;\n }\n\n return this.package.documents.length;\n }\n\n download(args) {\n if (!this.package) {\n return;\n }\n\n //if (value === DownloadType.Enum.One) {\n\n // this.downloadOneByOne(this.package.documents);\n // return;\n //}\n\n if (this.documentCount > 1) {\n this.downloadPopupOpen(this.package.documents);\n } else if (this.documentCount === 1) {\n this.downloadOneDocument(this.package.documents[0]);\n }\n //this.httpService.downloadFile(`api/v1/packages/${this.package.id}/documents/zip`);\n }\n\n get recipient() {\n return this.package && this.package.recipients && this.package.recipients[0];\n }\n\n // Fields\n get isComplitedRequiredFields() {\n return this.fieldsInfo.required.isComplited;\n }\n\n renameFields() {\n if (!this.fields) {\n return;\n }\n\n for (let i = 0; i < this.fields.length; i++) {\n this.fields[i].rename();\n }\n }\n\n setFieldValue(field: FieldWrapperModel, value, callback?) {\n if (!field) {\n return;\n }\n const type = field.type;\n\n if (!type) {\n return;\n }\n\n if (type === FieldType.Enum.RadioButton) {\n this.setValueRadioButton(field);\n } else if (type === FieldType.Enum.CheckBox) {\n this.setValueCheckBox(field);\n } else if (type === FieldType.Enum.TextArea || type === FieldType.Enum.TextField) {\n field.setValue(value);\n\n setTimeout(() => {\n this.onChangeTextFieldValue.emit({\n field: field,\n });\n }, 100);\n } else {\n field.setValue(value);\n }\n\n this.setMissedRequiredFileds();\n\n if (type === FieldType.Enum.TextArea || type === FieldType.Enum.TextField) {\n return;\n }\n\n this.goToNextField(field, callback);\n }\n\n sign(field: FieldWrapperModel, callback) {\n if (!field) {\n return;\n }\n\n field.setValue(field.type === FieldType.Enum.Signature ? AppearanceType.Signature : AppearanceType.Initial);\n\n this.setValueAutoCompleteFields(field.id);\n this.setMissedRequiredFileds();\n\n const nextFieldData = this.getNextRequiredFieldData(field);\n\n if (callback) {\n callback(field, nextFieldData);\n }\n }\n\n isFirstRequiredField(field) {\n if (!this.fields || !field) {\n return false;\n }\n\n const id = field.id;\n const index = this.fields.map((x) => x.id).indexOf(id);\n\n if (index < 0) {\n return false;\n }\n\n if (index === 0) {\n return true;\n }\n\n for (let i = index - 1; i >= 0; i--) {\n if (this.fields[i].isRequired && !this.fields[i].isSigned) {\n return false;\n }\n }\n\n return true;\n }\n\n getFiledWrapper(fieldId): FieldWrapperModel {\n if (!fieldId) {\n return null;\n }\n\n for (let i = 0; i < this.fields.length; i++) {\n if (this.fields[i].id === fieldId) {\n return this.fields[i];\n }\n }\n\n return null;\n }\n\n getFileds() {\n return this.fields;\n }\n\n getFields(documentId) {\n const fields = [];\n\n if (!this.fields) {\n return null;\n }\n\n for (let i = 0; i < this.fields.length; i++) {\n if (this.fields[i].documentId === documentId) {\n fields.push(this.fields[i]);\n }\n }\n\n return fields;\n }\n\n getFirstRequiredField() {\n if (!this.fields) {\n return null;\n }\n\n for (let i = 0; i < this.fields.length; i++) {\n if (this.fields[i].isRequired && !this.fields[i].isSigned) {\n const index = this.package.documents.map((x) => x.id).indexOf(this.fields[i].documentId);\n\n return this.fields[i];\n }\n }\n\n return null;\n }\n\n getFirstRequiredFieldData() {\n if (!this.fields) {\n return null;\n }\n\n for (let i = 0; i < this.fields.length; i++) {\n if (this.fields[i].isRequired && !this.fields[i].isSigned) {\n const index = this.package.documents.map((x) => x.id).indexOf(this.fields[i].documentId);\n\n return {\n document: this.package.documents[index],\n field: this.fields[i].getField(), // TODO should be given field wrap\n };\n }\n }\n\n return null;\n }\n\n getNextRequiredFieldData(field: FieldWrapperModel) {\n if (!field) {\n return null;\n }\n\n if (this.lastisRequiredField && this.lastisRequiredField.id === field.id) {\n return null;\n }\n\n let index = this.fields.map((x) => x.id).indexOf(field.id);\n\n if (index < 0) {\n return null;\n }\n\n for (let i = index + 1; i < this.fields.length; i++) {\n if (this.fields[i] && this.fields[i].isRequired && !this.fields[i].isSigned) {\n index = this.package.documents.map((x) => x.id).indexOf(this.fields[i].documentId);\n\n return {\n document: this.package.documents[index],\n field: this.fields[i],\n isVisible: false,\n };\n }\n }\n return null;\n }\n\n getNextRequiredField(prevField: FieldWrapperModel): FieldWrapperModel {\n if (!prevField) {\n return;\n }\n\n if (this.lastisRequiredField && this.lastisRequiredField.id === prevField.id) {\n return null;\n }\n\n const index = this.fields.map((x) => x.id).indexOf(prevField.id);\n\n if (index < 0) {\n return null;\n }\n\n for (let i = index + 1; i < this.fields.length; i++) {\n if (this.fields[i].isRequired && !this.fields[i].isSigned) {\n return this.fields[i];\n }\n }\n\n return null;\n }\n\n getMissedRequiredFiledsInfo() {\n const info = {};\n\n if (!this.fields) {\n return false;\n }\n\n for (let i = 0; i < this.fields.length; i++) {\n if (this.fields[i].isMissed) {\n info[this.fields[i].documentName] = ++info[this.fields[i].documentName] || 1;\n }\n }\n\n return info;\n }\n\n get isLastRequiedFieldSigned() {\n if (!this.lastisRequiredField) {\n return false;\n }\n\n return this.lastisRequiredField.isSigned;\n }\n\n // Clear\n clearField(field) {\n if (!field) {\n return;\n }\n\n this.clear(field);\n }\n\n clearFields() {\n this.modal.open(\n MessageBoxComponent,\n overlayConfigFactory(\n {\n title: _tr('You are about to clear all fields you have filled in this envelope'),\n classPopup: 'vertical-btn',\n buttons: [\n {\n text: _tr('Clear fields'),\n callback: this.clearFieldsCallback,\n },\n {\n text: _tr('Cancel'),\n classes: 'empty-secondary-button',\n },\n ],\n image: 'fa-exclamation-triangle',\n svg: {\n xlinkHref: '#dialog-info-warning',\n xlinkHrefDisabled: '',\n },\n classes: 'warning',\n },\n BSModalContext,\n ),\n );\n }\n\n clareFiledByType(type) {\n if (!this.fields) {\n return;\n }\n\n for (let i = 0; i < this.fields.length; i++) {\n if (this.fields[i].isSigned && this.fields[i].type === type) {\n this.clear(this.fields[i]);\n }\n }\n }\n\n // Atachments\n isComplitedRequiredAtachments(atachments) {\n if (!atachments) {\n return false;\n }\n\n let result = false;\n\n for (let i = 0; i < atachments.length; i++) {\n if (atachments[i].isRequired) {\n result = true;\n\n if (atachments[i].attachmentStatus !== 'complete') {\n return false;\n }\n }\n }\n\n return result;\n }\n\n isComplitedOptionalAtachments(atachments) {\n if (!atachments) {\n return false;\n }\n\n let result = false;\n\n for (let i = 0; i < atachments.length; i++) {\n if (!atachments[i].isRequired) {\n result = true;\n\n if (atachments[i].attachmentStatus !== 'complete') {\n return false;\n }\n }\n }\n\n return result;\n }\n\n initAttachmentsInfo(attachments, info: Info) {\n if (!attachments || !info) {\n return;\n }\n\n info.hasItems = attachments.length > 0;\n\n info.required.count = 0;\n info.optional.count = 0;\n\n for (let i = 0; i < attachments.length; i++) {\n if (attachments[i].attachmentStatus === 'complete') {\n continue;\n }\n\n if (attachments[i].isRequired) {\n info.required.count++;\n } else {\n info.optional.count++;\n }\n }\n }\n\n hasRequiredAtachments(atachments) {\n if (!atachments) {\n return false;\n }\n\n for (let i = 0; i < atachments.length; i++) {\n if (atachments[i].isRequired) {\n return true;\n }\n }\n\n return false;\n }\n\n // Documents\n private downloadPopupOpen(documents) {\n if (!documents) {\n return;\n }\n\n this.modal.open(\n PdfDownloadComponent,\n overlayConfigFactory(\n {\n title: _tr('Download PDF files'),\n callback: (document) => {\n if (document === null) {\n this.downloadZip();\n } else if (document) {\n this.downloadOneDocument(document);\n }\n },\n model: {\n documents: documents,\n },\n buttons: [],\n },\n BSModalContext,\n ),\n );\n }\n\n private downloadOneByOne(documents) {\n if (!documents || !this.package) {\n return;\n }\n\n if (documents.length < 1) {\n return;\n }\n let i = 1;\n\n this.httpService.downloadFile(`api/v1/packages/${this.package.id}/documents/${documents[0].id}/download`);\n\n const id = setInterval(() => {\n // TODO should be moved to zone\n const doc = documents[i];\n\n if (!doc) {\n clearInterval(id);\n return;\n }\n\n i++;\n\n this.httpService.downloadFile(`api/v1/packages/${this.package.id}/documents/${doc.id}/download`);\n }, 2000);\n }\n\n private downloadOneDocument(docuemnt) {\n if (!document) {\n return;\n }\n\n this.httpService.downloadFile(`api/v1/packages/${this.package.id}/documents/${docuemnt.id}/download`);\n }\n\n private downloadZip() {\n if (!this.package) {\n return;\n }\n\n this.httpService.downloadFile(`api/v1/packages/${this.package.id}/documents/zip`);\n }\n\n // Fileds\n private goToNextField(field: FieldWrapperModel, callback) {\n //if (!field || !this.isSignStarted_) {\n // return;\n //}\n if (!this.fields) {\n return;\n }\n const nextFieldData = this.getNextRequiredFieldData(field);\n\n if (callback) {\n callback(field, nextFieldData);\n }\n }\n\n private setValueAutoCompleteFields(id) {\n if (!this.fields || !this.package) {\n return;\n }\n const recipient = this.recipient;\n\n if (!recipient) {\n return;\n }\n for (let i = 0; i < this.fields.length; i++) {\n if (!this.fields[i].isAutoComplete) {\n continue;\n }\n if (this.fields[i].parentId != id) {\n continue;\n }\n this.setValueAutoCompleteField(this.fields[i], recipient);\n }\n }\n\n private setValueAutoCompleteField(field, recipient) {\n switch (field.type) {\n case 'date':\n let formatDate = this.package.signingDateFormat || 'M/d/yyyy';\n const locale = this.package.language;\n\n if (formatDate.includes('tt')) {\n formatDate = formatDate.replace('tt', 'a');\n }\n\n field.setValue(this.formatDateTime(formatDate, locale));\n break;\n case 'email':\n if (recipient.email) {\n field.setValue(recipient.email);\n }\n break;\n case 'name':\n if (recipient.firstName || recipient.lastName) {\n field.setValue(recipient.firstName + (recipient.lastName ? ' ' + recipient.lastName : ''));\n }\n break;\n case 'company':\n if (recipient.company) {\n field.setValue(recipient.company);\n }\n\n break;\n case 'title':\n if (recipient.title) {\n field.setValue(recipient.title);\n }\n\n break;\n }\n }\n\n private formatDateTime(format: string, locale: string): string {\n const currentDate = DateTime.local();\n return currentDate.toFormat(format, { locale });\n }\n\n private setValueCheckBox(field: FieldWrapperModel) {\n if (!field) {\n return;\n }\n const value = !field.value;\n\n field.setValue(value ? value : null);\n }\n\n private setValueRadioButton(field: FieldWrapperModel) {\n if (!field || !this.fields) {\n return;\n }\n\n field.setValue(true);\n\n const id = field.id;\n const radioGroup = field.getRadioGroup();\n\n for (let i = 0; i < this.fields.length; i++) {\n if (this.fields[i].id === id) {\n continue;\n }\n\n if (this.fields[i].type === FieldType.Enum.RadioButton && this.fields[i].getRadioGroup() === radioGroup) {\n this.fields[i].setValue(false);\n }\n }\n }\n\n private setMissedRequiredFileds() {\n if (!this.fields) {\n return;\n }\n\n if (this.lastisRequiredField && this.lastisRequiredField.isSigned) {\n for (let i = 0; i < this.fields.length; i++) {\n if (this.fields[i].isRequired && !this.fields[i].isSigned) {\n this.fields[i].setMissed();\n }\n }\n }\n\n if (this.fieldsInfo) {\n this.fieldsInfo.required.isMissed = this.checkMissedRequiredFileds();\n }\n }\n\n private checkMissedRequiredFileds() {\n if (!this.fields) {\n return false;\n }\n\n for (let i = 0; i < this.fields.length; i++) {\n if (this.fields[i].isMissed) {\n return true;\n }\n }\n\n return false;\n }\n\n private clear(field?: FieldWrapperModel) {\n if (field) {\n const type = field.type;\n\n if (type === FieldType.Enum.RadioButton) {\n this.clearRadioGroupValues(field);\n } else {\n field.setValue(undefined);\n\n if (type === FieldType.Enum.Signature || type === FieldType.Enum.Initials) {\n this.clearAutoCompleteFields(field.id);\n }\n }\n } else {\n this.clearFields_();\n }\n\n this.setMissedRequiredFileds();\n\n this.onClearFieldValue.emit({\n field: field,\n });\n }\n\n private clearAutoCompleteFields(id) {\n for (let i = 0; i < this.fields.length; i++) {\n if (!this.fields[i].isAutoComplete) {\n continue;\n }\n\n if (this.fields[i].parentId !== id) {\n continue;\n }\n\n this.fields[i].setValue(undefined);\n this.fields[i].setMissed(false);\n }\n }\n\n private clearFields_() {\n for (let i = 0; i < this.fields.length; i++) {\n this.fields[i].setValue(undefined);\n this.fields[i].setMissed(false);\n }\n }\n\n private clearFieldsCallback = () => {\n if (!this.fields) {\n return;\n }\n\n const data = {};\n\n for (let i = 0; i < this.package.documents.length; i++) {\n const document = this.package.documents[i];\n const documentRoles = {};\n\n data[document.id] = documentRoles;\n\n for (let j = 0; j < document.roles.length; j++) {\n const role = document.roles[j];\n\n if (role.isComplete) {\n continue;\n }\n\n const roleFields = {};\n\n documentRoles[role.id] = roleFields;\n\n const filledRadioGroups = {};\n\n for (let k = 0; k < role.fields.length; k++) {\n const field = role.fields[k];\n\n roleFields[field.id] = null;\n }\n }\n }\n\n return this.httpService.postData(`api/v1/packages/${this.package.id}/fields`, data).subscribe(\n (response) => {\n this.clear();\n },\n (error) => {\n this.modal.open(\n MessageBoxComponent,\n overlayConfigFactory(\n {\n description: _tr('Failed to clear fields'),\n buttons: [\n {\n text: _tr('Ok'),\n },\n ],\n },\n BSModalContext,\n ),\n );\n },\n );\n };\n\n private clearRadioGroupValues(field: FieldWrapperModel) {\n if (!field || !this.fields) {\n return;\n }\n\n const radioGroup = field.getRadioGroup();\n\n if (ext.isUndefinedOrNull(radioGroup)) {\n return;\n }\n\n for (let i = 0; i < this.fields.length; i++) {\n if (this.fields[i].getRadioGroup() === radioGroup) {\n this.fields[i].setValue(null);\n }\n }\n }\n\n // Init\n private wrappingFields(documents, fieldsInfo: Info) {\n if (!documents) {\n return;\n }\n\n this.fields = [];\n\n for (let i = 0; i < documents.length; i++) {\n if (!documents[i].roles) {\n continue;\n }\n for (let j = 0; j < documents[i].roles.length; j++) {\n if (!documents[i].roles[j].fields) {\n continue;\n }\n const parentSignature: any = this.getFirstSignature(documents[i].roles[j].fields);\n\n for (let k = 0; k < documents[i].roles[j].fields.length; k++) {\n const field = documents[i].roles[j].fields[k];\n\n if (!field) {\n continue;\n }\n const info = field.isRequired ? fieldsInfo.required : fieldsInfo.optional;\n\n if (!field.isAutoComplete) {\n info.isEmpty = false;\n }\n\n if (field.isAutoComplete && !field.parentId) {\n field.parentId = parentSignature && parentSignature.id;\n }\n const fieldWrapModel = new FieldWrapperModel(documents[i], documents[i].roles[j], field, this.capitalizePipe, this.fieldNamePipe, info);\n\n this.fields.push(fieldWrapModel);\n }\n }\n }\n fieldsInfo.hasItems = this.fields.length > 0;\n }\n\n private getFirstSignature(fields) {\n const signatures = fields.filter((x) => x.fieldType === FieldType.Enum.Signature || x.fieldType === FieldType.Enum.Initials);\n\n return signatures && signatures.length > 0 && signatures[0];\n }\n\n private setLastRequiredField() {\n if (!this.fields) {\n return;\n }\n\n for (let i = this.fields.length - 1; i >= 0; i--) {\n if (this.fields[i].isRequired) {\n this.lastisRequiredField = this.fields[i];\n return;\n }\n }\n }\n}\n","
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n

{{ context.title | translate }}

\n
\n

\n

\n
\n \n {{ context.link.text | translate }}\n
\n
\n
\n","export enum AppearanceDataType {\n Draw,\n Type,\n Image,\n}\n\nexport enum AppearanceType {\n Signature,\n Initial,\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '@env/environment';\n\n@Injectable()\nexport class AppLoadService {\n constructor(private httpClient: HttpClient) {}\n\n private commonIcons(): Promise {\n const promise = this.httpClient\n .get('assets/images/symbol-defs.svg?v=' + environment.version, { responseType: 'text' })\n .toPromise()\n .then((data) => {\n var div = document.createElement('div');\n div.innerHTML = data;\n document.body.insertBefore(div, document.body.childNodes[0]);\n\n return data;\n });\n\n return promise;\n }\n\n private brandIcons(): Promise {\n const promise = this.httpClient\n .get('assets/images/symbol-defs-b.svg?v=' + environment.version, { responseType: 'text' })\n .toPromise()\n .then((data) => {\n var div = document.createElement('div');\n div.innerHTML = data;\n document.body.insertBefore(div, document.body.childNodes[0]);\n\n return data;\n });\n\n return promise;\n }\n\n load(): Promise {\n return this.commonIcons().then((firstResult: any) => this.brandIcons().then((secondResult: any) => {}));\n }\n}\n","export * from './common-feature.module';\n\nexport * from './components/loading/loading.component';\n\nexport * from './pipes/capitalize.pipe';\nexport * from './pipes/safeHtml.pipe';\nexport * from './pipes/field-name.pipe';\n","import { Injectable } from '@angular/core';\n\nimport { Observable, Observer } from 'rxjs';\n\nimport { HttpService } from '../../services/http.service';\n\n@Injectable({ providedIn: 'root' })\nexport class PdfCreateService {\n constructor(private httpService: HttpService) {}\n\n public createPdf(file: File): Observable {\n let observer;\n return Observable.create((o: Observer) => {\n observer = o;\n this.createPdfRequest(file).subscribe(\n (response) => {\n if (!response) {\n observer.error('Empty response');\n }\n\n if (response && response.status === 202) {\n let id = response.text();\n this.checkTaskStatus(id).subscribe(\n (r) => {\n this.wrapByDeleteTask(id, () => {\n observer.next(id);\n observer.complete();\n });\n },\n (e) => {\n this.wrapByDeleteTask(id, () => {\n observer.error(e);\n });\n },\n );\n } else {\n let id = response;\n observer.next(id);\n observer.complete();\n }\n },\n (error) => {\n observer.error(error);\n },\n );\n });\n }\n\n private wrapByDeleteTask(id, callback) {\n this.createPdfDeleteRequest(id).subscribe(\n (response) => {\n callback();\n },\n (error) => {\n callback();\n },\n );\n }\n\n private checkTaskStatus(statusId: string): Observable {\n let observer;\n let observable = Observable.create((o: Observer) => {\n observer = o;\n this.checkTaskStatusImpl(statusId, observer);\n });\n\n return observable;\n }\n\n private checkTaskStatusImpl(statusId: string, observer: Observer) {\n setTimeout(() => {\n this.createPdfCheckStatusRequest(statusId).subscribe(\n (response) => {\n if (!response) observer.error('Empty response');\n\n switch (response.state) {\n case 0: //Succeeded\n observer.next(statusId);\n observer.complete();\n break;\n case 1: //Failed\n case 2: //Cancelled\n observer.error(response);\n break;\n case -3: //Not started\n case -2: //Pending\n case -1: //Running\n this.checkTaskStatusImpl(statusId, observer);\n break;\n }\n },\n (error) => {\n observer.error(error);\n },\n );\n }, 500);\n }\n\n private createPdfRequest(file: File): Observable {\n return this.httpService.putFormData('api/v1/pdf/create', file);\n }\n\n private createPdfCheckStatusRequest(statusId: string): Observable {\n return this.httpService.getData(`api/v1/pdf/create/${statusId}`);\n }\n\n private createPdfDeleteRequest(statusId: string): Observable {\n return this.httpService.deleteData(`api/v1/pdf/create/${statusId}`);\n }\n}\n","import { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ModalModule } from 'ngx-modialog-11';\nimport { BootstrapModalModule } from 'ngx-modialog-11/plugins/bootstrap';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonFeatureModule } from '@app/common-feature';\nimport { throwIfAlreadyLoaded } from './module-import-guard';\nimport { MessageBoxComponent } from './dialogs/message-box/message-box.component';\nimport { FormsComponent } from './dialogs/forms/forms.component';\nimport { PdfDownloadComponent } from './dialogs/pdf-download/pdf-download.component';\nimport { AppearanceComponent } from './dialogs/appearance/appearance.component';\nimport { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';\nimport { ErrorComponent } from './components/error/error.component';\nimport { FinishPageComponent } from './components/finish-page/finish-page.component';\nimport { SessionTimedOutPageComponent } from './components/session-timed-out-page/session-timed-out-page.component';\nimport { PackageErrorComponent } from './components/package-error/package-error.component';\nimport { DrawCanvasComponent } from './components/draw-canvas/draw-canvas.component';\nimport { ImageUploadComponent } from './components/image-upload/image-upload.component';\nimport { ColorPickerComponent } from '@app/core/components/color-picker/color-picker.component';\nimport { SignatureAndInitialTypeComponent } from '@app/core/components/signature-and-initial-type/signature-and-initial-type.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DeviceDetectorModule } from 'ngx-device-detector';\n\n@NgModule({\n imports: [\n BrowserModule,\n HttpClientModule,\n TranslateModule,\n ModalModule.forRoot(),\n DeviceDetectorModule.forRoot(),\n BootstrapModalModule,\n CommonFeatureModule,\n ReactiveFormsModule,\n ],\n declarations: [\n MessageBoxComponent,\n FormsComponent,\n PdfDownloadComponent,\n PageNotFoundComponent,\n ErrorComponent,\n FinishPageComponent,\n SessionTimedOutPageComponent,\n PackageErrorComponent,\n AppearanceComponent,\n DrawCanvasComponent,\n ImageUploadComponent,\n ColorPickerComponent,\n SignatureAndInitialTypeComponent,\n ],\n entryComponents: [MessageBoxComponent, FormsComponent, PdfDownloadComponent, AppearanceComponent],\n exports: [TranslateModule],\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\n }\n}\n","
\n
\n
\n \n \n \n
\n
\n
\n \n \n \n
\n
\n
\n

{{ context.title | translate }}

\n

{{ context.description | translate }}

\n
\n
\n \n \n \n
\n
\n
\n {{ button.text | translate }}\n
\n
\n
\n
\n","import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit, Self, Renderer2 } from '@angular/core';\nimport * as ext from '@app/extensions';\nimport { _tr } from '@app/extensions';\nimport { DialogRef, ModalComponent, CloseGuard } from 'ngx-modialog-11';\nimport { BSModalContext } from 'ngx-modialog-11/plugins/bootstrap';\nimport { AppearanceDataType, AppearanceType } from '../../services/appearance/appearance.enum';\nimport { APPEARANCE_FONTS, APPEARANCE_SUPPORTED_EXTENSIONS } from '@app/core/dialogs/appearance/constants/appearance-config-data.constant';\nimport { AppearanceService } from '@app/core/dialogs/appearance/appearance.service';\nimport { NgOnDestroy } from '@app/shared/services/destroy.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { FieldType } from '@app/core/services/package/field/field-type.enum';\nimport { SignatureInitialService } from '@app/core/services/signature/signature-initial.service';\n\nexport class AppearanceContext extends BSModalContext {\n public tabs: { id: AppearanceType; text: string }[];\n public prepareModel: any;\n\n constructor(\n public phrases: any,\n public title: string,\n public model: any,\n public appearanceType: AppearanceType,\n public callback: Function,\n public fonts: string[],\n public data: any,\n public maxFileSize: number,\n public supportedExtensions: string[],\n ) {\n super();\n }\n}\n\n@Component({\n selector: 'app-appearance',\n templateUrl: './appearance.component.html',\n styleUrls: ['./appearance.component.scss'],\n providers: [AppearanceService, NgOnDestroy],\n})\nexport class AppearanceComponent implements OnInit, CloseGuard, OnDestroy, AfterViewInit, ModalComponent {\n public message: string = null;\n public maxFileSize: number = 40 * 1024 * 1024;\n public fonts: string[] = APPEARANCE_FONTS;\n public supportedExtensions: string[] = APPEARANCE_SUPPORTED_EXTENSIONS;\n public dataTypes = AppearanceDataType;\n public context: AppearanceContext;\n public valueTypeMaxLength = 2048;\n public currentDrawColor: string;\n public currentTypeColor: string;\n public isEmptyText: boolean = false;\n\n private wrongAnswer: boolean;\n private isChanged: boolean = false;\n private isChangedItem: boolean = false;\n private initialMaxLength = 2048; // SPES-114\n private keypUpListener;\n\n @ViewChild('enter') enterRef;\n\n constructor(\n @Self() private ngOnDestroy$: NgOnDestroy,\n public dialog: DialogRef,\n public renderer: Renderer2,\n private appearanceService: AppearanceService,\n private signatureInitialService: SignatureInitialService,\n ) {\n this.context = this.dialog.context;\n this.wrongAnswer = true;\n this.dialog.setCloseGuard(this);\n\n if (this.context && this.context.model && this.context.model.isDefaultValue) {\n this.isChanged = true;\n }\n }\n\n ngOnInit(): void {\n this.setChangedColor();\n this.initTabs();\n\n this.getCurrentTypeColor();\n this.getCurrentDrawColor();\n\n this.initPhrases();\n\n this.changeTab(this.context.appearanceType);\n }\n\n ngAfterViewInit() {\n if (this.enterRef) {\n this.keypUpListener = this.renderer.listen('window', 'keyup', this.onKeyUp);\n }\n }\n\n ngOnDestroy() {\n this.keypUpListener && this.keypUpListener();\n }\n\n private getCurrentTypeColor(): void {\n this.appearanceService\n .currentTypeColor()\n .pipe(takeUntil(this.ngOnDestroy$))\n .subscribe((color: string) => {\n this.currentTypeColor = color;\n\n if (!this.isChangedItem && this.context.model) {\n this.context.model.tabs[AppearanceDataType.Type].styles.color = color;\n }\n });\n }\n\n private initTabs(): void {\n this.context.tabs = [\n {\n id: AppearanceType.Signature,\n text: 'My Signature',\n },\n {\n id: AppearanceType.Initial,\n text: 'My Initials',\n },\n ];\n }\n\n private initPhrases(): void {\n this.context.phrases = {\n [FieldType.Enum.Signature]: {\n title: _tr('Signature Appearance'),\n drawHere: _tr('Draw your signature here'),\n legal: _tr('I understand this is a legal representation of my signature.'),\n upload: _tr('Upload an image of your signature'),\n },\n [FieldType.Enum.Initials]: {\n title: _tr('Initials Appearance'),\n drawHere: _tr('Draw your initials here'),\n legal: _tr('I understand this is a legal representation of my initials.'),\n upload: _tr('Upload an image of your initials'),\n },\n limit: _tr('Maximum file size: 30 Mb. Acceptable file formats: jpg, png, bmp, gif.'),\n };\n }\n\n private getCurrentDrawColor(): void {\n this.appearanceService\n .currentDrawColor()\n .pipe(takeUntil(this.ngOnDestroy$))\n .subscribe((color: string) => (this.currentDrawColor = color));\n }\n\n private setChangedColor(): void {\n if (this.context.data && this.context.data.type !== AppearanceDataType.Image) {\n this.context.data.type === AppearanceDataType.Draw\n ? this.appearanceService.setNewDrawColor(this.context.data.drawData[0][0].color)\n : this.appearanceService.setNewTypeColor(this.context.data.styles.color);\n }\n }\n\n onApply() {\n this.apply();\n }\n\n onClose() {\n this.wrongAnswer = false;\n this.dialog.close();\n }\n\n get canApply() {\n if (this.context.model.currentType === AppearanceDataType.Type) {\n return !ext.onlySpacesOrEmpty(this.context.model.tabs[this.context.model.currentType].data) && this.isChanged;\n }\n\n return this.context.model.tabs[this.context.model.currentType].data && this.isChanged;\n }\n\n beforeDismiss(): boolean {\n return true;\n }\n\n beforeClose(): boolean {\n return this.wrongAnswer;\n }\n\n onTabSwitch(type) {\n this.context.model.currentType = type;\n this.message = null;\n\n if (this.context.model.tabs[type].data) {\n this.isChanged = true;\n }\n }\n\n onSelectedType({ font, tabType, color }) {\n this.context.model.tabs[tabType].styles.font = font;\n this.context.model.tabs[tabType].styles.color = color;\n this.isChanged = true;\n }\n\n setData(event, tabType) {\n if (!event) {\n return;\n }\n\n this.message = null;\n\n this.context.model.tabs[tabType].data = event.data;\n\n if (event.fileId) {\n this.context.model.tabs[tabType].fileId = event.fileId;\n }\n\n this.isChanged = event.data ? true : false;\n\n if (tabType !== this.dataTypes[tabType] && this.enterRef) {\n this.enterRef.nativeElement.focus();\n }\n }\n\n clear(data, tabType) {\n this.context.model.tabs[tabType].data = null;\n this.isChanged = false;\n }\n\n changeTab(id) {\n this.context.title = id === AppearanceType.Initial ? FieldType.Enum.Initials : FieldType.Enum.Signature;\n this.context.appearanceType = id;\n\n this.context.model = this.context.prepareModel(id);\n\n if (this.context.appearanceType === AppearanceType.Initial) {\n this.valueTypeMaxLength = this.initialMaxLength;\n }\n }\n\n private onKeyUp = (event) => {\n if (!event) {\n return;\n }\n const keyCode = event.witch || event.keyCode;\n\n if (keyCode === 13) {\n this.apply();\n }\n };\n\n private apply() {\n if (!this.validate()) {\n return;\n }\n\n this.message = null;\n\n if (this.context.callback) {\n this.context.callback(this.context.model.tabs[this.context.model.currentType], this.context.appearanceType);\n this.signatureInitialService.setChangeAppearance(true);\n }\n\n this.onClose();\n }\n\n private validate() {\n if (this.context.model.currentType === AppearanceDataType.Type) {\n if (ext.onlySpacesOrEmpty(this.context.model.tabs[this.context.model.currentType].data)) {\n this.message = _tr('The value cannot be empty');\n return false;\n }\n } else {\n if (!this.context.model.tabs[this.context.model.currentType].data) {\n this.message = _tr('The value cannot be empty');\n return false;\n }\n }\n\n return true;\n }\n\n public checkTextState(textState: boolean): void {\n this.isEmptyText = textState;\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-finish-page',\n templateUrl: './finish-page.component.html',\n styleUrls: ['./finish-page.component.scss'],\n})\nexport class FinishPageComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { HttpService } from '../../services/http.service';\nimport { PackageService } from '../../services/package/package.service';\n\n@Injectable()\nexport class ImageUploadService {\n url;\n\n constructor(\n private httpService: HttpService,\n private packageService: PackageService,\n ) {\n const data = this.packageService.get();\n\n if (!data) {\n return;\n }\n\n this.url = `api/v1/packages/${data.id}/recipients/${data.recipients[0].id}/signature/appearance`;\n }\n\n postFormData(image: File): Observable {\n if (!this.url) {\n return Observable.throw('url is empty');\n }\n\n return this.httpService.postFormData(this.url, image);\n }\n}\n","import { SlMath } from '../../../common/sl/sl-math';\nimport { SlBrand } from '../../../common/sl/sl-brand';\n\nimport * as ext from '@app/extensions';\nimport { _tr } from '@app/extensions';\nimport { FieldType } from './field-type.enum';\nimport { environment } from '@env/environment';\n\nexport class FieldWrapperModel {\n isVisible = false;\n isActive = false;\n\n private width = 86;\n private height = 36;\n private name = '';\n\n private brand = environment.brand;\n\n private normalSelectedItemBrush = SlBrand.colors[this.brand].bcg;\n private missedSelectedItemBrush = SlBrand.colors[this.brand].bcgErr;\n\n private normalArrowBrush = SlBrand.colors[this.brand].fill;\n private focusedArrowBrush = '#FFFFFF';\n private missedArrowBrush = SlBrand.colors[this.brand].fillErr;\n\n private normalButtonBrush = SlBrand.colors[this.brand].bcg;\n private focusedButtonBrush = SlBrand.colors[this.brand].fill;\n private missedButtonBrush = SlBrand.colors[this.brand].fillErr;\n private missedFocusedButtonBrush = SlBrand.colors[this.brand].fillErr;\n\n // signature and initial bcg\n private normalBackgroundBrush = SlBrand.colors[this.brand].bgcSignatureAndInitial;\n private missedBackgroundBrush = SlBrand.colors[this.brand].bcgErr;\n\n // signature and initial borders\n private normalBorderBrush = SlBrand.colors[this.brand].progress;\n private missedBorderBrush = SlBrand.colors[this.brand].fillErr;\n private bgcAreaIconBrush = SlBrand.colors[this.brand].bgcArrow;\n\n private normalBorderSize = 0;\n private focusedBorderSize = 0;\n\n private fontSize = 7;\n\n private signatureProcessingTitle = _tr('Click here to sign');\n private initialsProcessingTitle = _tr('Click here to initial');\n\n private x;\n private y;\n\n constructor(\n private document,\n private role,\n private field,\n private capitalizePipe,\n private fieldNamePipe,\n private info?,\n ) {\n this.init();\n }\n\n // Get\n get documentId() {\n if (!this.document) {\n return null;\n }\n\n return this.document.id;\n }\n\n get documentName() {\n if (!this.document) {\n return null;\n }\n\n return this.document.name;\n }\n\n get parentId() {\n return this.field.parentId;\n }\n\n get isSigned(): boolean {\n if (!this.field) {\n return false;\n }\n\n return !this.isValueEmpty(this.field.value);\n }\n\n get isFocused(): boolean {\n if (!this.field) {\n return false;\n }\n\n return this.field.isFocused;\n }\n\n get isAutoComplete(): boolean {\n return this.field.isAutoComplete;\n }\n\n get isRequired(): boolean {\n return this.field.isRequired;\n }\n\n get isMissed(): boolean {\n return this.field.isMissed;\n }\n\n get currentField(): any {\n return this.field;\n }\n\n get getOptionsLength(): number {\n if (!this.field) {\n return 0;\n }\n\n if (!this.field.options) {\n return 0;\n }\n\n if (!this.field.options.items) {\n return 0;\n }\n\n return this.field.options.items.length;\n }\n\n get id() {\n return this.field.id;\n }\n\n getOptionsItems() {\n if (!this.field) {\n return null;\n }\n\n return this.field.options && this.field.options.items;\n }\n\n getOptions() {\n if (!this.field) {\n return null;\n }\n\n return this.field.options;\n }\n\n getField() {\n return this.field;\n }\n\n getPageIndex() {\n return this.field.pageIndex;\n }\n\n get type() {\n if (!this.field) {\n return null;\n }\n\n const type = this.field.fieldType;\n\n if (type !== FieldType.Enum.TextField) {\n return type;\n }\n\n return this.field.options && this.field.options.isMultiline ? FieldType.Enum.TextArea : FieldType.Enum.TextField;\n }\n\n get value() {\n if (!this.field) {\n return null;\n }\n\n return this.field.value;\n }\n\n get defaultValue() {\n if (!this.field) {\n return null;\n }\n\n return this.field.defaultValue;\n }\n\n backgroundBrush(brand = 'LuluSoft') {\n return this.field.isMissed ? '#EC1C2419' : SlBrand.colors[brand].bgcSignatureAndInitial;\n }\n\n backgroundAreaIconBrush(brand) {\n return this.field.isMissed ? '#EC1C24' : SlBrand.colors[brand].bgcArrow;\n }\n\n get textColor() {\n return this.field.isMissed ? '#ffffff' : '#000000B2';\n }\n\n get borderBrush() {\n // return this.field.isMissed ? this.missedBorderBrush : this.normalBorderBrush;\n return null;\n }\n\n get checkboxAndRadioBorder(): string {\n return this.normalBorderBrush;\n }\n\n getBorderSize() {\n return this.field.isFocused ? this.focusedBorderSize : this.normalBorderSize;\n }\n\n getFontSize() {\n return this.fontSize;\n }\n\n getName() {\n return this.name;\n }\n\n getRect() {\n return SlMath.rect(this.field.left, this.field.top, this.field.left + this.field.width, this.field.top + this.field.height);\n }\n\n getStyle() {\n return {}; // TODO\n }\n\n getRadioGroup() {\n return this.field && this.field.options && this.field.options.radioGroup;\n }\n\n getSelectedGroupId() {\n return this.field.selectedGroupId;\n }\n\n isValueEmpty(value) {\n return ext.isUndefinedOrNull(value) || value === '';\n }\n\n // Set\n setSelectedGroupId(fieldId) {\n this.field.selectedGroupId = fieldId;\n }\n\n setValue(value) {\n if (value === 0) {\n value = 1;\n }\n\n if (!this.field) {\n return;\n }\n\n this.refreshInfo(value);\n this.field.value = value;\n }\n\n setFocus(value) {\n this.field.isFocused = value;\n }\n\n setMissed(value = true) {\n this.field.isMissed = value;\n }\n\n rename() {\n this.name = this.prepareName();\n }\n\n // Brush\n getArrowBrush(isOpen) {\n return isOpen ? this.focusedArrowBrush : this.isMissed ? this.missedArrowBrush : this.normalArrowBrush;\n }\n\n get selectedItemBrush() {\n return this.isMissed ? this.missedSelectedItemBrush : this.normalSelectedItemBrush;\n }\n\n getButtonBrush(isOpen) {\n return isOpen\n ? this.isMissed\n ? this.missedFocusedButtonBrush\n : this.focusedButtonBrush\n : this.isMissed\n ? this.missedButtonBrush\n : this.normalButtonBrush;\n }\n\n private refreshInfo(value) {\n if (this.isAutoComplete) {\n return;\n }\n if (this.isValueEmpty(this.field.value) && !this.isValueEmpty(value)) {\n this.info.count--;\n\n setTimeout(() => {\n this.field.isMissed = false;\n }, 300); // TODO temp\n } else if (this.isValueEmpty(value) && !this.isValueEmpty(this.field.value)) {\n this.info.count++;\n }\n this.info.isComplited = this.info.count === 0;\n }\n\n private init() {\n if (this.isAutoComplete) {\n return;\n }\n this.name = this.fieldNamePipe.transform(this.field.fieldType);\n\n // p.1 SPES-100\n // bug render optional empty text/checkbox with default value\n // if (!this.field.isRequired && this.isValueEmpty(this.field.value)) {\n // this.setValue(null);\n // }\n\n if (!this.info) {\n return;\n }\n if (this.isValueEmpty(this.field.value)) {\n this.info.count++;\n }\n this.info.isComplited = this.info.count === 0;\n }\n\n private prepareName() {\n if (this.field.fieldType === FieldType.Enum.Signature) {\n return this.signatureProcessingTitle;\n } else if (this.field.fieldType === FieldType.Enum.Initials) {\n return this.initialsProcessingTitle;\n }\n\n return this.fieldNamePipe.transform(this.field.fieldType);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuardService } from '@app/core/auth/auth-guard.service';\nimport { ErrorComponent } from '@app/core/components/error/error.component';\nimport { SessionTimedOutPageComponent } from '@app/core/components/session-timed-out-page/session-timed-out-page.component';\nimport { PackageErrorComponent } from '@app/core/components/package-error/package-error.component';\nimport { FinishPageComponent } from '@app/core/components/finish-page/finish-page.component';\nimport { RedirectGuardService } from '@app/core/services/redirect-guard.service';\nimport { PageNotFoundComponent } from '@app/core/components/page-not-found/page-not-found.component';\n\nconst appRoutes: Routes = [\n {\n path: 'auth',\n loadChildren: () => import('app/modules/auth/auth.module').then((m) => m.AuthModule),\n canActivate: [AuthGuardService],\n },\n {\n path: 'sign',\n loadChildren: () => import('app/modules/sign/sign.module').then((m) => m.SignModule),\n canActivate: [AuthGuardService],\n data: { preload: true },\n },\n {\n path: 'error',\n component: ErrorComponent,\n },\n {\n path: 'session-expired',\n component: SessionTimedOutPageComponent,\n },\n {\n path: 'package-error',\n component: PackageErrorComponent,\n },\n // {\n // path: 'create',\n // loadChildren: 'app/modules/create/create.module#CreateModule',\n // canActivate: [AuthGuardService]\n // },\n // {\n // path: 'user',\n // loadChildren: 'app/modules/user/user.module#UserModule',\n // canActivate: [AuthGuardService]\n // },\n {\n path: 'finish',\n component: FinishPageComponent,\n canActivate: [RedirectGuardService],\n },\n {\n path: '',\n redirectTo: '/finish',\n pathMatch: 'full',\n },\n { path: '**', component: PageNotFoundComponent },\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(\n appRoutes,\n // {\n // preloadingStrategy: SelectivePreloadingStrategy\n // ,useHash: true //Use for IIS\n // ,\n // relativeLinkResolution: 'legacy'\n // }\n ),\n ],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Injectable } from '@angular/core';\n\nimport { overlayConfigFactory } from 'ngx-modialog-11';\nimport { Modal, BSModalContext } from 'ngx-modialog-11/plugins/bootstrap';\nimport * as ext from '@app/extensions';\nimport { Broadcaster } from '../../common/broadcaster';\nimport { BroadcasterKey } from '../../common/enum/broadcaster-key.enum';\nimport { PackageService } from '../../services/package/package.service';\nimport { FieldType } from '../../services/package/field/field-type.enum';\nimport { AppearanceDataType, AppearanceType } from '../../services/appearance/appearance.enum';\nimport { appearanceModel } from '../../services/appearance/appearance.model';\nimport { AppearanceComponent } from '../../dialogs/appearance/appearance.component';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class SignatureInitialService {\n private isChangeAppearance$: BehaviorSubject = new BehaviorSubject(false);\n\n private models = [null, null];\n private title = 'Initials';\n\n constructor(\n private broadcaster: Broadcaster,\n private packageService: PackageService,\n private modal: Modal,\n ) {}\n\n isEmpty(type) {\n return this.models[type] === null;\n }\n\n isEmptyData(type) {\n if (!this.models[type]) {\n return true;\n }\n let result = true;\n\n if (this.models[type].type === AppearanceDataType.Type) {\n result = ext.onlySpacesOrEmpty(this.models[type].data);\n } else {\n result = !this.models[type].data;\n }\n return result;\n }\n\n // getTitle() {\n //\n // return this.title;\n // };\n\n getModelType(type) {\n return this.models[type];\n }\n\n get(type) {\n return this.models[type];\n }\n\n set(type, data) {\n if (!type && !data) {\n return;\n }\n\n this.update_(type, data);\n }\n\n getFieldValue(type) {\n if (!this.models[type]) {\n return null;\n }\n\n const result = {};\n\n if (this.models[type].fileId) {\n result['id'] = this.models[type].fileId;\n\n if (this.models[type].hasOwnProperty('useStored')) {\n result['useStored'] = this.models[type].useStored;\n }\n } else {\n result['text'] = this.models[type].data ? this.models[type].data : 'INITIAL';\n result['fontfamily'] = this.models[type].styles && this.models[type].styles.font ? this.models[type].styles.font : 'Arial';\n result['color'] =\n this.models[type].styles && this.models[type].styles.color\n ? this.transformColor(this.models[type].styles.color)\n : this.transformColor('#404040FF');\n }\n\n return result;\n }\n\n private transformColor(color: string): string {\n const transformColor = color.slice(1, -2);\n return `#FF${transformColor}`;\n }\n\n remove(type) {\n if (this.models[type] === 'Initials') {\n this.packageService.clareFiledByType(FieldType.Enum.Initials);\n }\n this.models[type] = null;\n }\n\n setDefaultModelOfType(type) {\n const appearenceModel = this.preparedModel(type);\n\n if (!appearanceModel) {\n return;\n }\n\n if (appearenceModel.tabs && appearenceModel.tabs.length > 0) {\n this.models[type] = appearenceModel.tabs[AppearanceDataType.Type];\n }\n }\n\n update(type, callback?) {\n type === AppearanceType.Initial ? (this.title = FieldType.Enum.Initials) : (this.title = FieldType.Enum.Signature);\n\n return this.modal.open(\n AppearanceComponent,\n overlayConfigFactory(\n {\n title: this.title,\n appearanceType: type,\n data: this.models[type],\n prepareModel: this.preparedModel.bind(this),\n callback: (data, appearanceType) => {\n if (callback) {\n callback(data);\n }\n\n this.update_(appearanceType, data);\n },\n },\n BSModalContext,\n ),\n );\n }\n\n private preparedModel(type) {\n const model = JSON.parse(JSON.stringify(appearanceModel));\n\n if (!this.models[type]) {\n this.setDefaultValue(type, model);\n\n return model;\n }\n\n model.currentType = this.models[type].type;\n\n if (this.models[type].type === AppearanceDataType.Type) {\n model.tabs[AppearanceDataType.Type] = this.models[type];\n }\n\n return JSON.parse(JSON.stringify(model));\n }\n\n private setDefaultValue(type, model) {\n if (!this.packageService || !model) {\n return;\n }\n const defaultValue = this.defaultValue(type);\n\n if (defaultValue) {\n model.tabs[AppearanceDataType.Type].data = defaultValue;\n model.isDefaultValue = true;\n }\n }\n\n private defaultValue(type) {\n const recipient = this.packageService.recipient;\n\n if (!recipient) {\n return null;\n }\n let result = null;\n\n if (type === 0) {\n if (recipient.firstName || recipient.lastName) {\n result = (recipient.firstName + ' ' + recipient.lastName).trim();\n }\n if (!result) {\n result = recipient.email;\n }\n }\n\n if (type === 1) {\n if (recipient.firstName) {\n result = recipient.firstName.substr(0, 1);\n }\n\n if (recipient.lastName) {\n result += recipient.lastName.substr(0, 1);\n }\n\n if (!result && recipient.email) {\n result = recipient.email.substr(0, 4);\n }\n }\n\n return result;\n }\n\n private update_(type, data) {\n this.models[type] = data;\n this.broadcaster.broadcast(BroadcasterKey.SignatureUpdated);\n }\n\n public isChangeAppearance(): Observable {\n return this.isChangeAppearance$.asObservable();\n }\n\n public setChangeAppearance(v: boolean): void {\n this.isChangeAppearance$.next(v);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n CanActivate,\n Router,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n CanActivateChild,\n NavigationExtras,\n CanLoad,\n Route,\n} from '@angular/router';\n\nimport { environment } from '@env/environment';\n\n@Injectable({ providedIn: 'root' })\nexport class RedirectGuardService implements CanActivate, CanActivateChild, CanLoad {\n environment;\n constructor(private router: Router) {\n this.environment = environment;\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n const url = state.url;\n\n return this.checkRedirect(url, route);\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n return this.canActivate(route, state);\n }\n\n canLoad(route: Route): boolean {\n const url = '/${route.path}';\n\n return this.checkRedirect(url);\n }\n\n checkRedirect(url: string, route?): boolean {\n if (this.environment && this.environment.links) {\n window.location.replace(this.environment.links.brandHome);\n }\n\n return false;\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\nimport { SignerService } from '../../services/signer/signer.service';\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.scss'],\n})\nexport class PageNotFoundComponent implements OnInit {\n context;\n\n constructor(private signerService: SignerService) {}\n\n ngOnInit() {}\n\n onClose() {\n this.signerService.finish();\n }\n}\n","\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { SignerService } from '../../services/signer/signer.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { _tr } from '@app/extensions';\r\n\r\n@Component({\r\n selector: 'app-package-error',\r\n templateUrl: './package-error.component.html',\r\n styleUrls: ['./package-error.component.scss'],\r\n})\r\nexport class PackageErrorComponent implements OnInit, OnDestroy {\r\n action: string;\r\n errorName: string;\r\n errorIcon: string;\r\n\r\n private id;\r\n\r\n private subscription: any;\r\n\r\n public userName: any;\r\n public stringInfo: string;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private signerService: SignerService,\r\n private translate: TranslateService,\r\n ) {\r\n this.action = _tr('Envelope was deleted');\r\n this.errorIcon = '#dialog-decline-message';\r\n }\r\n\r\n ngOnInit() {\r\n const parsedData = JSON.parse(localStorage.getItem('owner-package'));\r\n\r\n this.userName = parsedData.email;\r\n\r\n this.stringInfo = 'Please, contact the envelope owner {{param1}} for more information.';\r\n\r\n this.subscription = this.route.params.subscribe((params) => {\r\n\r\n this.errorName = params.error;\r\n\r\n switch (this.errorName) {\r\n\r\n case 'PACKAGE_ARCHIVED': {\r\n this.action = 'This envelope has been archived and cannot be accessed.';\r\n this.errorIcon = '#envelope-archived';\r\n break;\r\n }\r\n\r\n case 'PACKAGE_TRASHED': {\r\n this.action = 'This envelope has been deleted and cannot be accessed.';\r\n this.errorIcon = '#envelope-trashed';\r\n break;\r\n }\r\n\r\n default: {\r\n this.action = params['error_description'];\r\n this.errorIcon = '#dialog-decline-message';\r\n }\r\n }\r\n\r\n });\r\n\r\n // this.subscription = this.route\r\n // .queryParams\r\n // .subscribe(params => {\r\n\r\n // this.id = +params[\"id\"];\r\n // });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n close() {\r\n this.signerService.finish();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { Observable } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\ninterface BroadcastEvent {\n key: any;\n data?: any;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class Broadcaster {\n private eventBus: Subject;\n\n constructor() {\n this.eventBus = new Subject();\n }\n\n broadcast(key: any, data?: any) {\n this.eventBus.next({ key, data });\n }\n\n on(key: any): Observable {\n return this.eventBus.asObservable().pipe(\n filter((event: any) => event.key === key),\n map((event: any) => event.data),\n );\n }\n}\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from '@env/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic()\r\n .bootstrapModule(AppModule)\r\n .then((success) => console.log('Bootstrap success'))\r\n .catch((err) => console.error(err));\r\n","export const APPEARANCE_FONTS: string[] = ['Lobster', 'Courgette', 'Parisienne', 'Open Sans'];\nexport const APPEARANCE_SUPPORTED_EXTENSIONS: string[] = ['png', 'jpg', 'jpeg', 'bmp', 'gif'];\n","
\n
\n \n \n \n
\n
{{ 'Basic Colors' | translate }}
\n
    \n \n
\n
\n
\n
\n
\n"],"sourceRoot":"webpack:///"}