Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [%DeepSee] >  [Component] >  [deepseeSvgImageProvider]
Private  Storage   

class %DeepSee.Component.deepseeSvgImageProvider extends %ZEN.ComponentEx.svgImageProvider

SVGImageProvider These utilities are built upon the java .jar libraries in the FOP distribution included with modern releases of InterSystems IRIS

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
2 1 31


Summary

Properties
%condition %import %includeFiles %page
%resource align aux composite
containerStyle dragEnabled dropEnabled enclosingClass
enclosingStyle error height hidden
hint hintClass hintStyle id
index label labelClass labelDisabledClass
labelStyle name onafterdrag onbeforedrag
ondrag ondrop onhide onrefresh
onshow onupdate parent printParameters
showLabel slice title tuple
valign visible width window

Methods
%AddToSaveSet %Attr %BindExport %ClassIsLatestVersion
%ClassName %ConstructClone %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty
%DispatchSetProperty %DrawComponentHTML %DrawHTML %DrawJSStrings
%EnclosingDivId %Eval %EvalC %Extends
%ForceClientRender %GetEventHandlers %GetParameter %GetXMLName
%IsA %IsModified %MakeId %New
%NormalizeObject %ObjectModified %OnAddToPageAfter %OnAddToPageBefore
%OnDrawEnclosingDiv %OnDrawObjectProperties %OnObjectSynch %OnZENDeserialize
%OriginalNamespace %PackageName %QuoteValue %QuoteValueL10N
%RemoveFromSaveSet %Self %SerializeObject %SetModified
%ValidateObject ConvertXSLToPDF GenerateRootName GenerateTempName
GetSystemHomeDir GetSystemTempDir MergeXSLFiles ReceiveFragment
RemoveFile ScopeFileName XMLDTD XMLExport
XMLExportToStream XMLExportToString XMLNew XMLSchema
XMLSchemaNamespace XMLSchemaType addSVGLegendToChart applyHTMLStyleToSVG
buildFOBlock buildFOStyleString buildFOTable calculateMaxImageHeight
calculateMaxImageWidth clipSvgContent convertHTMLCellToSVGRect convertHTMLTableToSVG
convertSizeToPoint createSVGTableFromResultSet createSVGTableFromZenComponent createSVGTextCell
createSVGTextNode createSvgTableFrame createTempSvgContainer destroyTempSvgContainer
dragFinishHandler dragHandler dragNotifyHandler dragStartHandler
dropHandler dropStartHandler dumpDOMNodeGeometry dumpDOMTreeGeometry
dumpSVGNode dumpSVGStyle exposeComponent extractSVGSource
extractXSLFOSource findElement fireOnUpdateEvent getEnclosingDiv
getHidden getHintElement getLabelElement getPPI
getPageSetupDefaults getPrintParameters getProperty getSVGDOMRoot
getSettings getTempSvgContainer getType invokeSuper
isOfType isWhiteSpace makeId makeSVGFileName
mergeTempXSLFiles onCreate onDelete onDisplayHandler
onEndModalHandler onPopupAction onRefreshContents onSerialize
onStartModalHandler onloadHandler onunloadHandler onupdateHandler
parseCssStyleString parseSize prepareFilterTable printSVGFollowingPage
producePDF reconcileDefaults refreshContents removeSVGLegendFromChart
render renderContents renderSVG saveDOMToSVGFile
saveDOMToSVGStream saveDOMToXSLFOFile saveDOMToXSLFOStream saveDOMToXSLFile
saveToSVGFile saveToServer saveToXSLFOSnippet saveToXSLFile
setHidden setOverlayMode setPrintParameters setProperty
startProgressBar stopProgressBar wrapSvgText


Parameters

• parameter DOMAIN = "%DeepSee";
• parameter NAMESPACE = "http://www.intersystems.com/deepsee";
This is the XML namespace used for library components.

Properties

• property printParameters ;

Methods

• classmethod MergeXSLFiles(pOutFile, pTargetFile, pSourceFiles, pSessionId="") as %Status [ ZenMethod ]
Do the work of performing the merge of two or more xsl files into a single file pOutfile. All files must be located in the mgr/Temp directory. The pTargetFile is the master file which will provide the page settings. The argument pSourceFiles is a list of file names delimited by "||". The page content of each of these files will be appended to the content of the pTargetFile spearated by a page break.
• method addSVGLegendToChart(chartDocument, legendSVG, legendPosition) [ Language = javascript ]
- chartDocument is the document obtained using %DeepSee.Component.deepseeSvgImageProvider:getSVGDOMRoot(chartSVGFrameId) - legendSVG is manufactured by %DeepSee.Component.deepseeSvgImageProvider:createSVGTableFromZenComponent(chartLegendId)
• method applyHTMLStyleToSVG(svgNode, htmlStyle, forBatik, suppressPadding) [ Language = javascript ]
As closely as possible copy an html css style definition to an SVG object. This can sanitize the style input for compatibility printing in Batik or retain more complex styling for browser display.
• method calculateMaxImageHeight(metaDataJS) [ Language = javascript ]
This interprets the current page margin settings and returns the maximum height available for the svg image. The value is returned in points.
• method calculateMaxImageWidth(metaDataJS) [ Language = javascript ]
This interprets the current page margin settings and returns the maximum width available for the svg image. The value is returned in points.
• method clipSvgContent(svgContent, height, width, clipTargetId, clipX, clipY) [ Language = javascript ]
Create a clipPath to add to a limited copy of the svgContent that will appropriately size one page of printable content. The function assumes a provided svgcontent which uses absolute positioning relative to the frame and produces a copy of the content visible inside the clip window.
• method convertHTMLCellToSVGRect(htmlCell, geometry) [ Language = javascript ]
Given an htmlCell representing a cell of an html table, return an equivalent representation as a member of an svg group.
• method convertHTMLTableToSVG(table, defaultId) [ Language = javascript ]
Create an SVG representation of a single HTML table. These could be:
- Components of a pivot or listing table
- Chart legends
• method convertSizeToPoint(sizeStr) [ Language = javascript ]
Given a size attribute setting, convert it to points. The size is returned in an object:
size.value
size.units
• method createSVGTableFromResultSet(jsRS, htmlTemplateId, parms) [ Language = javascript ]
Create and return an SVG materialization of a DeepSeeResultSet client object. The resultset is required, styling and sizing templates may be included to influence cell sizes, headers, and font styling in the final SVG product.
• method createSVGTableFromZenComponent(componentId) [ Language = javascript ]
Given the ID of a Zen component, attempt to extract the primary html table and convert it to an SVG representation. This also supports 4-quadrant tables used for some DeepSee widgets.
• method createSVGTextCell(text, id, geometry, htmlStyle) [ Language = javascript ]
Create a fully styled cell around a particular text. The {x,y,h,w} geometry can be supplied as this is created using geometry.
• method createSVGTextNode(text, id, geometry, htmlStyle) [ Language = javascript ]
Create the specific text
• method createSvgTableFrame(refId, height, width) [ Language = javascript ]
Produce a standard SVG container for the printable tables which can get filled with resultset content.
• method createTempSvgContainer() [ Language = javascript ]
Create a temporary SVG container in the body of the Zen component. This is used to trigger the calcualation of bounding boxes of temporary elements that would not otherwise be committed to the DOM.
• method destroyTempSvgContainer() [ Language = javascript ]
Remove the temporary SVG container from the Zen body.
• method dumpDOMNodeGeometry(node, level, stem, last, pst, psl, svgGroup) [ Language = javascript ]
Recursive function to dump the nesting structure and base geometry of a tree of DOM nodes node: the root the of the current subtree level: the currnet depth of recursion stem: a string of 0s and 1s used to indicate the location of leaves in the tree already encountered last: a boolean flag used to tell the current node whether or not it is the last child element of its parent pst: parentScrollTop offset psl: parentScrollLeft offset
• method dumpDOMTreeGeometry(root, svgGroup) [ Language = javascript ]
Output a text representation of a DOM subtree showing element nesting and basic goemetry parameters starting from the given root node. To dump the entire DOM to the error console, pass this function document.body as the root.
• method getPPI() [ Language = javascript ]
Get the pixels per inch
• method getPrintParameters() [ Language = javascript ]
Get the print parameters stored in this provider.
• method getTempSvgContainer() [ Language = javascript ]
Return the current temporary SVG container, if it exists.
• method mergeTempXSLFiles(parms, targetFileName, tempFiles) [ Language = javascript ]
Perform the merge of tempFiles into the fileName. This assumes tempFiles is an array.
• method parseCssStyleString(cssString) [ Language = javascript ]
Parse a bare css style string into an object
• method parseSize(size) [ Language = javascript ]
Parse a size attribute into its value and units.
• method prepareFilterTable(filterNames, filterValues, parms) [ Language = javascript ]
This method takes as input the filterNames and filterValues arrays that are commonly built for DeepSee widgets. The array is reshaped into a table that can be digested by the fo conversion utilities.
• method printSVGFollowingPage(parms, pageNo, clipX, clipY, tempFiles) [ Language = javascript ]
Clip svgContent for a particular page in a multi-page pring. This will collect all pages into the tempFiles. Upon completion of the current page this method will advance to the next page and fire the method again to print the next temp document. Once the last page is reached, the method to merge is fired. PAGES 2-N: - Advance the clipY to scroll the content under the clipPath
• method producePDF(parms, fileName, outName) [ Language = javascript ]
Convert the complete XSL file to PDF and launch the viewer in a new browser tab. This is a terminal method in an async execution chain.
• method removeSVGLegendFromChart(chartDocument, legendGroupId, legendPosition) [ Language = javascript ]
Pull the svg legend from the chart document
• method setPrintParameters(parms) [ Language = javascript ]
Set the print parameters for reference when converting style information.
• method wrapSvgText(words, id, geometry, htmlStyle) [ Language = javascript ]
Return an array with the components of wrapped SVG text


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.