CIB doXiview - Integration

Die Kommunikationsschnittstellen

Das webview Interface

Allgemein
finishLoading
getViewStateInfo
finishEditing
setSnippetEditingAllowed
cancelEditing
showNotification
onDocumentVersionUpdated
applicationStarted
openDocument


Allgemein

Das Interface webview definiert allgemeine Funktionen zur Kommunikation mit CIB doXiview. Zudem sind hier Funktionen enthalten, welche beim Editieren von RTF verwendet werden.

Es ist aus Sicht des Masters in Form des Objekts CibWebviewMasterFunctions verfügbar.


finishLoading

CIB doXiview informiert den Master durch Aufruf der Funktion finishLoading, wenn der Ladevorgang eines Dokuments abgeschlossen wurde. Daraufhin kann der Master weitere Aktionen auslösen, z. B. zum Freischalten von eigenen Toolbar-Schaltflächen.

Function

Parameters

Return

finishLoading

successful: boolean

void

Notifies the integrator of CIB doXiview that the document has finished loading.

Parameter description:

boolean: successful:

Whether or not the document was successfully loaded.

Registration by Master:

master.webview.registerFinishLoadingCallback(callback:
  FunctionCallback);

 

Beispiel-Implementierung aus Sicht des Masters:

master.webview.registerFinishLoadingCallback (function(params) {
      // work with “params.successful” which can be true or false
      // returning something is not needed since return type is “void”
});


Hinweis: In der Testoberfläche kann die Benachrichtigung durch CIB doXiview über  finishLoading beobachtet werden: Sobald CIB doXiview ein  Dokument geladen hat, reagiert die Testoberfläche darauf, indem sie den Aufruf in der Konsole ausgibt.



getViewStateInfo

Der Master kann durch Aufruf von getViewStateInfo CIB doXiview nach dem aktuellen Zustand der Anzeige befragen, beispielsweise welche Seite momentan ausgewählt ist.

Function

Parameters

Return

getViewStateInfo

callback: JSON

JSON

Asks CIB doXiview for the current view state, which can be for instance used during communication with CIB webprint.

Parameter description:

JSON: callback:

The callback object which will receive the result.

Return:

A JSON representation of the current view state, which has the following structure:

{
          currentBundleDocumentID: the current bundle document id,
          currentDocumentID: the current document id,
          currentDocumentPageCount: the page count for the current document,
          currentPageNumber: the current page number
  }

Registration by Slave:

slave.webview.registerGetViewStateInfoCallback(callback:FunctionCallback)

 

Beispiel-Implementierung aus Sicht des Masters:

master.webview.getViewStateInfo ({   
    success: function(params) {       
        // work with params.currentBundleDocumentID       
        // work with params.currentDocumentID           
        // work with params.currentDocumentPageCount             
        // work with params.currentPageNumber         
    },   
    failure: function(error) {       
        // log error or something            
    }
});


Hinweis: In der Testoberfläche kann dieser Aufruf mit der Schaltfläche „RuntimeManipulation/Third Party Functions/Get View State“ ausgelöst werden. Das Ergebnis des Aufrufs wird in der Konsole der Testoberfläche ausgegeben.


finishEditing

Diese Funktion spielt lediglich für den Anwendungsfall „Editieren von Freitextpassagen in einem RTF-Dokument“ mittels CIB webEdit eine Rolle.

CIB doXiview kann seinen Master darüber informieren, ob ein Editiervorgang erfolgreich abgeschlossen wurde. Zu diesem Zweck wird die sogenannte editSessionId an den Master kommuniziert, sowie eine Liste elementList der modifizierten Freitextbereiche. Falls kein Text verändert wurde, ist diese Liste leer.

Der Master kann daraufhin beispielsweise die editierten Freitextbereiche weiterverarbeiten. Für weitergehende Informationen hierzu kontaktieren Sie bitte Ihren Ansprechpartner bei CIB.

Function

Parameters

Return

finishEditing

editSessionId: String
elementList: Array

void

Informs the integrator of CIB doXiview that the user has finished editing the specified editable elements.

Parameter description:

  • String: editSessionId:
    The id of the current edit session.
  • Array: elementList:
    The list of modified elements which has the following structure:
    • {
           containerId: a containerId with modified elements,
           elementNames[]: a list of modified element names
        }[]

Registration by Master:

master.webview.registerFinishEditingCallback(callback:FunctionCallback)


Hinweis: In der Testoberfläche kann in der Konsolenausgabe die Benachrichtigung durch CIB doXiview über finishEditing einfach nachvollzogen werden:

  1. Öffnen Sie CIB doXiview in dem Modus webEdit
  2. Editieren Sie eine Freitextpassage
  3. Beenden Sie das Editieren durch Speichern oder Abbrechen



setSnippetEditingAllowed

Diese Funktion spielt lediglich für den Anwendungsfall „Editieren von Freitextpassagen in einem RTF-Dokument“ mittels CIB webEdit eine Rolle.

Der Master kann CIB doXiview zur Laufzeit mitteilen, ob Freitextpassagen editierbar sein sollen oder nicht. CIB doXiview reagiert auf diesen Aufruf damit, dass Freitextpassagen als editierbar, bzw. als nicht editierbar dargestellt werden.

Function

Parameters

Return

setSnippetEditingAllowed

snippetEditingAllowed: boolean

void

Notifies CIB doXiview if snippet editing should be allowed. The viewer will highlight the editable regions as editable to the user, based on the provided setting.

Parameter description:

boolean: snippetEditingAllowed:

Whether or not snippet editing should be allowed.

Registration by Slave:

slave.webview.registerFinishEditingCallback(callback:FunctionCallback);


Hinweis: In der Testoberfläche kann diese Funktion wie folgt aufgerufen werden:

  1. Öffnen Sie CIB doXiview im Modus webEdit.
  2. Haken Sie auf dem Reiter Runtime Manipulation die Checkbox enable editing an und aus. Dies verändert unmittelbar die Darstellung der Freitextbereiche.

Darstellung der Freitextbereiche bei der Einstellung true:


Darstellung der Freitextbereiche bei der Einstellung false:



cancelEditing

Diese Funktion spielt lediglich für den Anwendungsfall „Editieren von Freitextpassagen in einem RTF-Dokument“ mittels CIB webEdit eine Rolle.

Sie ermöglicht dem Master den aktuellen Editiervorgang abzubrechen, sofern ein solcher gestartet wurde. CIB doXiview schließt daraufhin den Editor. Dabei kann angegeben werden, ob die aktuellen Änderungen gespeichert werden sollen. Dies kann die integrierende Master-Anwendung zum Beispiel vorher über einen dort angezeigten Dialog erfragen.

Function

Parameters

Return

cancelEditing

saveChanges: boolean

void

Notifies CIB doXiview that the current editSession shall be closed. This method will be called for instance when the user closes an integrating application even though there exist unsaved changes in the editor component.

Parameter description:

boolean: saveChanges:

Whether or not changes should be saved.

Registration by Slave:

slave.webview.registerCancelEditingCallback(callback:FunctionCallback);


Hinweis: In der Testoberfläche kann diese Funktion wie folgt ausgelöst werden:

  1. Öffnen Sie CIB doXiview im Modus webEdit
  2. Öffnen Sie per Doppelklick auf einen Editierbereich den Texteditor, und geben Sie Text ein.
  3. Klicken Sie auf dem Reiter Runtime Manipulation auf die Schaltfläche Cancel Editing. Wenn die Option save changes angehakt ist, dann werden Ihre Textänderungen übernommen, sonst nicht.


showNotification

Der Master kann die Funktion showNotification aufrufen, um in CIB doXiview Nachrichten für den Benutzer anzuzeigen. Diese werden über dem Dokument eingeblendet und nach einer gewissen Zeit automatisch ausgeblendet. Zudem kann die Art der Nachricht (Info, Warnung, Fehler, etc.) angegeben werden.

Function

Parameters

Return

showMessage

messageText: String
messageType: String

void

Lets CIB doXiview display the specified message text.

Parameter description:

  • String: messageText:
    The message to show.
  • String: messageType:
    The type of the message. Allowed values: INFO, WARNING, ERROR

Registration by slave:

slave.common.registerShowNotificationCallback(callback: FunctionCallback);


onDocumentVersionUpdated

CIB doXiview informiert den Master durch Aufruf der Funktion onDocumentVersionUpdated, wenn das Dokument verändert wurde. Der Master kann daraufhin die neue Dokument-Version weiterverarbeiten.

Damit der Integrator über die Änderung des Dokuments informiert wird, muss der Start-Parameter propagateDocumentVersionUpdates auf true gesetzt werden.

Function

Parameters

Return

onDocumentVersionUpdated

webstoreId: String
location: String

void

Notifies the integrator of CIB doXiview that the document has been updated.

Parameter description:

  • String: webstoreId:
    The webstore id of the new document version.
  • String: location:
    The URL to get the new document version.

Registration by Master:

master.webview.registerOnDocumentVersionUpdatedCallback(callback: FunctionCallback);

 

Beispiel-Implementierung aus Sicht des Masters:

master.webview.registerOnDocumentVersionUpdatedCallback (function(params) {
      // work with “params.webstoreId”
      // work with “params.location” which is an url
      // returning something is not needed since return type is “void”
});


applicationStarted

CIB doXiview informiert den Master durch Aufruf der Funktion applicationStarted, wenn die Anwendung vollständig geladen wurde. Dieser Aufruf bedeutet nicht, dass das Dokument geladen wurde. Es signalisiert lediglich die vollständige Verfügbarkeit der Anwendung. Der Integrator kann daraufhin mit doXiview interagieren und beispielsweise ein Dokument mit openDocument öffnen.

Function

Parameters

Return

applicationStarted

keine

void

Notifies the integrator of CIB doXiview that the application has been started.

Registration by Master:

master.webview.registerApplicationStartedCallback(callback: FunctionCallback);

 

Beispiel-Implementierung aus Sicht des Masters:

master.webview.registerApplicationStartedCallback (function() {
      // returning something is not needed since return type is “void”
});


openDocument

Der Master kann die Funktion openDocument aufrufen, um ein neues Dokument zu öffnen, ohne doXiview komplett neu laden zu müssen. Die Start-Parameter werden dabei neu geladen. Abgesehen von Parametern, welche das Aussehen von doXiview steuern, können alle Startparameter individuell für das zu öffnende Dokument angepasst werden.

Function

Parameters

Return

openDocument

-

void

Opens a new document in the current viewer session. If there is no document identifier in the start-parameters, the current document is closed.

Registration by slave:

slave.common.registerOpenDocumentCallback(callback: FunctionCallback);

 

Beispiel-Implementierung aus Sicht des Masters:

master.webview.openDocument();