styleToolbar.xslt 6.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. BI and PM: qs
  5. (C) Copyright IBM Corp. 2001, 2017
  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" 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/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf">
  13. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  14. <pf:variables/>
  15. <xsl:template match="/">
  16. <xsl:if test="/root/userCapabilities/value/item='canUseQueryStudioAdvancedMode'">
  17. <script type="text/javascript">
  18. var gStyleToolbar = new CBar('styleToolbarContainer', gToolbarStyle, 'gStyleToolbar', '<xsl:value-of select="$webRoot"/>/common/images/toolbar/', '<xsl:text/><xts:string id="STYLE_TOOLBAR_SHOW_TOOLBAR_ALT" encode="javascript"/><xsl:text/>', '<xsl:text/><xts:string id="STYLE_TOOLBAR_HIDE_TOOLBAR_ALT" encode="javascript"/><xsl:text/>', 'qs', 'st');
  19. gStyleToolbar.setMenuType(cHorizonalBar);
  20. gStyleToolbar.setAlign('left');
  21. var gToolbarButtonboldStyle = new CUIStyle('toolbarButton boldStyle', 'toolbarButtonOver boldStyle', 'toolbarButtonPressed boldStyle', 'toolbarButtonOverPressed boldStyle', '');
  22. var gToolbarButtonitalicStyle = new CUIStyle('toolbarButton italicStyle', 'toolbarButtonOver italicStyle', 'toolbarButtonPressed italicStyle', 'toolbarButtonOverPressed italicStyle', '');
  23. var gToolbarButtonunderlineStyle = new CUIStyle('toolbarButton underlineStyle', 'toolbarButtonOver underlineStyle', 'toolbarButtonPressed underlineStyle', 'toolbarButtonOverPressed underlineStyle', '');
  24. <xsl:apply-templates select="/root/ui/styleToolbarContent/*"/>
  25. </script>
  26. </xsl:if>
  27. </xsl:template>
  28. <xsl:template match="toolbarSeparator">
  29. gStyleToolbar.add(gQSToolbarSeperator);
  30. </xsl:template>
  31. <xsl:template match="toolbarSpacer">
  32. gStyleToolbar.add(gToolbarSeperator);
  33. </xsl:template>
  34. <!-- font-family CSS style picker -->
  35. <xsl:template match="selectFontFamily">
  36. var fontFamily = new CToolbarSelect(gStyleToolbar, 'fontFamily', 'selectStyleCommand(FONT_FAMILY, this);', '<xsl:text/><xsl:value-of select="xtsext:javascriptencode(string(./defaultLabel))"/><xsl:text/>', '<xsl:text/><xsl:value-of select="xtsext:javascriptencode(string(./tooltip))"/><xsl:text/>');
  37. var fontValue = '';
  38. <xsl:for-each select="/root/configurationVars/configuration/property[@name='fonts']/font/id">
  39. fontValue = '<xsl:value-of select="."/>';
  40. if (fontValue.indexOf(' ') >= 0)
  41. fontValue = &quot;'<xsl:value-of select="xtsext:javascriptencode(string(.))"/>'&quot;
  42. fontFamily.add(fontValue, '<xsl:value-of select="xtsext:javascriptencode(string(.))"/>');
  43. </xsl:for-each>
  44. </xsl:template>
  45. <!-- font-size CSS style picker -->
  46. <xsl:template match="selectFontSize">
  47. var fontSize = new CToolbarSelect(gStyleToolbar, 'fontSize', 'selectStyleCommand(FONT_SIZE, this);', '<xsl:text/><xsl:value-of select="xtsext:javascriptencode(string(./defaultLabel))"/><xsl:text/>', '<xsl:text/><xsl:value-of select="xtsext:javascriptencode(string(./tooltip))"/><xsl:text/>');
  48. <xsl:variable name="sUnit">
  49. <xsl:value-of select="../styleFontSize/unit"/>
  50. </xsl:variable>
  51. <xsl:variable name="sUnitLabel">
  52. <xsl:value-of select="../styleFontSize/unitLabel"/>
  53. </xsl:variable>
  54. <xsl:for-each select="../styleFontSize/fontSizes/fontSize">
  55. fontSize.add('<xsl:value-of select="xtsext:javascriptencode(string(.))"/><xsl:value-of select="xtsext:javascriptencode(string($sUnit))"/>', '<xsl:value-of select="xtsext:javascriptencode(string(.))"/><xsl:text> </xsl:text><xsl:value-of select="xtsext:javascriptencode(string($sUnitLabel))"/>');
  56. </xsl:for-each>
  57. </xsl:template>
  58. <xsl:template match="styleFontSize">
  59. </xsl:template>
  60. <!-- color CSS style picker -->
  61. <xsl:template match="selectColor">
  62. var <xsl:value-of select="./ref"/> = new CToolbarPicker(gStyleToolbar, "new CColorPicker(\"<xsl:value-of select="xtsext:javascriptencode(string(./promptId))"/>\", \"<xsl:value-of select="xtsext:javascriptencode(string(./ref))"/>\", \"<xsl:value-of select="xtsext:javascriptencode(string(./callBackFunction))"/>\", <xsl:value-of select="string(./autoReset)"/>, \"<xsl:value-of select="xtsext:javascriptencode(string(./defaultColor))"/>\", <xsl:value-of select="string(./type)"/>, \"<xsl:value-of select="xtsext:javascriptencode(string(./tooltip))"/>\")","<xsl:value-of select="xtsext:javascriptencode(string(./promptId))"/>", "<xsl:value-of select="xtsext:javascriptencode(string(./ref))"/>", "selectColor");
  63. </xsl:template>
  64. <!-- toggle buttons (used for bold, italic and underline) -->
  65. <xsl:template match="toggleButton">
  66. toolbarButton = new CToolbarButton(gStyleToolbar, 'toggleStyleCommand(\"<xsl:value-of select="xtsext:javascriptencode(string(./name))"/>\")', null, '<xsl:value-of select="xtsext:javascriptencode(string(./tooltip))"/>', gToolbarButton<xsl:value-of select="xtsext:javascriptencode(string(./name))"/>Style,false, '<xsl:value-of select="xtsext:javascriptencode(string(./label))"/>', null, '<xsl:value-of select="$webRoot"/>');
  67. toolbarButton.m_id = "tbbutton<xsl:value-of select="xtsext:javascriptencode(string(./name))"/>";
  68. </xsl:template>
  69. <!-- vertical and horizontal alignment CSS style picker -->
  70. <xsl:template match="selectAlignment">
  71. var <xsl:value-of select="./ref"/> = new CToolbarPicker(gStyleToolbar, "new CAlignmentPicker(\"<xsl:value-of select="xtsext:javascriptencode(string(./promptId))"/>\", \"<xsl:value-of select="xtsext:javascriptencode(string(./ref))"/>\", \"<xsl:value-of select="xtsext:javascriptencode(string(./callBackFunction))"/>\", \"<xsl:value-of select="xtsext:javascriptencode(string(./tooltip))"/>\")","<xsl:value-of select="xtsext:javascriptencode(string(./promptId))"/>", "<xsl:value-of select="xtsext:javascriptencode(string(./ref))"/>", "selectAlignment");
  72. </xsl:template>
  73. <xsl:template match="button">
  74. <xsl:choose>
  75. <xsl:when test="./icon[@useWebRoot='true']">
  76. toolbarButton = new CToolbarButton(gStyleToolbar, '<xsl:value-of select="xtsext:javascriptencode(string(./link))"/>', '<xsl:value-of select="$webRoot"/>/<xsl:value-of select="xtsext:javascriptencode(string(./icon))"/>', '<xsl:value-of select="xtsext:javascriptencode(string(./tooltip))"/>', gToolbarButtonbStyle, false, null, null, '<xsl:value-of select="$webRoot"/>');
  77. </xsl:when>
  78. <xsl:otherwise>
  79. toolbarButton = new CToolbarButton(gStyleToolbar, '<xsl:value-of select="xtsext:javascriptencode(string(./link))"/>', '<xsl:value-of select="xtsext:javascriptencode(string(./icon))"/>', '<xsl:value-of select="xtsext:javascriptencode(string(./tooltip))"/>', gToolbarButtonbStyle, false, null, null, '<xsl:value-of select="$webRoot"/>');
  80. </xsl:otherwise>
  81. </xsl:choose>
  82. </xsl:template>
  83. </xsl:stylesheet>