visualizations.xslt 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: cogadmin
  5. (C) Copyright IBM Corp. 2013, 2014
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <!--
  9. Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  10. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  11. -->
  12. <xsl:stylesheet version="1.0"
  13. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  14. xmlns:ui="http://developer.cognos.com/schemas/ui/presentation/markup/"
  15. xmlns:uic="http://developer.cognos.com/schemas/uic/presentation/markup/"
  16. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  17. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  18. xmlns:admui="http://developer.cognos.com/schemas/xts/admui"
  19. xmlns:pgr="http://developer.cognos.com/schemas/uic/presentation/cogadminpager/"
  20. xmlns:cm="http://developer.cognos.com/schemas/bibus/3/"
  21. xmlns:nav="http://developer.cognos.com/schemas/cps/navigation/1/"
  22. exclude-result-prefixes="ui uic xts xtsext admui nav cm">
  23. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
  24. <!-- Display variables -->
  25. <admui:variables/>
  26. <!-- Pager variables -->
  27. <admui:pagerVariables pagerName="visualizations"/>
  28. <xsl:variable name="displayFolderId" select="string(/root/env/param[@name='display_folder'])"/>
  29. <xsl:variable name="showEditFeatures" select="false()"/>
  30. <xsl:variable name="containerId" select="/root/nav:getContainerResponse/nav:container/nav:internalId"/>
  31. <!-- Pager templates -->
  32. <pgr:cogadminPagerTemplates/>
  33. <!-- Action templates-->
  34. <ui:commonActions/>
  35. <xsl:template match="/root">
  36. <xsl:variable name="tooltip"><xts:string id="IDS_SORT_TOOLTIP"/></xsl:variable>
  37. <uic:fragment>
  38. <!-- add the reload event listener -->
  39. <ui:standardReloadListener/>
  40. <xsl:if test="not(key('env-param','searchMode')) or key('env-param','searchMode') = ''">
  41. <!-- navigation -->
  42. <uic:fragmentHeader>
  43. <uic:pathControl>
  44. <xsl:if test="false()"> <!-- No breadcrumb at this point -->
  45. <uic:breadcrumb type="leafnode">
  46. <uic:text uic:noSpace="true">
  47. <xsl:value-of select="nav:getContainerResponse/nav:container/nav:fullPath/nav:pathStep//nav:pathStep/nav:name"/>
  48. </uic:text>
  49. </uic:breadcrumb>
  50. <xsl:for-each select="nav:getContainerResponse/nav:container/nav:fullPath/nav:pathStep//nav:pathStep">
  51. <xsl:if test="position() &gt; 1">
  52. <uic:breadcrumb>
  53. <xsl:if test="$productLocale != $contentLocale">
  54. <xsl:attribute name="lang"><xsl:value-of select="$contentLocale"/></xsl:attribute>
  55. </xsl:if>
  56. <uic:text uic:noSpace="true">
  57. <uic:link>
  58. <uic:text><xsl:value-of select="nav:name"/></uic:text>
  59. <uic:href>#</uic:href>
  60. <uic:onclick>_THIS_.transientUpdate('visualization_path', '<xsl:value-of select="nav:id"/>','page')</uic:onclick>
  61. </uic:link>
  62. </uic:text>
  63. </uic:breadcrumb>
  64. </xsl:if>
  65. </xsl:for-each>
  66. </xsl:if>
  67. <uic:breadcrumb>
  68. <xsl:if test="$productLocale != $contentLocale">
  69. <xsl:attribute name="lang"><xsl:value-of select="$contentLocale"/></xsl:attribute>
  70. </xsl:if>
  71. <uic:text uic:noSpace="true"><xsl:value-of select="nav:getContainerResponse/nav:container/nav:name"/></uic:text>
  72. </uic:breadcrumb>
  73. </uic:pathControl>
  74. <uic:headerActions>
  75. <xsl:variable name="permissions" select="nav:getContainerResponse/nav:container/nav:permissions"/>
  76. <xsl:variable name="canWrite" select="contains($permissions, 'write')"/>
  77. <ui:groupActionMsgs/>
  78. <!-- Visualization import -->
  79. <xsl:if test="$canWrite">
  80. <ui:groupAction action="vizUpload" navContainerXPath="nav:getContainerResponse/nav:container"/>
  81. <uic:headerSeperator/>
  82. </xsl:if>
  83. <xsl:if test="false()"> <!-- not supported at this point! -->
  84. <ui:groupAction action="newFolder" navContainerXPath="nav:getContainerResponse/nav:container" newObjectType="catalogFolder"/>
  85. <uic:headerSeperator/>
  86. </xsl:if>
  87. <ui:groupAction action="delete" tablename="visualizations"/>
  88. <uic:headerSeperator/>
  89. <ui:groupAction action="container_permissions" navContainerXPath="nav:getContainerResponse/nav:container"/>
  90. <xsl:if test="false()"> <!-- not supported at this point! -->
  91. <uic:icon uic:noSpace="true" rollOver="true">
  92. <uic:src><admui:imageURL image="action_search_basic.gif" type="common"/></uic:src>
  93. <uic:tooltip><xts:string id="IDS_ADM_SEARCH"/></uic:tooltip>
  94. <uic:onclick>_THIS_.retrieve('searchMode=visualizations')</uic:onclick>
  95. </uic:icon>
  96. </xsl:if>
  97. </uic:headerActions>
  98. </uic:fragmentHeader>
  99. </xsl:if>
  100. <xsl:choose>
  101. <!-- search -->
  102. <xsl:when test="key('env-param','searchMode') = 'visualizations'">
  103. <div id="_THIS_VISUALIZATIONS_SEARCH_FRAGMENTcontent">_THIS?frag-subfragment=VISUALIZATIONS_SEARCH_FRAGMENT/THIS_</div>
  104. </xsl:when>
  105. <!-- navigation -->
  106. <xsl:otherwise>
  107. <uic:table width="100%">
  108. <uic:features>
  109. <uic:name>visualizations</uic:name>
  110. <uic:summary><xts:string id="IDS_ADM_VISUALIZATIONS_SUMMARY"/></uic:summary>
  111. <uic:scrollable/>
  112. <uic:type>checkbox</uic:type>
  113. <ui:tableFeatures/>
  114. </uic:features>
  115. <xsl:call-template name="pgr:cogadminPager">
  116. <xsl:with-param name="pagerName" select="$pagerName"/>
  117. <xsl:with-param name="pageStart" select="nav:getContainerResponse/nav:container/nav:content/@start"/>
  118. <xsl:with-param name="pageEnd" select="nav:getContainerResponse/nav:container/nav:content/@end"/>
  119. <xsl:with-param name="pageMax" select="nav:getContainerResponse/nav:container/nav:content/@max"/>
  120. <xsl:with-param name="pageMore" select="nav:getContainerResponse/nav:container/nav:content/@more"/>
  121. <xsl:with-param name="linesPerPage" select="$linesPerPage"/>
  122. </xsl:call-template>
  123. <uic:header>
  124. <uic:row>
  125. <uic:column nowrap="nowrap" />
  126. <uic:column width="100%" nowrap="nowrap" sort="name" iconTooltip="{$tooltip}">
  127. <uic:text>
  128. <xts:string id="IDS_HEADING_NAME"/>
  129. </uic:text>
  130. </uic:column>
  131. <uic:column nowrap="nowrap" sort="lastModifiedDate" iconTooltip="{$tooltip}">
  132. <uic:text>
  133. <xts:string id="IDS_HEADING_MODIFIED"/>
  134. </uic:text>
  135. </uic:column>
  136. </uic:row>
  137. </uic:header>
  138. <uic:body>
  139. <xsl:apply-templates select="nav:getContainerResponse/nav:container/nav:content/*"/>
  140. </uic:body>
  141. <uic:footer displayLastUpdate="true" />
  142. </uic:table>
  143. </xsl:otherwise>
  144. </xsl:choose>
  145. </uic:fragment>
  146. </xsl:template>
  147. <xsl:template match="nav:item | nav:container">
  148. <uic:row value="{concat('storeID(&quot;', string(nav:internalId), '&quot;)')}" label="{xtsext:htmlencode(string(nav:name))}">
  149. <xsl:if test="$productLocale != $contentLocale">
  150. <xsl:attribute name="lang"><xsl:value-of select="$contentLocale"/></xsl:attribute>
  151. </xsl:if>
  152. <uic:column nowrap="nowrap">
  153. <uic:icon>
  154. <uic:src>
  155. <admui:imageURL type="nav">
  156. <admui:image><xsl:value-of select="nav:imgURL"/></admui:image>
  157. </admui:imageURL>
  158. </uic:src>
  159. <uic:tooltip>
  160. <xsl:value-of select="nav:screenTip"/>
  161. </uic:tooltip>
  162. <xsl:if test="nav:hidden='true'">
  163. <uic:class>hiddenEntryIcon</uic:class>
  164. </xsl:if>
  165. </uic:icon>
  166. </uic:column>
  167. <uic:column nowrap="nowrap" scope="row" abbr="{xtsext:htmlencode(nav:name)}">
  168. <uic:text>
  169. <xsl:choose>
  170. <xsl:when test="(nav:hasChildren = 'true' or nav:type = 'catalogFolder') and contains(string(nav:permissions), 'traverse')">
  171. <uic:link>
  172. <uic:text>
  173. <xsl:value-of select="nav:name"/>
  174. </uic:text>
  175. <uic:href>#</uic:href>
  176. <uic:onclick>filterVisualizations(_THIS_, '<xsl:value-of select="xtsext:javascriptencode(nav:name)"/>', '<xsl:value-of select="xtsext:javascriptencode(nav:id)"/>')</uic:onclick>
  177. </uic:link>
  178. </xsl:when>
  179. <xsl:otherwise>
  180. <xsl:value-of select="nav:name"/>
  181. </xsl:otherwise>
  182. </xsl:choose>
  183. </uic:text>
  184. <!-- Render the disabled icon if this entry is disabled -->
  185. <xsl:if test="nav:icon/nav:name = 'disabled'">
  186. <uic:icon height="16" width="16" valign="middle">
  187. <uic:src>
  188. <admui:imageURL type="nav">
  189. <admui:image><xsl:value-of select="nav:icon/nav:imgURL"/></admui:image>
  190. </admui:imageURL>
  191. </uic:src>
  192. <uic:tooltip>
  193. <xsl:value-of select="nav:icon/nav:alt"/>
  194. </uic:tooltip>
  195. </uic:icon>
  196. </xsl:if>
  197. <xsl:variable name="permissions" select="nav:permissions"/>
  198. <xsl:variable name="parentPermissions" select="../../nav:permissions"/>
  199. <xsl:call-template name="ui:menuActions">
  200. <xsl:with-param name="obj-class" select="nav:type"/>
  201. <xsl:with-param name="obj-id" select="nav:internalId"/>
  202. <xsl:with-param name="obj-name" select="nav:name"/>
  203. <xsl:with-param name="obj-path" select="nav:internalId"/>
  204. <xsl:with-param name="obj-dataPathInfo" select="nav:dataPathInfo"/>
  205. <xsl:with-param name="obj-parent" select="$containerId"/>
  206. <xsl:with-param name="supportSetProperties" select="true()"/>
  207. <xsl:with-param name="supportViewPermissions" select="true()"/>
  208. <xsl:with-param name="supportMove" select="false()"/>
  209. <xsl:with-param name="supportCopy" select="false()"/>
  210. <xsl:with-param name="supportDelete" select="true()"/>
  211. <xsl:with-param name="supportDownload" select="true()"/>
  212. <xsl:with-param name="canRead" select="contains($permissions, 'read')"/>
  213. <xsl:with-param name="canWrite" select="contains($permissions, 'write')"/>
  214. <xsl:with-param name="canWriteOnParent" select="contains($parentPermissions, 'write')"/>
  215. <xsl:with-param name="canExecute" select="contains($permissions, 'execute')"/>
  216. <xsl:with-param name="canTraverse" select="contains($permissions, 'traverse')"/>
  217. <xsl:with-param name="canSetPolicy" select="contains($permissions, 'setPolicy')"/>
  218. </xsl:call-template>
  219. </uic:column>
  220. <uic:column nowrap="nowrap">
  221. <uic:text>
  222. <xsl:value-of select="nav:lastModifiedDate"/>
  223. </uic:text>
  224. </uic:column>
  225. </uic:row>
  226. </xsl:template>
  227. </xsl:stylesheet>