@@ -1,532 +0,0 @@
var _ _assign = ( this && this . _ _assign ) || function ( ) {
_ _assign = Object . assign || function ( t ) {
for ( var s , i = 1 , n = arguments . length ; i < n ; i ++ ) {
s = arguments [ i ] ;
for ( var p in s ) if ( Object . prototype . hasOwnProperty . call ( s , p ) )
t [ p ] = s [ p ] ;
}
return t ;
} ;
return _ _assign . apply ( this , arguments ) ;
} ;
var _ _awaiter = ( this && this . _ _awaiter ) || function ( thisArg , _arguments , P , generator ) {
function adopt ( value ) { return value instanceof P ? value : new P ( function ( resolve ) { resolve ( value ) ; } ) ; }
return new ( P || ( P = Promise ) ) ( function ( resolve , reject ) {
function fulfilled ( value ) { try { step ( generator . next ( value ) ) ; } catch ( e ) { reject ( e ) ; } }
function rejected ( value ) { try { step ( generator [ "throw" ] ( value ) ) ; } catch ( e ) { reject ( e ) ; } }
function step ( result ) { result . done ? resolve ( result . value ) : adopt ( result . value ) . then ( fulfilled , rejected ) ; }
step ( ( generator = generator . apply ( thisArg , _arguments || [ ] ) ) . next ( ) ) ;
} ) ;
} ;
var _ _generator = ( this && this . _ _generator ) || function ( thisArg , body ) {
var _ = { label : 0 , sent : function ( ) { if ( t [ 0 ] & 1 ) throw t [ 1 ] ; return t [ 1 ] ; } , trys : [ ] , ops : [ ] } , f , y , t , g ;
return g = { next : verb ( 0 ) , "throw" : verb ( 1 ) , "return" : verb ( 2 ) } , typeof Symbol === "function" && ( g [ Symbol . iterator ] = function ( ) { return this ; } ) , g ;
function verb ( n ) { return function ( v ) { return step ( [ n , v ] ) ; } ; }
function step ( op ) {
if ( f ) throw new TypeError ( "Generator is already executing." ) ;
while ( g && ( g = 0 , op [ 0 ] && ( _ = 0 ) ) , _ ) try {
if ( f = 1 , y && ( t = op [ 0 ] & 2 ? y [ "return" ] : op [ 0 ] ? y [ "throw" ] || ( ( t = y [ "return" ] ) && t . call ( y ) , 0 ) : y . next ) && ! ( t = t . call ( y , op [ 1 ] ) ) . done ) return t ;
if ( y = 0 , t ) op = [ op [ 0 ] & 2 , t . value ] ;
switch ( op [ 0 ] ) {
case 0 : case 1 : t = op ; break ;
case 4 : _ . label ++ ; return { value : op [ 1 ] , done : false } ;
case 5 : _ . label ++ ; y = op [ 1 ] ; op = [ 0 ] ; continue ;
case 7 : op = _ . ops . pop ( ) ; _ . trys . pop ( ) ; continue ;
default :
if ( ! ( t = _ . trys , t = t . length > 0 && t [ t . length - 1 ] ) && ( op [ 0 ] === 6 || op [ 0 ] === 2 ) ) { _ = 0 ; continue ; }
if ( op [ 0 ] === 3 && ( ! t || ( op [ 1 ] > t [ 0 ] && op [ 1 ] < t [ 3 ] ) ) ) { _ . label = op [ 1 ] ; break ; }
if ( op [ 0 ] === 6 && _ . label < t [ 1 ] ) { _ . label = t [ 1 ] ; t = op ; break ; }
if ( t && _ . label < t [ 2 ] ) { _ . label = t [ 2 ] ; _ . ops . push ( op ) ; break ; }
if ( t [ 2 ] ) _ . ops . pop ( ) ;
_ . trys . pop ( ) ; continue ;
}
op = body . call ( thisArg , _ ) ;
} catch ( e ) { op = [ 6 , e ] ; y = 0 ; } finally { f = t = 0 ; }
if ( op [ 0 ] & 5 ) throw op [ 1 ] ; return { value : op [ 0 ] ? op [ 1 ] : void 0 , done : true } ;
}
} ;
var List = PSPDFKit . Immutable . List ;
var Rect = PSPDFKit . Geometry . Rect ;
var SignatureFormField = PSPDFKit . FormFields . SignatureFormField ;
var _a = PSPDFKit . ElectronicSignatureCreationMode , DRAW = _a . DRAW , TYPE = _a . TYPE ;
var DISABLED = PSPDFKit . AutoSaveMode . DISABLED ;
var ActionType ;
( function ( ActionType ) {
ActionType [ ActionType [ "Created" ] = 0 ] = "Created" ;
ActionType [ ActionType [ "Saved" ] = 1 ] = "Saved" ;
ActionType [ ActionType [ "Sent" ] = 2 ] = "Sent" ;
ActionType [ ActionType [ "EmailSent" ] = 3 ] = "EmailSent" ;
ActionType [ ActionType [ "Delivered" ] = 4 ] = "Delivered" ;
ActionType [ ActionType [ "Seen" ] = 5 ] = "Seen" ;
ActionType [ ActionType [ "Signed" ] = 6 ] = "Signed" ;
ActionType [ ActionType [ "Rejected" ] = 7 ] = "Rejected" ;
} ) ( ActionType || ( ActionType = { } ) ) ;
var App = /** @class */ ( function ( ) {
function App ( ) {
}
// This function will be called in the ShowEnvelope.razor page
// and will trigger loading of the Editor Interface
App . init = function ( container , envelopeKey ) {
return _ _awaiter ( this , void 0 , void 0 , function ( ) {
var envelopeObject , arrayBuffer , e _1 , _a , annotations , createdAnnotations , description ;
return _ _generator ( this , function ( _b ) {
switch ( _b . label ) {
case 0 :
// Initialize classes
console . debug ( "Initializing classes.." ) ;
App . UI = new UI ( ) ;
App . Network = new Network ( ) ;
App . Annotation = new Annotation ( ) ;
// Load the envelope from the database
console . debug ( "Loading envelope from database.." ) ;
return [ 4 /*yield*/ , App . Network . getEnvelope ( envelopeKey ) ] ;
case 1 :
envelopeObject = _b . sent ( ) ;
console . debug ( envelopeObject ) ;
App . envelopeKey = envelopeKey ;
App . currentDocument = envelopeObject . envelope . documents [ 0 ] ;
// Load the document from the filestore
console . debug ( "Loading document from filestore" ) ;
_b . label = 2 ;
case 2 :
_b . trys . push ( [ 2 , 4 , , 5 ] ) ;
return [ 4 /*yield*/ , App . Network . getDocument ( envelopeKey , App . currentDocument . id ) ] ;
case 3 :
arrayBuffer = _b . sent ( ) ;
return [ 3 /*break*/ , 5 ] ;
case 4 :
e _1 = _b . sent ( ) ;
console . error ( e _1 ) ;
return [ 3 /*break*/ , 5 ] ;
case 5 :
// Load PSPDFKit
console . debug ( "Loading PSPDFKit.." ) ;
_a = App ;
return [ 4 /*yield*/ , App . UI . loadPSPDFKit ( arrayBuffer , container ) ] ;
case 6 :
_a . Instance = _b . sent ( ) ;
App . UI . configurePSPDFKit ( this . Instance , App . handleClick ) ;
// Load annotations into PSPDFKit
console . debug ( "Loading annotations.." ) ;
annotations = App . Annotation . createAnnotations ( App . currentDocument ) ;
return [ 4 /*yield*/ , App . Instance . create ( annotations ) ] ;
case 7 :
createdAnnotations = _b . sent ( ) ;
description = "Umschlag wurde ge<67> ffnet" ;
return [ 4 /*yield*/ , App . Network . postHistory ( App . envelopeKey , ActionType . Seen , description ) ] ;
case 8 :
_b . sent ( ) ;
return [ 2 /*return*/ ] ;
}
} ) ;
} ) ;
} ;
App . handleClick = function ( eventType ) {
return _ _awaiter ( this , void 0 , void 0 , function ( ) {
var result , _a ;
return _ _generator ( this , function ( _b ) {
switch ( _b . label ) {
case 0 :
result = false ;
_a = eventType ;
switch ( _a ) {
case "RESET" : return [ 3 /*break*/ , 1 ] ;
case "FINISH" : return [ 3 /*break*/ , 3 ] ;
}
return [ 3 /*break*/ , 5 ] ;
case 1 : return [ 4 /*yield*/ , App . handleReset ( null ) ] ;
case 2 :
result = _b . sent ( ) ;
if ( result == true ) {
alert ( "Dokument zur<75> ckgesetzt!" ) ;
}
else {
alert ( "Fehler beim Zur<75> cksetzen des Dokuments!" ) ;
}
return [ 3 /*break*/ , 5 ] ;
case 3 : return [ 4 /*yield*/ , App . handleFinish ( null ) ] ;
case 4 :
result = _b . sent ( ) ;
if ( result == true ) {
// TODO: Redirect to success page
alert ( "Dokument erfolgreich signiert!" ) ;
}
else {
alert ( "Fehler beim Abschlie<69> en des Dokuments!" ) ;
}
return [ 3 /*break*/ , 5 ] ;
case 5 : return [ 2 /*return*/ ] ;
}
} ) ;
} ) ;
} ;
App . handleFinish = function ( event ) {
return _ _awaiter ( this , void 0 , void 0 , function ( ) {
var e _2 , json , postEnvelopeResult , e _3 , buffer , postDocumentResult , e _4 , description , e _5 ;
return _ _generator ( this , function ( _a ) {
switch ( _a . label ) {
case 0 :
_a . trys . push ( [ 0 , 2 , , 3 ] ) ;
return [ 4 /*yield*/ , App . Instance . save ( ) ] ;
case 1 :
_a . sent ( ) ;
return [ 3 /*break*/ , 3 ] ;
case 2 :
e _2 = _a . sent ( ) ;
console . error ( e _2 ) ;
return [ 2 /*return*/ , false ] ;
case 3 :
_a . trys . push ( [ 3 , 6 , , 7 ] ) ;
return [ 4 /*yield*/ , App . Instance . exportInstantJSON ( ) ] ;
case 4 :
json = _a . sent ( ) ;
return [ 4 /*yield*/ , App . Network . postEnvelope ( App . envelopeKey , App . currentDocument . id , JSON . stringify ( json ) ) ] ;
case 5 :
postEnvelopeResult = _a . sent ( ) ;
if ( postEnvelopeResult === false ) {
return [ 2 /*return*/ , false ] ;
}
return [ 3 /*break*/ , 7 ] ;
case 6 :
e _3 = _a . sent ( ) ;
console . error ( e _3 ) ;
return [ 2 /*return*/ , false ] ;
case 7 :
_a . trys . push ( [ 7 , 10 , , 11 ] ) ;
return [ 4 /*yield*/ , App . Instance . exportPDF ( { flatten : true } ) ] ;
case 8 :
buffer = _a . sent ( ) ;
return [ 4 /*yield*/ , App . Network . postDocument ( App . envelopeKey , App . currentDocument . id , buffer ) ] ;
case 9 :
postDocumentResult = _a . sent ( ) ;
if ( postDocumentResult === false ) {
return [ 2 /*return*/ , false ] ;
}
return [ 3 /*break*/ , 11 ] ;
case 10 :
e _4 = _a . sent ( ) ;
console . error ( e _4 ) ;
return [ 2 /*return*/ , false ] ;
case 11 :
_a . trys . push ( [ 11 , 13 , , 14 ] ) ;
description = "Dokument wurde signiert" ;
return [ 4 /*yield*/ , App . Network . postHistory ( App . envelopeKey , ActionType . Signed , description ) ] ;
case 12 :
_a . sent ( ) ;
return [ 3 /*break*/ , 14 ] ;
case 13 :
e _5 = _a . sent ( ) ;
console . error ( e _5 ) ;
return [ 2 /*return*/ , false ] ;
case 14 : return [ 2 /*return*/ , true ] ;
}
} ) ;
} ) ;
} ;
App . handleReset = function ( event ) {
return _ _awaiter ( this , void 0 , void 0 , function ( ) {
var result ;
return _ _generator ( this , function ( _a ) {
if ( confirm ( "Wollen Sie das Dokument und alle erstellten Signaturen zur<75> cksetzen?" ) ) {
result = App . Annotation . deleteAnnotations ( App . Instance ) ;
return [ 2 /*return*/ , true ] ;
}
else {
return [ 2 /*return*/ , true ] ;
}
return [ 2 /*return*/ ] ;
} ) ;
} ) ;
} ;
App . downloadDocument = function ( ) {
return _ _awaiter ( this , void 0 , void 0 , function ( ) {
function downloadPdf ( blob ) {
var a = document . createElement ( "a" ) ;
a . href = blob ;
a . style . display = "none" ;
a . download = "download.pdf" ;
a . setAttribute ( "download" , "download.pdf" ) ;
document . body . appendChild ( a ) ;
a . click ( ) ;
document . body . removeChild ( a ) ;
}
var buffer , supportsDownloadAttribute , blob , reader _1 , objectUrl ;
return _ _generator ( this , function ( _a ) {
switch ( _a . label ) {
case 0 : return [ 4 /*yield*/ , App . Instance . exportPDF ( { flatten : true } ) ] ;
case 1 :
buffer = _a . sent ( ) ;
supportsDownloadAttribute = HTMLAnchorElement . prototype . hasOwnProperty ( "download" ) ;
blob = new Blob ( [ buffer ] , { type : "application/pdf" } ) ;
if ( ! supportsDownloadAttribute ) {
reader _1 = new FileReader ( ) ;
reader _1 . onloadend = function ( ) {
var dataUrl = reader _1 . result ;
downloadPdf ( dataUrl ) ;
} ;
reader _1 . readAsDataURL ( blob ) ;
}
else {
objectUrl = window . URL . createObjectURL ( blob ) ;
downloadPdf ( objectUrl ) ;
window . URL . revokeObjectURL ( objectUrl ) ;
}
return [ 2 /*return*/ ] ;
}
} ) ;
} ) ;
} ;
return App ;
} ( ) ) ;
export { App } ;
var Annotation = /** @class */ ( function ( ) {
function Annotation ( ) {
}
Annotation . prototype . createAnnotations = function ( document ) {
var _this = this ;
var annotations = [ ] ;
document . elements . forEach ( function ( element ) {
console . log ( "Creating annotation for element" , element . id ) ;
var _a = _this . createAnnotationFromElement ( element ) , annotation = _a [ 0 ] , formField = _a [ 1 ] ;
annotations . push ( annotation ) ;
annotations . push ( formField ) ;
} ) ;
return annotations ;
} ;
Annotation . prototype . deleteAnnotations = function ( instance ) {
return _ _awaiter ( this , void 0 , void 0 , function ( ) {
var pageAnnotations ;
return _ _generator ( this , function ( _a ) {
switch ( _a . label ) {
case 0 : return [ 4 /*yield*/ , Promise . all ( Array . from ( { length : instance . totalPageCount } ) . map ( function ( _ , pageIndex ) {
return instance . getAnnotations ( pageIndex ) ;
} ) ) ] ;
case 1 :
pageAnnotations = ( _a . sent ( ) ) . flatMap ( function ( annotations ) {
return annotations . reduce ( function ( acc , annotation ) { return acc . concat ( annotation ) ; } , [ ] ) ;
} ) . filter ( function ( annotation ) { return ! ! annotation . isSignature ; } ) ;
return [ 4 /*yield*/ , instance . delete ( pageAnnotations ) ] ;
case 2 :
//deleting all Annotations
return [ 2 /*return*/ , _a . sent ( ) ] ;
}
} ) ;
} ) ;
} ;
Annotation . prototype . createAnnotationFromElement = function ( element ) {
var id = PSPDFKit . generateInstantId ( ) ;
var width = this . inchToPoint ( element . width ) ;
var height = this . inchToPoint ( element . height ) ;
var top = this . inchToPoint ( element . top ) - ( height / 2 ) ;
var left = this . inchToPoint ( element . left ) - ( width / 2 ) ;
var page = element . page - 1 ;
var annotation = this . createSignatureAnnotation ( id , width , height , top , left , page ) ;
console . log ( annotation ) ;
var formField = new SignatureFormField ( {
name : id ,
annotationIds : List ( [ annotation . id ] )
} ) ;
console . log ( formField ) ;
return [ annotation , formField ] ;
} ;
Annotation . prototype . createSignatureAnnotation = function ( id , width , height , top , left , pageIndex ) {
var annotation = new PSPDFKit . Annotations . WidgetAnnotation ( {
id : id ,
pageIndex : pageIndex ,
formFieldName : id ,
boundingBox : new Rect ( { width : width , height : height , top : top , left : left } )
} ) ;
return annotation ;
} ;
Annotation . prototype . inchToPoint = function ( inch ) {
return inch * 72 ;
} ;
return Annotation ;
} ( ) ) ;
var Network = /** @class */ ( function ( ) {
function Network ( ) {
}
Network . prototype . getEnvelope = function ( envelopeKey ) {
return fetch ( "/api/envelope/" . concat ( envelopeKey ) , this . withCSRFToken ( { credentials : "include" } ) )
. then ( function ( res ) { return res . json ( ) ; } ) ;
} ;
Network . prototype . getDocument = function ( envelopeKey , documentId ) {
return fetch ( "/api/document/" . concat ( envelopeKey , "?index=" ) . concat ( documentId ) , this . withCSRFToken ( { credentials : "include" } ) )
. then ( function ( res ) { return res . arrayBuffer ( ) ; } ) ;
} ;
Network . prototype . postDocument = function ( envelopeKey , documentId , buffer ) {
var url = "/api/document/" . concat ( envelopeKey , "?index=" ) . concat ( documentId ) ;
var options = {
credentials : "include" ,
method : "POST" ,
body : buffer
} ;
console . debug ( "PostDocument/Calling url: " + url ) ;
return fetch ( url , this . withCSRFToken ( options ) )
. then ( this . handleResponse )
. then ( function ( res ) {
if ( ! res . ok ) {
return false ;
}
;
return true ;
} ) ;
} ;
Network . prototype . postEnvelope = function ( envelopeKey , documentId , jsonString ) {
var url = "/api/envelope/" . concat ( envelopeKey , "?index=" ) . concat ( documentId ) ;
var options = {
credentials : "include" ,
method : "POST" ,
body : jsonString
} ;
console . debug ( "PostEnvelope/Calling url: " + url ) ;
return fetch ( url , this . withCSRFToken ( options ) )
. then ( this . handleResponse )
. then ( function ( res ) {
if ( ! res . ok ) {
return false ;
}
;
return true ;
} ) ;
} ;
Network . prototype . postHistory = function ( envelopeKey , actionType , actionDescription ) {
var url = "/api/history/" . concat ( envelopeKey ) ;
var data = {
actionDescription : actionDescription ,
actionType : actionType . toString ( )
} ;
var options = {
credentials : "include" ,
method : "POST" ,
headers : {
'Content-Type' : "application/json; charset=utf-8"
} ,
body : JSON . stringify ( data )
} ;
console . debug ( "PostHistory/Calling url: " + url ) ;
return fetch ( url , this . withCSRFToken ( options ) )
. then ( this . handleResponse )
. then ( function ( res ) {
if ( ! res . ok ) {
return false ;
}
;
return true ;
} ) ;
} ;
Network . prototype . withCSRFToken = function ( options ) {
var token = document . getElementsByName ( "__RequestVerificationToken" ) [ 0 ] . value ;
var headers = options . headers ;
options . headers = _ _assign ( _ _assign ( { } , headers ) , { 'X-XSRF-TOKEN' : token } ) ;
return options ;
} ;
Network . prototype . handleResponse = function ( res ) {
if ( ! res . ok ) {
console . log ( "Request failed with status " . concat ( res . status ) ) ;
return res ;
}
else {
return res ;
}
} ;
return Network ;
} ( ) ) ;
var UI = /** @class */ ( function ( ) {
function UI ( ) {
this . allowedToolbarItems = [
"sidebar-thumbnails" ,
"sidebar-document-ouline" ,
"sidebar-bookmarks" ,
"pager" ,
"pan" ,
"zoom-out" ,
"zoom-in" ,
"zoom-mode" ,
"spacer" ,
"search"
] ;
this . getCustomItems = function ( callback ) {
var customItems = [
{
type : "custom" ,
id : "button-reset" ,
className : "button-reset" ,
title : "Zur<75> cksetzen" ,
onPress : function ( ) {
callback ( "RESET" ) ;
} ,
icon : "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" fill=\"currentColor\" class=\"bi bi-arrow-counterclockwise\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z\"/>\n <path d=\"M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z\"/>\n </svg>"
} ,
{
type : "custom" ,
id : "button-finish" ,
className : "button-finish" ,
title : "Abschlie<69> en" ,
onPress : function ( ) {
callback ( "FINISH" ) ;
} ,
icon : "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" fill=\"currentColor\" class=\"bi bi-check2-circle\" viewBox=\"0 0 16 16\">\n <path d=\"M2.5 8a5.5 5.5 0 0 1 8.25-4.764.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0 5.5 5.5 0 1 1-11 0z\"/>\n <path d=\"M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l7-7z\" />\n </svg>"
}
] ;
return customItems ;
} ;
}
// Load the PSPDFKit UI by setting a target element as the container to render in
// and a arraybuffer which represents the document that should be displayed.
UI . prototype . loadPSPDFKit = function ( arrayBuffer , container ) {
return PSPDFKit . load ( {
container : container ,
document : arrayBuffer ,
autoSaveMode : DISABLED ,
annotationPresets : this . getPresets ( ) ,
electronicSignatures : {
creationModes : [ DRAW , TYPE ]
} ,
isEditableAnnotation : function ( annotation ) {
// Check if the annotation is a signature
// This will allow new signatures, but not allow edits.
return ! annotation . isSignature ;
}
} ) ;
} ;
UI . prototype . configurePSPDFKit = function ( instance , handler ) {
var _this = this ;
instance . addEventListener ( "annotations.load" , function ( loadedAnnotations ) {
console . log ( "annotations loaded" , loadedAnnotations . toJS ( ) ) ;
} ) ;
instance . addEventListener ( "annotations.change" , function ( ) {
console . log ( "annotations changed" ) ;
} ) ;
instance . addEventListener ( "annotations.create" , function ( createdAnnotations ) { return _ _awaiter ( _this , void 0 , void 0 , function ( ) {
return _ _generator ( this , function ( _a ) {
console . log ( "annotations created" ) ;
return [ 2 /*return*/ ] ;
} ) ;
} ) ; } ) ;
var toolbarItems = this . getToolbarItems ( instance , handler ) ;
instance . setToolbarItems ( toolbarItems ) ;
console . debug ( "PSPDFKit configured!" ) ;
} ;
UI . prototype . getToolbarItems = function ( instance , handler ) {
var customItems = this . getCustomItems ( handler ) ;
var defaultItems = this . getDefaultItems ( instance . toolbarItems ) ;
return defaultItems . concat ( customItems ) ;
} ;
UI . prototype . getDefaultItems = function ( items ) {
var _this = this ;
return items . filter ( function ( item ) { return _this . allowedToolbarItems . includes ( item . type ) ; } ) ;
} ;
UI . prototype . getPresets = function ( ) {
var annotationPresets = PSPDFKit . defaultAnnotationPresets ;
annotationPresets . ink = {
lineWidth : 10
} ;
annotationPresets . widget = {
readOnly : true
} ;
return annotationPresets ;
} ;
return UI ;
} ( ) ) ;
//# sourceMappingURL=app.js.map