properties_pagelet_style_titan.xts 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: ps
  5. (C) Copyright IBM Corp. 2015
  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. <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/portal.xml, messages/portalRL.xml" includeConfig="true">
  13. <!-- Navigation Logic -->
  14. <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http"/>
  15. <!-- Load object-specific property tabs map -->
  16. <xts:block id="getTabs" type="exec" mode="interpret" processor="XML" >
  17. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  18. <xsl:template match="/">
  19. <xts:sequence>
  20. <xts:append>
  21. <tabs>
  22. <object class="pagelet">
  23. <tab name="layout" page="properties_pagelet_layout_titan.xts"><xts:string id="IDS_PROP_TAB_LAYOUT_AND_CONTENT"/></tab>
  24. <tab name="style" page="properties_pagelet_style_titan.xts"><xts:string id="IDS_PROP_TAB_PAGE_STYLE"/></tab>
  25. </object>
  26. </tabs>
  27. </xts:append>
  28. </xts:sequence>
  29. </xsl:template>
  30. </xsl:stylesheet>
  31. </xts:block>
  32. <!-- Read the page information from CM -->
  33. <xts:block
  34. id="get_content"
  35. path="/portal/mypages/common/request/read_pagelet_properties.xslt"
  36. processor="XSLT"
  37. type="exec"
  38. mode="interpret"
  39. dependency="formlogic_init">
  40. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  41. </xts:block>
  42. <!-- ========= One-time house keeping work =========== -->
  43. <!-- Append the page layout to the DOM -->
  44. <xts:block
  45. id="appendPageletLayout"
  46. dependency="get_content"
  47. path="/portal/mypages/common/process/append_page_layout.xslt"
  48. type="exec"
  49. mode="interpret"
  50. mandatory="false"
  51. processor="XSLT"/>
  52. <!-- Gracefully downgrade newer layout versions as required .. -->
  53. <xts:block
  54. id="convert1.1To1.0"
  55. condition=".[/root/layout/@version = '1.1']"
  56. dependency="appendPageletLayout"
  57. type="exec"
  58. mode="interpret"
  59. mandatory="false"
  60. processor="XSLT">
  61. <xsl:stylesheet version="1.0"
  62. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  63. xmlns:xts="http://developer.cognos.com/schemas/xts/">
  64. <xsl:output method="xml" encoding="UTF-8" version="1.0" indent="no"/>
  65. <xsl:template match="/root/layout">
  66. <xts:sequence>
  67. <xts:replace select="/root/layout">
  68. <!-- Set a new layout spec with the right version -->
  69. <layout version="1.0">
  70. <xsl:copy-of select="/root/layout/title"/>
  71. <xsl:copy-of select="/root/layout/instructions"/>
  72. <xsl:copy-of select="/root/layout/portletOptions"/>
  73. <!-- Create one 100%-wide column and pile all portlets in it -->
  74. <column width="100">
  75. <xsl:copy-of select="/root/layout//portlet"/>
  76. </column>
  77. </layout>
  78. </xts:replace>
  79. <!-- Tell the presentation pale that this happened to alert the user -->
  80. <xts:append>
  81. <revert/>
  82. </xts:append>
  83. </xts:sequence>
  84. </xsl:template>
  85. </xsl:stylesheet>
  86. </xts:block>
  87. <!-- Persist (unpack) the layout XML into form fields -->
  88. <xts:block
  89. id="unpack_pagelet_layout"
  90. dependency="convert1.1To1.0"
  91. path="/portal/mypages/common/process/unpack_pagelet_layout.xslt"
  92. processor="XSLT"
  93. type="exec"
  94. condition=".[not(/root/env/param[starts-with(@name, 'm_mp_title')])]"
  95. mandatory="false"
  96. mode="interpret">
  97. </xts:block>
  98. <!-- Enumerate list of existing portlet instances in 'm_mp_portlet' form fields. Make dependent on -->
  99. <xts:block
  100. id="buildPortletList"
  101. dependency="unpack_pagelet_layout"
  102. condition=".[not(/root/env/param[@name = 'm_mp_portlet'])]"
  103. path="/portal/mypages/common/process/build_portlet_list.xslt"
  104. type="exec"
  105. mode="interpret"
  106. mandatory="false"
  107. processor="XSLT"/>
  108. <!-- ========= Lang and font info =========== -->
  109. <!-- Processes changes to the title and instructions fields w.r.t languages -->
  110. <xts:block
  111. id="buildLanguageList"
  112. dependency="unpack_pagelet_layout"
  113. path="/portal/mypages/common/process/build_language_list.xslt"
  114. type="exec"
  115. mode="interpret"
  116. processor="XSLT"/>
  117. <!--
  118. Build and append the list of selected languages so we can easily set them
  119. appart from available languages when rendering the language selection control.
  120. -->
  121. <xts:block
  122. id="listSelectedLangs"
  123. dependency="buildLanguageList"
  124. path="/portal/mypages/common/process/selected_languages.xslt"
  125. processor="XSLT"
  126. type="exec"
  127. mode="interpret"
  128. mandatory="false"/>
  129. <!-- Read the list of supported fonts form the CFGAPI -->
  130. <xts:block id="getFonts" processor="XML" type="exec" mode="interpret">
  131. <xts:sequence>
  132. <xts:append>
  133. <fonts>
  134. <xts:function name="getConfiguration">
  135. <xts:param name="fonts"/>
  136. </xts:function>
  137. </fonts>
  138. </xts:append>
  139. </xts:sequence>
  140. </xts:block>
  141. <!-- Build page response -->
  142. <xts:block
  143. id="missingObject"
  144. condition=".[not(/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][1]/*[local-name()='pagelet'])]"
  145. mode="output"
  146. processor="XSLT"
  147. type="exec"
  148. mimeType="text/html"
  149. dependency="listSelectedLangs getTabs getFonts"
  150. path="/portal/missing_object.xml">
  151. <xts:logicsheet path="logicsheets/portal.xsl"/>
  152. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  153. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  154. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  155. </xts:block>
  156. <xts:block
  157. id="render_page"
  158. condition=".[/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][1]/*[local-name()='pagelet']]"
  159. dependency="listSelectedLangs getTabs getFonts"
  160. mode="output"
  161. processor="XSLT"
  162. type="exec"
  163. mimeType="text/html">
  164. <xts:logicsheet path="portal/mypages/common/response/style.xslt"/>
  165. <xts:logicsheet path="logicsheets/portal.xsl"/>
  166. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  167. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  168. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  169. <xts:logicsheet path="logicsheets/presentation/dialog/confirm.xslt"/>
  170. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  171. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  172. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  173. <xts:logicsheet path="logicsheets/validation.xslt"/>
  174. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  175. <xsl:stylesheet version="1.0"
  176. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  177. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  178. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  179. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  180. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  181. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  182. xmlns:dc="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/confirm/1/"
  183. xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
  184. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  185. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  186. xmlns:rdb="http://developer.cognos.com/schemas/xts/rdb"
  187. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xsl cm pf df dp dc lyt utml cp cf xtsext rdb">
  188. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  189. <pf:variables/>
  190. <!-- Bidi common templates -->
  191. <pf:common-bidi-templates/>
  192. <!-- current file name -->
  193. <xsl:variable name="mname" select="'/portal/properties_pagelet_style.xts'"/>
  194. <xsl:variable name="object" select="/root/cm:queryResponse/cm:queryReply[1]/*"/>
  195. <!-- start the output -->
  196. <xsl:template match="/root">
  197. <xsl:variable name="canWrite" select="contains(concat(' ',$object/cm:permissions,' '),' write ')"/>
  198. <xsl:variable name="canSetPolicy" select="contains(concat(' ', $object/cm:permissions, ' '), ' setPolicy ')"/>
  199. <xsl:variable name="showOKCancel" select="$canWrite or $canSetPolicy"/>
  200. <xsl:variable name="browserTitle">
  201. <xts:string id="IDS_PROPERTIES_TITLE">
  202. <xts:param name="objectName">
  203. <xsl:choose>
  204. <xsl:when test="$object/cm:defaultName">
  205. <span lang="{$contentLocale}"><xsl:value-of select="xtsext:enforceBTD($object/cm:defaultName, $baseTextDirection, $productLocale, boolean($isBidiEnabled='true'))"/></span>
  206. </xsl:when>
  207. <xsl:otherwise>
  208. <span lang="{$contentLocale}"><xsl:value-of select="xtsext:enforceBTD(/root/env/param[@name='m_name'], $baseTextDirection, $productLocale, boolean($isBidiEnabled='true'))"/></span>
  209. </xsl:otherwise>
  210. </xsl:choose>
  211. </xts:param>
  212. </xts:string>
  213. </xsl:variable>
  214. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text><dp:page longTitle="$browserTitle">
  215. <dp:meta>
  216. <pf:meta/>
  217. </dp:meta>
  218. <dp:script>
  219. <pf:help context="HID_PROPERTIES"/>
  220. <script language="JavaScript">
  221. // page initialization functions
  222. function init()
  223. {
  224. <!-- Alert when downgrading page layout. -->
  225. var sDownGradeMessage = "<xts:string id="IDS_MP_DOWNGRADE_LAYOUT" encode="javascript"/>";
  226. <xsl:if test="/root/revert">
  227. alert(sDownGradeMessage);
  228. </xsl:if>
  229. if (window.initTextControls)
  230. {
  231. initTextControls();
  232. }
  233. }
  234. </script>
  235. </dp:script>
  236. <cp:colourSelectionDialog/>
  237. <utml:form name="pform" method="post" action="{$gateway}">
  238. <utml:exclude-prefix>m_mp_mlt_</utml:exclude-prefix>
  239. <utml:input type="hidden" name="ifrmcmd" value="save" utml:update="false"/>
  240. <utml:input type="hidden" name="read_only_page">
  241. <utml:value>
  242. <xsl:value-of select="not($canWrite)"/>
  243. </utml:value>
  244. </utml:input>
  245. <dp:header useBackURL="not($showOKCancel)">
  246. <dp:title>
  247. <xsl:copy-of select="$browserTitle"/>
  248. </dp:title>
  249. </dp:header>
  250. <df:propertiesTabsTitanPagelet select="style">
  251. <df:hasSetPolicy>
  252. <xsl:value-of select="$canSetPolicy"/>
  253. </df:hasSetPolicy>
  254. </df:propertiesTabsTitanPagelet>
  255. <!-- Render the body of the page -->
  256. <xsl:choose>
  257. <xsl:when test="/root/layout/@version = '1' or /root/layout/@version = '1.0'">
  258. <rdb:mypages mode="properties"/>
  259. </xsl:when>
  260. <xsl:otherwise>
  261. <div class="messageText" style="width:100%; text-align: center;padding-top:100px; padding-bottom:100px;">
  262. <xts:string id="IDS_MP_UNSUPPORTED_LAYOUT"/>
  263. </div>
  264. </xsl:otherwise>
  265. </xsl:choose>
  266. <dp:footer>
  267. <xsl:choose>
  268. <xsl:when test="$showOKCancel">
  269. <df:button df:id="IDS_OK" utml:validate="true" df:style="submit"/>
  270. <xsl:choose>
  271. <xsl:when test="key('env-param', 'ps_nav_stack') and not(key('env-param', 'ps_nav_stack') = '') ">
  272. <df:button df:id="IDS_CANCEL" df:style="stack-down" onclick="{$dc-confirm-cancel}"/>
  273. </xsl:when>
  274. <xsl:otherwise>
  275. <df:button df:id="IDS_CANCEL" df:style="back-url" onclick="{$dc-confirm-cancel}"/>
  276. </xsl:otherwise>
  277. </xsl:choose>
  278. </xsl:when>
  279. <xsl:otherwise>
  280. <df:button df:id="IDS_CLOSE" df:style="back-url"/>
  281. </xsl:otherwise>
  282. </xsl:choose>
  283. </dp:footer>
  284. </utml:form>
  285. </dp:page>
  286. </xsl:template>
  287. <!-- Toolbar control -->
  288. <cp:toolbarControl/>
  289. </xsl:stylesheet>
  290. </xts:block>
  291. <xts:block id="debug" dependency="render_page" condition=".[/root/session/param[@name='debug']='1']" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
  292. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  293. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/" exclude-result-prefixes="dbg">
  294. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  295. <xsl:template match="/">
  296. <dbg:dumpxml select="/root"/>
  297. </xsl:template>
  298. </xsl:stylesheet>
  299. </xts:block>
  300. </xts:morphlet>