123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: HTS
- (C) Copyright IBM Corp. 2005, 2010
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:xts="http://developer.cognos.com/schemas/xts/">
- <xsl:import href="../../common/render-outputs.xslt"/>
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
- <xsl:template match="/">
- <xsl:choose>
- <xsl:when test="/root/input[@name='dep']/queryResponse/*[local-name()='output']">
- <xsl:apply-templates select="/root/input[@name='dep']/queryResponse/*[local-name()='output']"/>
- </xsl:when>
- <xsl:when test="/root/input[@name='dep']/queryResponse/hideRendering">
- <xsl:call-template name="renderUI">
- <xsl:with-param name="path" select="/root/input/queryResponse/*[local-name()='manualTask']/*[local-name()='preview']/*[local-name()='tsePreview']/*[local-name()='agentPreview']"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="/root/input/queryResponse/*[local-name()='manualTask']/*[local-name()='preview']/*[local-name()='tsePreview']/*[local-name()='agentPreview']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <xsl:template match="*[local-name()='output']">
- <xsl:call-template name="renderUI">
- <xsl:with-param name="path" select="/root/input/queryResponse/*[local-name()='manualTask']/*[local-name()='preview']/*[local-name()='tsePreview']/*[local-name()='agentPreview']"/>
- </xsl:call-template>
- <div>
- <table border="0">
- <tr>
- <td tabindex="0" class="taskMainSubTitle">
- <xts:string id="IDS_FRAG_APPROVE_STATUS"/>
- </td>
- </tr>
- <tr>
- <td tabindex="0">
- <xsl:value-of select="./*[local-name()='outcome']"/>
- </td>
- </tr>
- </table>
- </div>
- </xsl:template>
- <xsl:template match="*[local-name()='agentPreview']">
- <xsl:variable name="submitText">
- <xsl:value-of select="/root/input[@name='dep']/*[local-name()='queryResponse']/*[local-name()='manualTask']/*[local-name()='submitText']"/>
- </xsl:variable>
- <script type="text/javascript">
- _THIS_.addEventListener('fragment.unload','_THIS_unload', false);
- _THIS_.addEventListener("fragment.load", "_THIS_init");
-
-
- /*
- This function is called when the subfrag is loaded to alter to style of the fragment if
- we're not the owner
- */
- function _THIS_init(evt)
- {
-
- dojo.require("dijit.form.Button");
- //check if we have the button
- var btnSubmit = dijit.byId('_THIS_buttonSubmit');
- //destroy the old ones
- if (btnSubmit) {
- btnSubmit.destroy();
- }
- //create a dojo button
- var btnSubmit = hts_createButton('<xsl:value-of select="/root/input[@name='dep']/*[local-name()='queryResponse']/*[local-name()='manualTask']/*[local-name()='submitText']"/>', _THIS_submitClicked, '_THIS_buttonSubmit');
-
- //if(_THIS_isDisabled()){
- // _THIS_disableAll();
- // }
- //Distribute to children. Pass it down further.
- //Parent is explicitly passing the event here,
- //so cascade it further down.
- var _THIS_distList = new Array();
- var _THIS_children = _THIS_.getChildren();
- var i, l = _THIS_children.length;
- for (i = 0; i < l; i++) {
- _THIS_distList[i] = _THIS_children[i].id;
- }
- _F_Event.distribute(_THIS_distList,evt);
-
- }
- function _THIS_submitClicked(btn) {
- _THIS_buildOutputXML();
- }
-
- /**
- * Just pass it on to children.
- */
- function _THIS_unload(evt){
- var _THIS_distList = new Array();
- var _THIS_children = _THIS_.getChildren();
- var i, l = _THIS_children.length;
- for (i = 0; i < l; i++) {
- _THIS_distList[i] = _THIS_children[i].id;
- }
- //do not bubble.
- evt.bubbles = false;
- _F_Event.distribute(_THIS_distList,evt);
- }
- var _THIS_add_comma = false;
-
- function _THIS_buildOutputXML() {
- var _THIS_outputXML = '<output>';
- var _THIS_outcome = 'Selected: ';
- <!-- build the output xml for each preview that does not have a status -->
- <xsl:for-each select="./*[local-name()='agentTaskPreview']/*[local-name()='taskRunPreview'][@status='PENDING']">
- _THIS_outputXML = _THIS_buildItemXML(_THIS_outputXML,'<xsl:value-of select="xtsext:javascriptencode(string(@eventId))"/>', '<xsl:value-of select="xtsext:javascriptencode(string(translate(../@name,'?','_')))"/>');
- </xsl:for-each>
- <xsl:for-each select="/root/input[@name='dep']/queryResponse/*[local-name()='manualTask']/*[local-name()='futureTaskList']/*[local-name()='futureTask']">
- <!-- get the task id -->
- <xsl:variable name="taskid" select="*[local-name()='id']"/>
- <xsl:variable name="display" select="*[local-name()='display']"/>
- <xsl:if test="count(/root/input/queryResponse/*[local-name()='manualTask']/*[local-name()='preview']/*[local-name()='tsePreview']/*[local-name()='agentPreview']/*[local-name()='agentTaskPreview'][@name=$taskid])>0">
- _THIS_outcome += _THIS_buildOutcomeXML('<xsl:value-of select="xtsext:javascriptencode(string(translate($taskid,'?','_')))"/>', '<xsl:value-of select="xtsext:javascriptencode(string($display))"/>');
- </xsl:if>
- </xsl:for-each>
-
- _THIS_outputXML += "<outcome>"+_THIS_outcome+"</outcome>";
- _THIS_outputXML += '</output>';
-
- _THIS_.retrieve("action=complete&output="+_F_Strings.urlEncode(_THIS_outputXML),null,true);
- //update the viewer
- _THIS_.transientUpdate("display_id", "");
- _THIS_.transientUpdate('cognosTaskChanged',new Date().toUTCString());
- }
-
- function _THIS_buildOutcomeXML(name, display) {
- var xml = "";
- var comma = "";
-
- var cb = $('_THIS_cb_'+name);
- if (cb != null && cb.checked) {
- if(_THIS_add_comma){
- comma = ", ";
- }else{
- _THIS_add_comma = true;
- }
-
- xml = comma + _F_Strings.xmlEncode(display) ;
- }
- return xml;
- }
- function _THIS_buildItemXML(xml,eventID,name) {
- var cb = $('_THIS_cb_'+name);
- // two cases here
- // case 1 : we have a checkbox in which case we need to use the value of the checkbox
- // to determine if we're going to run the task
- // case 2 : we don't have a checkbox (this task wasn't one you could pick) in which case
- // we run the task regardless
- if (cb == null || cb != null && cb.checked) {
- xml += "<item id='"+eventID+"'/>" ;
- }
-
- return xml;
- }
- </script>
- <!-- render the reports -->
- <xsl:call-template name="renderUI">
- <xsl:with-param name="path" select="."/>
- </xsl:call-template>
- <div class="actions">
- <xsl:for-each select="/root/input[@name='dep']/queryResponse/*[local-name()='manualTask']/*[local-name()='futureTaskList']/*[local-name()='futureTask']">
- <!-- get the task id -->
- <xsl:variable name="taskid" select="*[local-name()='id']"/>
- <xsl:variable name="display" select="*[local-name()='display']"/>
- <xsl:if test="count(/root/input/queryResponse/*[local-name()='manualTask']/*[local-name()='preview']/*[local-name()='tsePreview']/*[local-name()='agentPreview']/*[local-name()='agentTaskPreview'][@name=$taskid])>0">
- <xsl:call-template name="renderTask">
- <xsl:with-param name="preview" select="/root/input/queryResponse/*[local-name()='manualTask']/*[local-name()='preview']/*[local-name()='tsePreview']/*[local-name()='agentPreview']/*[local-name()='agentTaskPreview'][@name=$taskid]"/>
- <xsl:with-param name="display" select="$display"/>
- <xsl:with-param name="taskid" select="$taskid"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:for-each>
- </div>
- <!-- div for submit button -->
- <div id="_THIS_buttonSubmit"> </div>
-
- <!--div class="viewer" id="_THIS_viewercontent">_THIS?frag-subfragment=viewer/THIS_</div-->
- </xsl:template>
- <xsl:template name="renderTask">
- <xsl:param name="preview"/>
- <xsl:param name="display"/>
- <xsl:param name="taskid"/>
- <!-- only render tasks that are not 'complete'.-->
- <xsl:if test="$preview/taskRunPreview[@status='PENDING']">
- <input id="_THIS_cb_{translate($taskid,'?','_')}" type="checkbox">
- <xsl:value-of select="xtsext:javascriptencode(string($display))"/>
- </input>
- <br/>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
|