{"version":3,"sources":["webpack:///src/app/core/components/image-upload/image-upload.component.html","webpack:///src/app/common-feature/pipes/capitalize.pipe.ts","webpack:///src/app/core/dialogs/forms/forms.component.ts","webpack:///src/app/common-feature/components/loading/loading.component.html","webpack:///src/app/core/components/draw-canvas/draw-canvas.component.ts","webpack:///src/app/core/common/enum/broadcaster-key.enum.ts","webpack:///src/app/core/services/local-storage.service.ts","webpack:///src/app/common-feature/pipes/safeHtml.pipe.ts","webpack:///src/app/core/components/page-not-found/page-not-found.component.html","webpack:///src/app/core/components/signature-and-initial-type/signature-and-initial-type.component.html","webpack:///src/app/core/components/error/error.component.html","webpack:///src/app/core/components/session-timed-out-page/session-timed-out-page.component.html","webpack:///src/app/common-feature/common-feature.module.ts","webpack:///src/app/extensions.ts","webpack:///src/app/core/services/signer/signer.service.ts","webpack:///src/app/core/dialogs/appearance/appearance.component.html","webpack:///src/app/core/components/image-upload/image-upload.component.ts","webpack:///src/app/core/components/color-picker/constants/color-picker-data-colors.constant.ts","webpack:///src/environments/environment.ts","webpack:///src/app/core/common/sl/sl-brand.ts","webpack:///src/app/common-feature/components/loading/loading.component.ts","webpack:///src/app/shared/services/destroy.service.ts","webpack:///src/app/core/components/signature-and-initial-type/signature-and-initial-type.component.ts","webpack:///src/app/core/components/package-error/package-error.component.html","webpack:///src/app/core/common/enum/field-form-type.enum.ts","webpack:///src/app/core/components/draw-canvas/draw-canvas.component.html","webpack:///src/app/core/dialogs/appearance/appearance.service.ts","webpack:///src/app/common-feature/pipes/field-name.pipe.ts","webpack:///src/app/core/services/appearance/appearance.model.ts","webpack:///src/app/core/services/package/field/field-type.enum.ts","webpack:///src/app/app.component.ts","webpack:///src/app/core/components/color-picker/color-picker.component.ts","webpack:///src/app/core/dialogs/message-box/message-box.component.ts","webpack:///src/app/core/dialogs/pdf-download/pdf-download.component.html","webpack:///src/app/core/auth/auth.service.ts","webpack:///src/app/core/module-import-guard.ts","webpack:///src/app/core/components/error/error.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/core/common/sl/sl-math.ts","webpack:///src/app/core/services/http.service.ts","webpack:///src/$_lazy_route_resource lazy namespace object","webpack:///src/app/core/components/session-timed-out-page/session-timed-out-page.component.ts","webpack:///src/app/core/auth/auth-guard.service.ts","webpack:///src/app/core/components/finish-page/finish-page.component.html","webpack:///src/app/core/dialogs/pdf-download/pdf-download.component.ts","webpack:///src/app/core/services/package/package.service.ts","webpack:///src/app/core/dialogs/message-box/message-box.component.html","webpack:///src/app/core/services/appearance/appearance.enum.ts","webpack:///src/app/app-load.service.ts","webpack:///src/app/common-feature/index.ts","webpack:///src/app/core/services/pdf/pdf-create.service.ts","webpack:///src/app/core/core.module.ts","webpack:///src/app/core/dialogs/forms/forms.component.html","webpack:///src/app/core/dialogs/appearance/appearance.component.ts","webpack:///src/app/core/components/finish-page/finish-page.component.ts","webpack:///src/app/core/components/image-upload/image-upload.service.ts","webpack:///src/app/core/services/package/field/field.model.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/core/services/signature/signature-initial.service.ts","webpack:///src/app/core/services/redirect-guard.service.ts","webpack:///src/app/core/components/page-not-found/page-not-found.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/core/components/package-error/package-error.component.ts","webpack:///src/app/core/common/broadcaster.ts","webpack:///src/main.ts","webpack:///src/app/core/dialogs/appearance/constants/appearance-config-data.constant.ts","webpack:///src/app/core/components/color-picker/color-picker.component.html"],"names":["CapitalizePipe","value","args","charAt","toUpperCase","substr","toLowerCase","FormsContext","FormsComponent","dialog","isValidate","context","wrongAnswer","setCloseGuard","fieldTypes","button","type","close","validate","callback","fields","field","onClose","i","length","isRequired","DrawCanvasComponent","pdfCreateService","modal","appearanceService","drawing","width","height","color","onDraw","onClear","isUseDefault","subscription","currentDrawColor","subscribe","signaturePad","penColor","canvasEl","canvas","nativeElement","getContext","data","minWidth","maxWidth","onEnd","uploadFile","toDataURL","toData","model","drawData","fromData","isEmpty","clear","emit","off","unsubscribe","dataURL","blob","dataURItoBlob","file","blobToFile","pending","createPdf","pipe","resonse","onResponse","error","onError","response","open","description","classes","buttons","text","fileId","image","Image","onload","src","dataURI","byteString","atob","split","mimeString","ab","ArrayBuffer","ia","Uint8Array","charCodeAt","Blob","fileName","contentType","lastModifiedDate","Date","name","BroadcasterKey","LocalStorageService","key","window","localStorage","setItem","JSON","stringify","getItem","parse","removeItem","SafeHtmlPipe","sanitizer","html","bypassSecurityTrustResourceUrl","CommonFeatureModule","saveSlice","arr","start","end","slice","isUndefined","obj","isNull","isUndefinedOrNull","isArray","Array","s4","part","Math","random","toString","newGuid","isEqual","object","object2","Object","keys","hasOwnProperty","encodeQueryData","ret","d","push","encodeURIComponent","join","getJsonFromUrl","query","result","forEach","item","decodeURIComponent","saveProp","seyHi","String","format","prototype","isSc","isSafari","navigator","userAgent","indexOf","isChrome","isFirefox","isIE","document","isEdge","isIE9andLess","all","spliceSlice","index","count","add","substring","parseInt","Number","screenTabletSize","_tr","onlySpacesOrEmpty","str","test","hasOnlyWhitespace","hasWhiteSpace","s","SignerService","router","route","localStorageService","finish","remove","navigate","environment","set","get","setTimeout","relativeTo","skipLocationChange","info","expires","getTime","isOnlyCurrent","ImageUploadComponent","imageUploadService","translate","buttonCaption","onImageUploadFinish","onRemove","supportedExtensions","map","ext","files","inputElementRef","maxFileSize","size","instant","param1","reader","FileReader","readAsDataURL","onloadend","COLORS_DATA","ENV","version","production","PRODUCTION","isLocally","IS_LOCALLY","apiUrl","API_UPL","brandTitle","BRAND_TITLE","brand","BRAND","links","brandHome","BRAND_HOME","supportCentr","SUPPORT","privacy","BRAND_HOME_DOMAIN","BRAND_PRIVACY","termsOfUse","BRAND_TERMS_OF_USE","signUp","showSignUp","SHOW_SIGN_UP","SlBrand","colors","LuluSoft","fill","fillD","bcg","fillErr","bcgErr","pointerNormal","pointerMissed","progress","textCopySelection","bgcArrow","selectedBgcIconAreaField","bgcSignatureAndInitial","bgcBtnAction","PdfForge","ExpertPDF","LoadingComponent","signerInfoId","logoBrand","NgOnDestroy","next","complete","SignatureAndInitialTypeComponent","signatureNameControl","valueTypeMaxLength","message","isChanged","selectedItem","isEmptyText","setValue","tabs","dataTypes","Type","currentType","currentFont","font","tabType","changes","currentValue","event","enterRef","focus","styles","FieldFormTypeEnum","AppearanceService","colorDrawSubject","defaultColor","colorTypeSubject","asObservable","console","log","FieldNamePipe","fieldName","appearanceModel","Draw","FieldType","Enum","Signature","Initials","TextField","TextArea","CheckBox","RadioButton","DropDown","AppComponent","titleService","signerService","renderer","title","setDefaultLang","use","newTitle","setTitle","signerInfo","addClass","body","clientId","setAttribute","removeAttribute","ColorPickerComponent","elRef","showPicker","onClickout","selectedColor","contains","target","setNewTypeColor","setNewDrawColor","currentColor","MessageBoxContext","descriptionInfo","status","link","buttonsClass","isClose","svg","classPopup","MessageBoxComponent","AuthService","httpService","params","postData","throwIfAlreadyLoaded","parentModule","moduleName","Error","ErrorComponent","MyMissingTranslationHandler","translateService","parser","interpolate","interpolateParams","HttpLoaderFactory","http","appLoad","appLoadService","load","AppModule","SL_MATH_EPSILON","fltEpsilon","parseFloat","castFloatToInt","floatLt","a","b","floatGt","floatEq","lineIntersectsLine","a0","a1","b0","b1","x","y","r","lineIntersectsRect","rect","containsPoint","left_top","right_top","right_bottom","left_bottom","SizeModel","ceil","MatrixModel","c","e","f","det","determinant","scale","point","PointModel","points","mapPoint","left","top","right","bottom","min","max","RectModel","that","na","nb","nc","nd","ne","nf","getWidth","getHeight","min_x","min_y","max_x","max_y","round","dx","dy","tRight","tBottom","sqrt","pointsSquareDistance","alpha","atan2","beta","mag","vecMagnitude","copy","p","l2","pointsDistance","t","vecDotProduct","QuadModel","tl","tr","bl","br","pointsCenter","bound","getBound","distanceToEdge","inside","quad","rect1","sort","rect2","SlMath","degrees","PI","fValue","hasIntersection","isAreaEmpty","origin","orgX","orgY","radian","sina","sin","cosa","cos","rectI","floor","threshold","abs","HttpService","httpClient","handleError","checkExpiryDate","closeSession","errorBody","lang","language","packageErrors","error_description","getErrorJson","json","exeption","ex","apiBaseUrl","url","isSkipExpired","httpRequest","observe","toPromise","partName","FormData","append","responseContentType","location","href","relativeUrl","method","isArrayBuffer","isText","headers","appendAccessToken","request$","options","post","put","webpackEmptyAsyncContext","req","Promise","resolve","then","code","module","exports","id","SessionTimedOutPageComponent","AuthGuardService","authService","state","checkAccessToken","canActivate","path","queryParams","isAuthenticated","PdfDownloadContext","fonts","PdfDownloadComponent","PackageService","capitalizePipe","fieldNamePipe","onChangeTextFieldValue","onClearFieldValue","clearFieldsCallback","documents","documentRoles","j","roles","role","isComplete","roleFields","filledRadioGroups","k","fieldsInfo","wrappingFields","setLastRequiredField","documentCount","downloadPopupOpen","downloadOneDocument","recipients","required","isComplited","rename","setValueRadioButton","setValueCheckBox","setMissedRequiredFileds","goToNextField","Initial","setValueAutoCompleteFields","nextFieldData","getNextRequiredFieldData","isSigned","fieldId","documentId","getField","lastisRequiredField","isVisible","prevField","isMissed","documentName","xlinkHref","xlinkHrefDisabled","atachments","attachmentStatus","attachments","hasItems","optional","downloadZip","downloadFile","setInterval","doc","clearInterval","docuemnt","recipient","isAutoComplete","parentId","setValueAutoCompleteField","formatDate","signingDateFormat","locale","includes","replace","formatDateTime","email","firstName","lastName","company","currentDate","local","toFormat","radioGroup","getRadioGroup","setMissed","checkMissedRequiredFileds","clearRadioGroupValues","undefined","clearAutoCompleteFields","clearFields_","parentSignature","getFirstSignature","fieldWrapModel","signatures","filter","fieldType","AppearanceDataType","AppearanceType","AppLoadService","promise","responseType","div","createElement","innerHTML","insertBefore","childNodes","commonIcons","firstResult","brandIcons","secondResult","PdfCreateService","observer","create","o","createPdfRequest","checkTaskStatus","wrapByDeleteTask","createPdfDeleteRequest","statusId","observable","checkTaskStatusImpl","createPdfCheckStatusRequest","putFormData","getData","deleteData","CoreModule","AppearanceContext","phrases","appearanceType","AppearanceComponent","ngOnDestroy$","signatureInitialService","isChangedItem","initialMaxLength","onKeyUp","keyCode","witch","apply","isDefaultValue","setChangedColor","initTabs","getCurrentTypeColor","getCurrentDrawColor","initPhrases","changeTab","keypUpListener","listen","currentTypeColor","drawHere","legal","upload","prepareModel","setChangeAppearance","textState","FinishPageComponent","ImageUploadService","packageService","postFormData","FieldWrapperModel","isActive","normalSelectedItemBrush","missedSelectedItemBrush","normalArrowBrush","focusedArrowBrush","missedArrowBrush","normalButtonBrush","focusedButtonBrush","missedButtonBrush","missedFocusedButtonBrush","normalBackgroundBrush","missedBackgroundBrush","normalBorderBrush","missedBorderBrush","bgcAreaIconBrush","normalBorderSize","focusedBorderSize","fontSize","signatureProcessingTitle","initialsProcessingTitle","init","isValueEmpty","isFocused","items","pageIndex","isMultiline","defaultValue","selectedGroupId","refreshInfo","prepareName","isOpen","transform","m","preload","appRoutes","loadChildren","component","redirectTo","pathMatch","AppRoutingModule","SignatureInitialService","broadcaster","isChangeAppearance$","models","update_","useStored","transformColor","clareFiledByType","appearenceModel","preparedModel","bind","setDefaultValue","trim","broadcast","SignatureUpdated","v","RedirectGuardService","checkRedirect","PageNotFoundComponent","PackageErrorComponent","action","errorIcon","parsedData","userName","stringInfo","errorName","Broadcaster","eventBus","success","err","APPEARANCE_FONTS","APPEARANCE_SUPPORTED_EXTENSIONS"],"mappings":"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","file":"main-es5.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"]}