6 Replies Latest reply on Mar 11, 2009 6:25 AM by Samuel Chervinski

    <rich:tree> reRender does not work after drag&drop operation

    Samuel Chervinski Newbie

      Hi, I have a problem with <rich:tree>: page regions listed in reRender are not updated after drag&drop operations. I've read about this bug in previous versions, but I've thought it has been already fixed. Isn't it? I use RichFaces version 3.3.0 under Windows XP.

        • 1. Re: <rich:tree> reRender does not work after drag&drop opera
          Ilya Shaikovsky Master

          we need more info at list page snippets for example.

          • 2. Re: <rich:tree> reRender does not work after drag&drop opera
            Samuel Chervinski Newbie

            Here is a (reduced) version of the page and a processDrop() method of the backing bean:

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            <html xmlns="http://www.w3.org/1999/xhtml"
            xmlns:ui="http://java.sun.com/jsf/facelets"
            xmlns:h="http://java.sun.com/jsf/html"
            xmlns:f="http://java.sun.com/jsf/core"
            xmlns:a4j="http://richfaces.org/a4j"
            xmlns:rich="http://richfaces.org/rich"
            xmlns:c="http://java.sun.com/jstl/core"
            xmlns:omni="http://www.vva-networks.de/omni/facelets">


            <ui:composition>

            <h:form id="modulMenuForm"
            style="display: inline; margin: 0px; padding: 0px;">

            <rich:tabPanel id="tabPanel" switchType="client" style="height: 100%;">

            <rich:tab id="standardTab" label="#{app['page.asset.menu.standard']}">

            <rich:dragIndicator id="indicator1" />

            <rich:tree value="#{assetBean.tree}" id="tree" var="asset"
            nodeFace="#{asset.type}" dragIndicator="indicator1"
            ajaxSubmitSelection="true"
            nodeSelectListener="#{assetBean.onChangeNodeSelection}"
            dropListener="#{assetBean.processDrop}"
            changeExpandListener="#{assetBean.onChangeExpand}"
            reRender="tree,contextMenu,modulEditForm,infoPanel,messagePanel"
            toggleOnClick="false" switchType="ajax"
            styleClass="rich-asset-tree">

            <rich:treeNode type="FOLDER" dragType="folder"
            acceptedTypes="folder,document"
            icon="/images/#{currentUserBean.skin}/16x16/application/folder.png"
            iconLeaf="/images/#{currentUserBean.skin}/16x16/application/folder.png">

            <h:outputText value="#{asset.name}" />

            <rich:dndParam name="marker">
            <h:graphicImage
            value="/images/#{currentUserBean.skin}/16x16/application/folder.png" />
            </rich:dndParam>

            <rich:dndParam name="label" value="#{asset.name}" />

            </rich:treeNode>

            <rich:treeNode type="DOCUMENT" dragType="document"
            acceptedTypes="folder,document"
            icon="/images/#{currentUserBean.skin}/16x16/application/document.png"
            iconLeaf="/images/#{currentUserBean.skin}/16x16/application/document.png">

            <h:outputText value="#{asset.name}" />

            <rich:dndParam name="marker">
            <h:graphicImage
            value="/images/#{currentUserBean.skin}/16x16/application/document.png" />
            </rich:dndParam>

            <rich:dndParam name="label" value="#{asset.name}" />

            </rich:treeNode>

            </rich:tree>
            </rich:tab>
            </rich:tabPanel>
            </h:form>
            </ui:composition>





            public final void processDrop(final DropEvent event) {

            // Debug:
            Logger.debug(this, "*** processDrop ***");

            // This list contains hierarchy of keys for drag node:
            ListRowKey rowKeys = (ListRowKey) event.getDragValue();
            // The last key is equal to asset's uuid
            final String dragAssetUuid = rowKeys.get(rowKeys.depth() - 1);
            // Get VO for dragAsset:
            final AssetTreeVO dragAsset = findTreeNode(this.tree, dragAssetUuid)
            .getData();

            // The same as for drag asset:
            rowKeys = (ListRowKey) event.getDropValue();
            final String dropAssetUuid = rowKeys.get(rowKeys.depth() - 1);
            final AssetTreeVO dropAsset = findTreeNode(this.tree, dropAssetUuid)
            .getData();

            Logger.debug(this, "*** dragAssetUuid = {0}, {1} ***", dragAssetUuid,
            dragAsset.getName());
            Logger.debug(this, "*** dropAssetUuid = {0}, {1} ***", dropAssetUuid,
            dropAsset.getName());

            try {
            if (this.dragAndDropMode.equals(REFERENCE)) {

            // Check to exclude recursion:
            if (recursion(dragAsset, rowKeys)) {
            Logger.error(this, AssetBeanResourceKey.RECURSION);
            MessageUtil.addMessage(AssetBeanResourceKey.RECURSION);
            return;
            }

            // Create a reference asset for the drag asset
            // and save it as child of the drop asset
            this.assetService.createReference(getRealAssetUuid(dragAsset),
            dropAssetUuid);
            MessageUtil.addMessage(AssetBeanResourceKey.CREATE, dragAsset
            .getName());

            } else if (this.dragAndDropMode.equals(MOVE)) {

            // Check to exclude recursion:
            if (recursion(dragAsset, rowKeys)) {
            Logger.error(this, AssetBeanResourceKey.RECURSION);
            MessageUtil.addMessage(AssetBeanResourceKey.RECURSION);
            return;
            }

            // move drag asset in repository...
            this.assetService.moveByUuids(dragAssetUuid, dropAssetUuid);
            MessageUtil.addMessage(AssetBeanResourceKey.MOVE, dragAsset
            .getName(), dropAsset.getName());

            } else if (this.dragAndDropMode.equals(COPY)) {

            this.assetService.copyByUuids(getRealAssetUuid(dragAsset),
            dropAssetUuid);
            MessageUtil.addMessage(AssetBeanResourceKey.COPY, dragAsset
            .getName(), dropAsset.getName());

            } else {
            Logger.error(this,
            AssetBeanResourceKey.UNKNOWN_DRAG_AND_DROP_MODE,
            this.dragAndDropMode);
            throw new SystemException(
            AssetBeanResourceKey.UNKNOWN_DRAG_AND_DROP_MODE,
            this.dragAndDropMode);
            }
            refresh();

            } catch (final Exception e) {
            try {
            // We can not add throws-declaration to this method, because it is not
            // defined in DropListener, so we need try/catch hier
            Logger.error(this, e.getMessage());
            MessageUtil.handleException(e);
            } catch (final Exception e1) {
            Logger.error(this, AssetBeanResourceKey.INTERNAL_ERROR, e1);
            handleException(new SystemException(e1,
            AssetBeanResourceKey.INTERNAL_ERROR));
            }
            }
            }

            • 3. Re: <rich:tree> reRender does not work after drag&drop opera
              Ilya Shaikovsky Master

              ok.. also please provide a4j:log info on request. Seems nothing special in your code in comparison with our livedemo sample.

              As I understand the drop request successfully fired and dropListener called.. only reRender not works, isn't it?

              • 4. Re: <rich:tree> reRender does not work after drag&drop opera
                Samuel Chervinski Newbie

                Correct: the drop request successfully fired and dropListener called.. only reRender does not work.
                The main difference with your live demo (I look at the /richfaces/tree.jsf?tab=dnd) is that the demo uses switchType="client" and I use switchType="ajax". I'll provide a4j:log in the next post.

                • 5. Re: <rich:tree> reRender does not work after drag&drop opera
                  Samuel Chervinski Newbie

                  Hallo, Ilya,
                  here are the full source code of the page and the a4j:log for drag&drop one tree node. Thnks for help in advance!
                  ----------------------------------------------------------
                  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                  <html xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:ui="http://java.sun.com/jsf/facelets"
                  xmlns:h="http://java.sun.com/jsf/html"
                  xmlns:f="http://java.sun.com/jsf/core"
                  xmlns:a4j="http://richfaces.org/a4j"
                  xmlns:rich="http://richfaces.org/rich"
                  xmlns:c="http://java.sun.com/jstl/core"
                  xmlns:omni="http://www.vva-networks.de/omni/facelets">


                  <ui:composition>


                  function omniRefresh(){
                  if(document.getElementById("modulMenuForm:refresh")){
                  document.getElementById("modulMenuForm:refresh").click();
                  } else{
                  alert("button not found");
                  }
                  }


                  <h:form id="modulMenuForm"
                  style="display: inline; margin: 0px; padding: 0px;">

                  <rich:tabPanel id="tabPanel" switchType="client" style="height: 100%;">


                  td.rich-tabpanel-content {
                  padding: 1px;
                  }


                  <rich:tab id="standardTab" label="#{app['page.asset.menu.standard']}">

                  <!-- First the toolbar for the tab -->
                  <rich:toolBar id="treeToolbar" itemSeparator="none"
                  styleClass="rich-toolbar-modul-edit">

                  <!--
                  <rich:toolBarGroup id="treeToolbarGroupLeft">
                  <a4j:commandButton
                  image="/images/#{currentUserBean.skin}/16x16/application/nav_refresh_green.png"
                  title="" />
                  <a4j:commandButton
                  image="/images/#{currentUserBean.skin}/16x16/application/nav_up_left_green.png"
                  title="" />
                  <a4j:commandButton
                  image="/images/#{currentUserBean.skin}/16x16/application/nav_down_right_green.png"
                  title="" />
                  </rich:toolBarGroup>
                  -->

                  <rich:toolBarGroup id="treeToolbarGroupRight" location="right">

                  <rich:dropDownMenu id="dropDownMenuDD" direction="bottom-left">

                  <f:facet name="label">
                  <c:if test="#{assetBean.dragAndDropMode eq 'copy'}">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/application/copy.png"
                  title="#{app['toolbar.item.dragAndDropMode']}: #{app['toolbar.item.copy']}" />
                  </c:if>
                  <c:if test="#{assetBean.dragAndDropMode eq 'move'}">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/application/document_out.png"
                  title="#{app['toolbar.item.dragAndDropMode']}: #{app['toolbar.item.move']}" />
                  </c:if>
                  <c:if test="#{assetBean.dragAndDropMode eq 'reference'}">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/application/document_attachment.png"
                  title="#{app['toolbar.item.dragAndDropMode']}: #{app['toolbar.item.reference']}" />
                  </c:if>
                  </f:facet>

                  <rich:menuItem id="menuItemDDCopy"
                  value="#{app['toolbar.item.copy']}" submitMode="ajax"
                  ajaxSingle="true" immediate="true" reRender="dropDownMenuDD"
                  icon="/images/#{currentUserBean.skin}/16x16/application/copy.png"
                  rendered="#{assetBean.dragAndDropMode ne 'copy'}">
                  <f:setPropertyActionListener
                  target="#{assetBean.dragAndDropMode}" value="copy" />
                  </rich:menuItem>

                  <rich:menuItem id="menuItemDDMove"
                  value="#{app['toolbar.item.move']}" submitMode="ajax"
                  ajaxSingle="true" immediate="true" reRender="dropDownMenuDD"
                  icon="/images/#{currentUserBean.skin}/16x16/application/document_out.png"
                  rendered="#{assetBean.dragAndDropMode ne 'move'}">
                  <f:setPropertyActionListener
                  target="#{assetBean.dragAndDropMode}" value="move" />
                  </rich:menuItem>

                  <rich:menuItem id="menuItemDDReference"
                  value="#{app['toolbar.item.reference']}" submitMode="ajax"
                  ajaxSingle="true" immediate="true" reRender="dropDownMenuDD"
                  icon="/images/#{currentUserBean.skin}/16x16/application/document_attachment.png"
                  rendered="#{assetBean.dragAndDropMode ne 'reference'}">
                  <f:setPropertyActionListener
                  target="#{assetBean.dragAndDropMode}" value="reference" />
                  </rich:menuItem>

                  </rich:dropDownMenu>

                  <a4j:commandButton id="refresh" action="#{assetBean.onRefresh}"
                  ajaxSingle="true" immediate="true"
                  image="/images/#{currentUserBean.skin}/16x16/application/nav_refresh_blue.png"
                  title="#{app['toolbar.item.refresh']}"
                  reRender="tree,contextMenu,modulEditForm,infoPanel,messagePanel" />

                  </rich:toolBarGroup>

                  </rich:toolBar>

                  <rich:spacer height="1" />

                  <rich:dragIndicator id="indicator1" />

                  <rich:tree value="#{assetBean.tree}" id="tree" var="asset"
                  nodeFace="#{asset.type}" dragIndicator="indicator1"
                  ajaxSubmitSelection="true"
                  nodeSelectListener="#{assetBean.onChangeNodeSelection}"
                  dropListener="#{assetBean.processDrop}"
                  changeExpandListener="#{assetBean.onChangeExpand}"
                  reRender="tree,contextMenu,modulEditForm,infoPanel,messagePanel"
                  toggleOnClick="false" switchType="ajax"
                  ondrop="setTimeout('omniRefresh()', 2000);"
                  styleClass="rich-asset-tree">
                  <!-- onbeforedomupdate="alert('onbeforedomupdate')" -->

                  <rich:treeNode type="FOLDER" dragType="folder"
                  nodeClass="#{asset.uuid eq assetBean.selectedNodeAsset.uuid ? 'omni-rich-tree-node-selected' : 'rich-tree-node'}"
                  acceptedTypes="publication,folder,document,layout,article,image,advert"
                  icon="/images/#{currentUserBean.skin}/16x16/application/folder.png"
                  iconLeaf="/images/#{currentUserBean.skin}/16x16/application/folder.png">

                  <h:outputText value="#{asset.name}" />

                  <rich:dndParam name="marker">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/application/folder.png" />
                  </rich:dndParam>

                  <rich:dndParam name="label" value="#{asset.name}" />

                  <rich:componentControl event="oncontextmenu" for="contextMenu"
                  operation="show">
                  </rich:componentControl>
                  <!-- a4j:support event="onselected" actionListener="#{assetBean.onselected}"/-->
                  </rich:treeNode>

                  <rich:treeNode type="DOCUMENT" dragType="document"
                  nodeClass="#{asset.uuid eq assetBean.selectedNodeAsset.uuid ? 'omni-rich-tree-node-selected' : 'rich-tree-node'}"
                  acceptedTypes="folder,document,layout,article,image"
                  icon="/images/#{currentUserBean.skin}/16x16/application/document.png"
                  iconLeaf="/images/#{currentUserBean.skin}/16x16/application/document.png">

                  <h:outputText value="#{asset.name}" />

                  <rich:dndParam name="marker">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/application/document.png" />
                  </rich:dndParam>

                  <rich:dndParam name="label" value="#{asset.name}" />

                  <rich:componentControl event="oncontextmenu" for="contextMenu"
                  operation="show">
                  </rich:componentControl>
                  </rich:treeNode>

                  <rich:treeNode type="PUBLICATION" dragType="publication"
                  nodeClass="#{asset.uuid eq assetBean.selectedNodeAsset.uuid ? 'omni-rich-tree-node-selected' : 'rich-tree-node'}"
                  acceptedTypes="volume,folder,document,layout,article,image,advert"
                  icon="/images/#{currentUserBean.skin}/16x16/business/briefcase.png"
                  iconLeaf="/images/#{currentUserBean.skin}/16x16/business/briefcase.png">

                  <h:outputText value="#{asset.name}" />

                  <rich:dndParam name="marker">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/business/briefcase.png" />
                  </rich:dndParam>

                  <rich:dndParam name="label" value="#{asset.name}" />

                  <rich:componentControl event="oncontextmenu" for="contextMenu"
                  operation="show">
                  </rich:componentControl>
                  </rich:treeNode>

                  <rich:treeNode type="VOLUME" dragType="volume"
                  nodeClass="#{asset.uuid eq assetBean.selectedNodeAsset.uuid ? 'omni-rich-tree-node-selected' : 'rich-tree-node'}"
                  acceptedTypes="issue,folder,document,layout,article,image,advert"
                  icon="/images/#{currentUserBean.skin}/16x16/objects/books.png"
                  iconLeaf="/images/#{currentUserBean.skin}/16x16/objects/books.png">

                  <h:outputText value="#{asset.name}" />

                  <rich:dndParam name="marker">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/objects/books.png" />
                  </rich:dndParam>

                  <rich:dndParam name="label" value="#{asset.name}" />

                  <rich:componentControl event="oncontextmenu" for="contextMenu"
                  operation="show">
                  </rich:componentControl>
                  </rich:treeNode>

                  <rich:treeNode type="ISSUE" dragType="issue"
                  nodeClass="#{asset.uuid eq assetBean.selectedNodeAsset.uuid ? 'omni-rich-tree-node-selected' : 'rich-tree-node'}"
                  acceptedTypes="folder,document,layout,article,image,advert"
                  icon="/images/#{currentUserBean.skin}/16x16/objects/book_blue.png"
                  iconLeaf="/images/#{currentUserBean.skin}/16x16/objects/book_blue.png">

                  <h:outputText value="#{asset.name}" />

                  <rich:dndParam name="marker">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/objects/book_blue.png" />
                  </rich:dndParam>

                  <rich:dndParam name="label" value="#{asset.name}" />

                  <rich:componentControl event="oncontextmenu" for="contextMenu"
                  operation="show">
                  </rich:componentControl>
                  </rich:treeNode>

                  <rich:treeNode type="IMAGE" dragType="image"
                  nodeClass="#{asset.uuid eq assetBean.selectedNodeAsset.uuid ? 'omni-rich-tree-node-selected' : 'rich-tree-node'}"
                  acceptedTypes="folder,document,layout,article,image"
                  icon="/images/#{currentUserBean.skin}/16x16/application/photo_scenery.png"
                  iconLeaf="/images/#{currentUserBean.skin}/16x16/application/photo_scenery.png">

                  <h:outputText value="#{asset.name}" />

                  <rich:dndParam name="marker">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/application/photo_scenery.png" />
                  </rich:dndParam>

                  <rich:dndParam name="label" value="#{asset.name}" />

                  <rich:componentControl event="oncontextmenu" for="contextMenu"
                  operation="show">
                  </rich:componentControl>
                  </rich:treeNode>

                  <rich:treeNode type="LAYOUT" dragType="layout"
                  nodeClass="#{asset.uuid eq assetBean.selectedNodeAsset.uuid ? 'omni-rich-tree-node-selected' : 'rich-tree-node'}"
                  acceptedTypes="folder,document,layout,article,image,advert"
                  icon="/images/#{currentUserBean.skin}/16x16/application/text_rich_colored.png"
                  iconLeaf="/images/#{currentUserBean.skin}/16x16/application/text_rich_colored.png">

                  <h:outputText value="#{asset.name}" />

                  <rich:dndParam name="marker">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/application/text_rich_colored.png" />
                  </rich:dndParam>

                  <rich:dndParam name="label" value="#{asset.name}" />

                  <rich:componentControl event="oncontextmenu" for="contextMenu"
                  operation="show">
                  </rich:componentControl>
                  </rich:treeNode>

                  <rich:treeNode type="ARTICLE" dragType="article"
                  nodeClass="#{asset.uuid eq assetBean.selectedNodeAsset.uuid ? 'omni-rich-tree-node-selected' : 'rich-tree-node'}"
                  acceptedTypes="folder,document,layout,article,image"
                  icon="/images/#{currentUserBean.skin}/16x16/application/form_blue.png"
                  iconLeaf="/images/#{currentUserBean.skin}/16x16/application/form_blue.png">

                  <h:outputText value="#{asset.name}" />

                  <rich:dndParam name="marker">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/application/form_blue.png" />
                  </rich:dndParam>

                  <rich:dndParam name="label" value="#{asset.name}" />

                  <rich:componentControl event="oncontextmenu" for="contextMenu"
                  operation="show">
                  </rich:componentControl>
                  </rich:treeNode>

                  <rich:treeNode type="ADVERT" dragType="advert"
                  nodeClass="#{asset.uuid eq assetBean.selectedNodeAsset.uuid ? 'omni-rich-tree-node-selected' : 'rich-tree-node'}"
                  acceptedTypes="folder,document,layout,article,image"
                  icon="/images/#{currentUserBean.skin}/16x16/application/window_star.png"
                  iconLeaf="/images/#{currentUserBean.skin}/16x16/application/window_star.png">

                  <h:outputText value="#{asset.name}" />

                  <rich:dndParam name="marker">
                  <h:graphicImage
                  value="/images/#{currentUserBean.skin}/16x16/application/window_star.png" />
                  </rich:dndParam>

                  <rich:dndParam name="label" value="#{asset.name}" />

                  <rich:componentControl event="oncontextmenu" for="contextMenu"
                  operation="show">
                  </rich:componentControl>
                  </rich:treeNode>
                  </rich:tree>


                  <rich:contextMenu id="contextMenu" attached="false"
                  submitMode="ajax">

                  <rich:menuGroup value="#{app['toolbar.item.add']}..."
                  icon="/images/#{currentUserBean.skin}/16x16/application/add.png"
                  direction="left">

                  <rich:menuItem value="#{app['toolbar.item.folder']}"
                  id="treeCreateFolder" action="#{assetBean.onCreate}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/folder.png"
                  reRender="modulEditForm,infoPanel,messagePanel">

                  <f:setPropertyActionListener value="FOLDER"
                  target="#{assetBean.assetType}" />

                  </rich:menuItem>

                  <rich:menuItem value="#{app['toolbar.item.document']}"
                  id="treeCreateDocument" action="#{assetBean.onCreate}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/document.png"
                  reRender="modulEditForm,infoPanel,messagePanel">

                  <f:setPropertyActionListener value="DOCUMENT"
                  target="#{assetBean.assetType}" />

                  </rich:menuItem>

                  <rich:menuItem value="#{app['toolbar.item.publication']}"
                  id="treeCreatePublication" action="#{assetBean.onCreate}"
                  icon="/images/#{currentUserBean.skin}/16x16/business/briefcase.png"
                  disabled="#{!assetGuiBean.enabledCreatePublication}"
                  reRender="modulEditForm,infoPanel,messagePanel">

                  <f:setPropertyActionListener value="PUBLICATION"
                  target="#{assetBean.assetType}" />

                  </rich:menuItem>

                  <rich:menuItem value="#{app['toolbar.item.volume']}"
                  id="treeCreateVolume" action="#{assetBean.onCreate}"
                  icon="/images/#{currentUserBean.skin}/16x16/objects/books.png"
                  disabled="#{!assetGuiBean.enabledCreateVolume}"
                  reRender="modulEditForm,infoPanel,messagePanel">

                  <f:setPropertyActionListener value="VOLUME"
                  target="#{assetBean.assetType}" />

                  </rich:menuItem>

                  <rich:menuItem value="#{app['toolbar.item.issue']}"
                  id="treeCreateIssue" action="#{assetBean.onCreate}"
                  icon="/images/#{currentUserBean.skin}/16x16/objects/book_blue.png"
                  disabled="#{!assetGuiBean.enabledCreateIssue}"
                  reRender="modulEditForm,infoPanel,messagePanel">

                  <f:setPropertyActionListener value="ISSUE"
                  target="#{assetBean.assetType}" />

                  </rich:menuItem>

                  <rich:menuItem value="#{app['toolbar.item.layout']}"
                  id="treeCreateLayout" action="#{assetBean.onCreate}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/text_rich_colored.png"
                  reRender="modulEditForm,infoPanel,messagePanel">

                  <f:setPropertyActionListener value="LAYOUT"
                  target="#{assetBean.assetType}" />

                  </rich:menuItem>

                  <rich:menuItem value="#{app['toolbar.item.article']}"
                  id="treeCreateArticle" action="#{assetBean.onCreate}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/form_blue.png"
                  reRender="modulEditForm,infoPanel,messagePanel">

                  <f:setPropertyActionListener value="ARTICLE"
                  target="#{assetBean.assetType}" />

                  </rich:menuItem>

                  <rich:menuItem value="#{app['toolbar.item.image']}"
                  id="treeCreateImage" action="#{assetBean.onCreate}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/photo_scenery.png"
                  reRender="modulEditForm,infoPanel,messagePanel">

                  <f:setPropertyActionListener value="IMAGE"
                  target="#{assetBean.assetType}" />

                  </rich:menuItem>

                  <rich:menuItem value="#{app['toolbar.item.advert']}"
                  id="treeCreateAdvert" action="#{assetBean.onCreate}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/window_star.png"
                  reRender="modulEditForm,infoPanel,messagePanel">

                  <f:setPropertyActionListener value="ADVERT"
                  target="#{assetBean.assetType}" />
                  </rich:menuItem>

                  </rich:menuGroup>

                  <rich:menuItem value="#{app['toolbar.item.edit']}" id="treeEdit"
                  actionListener="#{assetBean.onEdit}"
                  disabled="#{!assetGuiBean.enabledTreeEdit}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/edit.png"
                  reRender="modulEditForm,infoPanel,messagePanel" />

                  <rich:menuItem value="#{app['toolbar.item.release']}"
                  id="treeRelease" actionListener="#{assetBean.onRelease}"
                  disabled="#{!assetGuiBean.enabledTreeRelease}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/nav_up_red.png"
                  reRender="tree,contextMenu,modulEditForm,infoPanel,messagePanel" />

                  <rich:menuItem value="#{app['toolbar.item.deleteMark']}"
                  id="treeDeleteMark" actionListener="#{assetBean.onDeleteMark}"
                  disabled="#{!assetGuiBean.enabledTreeDeleteMark}"
                  icon="/images/#{currentUserBean.skin}/16x16/business/note_delete.png"
                  reRender="tree,contextMenu,modulEditForm,infoPanel,messagePanel" />

                  <rich:menuItem value="#{app['toolbar.item.undoDeleteMark']}"
                  id="treeUndoDeleteMark"
                  actionListener="#{assetBean.onUndoDeleteMark}"
                  disabled="#{!assetGuiBean.enabledTreeUndoDeleteMark}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/nav_undo_green.png"
                  reRender="tree,contextMenu,modulEditForm,infoPanel,messagePanel" />

                  <rich:menuItem value="#{app['toolbar.item.delete']}"
                  id="treeDelete" actionListener="#{assetBean.onDelete}"
                  disabled="#{!assetGuiBean.enabledTreeDelete}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/delete.png"
                  reRender="tree,contextMenu,modulEditForm,infoPanel,messagePanel" />

                  <rich:menuItem value="#{app['toolbar.item.deselectAll']}"
                  id="treeDeselectAll" actionListener="#{assetBean.onDeselectAll}"
                  disabled="#{!assetGuiBean.enabledTreeDeselectAll}"
                  icon="/images/#{currentUserBean.skin}/16x16/application/selection.png"
                  reRender="tree,contextMenu,modulEditForm,infoPanel,messagePanel" />

                  </rich:contextMenu>
                  </rich:tab>

                  <rich:tab id="workspace" label="#{app['page.asset.menu.workspace']}">
                  </rich:tab>

                  </rich:tabPanel>
                  </h:form>
                  <a4j:log popup="true" level="ALL" style="width: 800px; height: 800px;"></a4j:log>
                  </ui:composition>



                  -----------------------------------------------------------
                  Clear
                  debug[10:22:18,691]: Have Event [object Object] with properties: target: [object HTMLDivElement], srcElement: undefined, type: click
                  debug[10:22:18,692]: Query preparation for form 'modulMenuForm' requested
                  debug[10:22:18,692]: Append hidden control modulMenuForm with value [modulMenuForm] and value attribute [modulMenuForm]
                  debug[10:22:18,692]: Append hidden control modulMenuForm:tabPanel with value [standardTab] and value attribute [standardTab]
                  debug[10:22:18,692]: Append hidden control modulMenuForm:tree:input with value [modulMenuForm:tree:4d0d0d68-bd52-45f9-b45e-bac7548e7604::j_id76] and value attribute [modulMenuForm:tree:4d0d0d68-bd52-45f9-b45e-bac7548e7604::j_id76]
                  debug[10:22:18,693]: Append hidden control javax.faces.ViewState with value [j_id3] and value attribute [j_id3]
                  debug[10:22:18,693]: parameter modulMenuForm:tree:selectedNode with value modulMenuForm:tree:4d0d0d68-bd52-45f9-b45e-bac7548e7604::j_id76
                  debug[10:22:18,693]: Look up queue with default name
                  debug[10:22:18,693]: NEW AJAX REQUEST !!! with form: modulMenuForm
                  debug[10:22:18,693]: Start XmlHttpRequest
                  debug[10:22:18,694]: Reqest state : 1
                  debug[10:22:18,694]: QueryString: AJAXREQUEST=_viewRoot&modulMenuForm=modulMenuForm&modulMenuForm%3AtabPanel=standardTab&modulMenuForm%3Atree%3Ainput=modulMenuForm%3Atree%3A4d0d0d68-bd52-45f9-b45e-bac7548e7604%3A%3Aj_id76&javax.faces.ViewState=j_id3&modulMenuForm%3Atree%3AselectedNode=modulMenuForm%3Atree%3A4d0d0d68-bd52-45f9-b45e-bac7548e7604%3A%3Aj_id76&
                  debug[10:22:18,695]: Reqest state : 1
                  debug[10:22:18,763]: Reqest state : 2
                  debug[10:22:18,764]: Reqest state : 3
                  debug[10:22:18,770]: Reqest state : 3
                  debug[10:22:18,770]: Reqest state : 4
                  debug[10:22:18,770]: Reqest end with state 4
                  debug[10:22:18,770]: Response with content-type: text/xml;charset=UTF-8
                  debug[10:22:18,771]: Full response content: <div xmlns:rich="http://richfaces.ajax4jsf.org/rich">
                  debug[10:22:18,771]: Header Ajax-Expired not found, search in
                  debug[10:22:18,771]: search for elements by name 'meta' in element #document
                  debug[10:22:18,771]: Find
                  debug[10:22:18,771]: Find
                  debug[10:22:18,772]: Header Ajax-Update-Ids not found, search in
                  debug[10:22:18,772]: search for elements by name 'meta' in element #document
                  debug[10:22:18,772]: Find
                  warn[10:22:18,772]: No information in response about elements to replace
                  debug[10:22:18,772]: call getElementById for id= org.ajax4jsf.oncomplete
                  debug[10:22:18,772]: Processing updates finished, no oncomplete function to call
                  debug[10:22:18,773]: call getElementById for id= ajax-view-state
                  debug[10:22:18,773]: Hidden JSF state fields: [object HTMLSpanElement]
                  debug[10:22:18,773]: Namespace for hidden view-state input fields is undefined
                  debug[10:22:18,773]: search for elements by name 'input' in element span
                  debug[10:22:18,773]: Replace value for inputs: 33 by new values: 1
                  debug[10:22:18,774]: Input in response: javax.faces.ViewState
                  debug[10:22:18,774]: Found same input on page with type: hidden
                  debug[10:22:18,774]: Found same input on page with type: hidden
                  debug[10:22:18,774]: Found same input on page with type: hidden
                  debug[10:22:18,775]: Found same input on page with type: hidden
                  debug[10:22:18,775]: Found same input on page with type: hidden
                  debug[10:22:18,775]: Found same input on page with type: hidden
                  debug[10:22:18,775]: Found same input on page with type: hidden
                  debug[10:22:18,776]: Found same input on page with type: hidden
                  debug[10:22:18,776]: Found same input on page with type: hidden
                  debug[10:22:18,776]: Found same input on page with type: hidden
                  debug[10:22:18,776]: search for elements by name 'INPUT' in element span
                  debug[10:22:18,776]: Replace value for inputs: 33 by new values: 0
                  debug[10:22:18,777]: call getElementById for id= _ajax:data
                  debug[10:22:18,777]: call getElementById for id= _ajax:data
                  debug[10:22:18,777]: call getElementById for id= _ajax:data
                  debug[10:22:18,777]: call getElementById for id= _A4J.AJAX.focus
                  debug[10:22:18,777]: No focus information in response
                  debug[10:22:29,610]: Have Event [object Object] with properties: target: [object HTMLTableCellElement], srcElement: undefined, type: mouseup
                  debug[10:22:29,610]: Query preparation for form 'modulMenuForm' requested
                  debug[10:22:29,611]: Append hidden control modulMenuForm with value [modulMenuForm] and value attribute [modulMenuForm]
                  debug[10:22:29,611]: Append hidden control modulMenuForm:tabPanel with value [standardTab] and value attribute [standardTab]
                  debug[10:22:29,611]: Append hidden control modulMenuForm:tree:input with value [modulMenuForm:tree:4d0d0d68-bd52-45f9-b45e-bac7548e7604::j_id76] and value attribute [modulMenuForm:tree:4d0d0d68-bd52-45f9-b45e-bac7548e7604::j_id76]
                  debug[10:22:29,611]: Append hidden control javax.faces.ViewState with value [j_id3] and value attribute [j_id3]
                  debug[10:22:29,611]: parameter modulMenuForm:tree with value modulMenuForm:tree
                  debug[10:22:29,611]: parameter dropTargetId with value modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46
                  debug[10:22:29,612]: parameter modulMenuForm:tree:4d0d0d68-bd52-45f9-b45e-bac7548e7604::j_id76 with value modulMenuForm:tree:4d0d0d68-bd52-45f9-b45e-bac7548e7604::j_id76
                  debug[10:22:29,612]: parameter dragSourceId with value modulMenuForm:tree:4d0d0d68-bd52-45f9-b45e-bac7548e7604::j_id76
                  debug[10:22:29,612]: Look up queue with default name
                  debug[10:22:29,612]: NEW AJAX REQUEST !!! with form: modulMenuForm
                  debug[10:22:29,612]: Start XmlHttpRequest
                  debug[10:22:29,612]: Reqest state : 1
                  debug[10:22:29,613]: QueryString: AJAXREQUEST=_viewRoot&modulMenuForm=modulMenuForm&modulMenuForm%3AtabPanel=standardTab&modulMenuForm%3Atree%3Ainput=modulMenuForm%3Atree%3A4d0d0d68-bd52-45f9-b45e-bac7548e7604%3A%3Aj_id76&javax.faces.ViewState=j_id3&modulMenuForm%3Atree=modulMenuForm%3Atree&dropTargetId=modulMenuForm%3Atree%3A8d3d71ae-ca00-4c07-943b-3980ae0ab0c5%3A%3Aj_id46&modulMenuForm%3Atree%3A4d0d0d68-bd52-45f9-b45e-bac7548e7604%3A%3Aj_id76=modulMenuForm%3Atree%3A4d0d0d68-bd52-45f9-b45e-bac7548e7604%3A%3Aj_id76&dragSourceId=modulMenuForm%3Atree%3A4d0d0d68-bd52-45f9-b45e-bac7548e7604%3A%3Aj_id76&
                  debug[10:22:29,615]: Reqest state : 1
                  debug[10:22:29,908]: Reqest state : 2
                  debug[10:22:29,910]: Reqest state : 3
                  debug[10:22:29,910]: Reqest state : 4
                  debug[10:22:29,910]: Reqest end with state 4
                  debug[10:22:29,911]: Response with content-type: text/xml;charset=UTF-8
                  debug[10:22:29,911]: Full response content: <div xmlns:rich="http://richfaces.ajax4jsf.org/rich">
                  debug[10:22:29,911]: Header Ajax-Expired not found, search in
                  debug[10:22:29,911]: search for elements by name 'meta' in element #document
                  debug[10:22:29,911]: Find
                  debug[10:22:29,912]: Find
                  debug[10:22:29,912]: Header Ajax-Update-Ids not found, search in
                  debug[10:22:29,912]: search for elements by name 'meta' in element #document
                  debug[10:22:29,912]: Find
                  warn[10:22:29,912]: No information in response about elements to replace
                  debug[10:22:29,912]: call getElementById for id= org.ajax4jsf.oncomplete
                  debug[10:22:29,912]: Processing updates finished, no oncomplete function to call
                  debug[10:22:29,913]: call getElementById for id= ajax-view-state
                  debug[10:22:29,913]: Hidden JSF state fields: [object HTMLSpanElement]
                  debug[10:22:29,913]: Namespace for hidden view-state input fields is undefined
                  debug[10:22:29,913]: search for elements by name 'input' in element span
                  debug[10:22:29,913]: Replace value for inputs: 33 by new values: 1
                  debug[10:22:29,914]: Input in response: javax.faces.ViewState
                  debug[10:22:29,914]: Found same input on page with type: hidden
                  debug[10:22:29,914]: Found same input on page with type: hidden
                  debug[10:22:29,914]: Found same input on page with type: hidden
                  debug[10:22:29,914]: Found same input on page with type: hidden
                  debug[10:22:29,915]: Found same input on page with type: hidden
                  debug[10:22:29,915]: Found same input on page with type: hidden
                  debug[10:22:29,915]: Found same input on page with type: hidden
                  debug[10:22:29,915]: Found same input on page with type: hidden
                  debug[10:22:29,916]: Found same input on page with type: hidden
                  debug[10:22:29,916]: Found same input on page with type: hidden
                  debug[10:22:29,916]: search for elements by name 'INPUT' in element span
                  debug[10:22:29,916]: Replace value for inputs: 33 by new values: 0
                  debug[10:22:29,916]: call getElementById for id= _ajax:data
                  debug[10:22:29,917]: call getElementById for id= _ajax:data
                  debug[10:22:29,917]: call getElementById for id= _ajax:data
                  debug[10:22:29,917]: call getElementById for id= _A4J.AJAX.focus
                  debug[10:22:29,917]: No focus information in response
                  debug[10:22:31,599]: Have Event [object Object] with properties: target: [object HTMLInputElement], srcElement: undefined, type: click
                  debug[10:22:31,599]: Query preparation for form 'modulMenuForm' requested
                  debug[10:22:31,600]: Append hidden control modulMenuForm with value [modulMenuForm] and value attribute [modulMenuForm]
                  debug[10:22:31,600]: Append hidden control modulMenuForm:tabPanel with value [standardTab] and value attribute [standardTab]
                  debug[10:22:31,600]: Append hidden control modulMenuForm:tree:input with value [modulMenuForm:tree:4d0d0d68-bd52-45f9-b45e-bac7548e7604::j_id76] and value attribute [modulMenuForm:tree:4d0d0d68-bd52-45f9-b45e-bac7548e7604::j_id76]
                  debug[10:22:31,600]: Append hidden control javax.faces.ViewState with value [j_id3] and value attribute [j_id3]
                  debug[10:22:31,600]: parameter ajaxSingle with value modulMenuForm:refresh
                  debug[10:22:31,600]: parameter modulMenuForm:refresh with value modulMenuForm:refresh
                  debug[10:22:31,601]: Look up queue with default name
                  debug[10:22:31,601]: NEW AJAX REQUEST !!! with form: modulMenuForm
                  debug[10:22:31,601]: Start XmlHttpRequest
                  debug[10:22:31,601]: Reqest state : 1
                  debug[10:22:31,601]: QueryString: AJAXREQUEST=_viewRoot&modulMenuForm=modulMenuForm&modulMenuForm%3AtabPanel=standardTab&modulMenuForm%3Atree%3Ainput=modulMenuForm%3Atree%3A4d0d0d68-bd52-45f9-b45e-bac7548e7604%3A%3Aj_id76&javax.faces.ViewState=j_id3&ajaxSingle=modulMenuForm%3Arefresh&modulMenuForm%3Arefresh=modulMenuForm%3Arefresh&
                  debug[10:22:31,603]: Reqest state : 1
                  debug[10:22:33,256]: Reqest state : 2
                  debug[10:22:33,259]: Reqest state : 3
                  debug[10:22:33,260]: Reqest state : 3
                  debug[10:22:33,260]: Reqest state : 3
                  debug[10:22:33,260]: Reqest state : 3
                  debug[10:22:33,261]: Reqest state : 3
                  debug[10:22:33,265]: Reqest state : 3
                  debug[10:22:33,267]: Reqest state : 3
                  debug[10:22:33,269]: Reqest state : 3
                  debug[10:22:33,274]: Reqest state : 3
                  debug[10:22:33,277]: Reqest state : 3
                  debug[10:22:33,279]: Reqest state : 3
                  debug[10:22:33,291]: Reqest state : 3
                  debug[10:22:33,294]: Reqest state : 3
                  debug[10:22:33,296]: Reqest state : 3
                  debug[10:22:33,304]: Reqest state : 3
                  debug[10:22:33,307]: Reqest state : 3
                  debug[10:22:33,309]: Reqest state : 3
                  debug[10:22:33,323]: Reqest state : 3
                  debug[10:22:33,326]: Reqest state : 3
                  debug[10:22:33,328]: Reqest state : 3
                  debug[10:22:33,333]: Reqest state : 3
                  debug[10:22:33,336]: Reqest state : 3
                  debug[10:22:33,338]: Reqest state : 3
                  debug[10:22:33,348]: Reqest state : 3
                  debug[10:22:33,351]: Reqest state : 3
                  debug[10:22:33,353]: Reqest state : 3
                  debug[10:22:33,358]: Reqest state : 3
                  debug[10:22:33,361]: Reqest state : 3
                  debug[10:22:33,363]: Reqest state : 3
                  debug[10:22:33,379]: Reqest state : 3
                  debug[10:22:33,382]: Reqest state : 3
                  debug[10:22:33,384]: Reqest state : 3
                  debug[10:22:33,389]: Reqest state : 3
                  debug[10:22:33,392]: Reqest state : 3
                  debug[10:22:33,394]: Reqest state : 3
                  debug[10:22:33,399]: Reqest state : 3
                  debug[10:22:33,402]: Reqest state : 3
                  debug[10:22:33,404]: Reqest state : 3
                  debug[10:22:33,422]: Reqest state : 3
                  debug[10:22:33,425]: Reqest state : 3
                  debug[10:22:33,427]: Reqest state : 3
                  debug[10:22:33,439]: Reqest state : 3
                  debug[10:22:33,442]: Reqest state : 3
                  debug[10:22:33,445]: Reqest state : 3
                  debug[10:22:33,448]: Reqest state : 3
                  debug[10:22:33,450]: Reqest state : 3
                  debug[10:22:33,453]: Reqest state : 3
                  debug[10:22:33,455]: Reqest state : 3
                  debug[10:22:33,458]: Reqest state : 3
                  debug[10:22:33,460]: Reqest state : 3
                  debug[10:22:33,462]: Reqest state : 3
                  debug[10:22:33,465]: Reqest state : 3
                  debug[10:22:33,467]: Reqest state : 3
                  debug[10:22:33,470]: Reqest state : 3
                  debug[10:22:33,472]: Reqest state : 3
                  debug[10:22:33,489]: Reqest state : 3
                  debug[10:22:33,494]: Reqest state : 3
                  debug[10:22:33,494]: Reqest state : 3
                  debug[10:22:33,495]: Reqest state : 3
                  debug[10:22:33,495]: Reqest state : 3
                  debug[10:22:33,496]: Reqest state : 3
                  debug[10:22:33,496]: Reqest state : 3
                  debug[10:22:33,496]: Reqest state : 3
                  debug[10:22:33,496]: Reqest state : 3
                  debug[10:22:33,501]: Reqest state : 3
                  debug[10:22:33,501]: Reqest state : 3
                  debug[10:22:33,501]: Reqest state : 3
                  debug[10:22:33,502]: Reqest state : 3
                  debug[10:22:33,504]: Reqest state : 3
                  debug[10:22:33,504]: Reqest state : 3
                  debug[10:22:33,509]: Reqest state : 3
                  debug[10:22:33,512]: Reqest state : 3
                  debug[10:22:33,514]: Reqest state : 3
                  debug[10:22:33,515]: Reqest state : 3
                  debug[10:22:33,531]: Reqest state : 3
                  debug[10:22:33,532]: Reqest state : 3
                  debug[10:22:33,532]: Reqest state : 3
                  debug[10:22:33,532]: Reqest state : 3
                  debug[10:22:33,533]: Reqest state : 3
                  debug[10:22:33,533]: Reqest state : 3
                  debug[10:22:33,533]: Reqest state : 3
                  debug[10:22:33,534]: Reqest state : 3
                  debug[10:22:33,544]: Reqest state : 3
                  debug[10:22:33,544]: Reqest state : 3
                  debug[10:22:33,544]: Reqest state : 3
                  debug[10:22:33,545]: Reqest state : 3
                  debug[10:22:33,545]: Reqest state : 3
                  debug[10:22:33,545]: Reqest state : 3
                  debug[10:22:33,546]: Reqest state : 3
                  debug[10:22:33,546]: Reqest state : 3
                  debug[10:22:33,563]: Reqest state : 3
                  debug[10:22:33,563]: Reqest state : 3
                  debug[10:22:33,564]: Reqest state : 3
                  debug[10:22:33,564]: Reqest state : 3
                  debug[10:22:33,564]: Reqest state : 3
                  debug[10:22:33,564]: Reqest state : 3
                  debug[10:22:33,565]: Reqest state : 3
                  debug[10:22:33,565]: Reqest state : 3
                  debug[10:22:33,577]: Reqest state : 3
                  debug[10:22:33,578]: Reqest state : 3
                  debug[10:22:33,579]: Reqest state : 3
                  debug[10:22:33,579]: Reqest state : 3
                  debug[10:22:33,579]: Reqest state : 3
                  debug[10:22:33,580]: Reqest state : 3
                  debug[10:22:33,580]: Reqest state : 3
                  debug[10:22:33,580]: Reqest state : 3
                  debug[10:22:33,590]: Reqest state : 3
                  debug[10:22:33,591]: Reqest state : 3
                  debug[10:22:33,591]: Reqest state : 3
                  debug[10:22:33,591]: Reqest state : 3
                  debug[10:22:33,592]: Reqest state : 3
                  debug[10:22:33,592]: Reqest state : 3
                  debug[10:22:33,592]: Reqest state : 3
                  debug[10:22:33,593]: Reqest state : 3
                  debug[10:22:33,603]: Reqest state : 3
                  debug[10:22:33,603]: Reqest state : 3
                  debug[10:22:33,603]: Reqest state : 3
                  debug[10:22:33,604]: Reqest state : 3
                  debug[10:22:33,604]: Reqest state : 3
                  debug[10:22:33,604]: Reqest state : 3
                  debug[10:22:33,605]: Reqest state : 3
                  debug[10:22:33,605]: Reqest state : 3
                  debug[10:22:33,609]: Reqest state : 3
                  debug[10:22:33,610]: Reqest state : 3
                  debug[10:22:33,610]: Reqest state : 3
                  debug[10:22:33,610]: Reqest state : 3
                  debug[10:22:33,610]: Reqest state : 3
                  debug[10:22:33,613]: Reqest state : 3
                  debug[10:22:33,616]: Reqest state : 3
                  debug[10:22:33,617]: Reqest state : 3
                  debug[10:22:33,617]: Reqest state : 3
                  debug[10:22:33,617]: Reqest state : 3
                  debug[10:22:33,618]: Reqest state : 3
                  debug[10:22:33,621]: Reqest state : 3
                  debug[10:22:33,638]: Reqest state : 3
                  debug[10:22:33,639]: Reqest state : 3
                  debug[10:22:33,639]: Reqest state : 3
                  debug[10:22:33,639]: Reqest state : 3
                  debug[10:22:33,640]: Reqest state : 3
                  debug[10:22:33,640]: Reqest state : 3
                  debug[10:22:33,640]: Reqest state : 3
                  debug[10:22:33,641]: Reqest state : 3
                  debug[10:22:33,651]: Reqest state : 3
                  debug[10:22:33,651]: Reqest state : 3
                  debug[10:22:33,652]: Reqest state : 3
                  debug[10:22:33,652]: Reqest state : 3
                  debug[10:22:33,652]: Reqest state : 3
                  debug[10:22:33,652]: Reqest state : 3
                  debug[10:22:33,653]: Reqest state : 3
                  debug[10:22:33,653]: Reqest state : 3
                  debug[10:22:33,662]: Reqest state : 3
                  debug[10:22:33,663]: Reqest state : 3
                  debug[10:22:33,663]: Reqest state : 3
                  debug[10:22:33,663]: Reqest state : 3
                  debug[10:22:33,664]: Reqest state : 3
                  debug[10:22:33,664]: Reqest state : 3
                  debug[10:22:33,665]: Reqest state : 3
                  debug[10:22:33,665]: Reqest state : 3
                  debug[10:22:33,674]: Reqest state : 3
                  debug[10:22:33,675]: Reqest state : 3
                  debug[10:22:33,675]: Reqest state : 3
                  debug[10:22:33,676]: Reqest state : 3
                  debug[10:22:33,676]: Reqest state : 3
                  debug[10:22:33,676]: Reqest state : 3
                  debug[10:22:33,678]: Reqest state : 3
                  debug[10:22:33,678]: Reqest state : 3
                  debug[10:22:33,683]: Reqest state : 3
                  debug[10:22:33,684]: Reqest state : 3
                  debug[10:22:33,684]: Reqest state : 3
                  debug[10:22:33,684]: Reqest state : 3
                  debug[10:22:33,685]: Reqest state : 3
                  debug[10:22:33,685]: Reqest state : 3
                  debug[10:22:33,685]: Reqest state : 3
                  debug[10:22:33,686]: Reqest state : 3
                  debug[10:22:33,687]: Reqest state : 4
                  debug[10:22:33,687]: Reqest end with state 4
                  debug[10:22:33,687]: Response with content-type: text/xml;charset=UTF-8
                  debug[10:22:33,695]: Full response content: <div xmlns:rich="http://richfaces.ajax4jsf.org/rich" class="dr-tree rich-tree rich-asset-tree" id="modulMenuForm:tree"><tr id="modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46:mainRow" onclick=" " rich:defaultdndparams="{&quot;marker&quot;:&quot;&lt;img src=\&quot;/omnipublish/images/Omnipublish/16x16/application/folder.png\&quot; /&gt;&quot;,&quot;label&quot;:&quot;ord 1&quot;}"><a href="#" id="modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46:handle" onclick="Tree.Item.fireExpansionEvent(this);;A4J.AJAX.Submit('_viewRoot','modulMenuForm',event,{'parameters':{'modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46NodeExpanded':'true','modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46AjaxExpanded':true} ,'actionUrl':'/omnipublish/pages/asset/index.jsf','similarityGroupingId':'modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46'} ); return false;"><td class="dr-tree-h-ic rich-tree-node-icon dr-tree-h-ic-line-clp" id="modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46:icon" rich:ajaxselectedlistener="ajax_selected_listener_flag" rich:draggableoptions="{'parameters':{'dragSourceId':'modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46','modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46':'modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46'} ,'dragIndicator':'modulMenuForm:indicator1','dragType':'folder'} " rich:dropzoneoptions="{'acceptedTypes':['publication','folder','document','layout','article','image','advert'] ,'ondrop':'function(event){setTimeout(\'omniRefresh()\', 2000);;return true;}'} " rich:oncontextmenu="Richfaces.componentControl.performOperation(event,'#modulMenuForm\\:contextMenu','show',{},false)"><td class="dr-tree-h-text rich-tree-node-text rich-tree-node" id="modulMenuForm:tree:8d3d71ae-ca00-4c07-943b-3980ae0ab0c5::j_id46:text" rich:highlightedclass="dr-tree-i-hl rich-tree-node-highlighted" rich:selectedclass="dr-tree-i-sel rich-tree-node-selected">ord 1//&lt;![CDATA[ Richfaces.onAvailable('', function() { Richfaces.componentControl.attachEvent('#', 'oncontextmenu', '#modulMenuForm\\:contextMenu', 'show', function() { return {}; }, false); });//]]&gt;<tr id="modulMenuForm:tree:587f1b0b-b8f3-4ff6-b0c2-5a20e04adecf::j_id76:mainRow" onclick=" " rich:defaultdndparams="{&quot;marker&quot;:&quot;&lt;img src=\&quot;/omnipublish/images/Omnipublish/16x16/application/photo_scenery.png\&quot; /&gt;&quot;,&quot;label&quot;:&quot;pb_omnipublish&quot;}"><td class="dr-tree-h-ic rich-tree-node-icon-leaf dr-tree-h-ic-line-clp" id="modulMenuForm:tree:587f1b0b-b8f3-4ff6-b0c2-5a20e04adecf::j_id76:icon" rich:ajaxselectedlistener="ajax_selected_listener_flag" rich:draggableoptions="{'parameters':{'dragSourceId':'modulMenuForm:tree:587f1b0b-b8f3-4ff6-b0c2-5a20e04adecf::j_id76','modulMenuForm:tree:587f1b0b-b8f3-4ff6-b0c2-5a20e04adecf::j_id76':'modulMenuForm:tree:587f1b0b-b8f3-4ff6-b0c2-5a20e04adecf::j_id76'} ,'dragIndicator':'modulMenuForm:indicator1','dragType':'image'} " rich:dropzoneoptions="{'acceptedTypes':['folder','document','layout','article','image'] ,'ondrop':'function(event){setTimeout(\'omniRefresh()\', 2000);;return true;}'} " rich:oncontextmenu="Richfaces.componentControl.performOperation(event,'#modulMenuForm\\:contextMenu','show',{},false)"><td class="dr-tree-h-text rich-tree-node-text rich-tree-node" id="modulMenuForm:tree:587f1b0b-b8f3-4ff6-b0c2-5a20e04adecf::j_id76:text" rich:highlightedclass="dr-tree-i-hl rich-tree-node-highlighted" rich:selectedclass="dr-tree-i-sel rich-tree-node-selected">pb_omnipublish//&lt;![CDATA[ Richfaces.onAvailable('', function() { Richfaces.componentControl.attachEvent('#', 'oncontextmenu', '#modulMenuForm\\:contextMenu', 'show', function() { return {}; }, false); });//]]&gt;(function() { var tree = new Tree("modulMenuForm:tree", "modulMenuForm:tree:input", "ajax", { onselect: "", onexpand: "", oncollapse: "", oncontextmenu: "" }, function(event) { A4J.AJAX.Submit('_viewRoot','modulMenuForm',event,{'parameters':{'modulMenuForm:tree:selectedNode':event.selectedNode} ,'actionUrl':'/omnipublish/pages/asset/index.jsf','similarityGroupingId':'modulMenuForm:tree'} ); return false; }, {'showConnectingLines':true} ); tree.drop = function(event,drag){var options = {'parameters':{'modulMenuForm:tree':'modulMenuForm:tree'} ,'actionUrl':'/omnipublish/pages/asset/index.jsf','similarityGroupingId':'modulMenuForm:tree'} ;options.parameters['dropTargetId'] = 'modulMenuForm:tree';Object.extend(options.parameters, drag.getParameters());var dzOptions = this.getDropzoneOptions(); if (dzOptions.ondrop) { if (!dzOptions.ondrop.call(this, event)) return; };A4J.AJAX.Submit('_viewRoot','modulMenuForm',event,options);}; }(

                  • 6. Re: <rich:tree> reRender does not work after drag&drop opera
                    Samuel Chervinski Newbie

                    Hi, Ilja,
                    a4j:log seems to be too big for posting in forum: I see only a part of them. So I have sent You a full text per email.