Navigation:  WebOffice APIs >

WebOffice Script API

Previous pageReturn to chapter overviewNext page

The WebOffice 10.2 SP3 Script API enables developers to control specific WebOffice 10.2 SP3 functionality using Javascript method calls. Built in help for dynamically loading the Script API is available.

Use the method client.loadScriptAPI() for explicitly loading the WebOffice 10.2 SP3 Script API.
Before using methods of the Script API, the following code lines should be executed in the component using the WebOffice 10.2 SP3 Script API:
 

if( !parent.scriptAPI ){
parent.client.loadScriptAPI();
}

 

After that the Script API is available via object parent.scriptAPI.

Prerequisites are that the "parent" is WebOffice 10.2 SP3 and that script access to this "parent" object is granted.

 

Note: Detailed Documentation of the functions and their paramaters which are listed below can be found in the Java Script source file itself which is located in the WebOffice 10.2 SP3 application directory: <web application>\client_workspace\JSXAPPS\weboffice\js\scriptAPI.js or in <web application>\pub\custom_tools\scriptAPI.txt.

 

Currently implemented functions for the WebOffice 10.2 SP3 Script API:

Map, map views and layers

scriptAPI.mapByCenterpointScale( fCenterX, fCenterY, iScale )
Request a new map by center point and scale
scriptAPI.mapByExtent( fMinX, fMinY, fMaxX, fMaxY )
Request a new map by extent values
scriptAPI.setMapView (sViewId )
Switch to a predefined map view
scriptAPI.getMapLayers( sIdType, callbackFct )
Get the layers of the current visible client map and their visibility state
scriptAPI.setTocNodeVisibility( sNodeId, bVisible )
Set the visibility of a TOC node (mapservice, grouplayer, layer)
scriptAPI.getActiveRepmodel()
Get information about the active repmodel

 

Tool selection

scriptAPI.getActiveTool()
Get the currently activated tool
scriptAPI.getActiveCustomTool()
Get the currently activated custom tool
scriptAPI.getCustomTool(sToolId)
Get a custom tool
scriptAPI.setTool() = function ( sToolId );
activates a tool by tool id (works only for some tools: ToolSelect, ToolEdit, geoprocessing tools, custom tools)

 

GUI operations

scriptAPI.addGUIModule( sName, sUrl, iState, sTitle, bCanBeClosed, iWidth, iHeight, sHtmlDivId, unload_callback, bCanBeDocked )
Add a new GUI module to the WebOffice 10.2 SP3 GUI
scriptAPI.getGUIModule( oWindow )
Get the WebOffice 10.2 SP3 GUI module for a nested iFrame
scriptAPI.getGUIModuleByName(sGUIModuleName)
Get the WebOffice 10.2 SP3 GUI module by its name
scriptAPI.unhideGUIModule( oWindow )
Bring a GUI module into user view, independent of type and current state of the GUI module
scriptAPI.removeGUIModule( module )
Remove the added GUI Module of name module
scriptAPI.setDockingState( iState ) or  scriptAPI.setToolFormDockingState( iState )
Set the state of the tool form to undocked/docked
scriptAPI.setGUIModuleDockingStateByName( sGUIModuleName, iState )
Set the state of a GUI module to undocked/docked
scriptAPI.setGUIModuleDockingStateByIFrame( oIFrame, iState )
Set the state of a GUI module to undocked/docked
scriptAPI.setGUIModuleStateByIFrame( oIFrame, sState )
Set the state of a GUI module of type floating minimized/maximized
scriptAPI.setToolFormSize( iWidth, iHeight )
Set the size of the tool form container, if it is in floating state and not docked to any quadrant of the WebOffice 10.2 SP3 GUI
scriptAPI.setGUIModuleSizeByName( sGUIModuleName, iWidth, iHeight )
Set the size of a GUI module by name, if it is in floating state and not docked to any quadrant of the WebOffice 10.2 SP3 GUI
scriptAPI.setGUIModuleSizeByIFrame( oIFrame, iWidth, iHeight )
Set the size of a GUI module by passing the window of the iFrame, if it is in floating state and not docked to any quadrant of the WebOffice 10.2 SP3 GUI
scriptAPI.snapToolFormToMap( bTop, bRight, bBottom, bLeft )
Snap the tool form to the map size
scriptAPI.snapGUIModuleToMapByIFrame( oIFrame, bTop, bRight, bBottom, bLeft )
Snap any WebOffice 10.2 SP3 GUI module to the map
scriptAPI.lockGUI( bLockGUI, sInfoText, sImagePath, iWidth, iHeight )
Lock the WebOffice 10.2 SP3 GUI, no user interactions are possible until lock is released

 

Print

scriptAPI.printByCenterpointScale( fCenterX, fCenterY, iScale, sPrintTemplateId, sPrintFormat, bHighResolution, fPrintRotation, oDynFields, sDocumentName, bNoDocumentDisplay, sRepmodelId, aMultiPrintIdx, iPageOverlap )
Print a map by center point and scale
scriptAPI.printByExtent( fMinX, fMinY, fMaxX, fMaxY, sPrintTemplateId, sPrintFormat, bHighResolution, fPrintRotation, oDynFields, sDocumentName, bNoDocumentDisplay, sRepmodelId )
Print a map by extent

 

Note: If the variable sDocumentName is defined, the print will be archived irrespective of the Archive Plot Output? parameter settings to C:\Tomcat\webapps\<WebOffice application>\WEB-INF\work\archive. Note also that the variable sDocumentName will only be used for the archived document but not for the link in the response to the client. Already existing documents with the same name in the archive directory will be overwritten without notification.

 

Attributive queries:

scriptAPI.queryAttributive( sQueryname, sKeyname, sKeyvalue, iMode )
Show result grid and selected features on the map, update map by zooming to result features extent
scriptAPI.zoomToAttributive( sQueryname, sKeyname, sKeyvalue )
No result grid, show selected features on the map, update map by zooming to result features extent
scriptAPI.featureZoomAttributive( sQueryname, sKeyname, sKeyvalue )
No result grid, no feature selection on the map, update map by zooming to result features extent
scriptAPI.featurePanAttributive( sQueryname, sKeyname, sKeyvalue )
No result grid, no feature selection on the map, update map by panning to result features extent
scriptAPI.displayResultAttributive( sQueryname, sKeyname, sKeyvalue )
Show result grid, no feature selection on the map, no map update
scriptAPI.locateFeaturesAttributive( sQueryname, sKeyname, sKeyvalue )
No result grid, no feature selection on the map, no map update, show feature position in the current map extent by displaying an image for a few seconds
scriptAPI.queryAttributiveInternal( sQueryname, sKeyname, sKeyvalue )
No results display, no map update; the features get internally selected, so upon a next map request the selection is displayed on the map
scriptAPI.selectAttributive( sQueryname, sKeyname, sKeyvalue )
No results grid display, updates map with the current map extent
scriptAPI.clearSelection(  bMapSelectionOnly  )
Clear current selection
scriptAPI.zoomToSelected( objectIds )
Zoom to selected features
scriptAPI.panToSelected( objectIds )
Pan to selected features

 

Filter

scriptAPI.filterAttributive( sExtCallLayerId, aKeyname, aKeyvalue )
Perform attributive filtering
scriptAPI.resetFilterAttributive( sExtCallLayerId )
Reset attributive filtering

 

Snap

scriptAPI.getSnapProfiles( callbackfct )
Get the configured snap profiles
scriptAPI.getSnap(sSnapProfileId, callbackfct)
Get the snap vertices of the current map extent and the passed snap profile

 

WebOffice ePaper

scriptAPI.generateEPaper( aObjectIds, sEPaperId, sEPaperFormat, sEPaperName, oDynFields, iDpiCount, bSuppressCopyright, bNoDocumentDisplay)
Generate a WebOffice ePaper report for a single feature or a set of features

 

Note: See also chapter Generate a Weboffice ePaper report via Script API for detailed information about possibilities and restrictions when generating WebOffice ePaper reports by using the WebOffice 10.2 SP3 Script API.

 

Other

scriptAPI.userMessage( sMessage, bAlert, bIsNote )
Show a user notification
scriptAPI.Env()
Return a javascript object holding basic properties of the WebOffice 10.2 SP3 environment
scriptAPI.log( sLogMessage )
Log to the clientside WebOffice 10.2 SP3 logmonitor
scriptAPI.mapInfo()
Return basic information object about the map
scriptAPI.setScriptHookin( sEventId, oMethod )
Register a javascript method in the clientside script hookin

 

Sketch Custom Tools provide an interface for client side drawing with construction. Tools of this type have a few methods described as follows:

customtool.draw.setContentHeight( iHeight );
Set height for the content of the custom tool
customtool.draw.setSubmitCallback( callback );
Set a javascript function that gets called when the user clicks the commit button in the drawing form
customtool.draw.startDraw( sType, aVertexArray );
Start drawing functionality
customtool.draw.showDrawForm();
Show the drawing form
customtool.draw.hideDrawForm();
Hide the drawing form
customtool.draw.state();
Get the current state of drawing

 

Note: For detailed information about the configuration of custom tools also see chapter Web Integration - Custom Tool.