---
title: "Widget XML"
canonical: "https://wiki.yellowfinbi.com/space/USER72/2833438/Widget%20XML"
format: markdown
---
Overview The purpose of this page is to assist in using the DashXML framework to generate and display dashboards. When reading, you will notice that each element will have  a table listing the child elements available. This table will also reference child node descriptions which brand out into their own list of children. Some elements may only be used in particular cases, and these will be outlined in their description. Reading the table, you will find the name of each element, the possible values (if they are generated by the system), and a description. For example: <customhtml> Child Value Description styleClass   Contains a CSS class name used to apply styling to the component. html   Contains the HTML to be used as the component, wrapped in a CDATA section. For example: <![CDATA[<div>Your camp started on:</div> <div>You're viewing data for: <@- test @></div>]]> replacements   This allows you to place a parameter in the custom html that will be replaced with values of a filter, if required. For example, the above example calls a parameter  <@- test @> . The test parameter (defined as test in the  <replaceName>  node of  <replacements> ) will be replaced with the values of the filter nominated in the  <filterName>  node of  <replacements> . See  <replacements>  node description.   The above is a description of the  <customhtml>  node contents. You will notice that the replacements within references the  <replacements>  node. This means that your XML file will have something like this: <customhtml>
	<styleClass>dashboardDates</styleClass>
		<html><![CDATA[<div>Your camp started on:</div>
		<div>You're viewing data for: <@- test @></div>]]></html>
		<replacements>
			<replaceName>test</replaceName>
			<filterName>datefilter</filterName>
		</replacements>
</customhtml>     Elements <application-definition> Child Value Description   dashboard   Contains information outlining the dashboard contents. See  <dashboard>  node description.     <sourcefilter> Child Value Description code   This is the source filter code as defined in Yellowfin. parameter   This is the parameter that will be used in the dashboard URL to pass the source filter values to all reports that have it applied. For example, if the parameter is ‘ISO’ and the source filter value is ‘AU’ then the URL might look like: http://localhost:7171/DashXML/dashboard.jsp?id=1&ISO=AU     <dashboard> Child Value Description id   This is a unique number used to identify the tab within the XML. It’s also used in the URL in order to identify the tab. For example, if the id is 1 then the URL might look like: http://localhost:7171/DashboardPortal/dashboard.jsp?id=1 name   This is the name of the tab for referencing within the XML. The value should be unique. styleClass   Contains a CSS class name used to apply styling to the component. text   This contains text to be displayed on the tab, which is defined through the XML rather than pulled from a report. This contains See <text> node description. filter   This contains the details of filters used on the tab. See  <filter>  node description. report   This contains information around a single report to be displayed on the tab. See  <report>  node description. modal   This contains information around creating a link allowing the user to click and view a report in a modal. See  <modal>  node description. customhtml   This allows custom HTML to be inserted into the dashboard to create custom components such as help, etc. See  <customhtml>  node description. subtab   This contains details of sub tabs to be displayed and switched between within the main tab layout. See  <subtab>  node description. <subtab> Child Value Description   styleClass   Contains a CSS class name used to apply styling to the component. name   This is a name of the sub tab for referencing within the XML. selectType   If you wish the sub tab to be selected via a drop down list, set this value to SELECT, otherwise omit. options   This contains nodes to define the contents of the display and reports within the sub tab. See  <options>  node description. <options> For within a sub tab. Child Value Description   styleClass   Contains a CSS class name used to apply styling to the component. title   This is the text label for the sub tab selector (how you toggle between the sub tab sets of reports). description   Optional. This is the descriptive text displayed below the sub tab title in the sub tab selector. icon   Optional. This can contain a reference for an image to be displayed in the sub tab option area. This will be the image source, for example: images/myimagename.png iconURL   Optional. This can contain HTML to display an icon. For example: <![CDATA[<div class="filterIconCamp"></div>]]> defaultOption TRUE FALSE This specifies which of the options within the sub tab node is the default selection. Only one  <option>  node can be true, the rest should be false or omit this node. summary   This specifies how to retrieve a value from a report in order to display it as a summary value on the filter button. See <summary> node description. hiddenOption TRUE FALSE If set to true, when a sub tab is deselected this option is applied. <summary> For within <filter><options> or <subtab><options> Child Value Description   title   Optional. This is the label displayed on the filter or sub tab summary. A text name describing the value that will be applied. description   Optional. This is a text description to be displayed below the title of the filter or sub tab option summary. reportId   This is the report name, specified where the report is included in the XML, or report UUID, that you will use to retrieve and display the summary value. matchColumn   This is the number placement of the column in the tabular report you wish to match a value to in order to locate a specific row. The first column is 0, the second is 1, etc. matchValue   This is the value you wish to locate in the  <matchColumn>  column in order to locate a specific row. valueColumn   This is the column you wish to retrieve data from, in the row located using  <matchColumn>  and  <matchValue>  nodes. This value starts at zero, like the  <matchColumn>  node. <text> Child Value Description styleClass   Contains a CSS class name used to apply styling to the component. text   This contains text to be displayed on the dashboard as titles, descriptions, or for other uses.     <exportlist> Child Value Description styleClass   Contains a CSS class name used to apply styling to the component. export   Contains the export functions you wish to display on the dashboard. See <export> node description. <export> Child Value Description styleClass   Contains a CSS class name used to apply styling to the component. exporttype PDF XLS PRINT Contains the export functions you wish to display on the dashboard.  PDF:  The current dashboard will be exported to PDF format. XLS:  A specified report will be exported to XLS format. PRINT:  The browser print function will be called to print the entire dashboard. reportuuid   This is only used when exporttype is set to XLS, identifying the report to be exported.     <filter> Child Value Description   styleClass   This contains a CSS class name used to apply styling to the component. name   This contains the name of the filter, to be used to identify it for the  <filterMap>  node used on reports receiving the values. sync TRUE FALSE Setting this to  TRUE  allows you to sync filter values across dashboard tabs. datatype NUMERIC TEXT DATE TIMESTAMP This contains the data type expected for the filters. operator EQUAL BETWEEN INLIST This describes how many values are expected for the filter, and does not directly relate to the operator selected in the report in Yellowfin.  EQUAL means only one value is expected. This option should be used for operators including, but not limited to; Equal to, Greater than, Less than, Contains. BETWEEN means two values are expected. This option should be used for operators including, but not limited to; Between, Not Between. INLIST means that multiple values are allowed. This option should be used for operators including, but not limited to; In List, Not In List. disableDeselect TRUE FALSE Setting this to  TRUE  will mean that the user can’t click on a selected filter value to deselect it. This means there will always be one value selected. options   This contains nodes to define the contents of the display and possible values. See  <options>  node description. <options> For within a filter. Child Value Description   styleClass   Contains a CSS class name used to apply styling to the component. title   This is the label displayed on the filter. A text name describing the value that will be applied. description   Optional. This is a text description to be displayed below the title of the filter option. icon   Optional. This can contain a reference for an image to be displayed in the filter area. This will be the image source, for example: images/myimagename.png iconURL   Optional. This can contain HTML to display an icon. For example: <![CDATA[<div class="filterIconGoogle"></div>]]> typecode PREDEF This defines that the option will use a predefined filter, such as a predefined date range. You will then have to specify which definition to use in the  <value>  node.  value <value> YEARTODATE MONTHTODATE ROLLINGYEAR ROLLINGMONTH PREVIOUSYEAR PREVIOUSMONTH Optional. This contains the value(s) for the filter if they are to be predefined. If there are multiple values they are separated by a slash and pipe character  \|  .  Eg.  2014-08-07\|2014-08-22 If the  <prompt>  node is set to  TRUE  then this option should be omitted. If the  <typecode>  node is set to  PREDEF  then this option should contain one of the following: YEARTODATE is the first date of the current year, to the current date. MONTHTODATE is the first date of the current month, to the current date. ROLLINGYEAR is the current date minus one year, to the current date. ROLLINGMONTH is the current date minus one month, to the current date. PREVIOUSYEAR is the previous complete calendar year. PREVIOUSMONTH is the previous complete calendar month. defaultOption TRUE FALSE This specifies which of the options within the filter node is the default selection. Only one  <option>  node can be true, the rest should be false or omit this node. prompt TRUE FALSE This specifies if the option provides a value or prompts the user for it. If  TRUE  the  <value>  node should be omitted as the user will be prompted to provide a value. Depending on the  <filter><datatype>  value, the user will be shown a Calendar Picker, Text Field, or Numeric Field in which to enter their value(s). summary   This specifies how to retrieve a value from a report in order to display it as a summary value on the filter button. See  <summary>  node description. <summary> For within <filter><options> or <subtab><options> Child Value Description   title   Optional. This is the label displayed on the filter or sub tab summary. A text name describing the value that will be applied. description   Optional. This is a text description to be displayed below the title of the filter or sub tab option summary. reportId   This is the report name, specified where the report is included in the XML, or report UUID, that you will use to retrieve and display the summary value. matchColumn   This is the number placement of the column in the tabular report you wish to match a value to in order to locate a specific row. The first column is 0, the second is 1, etc. matchValue   This is the value you wish to locate in the  <matchColumn>  column in order to locate a specific row. valueColumn   This is the column you wish to retrieve data from, in the row located using  <matchColumn>  and  <matchValue>  nodes. This value starts at zero, like the  <matchColumn>  node.     <customhtml> Child Value Description styleClass   Contains a CSS class name used to apply styling to the component. html   Contains the HTML to be used as the component, wrapped in a CDATA section. For example: <![CDATA[<div>Your camp started on:</div> <div>You're viewing data for: <@- test @></div>]]> replacements   This allows you to place a parameter in the custom html that will be replaced with values of a filter, if required. For example, the above example calls a parameter  <@- test @> . The test parameter (defined as test in the  <replaceName>  node of  <replacements> ) will be replaced with the values of the filter nominated in the  <filterName>  node of  <replacements> . See  <replacements>  node description. <replacements> Child Value Description   replaceName   This is the name given to the parameter in the  <customhtml>  node. This parameter will be replaced with the filter values of the filter specified in  <filtername> . replaceValue   If you wish to set the replacement value you can provide it here. reportName   If you wish to use a report to return the replacement value, define the report uuid or name (set elsewhere in the XML). matchColumn   This is the number placement of the column in the tabular report you wish to match a value to in order to locate a specific row. The first column is 0, the second is 1, etc. matchValue   This is the value you wish to locate in the  <matchColumn>  column in order to locate a specific row. valueColumn   This is the column you wish to retrieve data from, in the row located using  <matchColumn>  and  <matchValue>  nodes. This value starts at zero, like the  <matchColumn>  node. filterName   If you wish to use a filter value as the replacement value, define the filter uuid or name (set elsewhere in the XML). type DATE If the value is a date and you wish to apply custom formatting to it, set the type to  DATE . format DD/MM/YYYY, etc If you’ve set the  <type>  node to  DATE , you can define custom formatting for the value. For example:  DD/MM/YYYY .     <report> Child Value Description styleClass   Contains a CSS class name used to apply styling to the component. uuid   This contains the Yellowfin UUID of the report in order to call it and display in the dashboard. name   This contains a name for the report to be referenced by other nodes in the XML. title   This is the title of the report, to be displayed on the dashboard. description   This is the description of the report, if desired, to be displayed on the dashboard. display TABLE HIDDEN CHART MAP YFTABLE This is how the report will be displayed. TABLE displays the results of a report in tabular format, using custom CSS styling rather than default Yellowfin styling. HIDDEN allows the results of the reports to be used in other components of the page, rather than in its native tabular format.  CHART displays the chart or multi-chart canvas created in the report. MAP allows for map navigation to be displayed on maps, rather than displaying it like a static chart. YFTABLE displays the results of a report in tabular format, using the standard Yellowfin styling. width   Define the width in pixels of the space allocated to the report on the dashboard, if you don’t wish to define it through CSS. height   Define the height in pixels of the space allocated to the report on the dashboard, if you don’t wish to define it through CSS. resultsPerPage   This allows you to define how many rows are displayed per page. If the report exceeds this number, pagination will display unless disabled using the  <hidePagination>  node. visibleSelectors   Define how many page selectors should be visible. hidePagination   This allows you to display the row pagination buttons. columnsPerPage   This is the number of columns displayed at any one time. nullConversion   Specify a character, string, or value that can be displayed in place of any NULLs in the report, preventing blank cells. modalName   This calls a modal widget defined elsewhere in the XML in order to display content within a modal popup display. modalLinkText   This is the text to be displayed as a link which opens the modal. filterMap   Contains information on receiving filter values. See  <filterMap>  node description. replaceRow   When using a crosstab report with expand/collapse functionality, this is the row field to be used with the expand/collapse control. Specify the field name. dimensionReplace   When using a crosstab report with expand/collapse functionality, this is the row within the  <replaceRow>  grouping to be used as the total row, when collapsed. Specify the cell value. <filterMap> Child Value Description   filterUUID   This contains the Yellowfin UUID of the report filter in order to push selected values to it. mapToFilter   This is the report that will be displayed in the modal window. See  <report>  node description.     <modal> Child Value Description title   This is the title displayed at the top of the modal window. linkText   This is the text to be displayed as part of the link to open the modal. If you are calling the modal from a report omit this option. name   This is the name of the modal, to be called by other widgets in the XML. subcontent   This defines the contents of the modal window. See  <subcontent>  node description. <subcontent> Child Value Description name   This is the name of the subcontent in order to call it from elsewhere in the XML. Generally modals are called as part of a report.  See  <report>  node description.  report   This is the report that will be displayed in the modal window. See  <report>  node description.  This is often a HIDDEN report.