Annotation of kupuMPIWG/common/kupudrawers/drawer.xsl, revision 1.1

1.1     ! dwinter     1: <?xml version="1.0" encoding="utf-8" ?>
        !             2: <!--
        !             3: ##############################################################################
        !             4: #
        !             5: # Copyright (c) 2003-2005 Kupu Contributors. All rights reserved.
        !             6: #
        !             7: # This software is distributed under the terms of the Kupu
        !             8: # License. See LICENSE.txt for license text. For a list of Kupu
        !             9: # Contributors see CREDITS.txt.
        !            10: #
        !            11: ##############################################################################
        !            12: 
        !            13: XSL transformation from Kupu Library XML to HTML for the image library
        !            14: drawer.
        !            15: 
        !            16: $Id: imagedrawer.xsl 4105 2004-04-21 23:56:13Z guido $
        !            17: -->
        !            18: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
        !            19:     xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns="http://www.w3.org/1999/xhtml"
        !            20:     xmlns:i18n="http://xml.zope.org/namespaces/i18n"
        !            21:     i18n:domain="kupu">
        !            22:  <tal:block define="x python:request.RESPONSE.setHeader('Content-Type', 'text/xml;;charset=UTF-8')" />
        !            23:     <xsl:param name="drawertype">image</xsl:param>
        !            24:     <xsl:param name="drawertitle">Image Drawer</xsl:param>
        !            25:     <xsl:param name="showupload"></xsl:param>
        !            26:     <xsl:param name="usecaptions"></xsl:param>
        !            27:     <xsl:variable name="titlelength" select="60"/>
        !            28:         <xsl:variable name="i18n_drawertitle"> 
        !            29:         <xsl:choose>
        !            30:             <xsl:when i18n:translate="imagedrawer_title" test="$drawertype='image'">Insert Image</xsl:when>
        !            31:             <xsl:when i18n:translate="linkdrawer_title"
        !            32: test="$drawertype='link'">Insert Link</xsl:when>
        !            33:         </xsl:choose>
        !            34: </xsl:variable>
        !            35:     <xsl:template match="/">
        !            36:         <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
        !            37:             <head>
        !            38:                 <title>
        !            39:                     <xsl:value-of select="$i18n_drawertitle"/>
        !            40:                 </title>
        !            41:                 <link type="text/css" rel="stylesheet">
        !            42:                     <xsl:attribute name="href">kupudrawerstyles.css </xsl:attribute>
        !            43:                 </link>
        !            44:             </head>
        !            45:             <body>
        !            46:                 <div style="width: 500px; border: solid black 1px; width: 100px">
        !            47:                     <div id="kupu-librarydrawer">
        !            48:                         <h1 style="padding: 0;float: left;">
        !            49:                             <xsl:value-of select="$i18n_drawertitle"/>
        !            50:                         </h1>
        !            51:                         <div id="kupu-searchbox" style="text-align: right">
        !            52:                             <form onsubmit="return false;">
        !            53:                                 <xsl:variable name="search_value" 
        !            54:                                               i18n:translate="kupudrawer_search">search</xsl:variable>
        !            55:                                 <input id="kupu-searchbox-input"
        !            56:                                     class="kupu-searchbox-input nofocus"
        !            57:                                     name="searchbox"
        !            58:                                     style="font-style: italic;"
        !            59:                                     onkeyup="if (event.keyCode == 13 ) drawertool.current_drawer.search();">
        !            60:                                    <xsl:attribute name="value">
        !            61:                                       <xsl:value-of select="$search_value" />
        !            62:                                    </xsl:attribute>
        !            63:                                    <xsl:attribute name="onclick">
        !            64:                                       if (this.value == '<xsl:value-of select="$search_value" />') this.value = ''; this.style.fontStyle='normal';</xsl:attribute>
        !            65:                                 </input>
        !            66:                             </form>
        !            67:                         </div>
        !            68:                         <div class="kupu-panels">
        !            69:                             <table>
        !            70:                                 <tr class="kupu-panelsrow">
        !            71:                                     <td id="kupu-librariespanel" class="panel">
        !            72:                                         <div id="kupu-librariesitems" class="overflow">
        !            73:                                         <xsl:apply-templates select="/libraries/library"/>
        !            74:                                         </div>
        !            75:                                     </td>
        !            76:                                     <td id="kupu-resourcespanel" class="panel">
        !            77:                                         <div id="kupu-resourceitems" class="overflow">
        !            78:                                         <xsl:apply-templates select="/libraries/*[@selected]/items"/>
        !            79:                                         </div>
        !            80:                                     </td>
        !            81:                                     <td id="kupu-propertiespanel" class="panel">
        !            82:                                         <div id="kupu-properties" class="overflow">
        !            83:                                         <xsl:choose>
        !            84:                                         <xsl:when test="$drawertype='image'">
        !            85:                                             <xsl:if test="//resource[@selected]">
        !            86:                                                 <xsl:apply-templates
        !            87:                                                 select="/libraries/*[@selected]//resource[@selected]" mode="image-properties"/>
        !            88:                                             </xsl:if>
        !            89:                                             <!-- use image upload template -->
        !            90:                                             <xsl:if test="$showupload='yes'">
        !            91:                                                 <xsl:apply-templates select="/libraries/*[@selected]//uploadbutton" mode="image-upload"/>
        !            92:                                             </xsl:if>
        !            93:                                         </xsl:when>
        !            94:                                         <xsl:when test="$drawertype='link'">
        !            95:                                         <xsl:apply-templates
        !            96:                                         select="/libraries/*[@selected]//resource[@selected]" mode="link-properties"/>
        !            97:                                         </xsl:when>
        !            98:                                         </xsl:choose>
        !            99:                                         </div>
        !           100:                                     </td>
        !           101:                                 </tr>
        !           102:                             </table>
        !           103:                         </div>
        !           104:                         <div class="kupu-dialogbuttons">                            
        !           105:                             <button type="button" 
        !           106:                                     class="kupu-dialog-button"
        !           107:                                     i18n:translate="" 
        !           108:                                     onclick="drawertool.current_drawer.save();">Ok</button>
        !           109:                             <button type="button"
        !           110:                                     class="kupu-dialog-button" 
        !           111:                                     i18n:translate="" 
        !           112:                                     onclick="drawertool.closeDrawer();">Cancel</button>
        !           113:                         </div>
        !           114:                     </div>
        !           115:                 </div>
        !           116:             </body>
        !           117:         </html>
        !           118:     </xsl:template>
        !           119:     <xsl:template match="library">
        !           120:         <div onclick="drawertool.current_drawer.selectLibrary('{@id}');"
        !           121:             class="kupu-libsource" title="{title}" style="">
        !           122:             <xsl:attribute name="id">
        !           123:                 <xsl:value-of select="@id"/>
        !           124:             </xsl:attribute>
        !           125:             <xsl:apply-templates select="icon"/>
        !           126:             <span class="drawer-item-title"><xsl:value-of select="title"/></span>
        !           127:         </div>
        !           128:     </xsl:template>
        !           129:     <xsl:template match="items">
        !           130:         <xsl:apply-templates select="collection|resource|uploadbutton" mode="currentpanel"/>
        !           131:     </xsl:template>
        !           132:     <xsl:template match="resource|collection" mode="currentpanel">
        !           133:         <div id="{@id}" class="kupu-{local-name()}" title="{description}">
        !           134:             <xsl:attribute name="onclick">
        !           135:                 <xsl:choose>
        !           136:                     <xsl:when
        !           137:                             test="local-name()='collection'">drawertool.current_drawer.selectCollection('<xsl:value-of select="@id"/>');</xsl:when>
        !           138: 
        !           139:                     <xsl:otherwise>drawertool.current_drawer.selectItem(this, '<xsl:value-of select="@id"/>')</xsl:otherwise>
        !           140:                 </xsl:choose>
        !           141:             </xsl:attribute>
        !           142:             <xsl:apply-templates select="icon"/>
        !           143:             <xsl:apply-templates select="(label|title)[1]"/>
        !           144:         </div>
        !           145:     </xsl:template>
        !           146:     <xsl:template match="uploadbutton" mode="currentpanel">
        !           147:         <div class="kupu-upload">
        !           148:             <xsl:attribute name="onclick">
        !           149:                 drawertool.current_drawer.selectUpload();
        !           150:             </xsl:attribute>
        !           151:             <span class="drawer-item-title" 
        !           152:                   i18n:translate="imagedrawer_upload_link">Upload ...</span>
        !           153:         </div>
        !           154:     </xsl:template>
        !           155:     <xsl:template match="icon">
        !           156:         <img src="{.}" alt="{../title}">
        !           157:             <xsl:attribute name="class">library-icon-<xsl:value-of select="local-name(..)"/>
        !           158:             </xsl:attribute>
        !           159:         </img>
        !           160:     </xsl:template>
        !           161:     <xsl:template match="label|title">
        !           162:         <span class="drawer-item-title">
        !           163:             <xsl:if test="../@selected">
        !           164:                 <xsl:attribute name="class">drawer-item-title selected-item</xsl:attribute>
        !           165:             </xsl:if>
        !           166:             <xsl:choose>
        !           167:                 <xsl:when test="string-length() &gt; $titlelength">
        !           168:                     <xsl:value-of select="substring(., 0, $titlelength)"/>... </xsl:when>
        !           169:                 <xsl:otherwise>
        !           170:                     <xsl:value-of select="."/>
        !           171:                 </xsl:otherwise>
        !           172:             </xsl:choose>
        !           173:         </span>
        !           174:     </xsl:template>
        !           175:     <xsl:template match="resource|collection" mode="image-properties">
        !           176:         <div>
        !           177:             <xsl:value-of select="title"/>
        !           178:         </div>
        !           179:         <xsl:choose>
        !           180:             <xsl:when test="width">
        !           181:                 <div>
        !           182:                     <xsl:variable name="h" select="number(height) div 120"/>
        !           183:                     <xsl:variable name="w" select="number(width) div 100"/>
        !           184:                     <xsl:choose>
        !           185:                         <xsl:when test="($h&gt;$w) and $h&gt;1">
        !           186:                             <img src="{uri}" title="{title}" height="120"
        !           187:                                 width="{width div $h}" alt="{title}"/>
        !           188:                         </xsl:when>
        !           189:                         <xsl:when test="($w&gt;$h) and $w&gt;1">
        !           190:                             <img src="{uri}" title="{title}"
        !           191:                                 height="{height div $w}" width="100" alt="{title}"/>
        !           192:                         </xsl:when>
        !           193:                         <xsl:otherwise>
        !           194:                             <img src="{uri}" title="{title}" height="{height}"
        !           195:                                 width="{width}" alt="{title}"/>
        !           196:                         </xsl:otherwise>
        !           197:                     </xsl:choose>
        !           198:                 </div>
        !           199:             </xsl:when>
        !           200:             <xsl:when test="preview">
        !           201:                 <tr>
        !           202:                     <td>
        !           203:                         <strong i18n:translate="imagedrawer_upload_preview_label">Preview</strong>
        !           204:                         <br/>
        !           205:                         <img src="{preview}" title="{title}" height="{height}"
        !           206:                             width="{width}" alt="{title}"/>
        !           207:                     </td>
        !           208:                 </tr>
        !           209:             </xsl:when>
        !           210:         </xsl:choose>
        !           211:         <div>
        !           212:             <xsl:value-of select="size"/>
        !           213:             <xsl:if test="width" i18n:translate="imagedrawer_size">(<span i18n:name="width"><xsl:value-of select="width" /></span> by <span i18n:name="height"><xsl:value-of select="height" /></span>)</xsl:if>
        !           214:         </div>
        !           215:         <div>
        !           216:             <xsl:value-of select="description"/>
        !           217:         </div>
        !           218:         <div>
        !           219:             <form onsubmit="return false;">
        !           220:                 <strong i18n:translate="imagedrawer_upload_alt_text">ALT-text</strong>
        !           221:                 <br/>
        !           222:                 <input type="text" id="image_alt" size="20" value="{title}"/>
        !           223:                 <br/>
        !           224:                 <input type="radio" name="image-align" id="image-align-left"
        !           225:                     checked="checked" value="image-left"/>
        !           226:                 <label for="image-align-left" i18n:translate="imagedrawer_left">Left</label>
        !           227:                 <input type="radio" name="image-align" id="image-align-inline" value="image-inline"/>
        !           228:                 <label for="image-align-inline" i18n:translate="imagedrawer_inline">Inline</label>
        !           229:                 <input type="radio" name="image-align" id="image-align-right" value="image-right"/>
        !           230:                 <label for="image-align-right" i18n:translate="imagedrawer_right">Right</label>
        !           231:                 <xsl:if test="$usecaptions='yes'">
        !           232:                     <br/>
        !           233:                     <input type="checkbox" name="image-caption"
        !           234:                         id="image-caption" checked="checked"/>
        !           235:                     <label for="image-caption" i18n:translate="imagedrawer_caption_label">Caption</label>
        !           236:                 </xsl:if>
        !           237:             </form>
        !           238:         </div>
        !           239:     </xsl:template>
        !           240:     <xsl:template match="resource|collection" mode="link-properties">
        !           241:         <form onsubmit="return false;">
        !           242:             <table>
        !           243:                 <tr class="kupu-linkdrawer-title-row">
        !           244:                     <td>
        !           245:                         <strong i18n:translate="linkdrawer_title_label">Title</strong>
        !           246:                         <br/>
        !           247:                         <xsl:value-of select="title"/>
        !           248:                     </td>
        !           249:                 </tr>
        !           250:                 <tr class="kupu-linkdrawer-description-row">
        !           251:                     <td>
        !           252:                         <strong i18n:translate="linkdrawer_description_label">Description</strong>
        !           253:                         <br/>
        !           254:                         <xsl:value-of select="description"/>
        !           255:                     </td>
        !           256:                 </tr>
        !           257:                 <tr class="kupu-linkdrawer-name-row">
        !           258:                     <td>
        !           259:                         <strong i18n:translate="linkdrawer_name_label">Name</strong>
        !           260:                         <br/>
        !           261:                         <input type="text" id="link_name" size="10"/>
        !           262:                     </td>
        !           263:                 </tr>
        !           264:                 <tr class="kupu-linkdrawer-target-row">
        !           265:                     <td>
        !           266:                         <strong i18n:translate="linkdrawer_target_label">Target</strong>
        !           267:                         <br/>
        !           268:                         <input type="text" id="link_target" value="_self" 
        !           269:                                size="10"/>
        !           270:                     </td>
        !           271:                 </tr>
        !           272:             </table>
        !           273:         </form>
        !           274:     </xsl:template>
        !           275:     
        !           276:     <!-- image upload form -->
        !           277:     <xsl:template match="uploadbutton" mode="image-upload">
        !           278:      <div>
        !           279:         <div id="kupu-upload-instructions" i18n:translate="imagedrawer_upload_instructions">
        !           280:             Select an image from your computer and click ok to have it
        !           281:             automatically uploaded to selected folder and inserted into the
        !           282:             editor.
        !           283:         </div>
        !           284:         <form name="kupu_upload_form" method="POST" action="" scrolling="off" target="kupu_upload_form_target"
        !           285:               enctype="multipart/form-data" style="margin: 0; border: 0;">
        !           286: 
        !           287:             <label for="kupu-upload-file" i18n:translate="imagedrawer_upload_to_label">Upload to: <span i18n:name="folder"><xsl:value-of select='/libraries/*[@selected]/title' /></span></label>
        !           288:             <input id="kupu-upload-file" type="file" name="node_prop_image" size="20"/><br/>
        !           289:             <label for="kupu-upload-title"
        !           290: i18n:translate="imagedrawer_upload_title_label">Title:</label>
        !           291:             <input id="kupu-upload-title" type="text" name="node_prop_caption" size="23" value=""/><br/>
        !           292:         </form>
        !           293: 
        !           294:         <iframe id="kupu-upload-form-target" name="kupu_upload_form_target"
        !           295:                 src="kupublank.html" scrolling="off" frameborder="0" width="0px" height="0px" display="None">
        !           296:         </iframe>
        !           297:       </div>
        !           298:     </xsl:template>
        !           299:     
        !           300: </xsl:stylesheet>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>