[jboss-cvs] jboss-seam/examples/wiki/view ...
Christian Bauer
christian at hibernate.org
Thu Dec 20 07:23:04 EST 2007
User: cbauer
Date: 07/12/20 07:23:04
Modified: examples/wiki/view dirDisplay_d.xhtml
Log:
JBSEAM-1743 - Clipboard for copying/moving of nodes
Revision Changes Path
1.6 +137 -14 jboss-seam/examples/wiki/view/dirDisplay_d.xhtml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: dirDisplay_d.xhtml
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/view/dirDisplay_d.xhtml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- dirDisplay_d.xhtml 19 Dec 2007 04:29:18 -0000 1.5
+++ dirDisplay_d.xhtml 20 Dec 2007 12:23:04 -0000 1.6
@@ -5,7 +5,6 @@
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
- xmlns:rich="http://richfaces.org/rich"
template="themes/#{wikiPreferences.themeName}/template.xhtml">
<ui:define name="screenname">#{directoryHome.instance.name}</ui:define>
@@ -78,17 +77,119 @@
</ui:define>
<ui:define name="content">
+
+<h:form id="directorySelectionForm">
+
<div class="box">
- <div class="directoryPathPanel">
+ <script type="text/javascript">
+ function switchClipboardControl() {
+ var clipboardControlsEnabled = false
+ jQuery(".wikiFileSelect").each(
+ function checkSelected() {
+ if (jQuery(this).attr("checked")) {
+ clipboardControlsEnabled = true;
+ }
+ }
+ );
+ if (clipboardControlsEnabled) {
+ jQuery(".clipboardControl").show();
+ } else {
+ jQuery(".clipboardControl").hide();
+ }
+ }
+ </script>
- <s:link view="/dirDisplay_#{skin}.xhtml" value="#{wikiRoot.name}" styleClass="directoryButton" tabindex="1">
- <f:param name="directoryId" value="#{wikiRoot.id}"/>
- </s:link>
- <h:outputText value="/" styleClass="directorySeparator"/>
+ <h:panelGrid columns="3"
+ styleClass="directoryControl" columnClasses="directoryPagerControl, directorySelectControl, directoryClipboard"
+ cellpadding="0" cellspacing="0" border="0">
+
+ <s:fragment>
+ <h:panelGroup rendered="#{not empty childNodesList or
+ clipboard.isContainsCutFromDirectory(directoryHome.instance.id)}">
+ <h:outputText value="#{messages['lacewiki.label.dirDisplay.ShowItems']}: "/>
+ <h:selectOneMenu value="#{directoryHome.pager.pageSize}" tabindex="1">
+ <f:selectItem itemLabel="5" itemValue="5"/>
+ <f:selectItem itemLabel="15" itemValue="15"/>
+ <f:selectItem itemLabel="50" itemValue="50"/>
+ <f:selectItem itemLabel="#{messages['lacewiki.label.dirDisplay.All']}" itemValue="999999"/>
+ </h:selectOneMenu>
+ <h:commandLink action="#{directoryHome.refreshChildNodes()}"
+ tabindex="1" accesskey="#{messages['lacewiki.button.dirDisplay.Refresh.accesskey']}"
+ styleClass="buttonNonpersistent">
+ <h:outputText styleClass="buttonLabel" escape="false" value="#{messages['lacewiki.button.dirDisplay.Refresh']}"/>
+ </h:commandLink>
+ </h:panelGroup>
+ </s:fragment>
+
+ <s:fragment>
+ <h:panelGroup styleClass="undecoratedLink" rendered="#{not empty childNodesList}">
+ <h:outputText value="#{messages['lacewiki.label.Clipboard.Select']}: "/>
+ <h:outputLink value="#" onclick="selectCheckBoxes('wikiFileSelect'); switchClipboardControl();" tabindex="1">
+ <h:outputText value="#{messages['lacewiki.label.Clipboard.All']}"/>
+ </h:outputLink>
+ <h:outputText value=" | "/>
+ <h:outputLink value="#" onclick="deselectCheckBoxes('wikiFileSelect'); switchClipboardControl();" tabindex="1">
+ <h:outputText value="#{messages['lacewiki.label.Clipboard.None']}"/>
+ </h:outputLink>
+ <h:outputText value=" | "/>
+ <h:outputLink value="#" tabindex="1"
+ onclick="deselectCheckBoxes('wikiFileSelect'); selectCheckBoxes('wikiDocumentSelect'); switchClipboardControl();">
+ <h:outputText value="#{messages['lacewiki.label.Clipboard.Documents']}"/>
+ </h:outputLink>
+ <h:outputText value=" | "/>
+ <h:outputLink value="#" tabindex="1"
+ onclick="deselectCheckBoxes('wikiFileSelect'); selectCheckBoxes('wikiUploadSelect'); switchClipboardControl();">
+ <h:outputText value="#{messages['lacewiki.label.Clipboard.UploadedFiles']}"/>
+ </h:outputLink>
+ </h:panelGroup>
+ </s:fragment>
+ <s:fragment>
<h:panelGroup>
- <ui:repeat var="directory" value="#{breadcrumb}">
+ <s:span>
+ <h:outputText value="#{messages['lacewiki.label.Clipboard']} "/>
+ <h:outputText value="(#{clipboard.items.size()} #{messages['lacewiki.label.Clipboard.Items']})" rendered="#{clipboard.items.size() > 1}"/>
+ <h:outputText value="(#{clipboard.items.size()} #{messages['lacewiki.label.Clipboard.Item']})" rendered="#{clipboard.items.size() == 1}"/>
+ <h:outputText value="(#{messages['lacewiki.label.Clipboard.Empty']})" rendered="#{empty clipboard.items}"/>
+ <h:outputText value=": " styleClass="#{empty clipboard.items ? 'clipboardControl': ''}"
+ style="display:#{empty clipboard.items ? 'none':'inherit'}"/>
+ </s:span>
+
+ <h:commandLink action="#{directoryHome.copy()}" style="display:none;"
+ tabindex="1" styleClass="buttonNonpersistent clipboardControl"
+ accesskey="#{messages['lacewiki.button.Clipboard.Copy.accesskey']}">
+ <h:outputText styleClass="buttonLabel" escape="false" value="#{messages['lacewiki.button.Clipboard.Copy']}"/>
+ </h:commandLink>
+ <h:commandLink action="#{directoryHome.cut()}" style="display:none;"
+ rendered="#{s:hasPermission('Node', 'edit', directoryHome.instance)}"
+ tabindex="1" styleClass="buttonNonpersistent clipboardControl"
+ accesskey="#{messages['lacewiki.button.Clipboard.Cut.accesskey']}">
+ <h:outputText styleClass="buttonLabel" escape="false" value="#{messages['lacewiki.button.Clipboard.Cut']}"/>
+ </h:commandLink>
+ <h:commandLink action="#{directoryHome.clearClipboard()}"
+ rendered="#{not empty clipboard.items}"
+ tabindex="1"
+ accesskey="#{messages['lacewiki.button.Clipboard.Clear.accesskey']}"
+ styleClass="buttonNonpersistent">
+ <h:outputText styleClass="buttonLabel" escape="false" value="#{messages['lacewiki.button.Clipboard.Clear']}"/>
+ </h:commandLink>
+ <h:commandLink action="#{directoryHome.paste()}"
+ rendered="#{not empty clipboard.items and s:hasPermission('Node', 'create', directoryHome.instance)}"
+ tabindex="1"
+ accesskey="#{messages['lacewiki.button.Clipboard.Paste.accesskey']}"
+ styleClass="button">
+ <h:outputText styleClass="buttonLabel" escape="false" value="#{messages['lacewiki.button.Clipboard.Paste']}"/>
+ </h:commandLink>
+ </h:panelGroup>
+ </s:fragment>
+
+ </h:panelGrid>
+
+
+ <div class="directoryPathPanel">
+ <h:panelGroup>
+ <ui:repeat var="directory" value="#{directoryHome.instance.path}">
<s:link view="/dirDisplay_#{skin}.xhtml" value="#{directory.name}" styleClass="directoryButton" tabindex="1">
<f:param name="directoryId" value="#{directory.id}"/>
</s:link>
@@ -97,7 +198,7 @@
</h:panelGroup>
</div>
- <s:div styleClass="directoryEmpty" rendered="#{empty directoryHome.childNodes}">
+ <s:div styleClass="directoryEmpty" rendered="#{empty childNodesList}">
<s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" accesskey="."
rendered="#{!empty directoryHome.parentNode and s:hasPermission('Node','read',directoryHome.parentNode)}">
<f:param name="directoryId" value="#{directoryHome.parentNode.id}"/>
@@ -111,7 +212,7 @@
</s:div>
- <h:panelGrid columns="5" rendered="#{not empty directoryHome.childNodes and directoryHome.pager.numOfRecords > directoryHome.pager.pageSize}"
+ <h:panelGrid columns="5" rendered="#{not empty childNodesList and directoryHome.pager.numOfRecords > directoryHome.pager.pageSize}"
styleClass="pager"
columnClasses="pagerIconColumn,pagerIconColumn,pagerTextColumn,pagerIconColumn,pagerIconColumn"
cellpadding="0" cellspacing="0" border="0">
@@ -120,6 +221,7 @@
<s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
rendered="#{directoryHome.pager.previousPageAvailable}">
<f:param name="page" value="0"/>
+ <f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/page.first.gif" width="13" height="11"/>
</s:link>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/blank.gif" width="13" height="11"
@@ -128,6 +230,7 @@
<s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
rendered="#{directoryHome.pager.previousPageAvailable}">
<f:param name="page" value="#{directoryHome.pager.previousPage}"/>
+ <f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/page.previous.gif" width="13" height="11"/>
</s:link>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/blank.gif" width="13" height="11"
@@ -143,6 +246,7 @@
<s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
rendered="#{directoryHome.pager.nextPageAvailable}">
<f:param name="page" value="#{directoryHome.pager.nextPage}"/>
+ <f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/page.next.gif" width="13" height="11"/>
</s:link>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/blank.gif" width="13" height="11"
@@ -151,6 +255,7 @@
<s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
rendered="#{directoryHome.pager.nextPageAvailable}">
<f:param name="page" value="#{directoryHome.pager.lastPage}"/>
+ <f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/page.last.gif" width="13" height="11"/>
</s:link>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/blank.gif" width="13" height="11"
@@ -159,16 +264,33 @@
</h:panelGrid>
<h:dataTable id="directoryTable" var="node"
- value="#{directoryHome.childNodes}"
- rendered="#{!empty directoryHome.childNodes}"
+ value="#{childNodesList}"
+ rendered="#{!empty childNodesList}"
styleClass="datatable topLeftBottomBorder smallFont"
headerClass="regularHeader rightBorder alignCenter"
- columnClasses="onePercentColumn rightBorder alignCenter, defaultColumn rightBorder alignLeft,
+ columnClasses="onePercentColumn rightBorder alignCenter, onePercentColumn rightBorder alignCenter,
+ defaultColumn rightBorder alignLeft,
tenPercentColumn rightBorder alignLeft, fifteenPercentColumn rightBorder alignLeft,
fifteenPercentColumn rightBorder alignLeft,twentyPercentColumn rightBorder alignCenter"
rowClasses="rowOdd,rowEven"
cellpadding="0" cellspacing="0" border="0">
<h:column>
+ <s:fragment rendered="#{not clipboard.isCut(node.id)}">
+ <h:selectBooleanCheckbox value="#{directoryHome.selectedNodes[node]}"
+ onchange="switchClipboardControl()"
+ styleClass="wikiFileSelect wikiDocumentSelect"
+ rendered="#{node.isInstance('WikiDocument')}"/>
+ <h:selectBooleanCheckbox value="#{directoryHome.selectedNodes[node]}"
+ onchange="switchClipboardControl()"
+ styleClass="wikiFileSelect wikiUploadSelect"
+ rendered="#{node.isInstance('WikiUpload')}"/>
+ <h:outputText value="-" rendered="#{node.isInstance('WikiDirectory')}"/>
+ </s:fragment>
+ <s:fragment rendered="#{clipboard.isCut(node.id)}">
+ <h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/icon.cut.gif" width="18" height="20"/>
+ </s:fragment>
+ </h:column>
+ <h:column>
<f:facet name="header">
<s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" accesskey="."
rendered="#{!empty directoryHome.parentNode and s:hasPermission('Node','read',directoryHome.parentNode)}">
@@ -181,10 +303,10 @@
rendered="#{node.isInstance('WikiDirectory')}"/>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/icon.doc.gif"
width="18" height="20"
- rendered="#{node.isInstance('WikiDocument') and node != directoryHome.instance.defaultFile}"/>
+ rendered="#{node.isInstance('WikiDocument') and node.id != directoryHome.instance.defaultFile.id}"/>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/icon.doc.default.gif"
width="18" height="20"
- rendered="#{node.isInstance('WikiDocument') and node == directoryHome.instance.defaultFile}"/>
+ rendered="#{node.isInstance('WikiDocument') and node.id == directoryHome.instance.defaultFile.id}"/>
<h:graphicImage value="/themes/#{wikiPreferences.themeName}/img/#{uploadTypes[node.contentType].displayIcon}"
width="18" height="20"
@@ -298,6 +420,7 @@
</div>
+</h:form>
</ui:define>
More information about the jboss-cvs-commits
mailing list