123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- <?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:variable name="acceptText">
- <xsl:call-template name="getAcceptText">
- <xsl:with-param name="input" select="/root/input[@name='dep']/*[local-name()='queryResponse']/*[local-name()='manualTask']"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="rejectText">
- <xsl:call-template name="getRejectText">
- <xsl:with-param name="input" select="/root/input[@name='dep']/*[local-name()='queryResponse']/*[local-name()='manualTask']"/>
- </xsl:call-template>
- </xsl:variable>
- <script language="javascript">
- _THIS_.addEventListener('fragment.unload','_THIS_unload');
- _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 btnAccept = dijit.byId('_THIS_buttonAccept');
- var btnReject = dijit.byId('_THIS_buttonReject');
- //destroy the old ones
- if (btnAccept) {
- btnAccept.destroy();
- }
- if (btnReject) {
- btnReject.destroy();
- }
- //create the dojo buttons
- var btnAccept = hts_createButton('<xsl:value-of select="xtsext:javascriptencode(string($acceptText))"/>',_THIS_acceptClicked,'_THIS_buttonAccept');
- var btnReject = hts_createButton('<xsl:value-of select="xtsext:javascriptencode(string($rejectText))"/>',_THIS_rejectClicked,'_THIS_buttonReject');
-
- //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_acceptClicked() {
- _THIS_buildOutputXML("accept");
- }
-
- function _THIS_rejectClicked() {
- _THIS_buildOutputXML("reject");
- }
- /**
- * Just pass it on.
- */
- 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);
- }
- </script>
-
- <xsl:choose>
- <xsl:when test="/root/input[@name='dep']/queryResponse/*[local-name()='approveOutput']">
- <xsl:apply-templates select="/root/input[@name='dep']/queryResponse/*[local-name()='approveOutput']"/>
- </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()='approveOutput']">
- <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>
- <tr>
- <td tabindex="0" class="taskMainSubTitle"><xts:string id="IDS_FRAG_APPROVE_MESSAGE"/></td>
- </tr>
- <tr>
- <td tabindex="0"><xsl:value-of select="./*[local-name()='outcomeComment']"/></td>
- </tr>
- </table>
- </div>
- </xsl:template>
- <xsl:template match="*[local-name()='agentPreview']">
- <xsl:variable name="description"><xsl:value-of select="./description"/></xsl:variable>
- <xsl:variable name="acceptText">
- <xsl:call-template name="getAcceptText">
- <xsl:with-param name="input" select="/root/input[@name='dep']/*[local-name()='queryResponse']/*[local-name()='manualTask']"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="rejectText">
- <xsl:call-template name="getRejectText">
- <xsl:with-param name="input" select="/root/input[@name='dep']/*[local-name()='queryResponse']/*[local-name()='manualTask']"/>
- </xsl:call-template>
- </xsl:variable>
- <script type="text/javascript">
-
- function _THIS_buildOutputXML(status) {
- var status_text = '';
- if(status == 'accept'){
- var btnAccept = dijit.byId('_THIS_buttonAccept');
- if (btnAccept) {
- btnAccept.attr("disabled",true);
- }
- status_text = '<xsl:value-of select="xtsext:javascriptencode(string($acceptText))"/>';
- }else{
- var btnReject = dijit.byId('_THIS_buttonReject');
- if (btnReject) {
- btnReject.attr("disabled",true);
- }
- status_text = '<xsl:value-of select="xtsext:javascriptencode(string($rejectText))"/>';
- }
-
- var outputXML = '<approveOutput>';
- <!--blanket approve everything -->
- <xsl:for-each select="./*[local-name()='agentTaskPreview']/*[local-name()='taskRunPreview']/@eventId">
- outputXML += "<item id='<xsl:value-of select="."/>' status='"+status+"' />" ;
- </xsl:for-each>
-
- var completion_comment = document.getElementById("task_completion_comment");
- if(completion_comment){
- completion_comment = _F_Strings.xmlEncode(completion_comment.value);
- }else{
- completion_comment = "";
- }
-
- outputXML += "<outcome>"+status_text+"</outcome>";
- outputXML += "<outcomeComment>"+ completion_comment + "</outcomeComment>";
- outputXML += '</approveOutput>';
-
- _THIS_.retrieve("action=complete&output="+_F_Strings.urlEncode(outputXML),null,true);
- //update the viewer
- _THIS_.transientUpdate("display_id", "", "page", "taskLinkViewer");
- _THIS_.transientUpdate('cognosTaskChanged',new Date().toUTCString());
- }
- </script>
-
- <xsl:call-template name="renderUI">
- <xsl:with-param name="path" select="."/>
- </xsl:call-template>
- <div>
- <div><label class="task_name"><xts:string id="IDS_FRAG_APPROVE_COMMENT_MESSAGE"/></label></div>
- <textarea rows="1" cols="50" style="overflow:hidden;" tabindex="0" onclick="hts_resizeTextArea(this);" onkeyup="hts_resizeTextArea(this);" id="task_completion_comment" value=""/>
- <div>
- <div id="_THIS_buttonAccept"/>
- <div id="_THIS_buttonReject"/>
- </div>
- </div>
- <!--div tabindex="0" class="viewer" id="_THIS_viewercontent">_THIS?frag-subfragment=viewer/THIS_</div-->
- </xsl:template>
- </xsl:stylesheet>
|