CCM NG/ccm-cms: Some work for the AssetFolderBrowser
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4656 8810af33-2d31-482b-a856-94f89814c4df
Former-commit-id: f06ba48a5f
pull/2/head
parent
4fa468a0d7
commit
5d9fe9de2b
|
|
@ -22,7 +22,6 @@ import com.arsdigita.bebop.Component;
|
|||
import com.arsdigita.bebop.ControlLink;
|
||||
import com.arsdigita.bebop.Image;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.bebop.Link;
|
||||
import com.arsdigita.bebop.Page;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.Paginator;
|
||||
|
|
@ -37,19 +36,18 @@ import com.arsdigita.bebop.table.DefaultTableCellRenderer;
|
|||
import com.arsdigita.bebop.table.DefaultTableColumnModel;
|
||||
import com.arsdigita.bebop.table.TableCellRenderer;
|
||||
import com.arsdigita.bebop.table.TableColumn;
|
||||
import com.arsdigita.bebop.table.TableHeader;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.ui.folder.FolderBrowser;
|
||||
import com.arsdigita.cms.ui.folder.FolderSelectionModel;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
import java.util.Date;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
|
||||
import org.librecms.CmsConstants;
|
||||
import org.librecms.contentsection.ContentSection;
|
||||
import org.librecms.contentsection.ContentSectionManager;
|
||||
import org.librecms.dispatcher.ItemResolver;
|
||||
|
||||
/**
|
||||
* Browse folder and assets.
|
||||
|
|
@ -72,9 +70,9 @@ public class AssetFolderBrowser extends Table {
|
|||
private TableColumn nameColumn;
|
||||
private TableColumn deleteColumn;
|
||||
private final StringParameter sortTypeParameter = new StringParameter(
|
||||
"sortType");
|
||||
"sortType");
|
||||
private final StringParameter sortDirectionParameter = new StringParameter(
|
||||
"sortDir");
|
||||
"sortDir");
|
||||
|
||||
private Paginator paginator;
|
||||
private long folderSize;
|
||||
|
|
@ -90,6 +88,7 @@ public class AssetFolderBrowser extends Table {
|
|||
}
|
||||
|
||||
private void initComponents() {
|
||||
|
||||
setModelBuilder(new AssetFolderBrowserTableModelBuilder());
|
||||
|
||||
final GlobalizedMessage[] headers = {
|
||||
|
|
@ -102,25 +101,28 @@ public class AssetFolderBrowser extends Table {
|
|||
|
||||
setModelBuilder(new AssetFolderBrowserTableModelBuilder());
|
||||
setColumnModel(new DefaultTableColumnModel(headers));
|
||||
setHeader(new TableHeader(getColumnModel()));
|
||||
setClassAttr("dataTable");
|
||||
|
||||
getHeader().setDefaultRenderer(new DefaultTableCellRenderer());
|
||||
getHeader().setDefaultRenderer(
|
||||
new com.arsdigita.cms.ui.util.DefaultTableCellRenderer());
|
||||
|
||||
nameColumn = getColumn(AssetFolderBrowserTableModel.COL_NAME);
|
||||
nameColumn.setCellRenderer(new NameCellRenderer());
|
||||
nameColumn.setHeaderRenderer(new HeaderCellRenderer(SORT_KEY_NAME));
|
||||
|
||||
|
||||
getColumn(AssetFolderBrowserTableModel.COL_CREATION_DATE)
|
||||
.setHeaderRenderer(
|
||||
new HeaderCellRenderer(SORT_KEY_CREATION_DATE));
|
||||
.setHeaderRenderer(
|
||||
new HeaderCellRenderer(SORT_KEY_CREATION_DATE));
|
||||
getColumn(AssetFolderBrowserTableModel.COL_CREATION_DATE)
|
||||
.setCellRenderer(new DateCellRenderer());
|
||||
.setCellRenderer(new DateCellRenderer());
|
||||
|
||||
getColumn(AssetFolderBrowserTableModel.COL_LAST_MODIFIED)
|
||||
.setHeaderRenderer(new HeaderCellRenderer(
|
||||
SORT_KEY_LAST_MODIFIED_DATE));
|
||||
.setHeaderRenderer(new HeaderCellRenderer(
|
||||
SORT_KEY_LAST_MODIFIED_DATE));
|
||||
getColumn(AssetFolderBrowserTableModel.COL_LAST_MODIFIED)
|
||||
.setCellRenderer(new DateCellRenderer());
|
||||
.setCellRenderer(new DateCellRenderer());
|
||||
|
||||
deleteColumn = getColumn(AssetFolderBrowserTableModel.COL_DELETEABLE);
|
||||
deleteColumn.setCellRenderer(new ActionCellRenderer());
|
||||
|
|
@ -198,7 +200,7 @@ public class AssetFolderBrowser extends Table {
|
|||
final String sortKey = (String) state.getValue(sortTypeParameter);
|
||||
final boolean isCurrentKey = sortKey.equals(key);
|
||||
final String currentSortDirection = (String) state
|
||||
.getValue(sortDirectionParameter);
|
||||
.getValue(sortDirectionParameter);
|
||||
final String imageUrlStub;
|
||||
|
||||
if (SORT_ACTION_UP.equals(currentSortDirection)) {
|
||||
|
|
@ -215,7 +217,7 @@ public class AssetFolderBrowser extends Table {
|
|||
// by default, everything sorts "up" unless it
|
||||
// is the current key and it is already pointing up
|
||||
if (SORT_ACTION_UP.equals(currentSortDirection)
|
||||
&& isCurrentKey) {
|
||||
&& isCurrentKey) {
|
||||
sortDirectionAction = SORT_ACTION_DOWN;
|
||||
} else {
|
||||
sortDirectionAction = SORT_ACTION_UP;
|
||||
|
|
@ -266,14 +268,14 @@ public class AssetFolderBrowser extends Table {
|
|||
|
||||
final String name = (String) value;
|
||||
final ContentSection section = CMS.getContext().
|
||||
getContentSection();
|
||||
getContentSection();
|
||||
final ContentSectionManager sectionManager = CdiUtil.
|
||||
createCdiUtil()
|
||||
.findBean(ContentSectionManager.class);
|
||||
createCdiUtil()
|
||||
.findBean(ContentSectionManager.class);
|
||||
|
||||
final boolean isFolder = ((AssetFolderBrowserTableModel) table
|
||||
.getTableModel(state))
|
||||
.isFolder();
|
||||
.isFolder();
|
||||
final long objectId = getObjectId(key);
|
||||
|
||||
if (isFolder) {
|
||||
|
|
@ -337,12 +339,13 @@ public class AssetFolderBrowser extends Table {
|
|||
return new Label(" ", false);
|
||||
} else {
|
||||
final ControlLink link = new ControlLink(
|
||||
new Label(new GlobalizedMessage("cms.ui.folder.delete",
|
||||
CmsConstants.CMS_BUNDLE)));
|
||||
new Label(
|
||||
new GlobalizedMessage("cms.ui.folder.delete",
|
||||
CmsConstants.CMS_FOLDER_BUNDLE)));
|
||||
link.setConfirmation(
|
||||
new GlobalizedMessage(
|
||||
"cms.ui.folder.delete_confirmation",
|
||||
CmsConstants.CMS_BUNDLE));
|
||||
new GlobalizedMessage(
|
||||
"cms.ui.folder.delete_confirmation",
|
||||
CmsConstants.CMS_FOLDER_BUNDLE));
|
||||
return link;
|
||||
}
|
||||
}
|
||||
|
|
@ -364,7 +367,7 @@ public class AssetFolderBrowser extends Table {
|
|||
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final AssetFolderBrowserController controller = cdiUtil.findBean(
|
||||
AssetFolderBrowserController.class);
|
||||
AssetFolderBrowserController.class);
|
||||
controller.deleteObject((String) event.getRowKey());
|
||||
|
||||
((Table) event.getSource()).clearSelection(state);
|
||||
|
|
@ -385,8 +388,8 @@ public class AssetFolderBrowser extends Table {
|
|||
|
||||
clearSelection(state);
|
||||
getFolderSelectionModel().setSelectedKey(
|
||||
state,
|
||||
getObjectId(event.getRowKey()));
|
||||
state,
|
||||
getObjectId(event.getRowKey()));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
package com.arsdigita.cms.ui.assets;
|
||||
|
||||
import com.arsdigita.bebop.ActionLink;
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.bebop.Form;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.bebop.Page;
|
||||
|
|
@ -28,6 +30,7 @@ import com.arsdigita.bebop.Resettable;
|
|||
import com.arsdigita.bebop.SegmentedPanel;
|
||||
import com.arsdigita.bebop.SimpleContainer;
|
||||
import com.arsdigita.bebop.SingleSelectionModel;
|
||||
import com.arsdigita.bebop.Table;
|
||||
import com.arsdigita.bebop.Text;
|
||||
import com.arsdigita.bebop.event.ActionEvent;
|
||||
import com.arsdigita.bebop.event.ActionListener;
|
||||
|
|
@ -36,6 +39,14 @@ import com.arsdigita.bebop.event.FormSectionEvent;
|
|||
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||
import com.arsdigita.bebop.event.PrintEvent;
|
||||
import com.arsdigita.bebop.event.PrintListener;
|
||||
import com.arsdigita.bebop.form.CheckboxGroup;
|
||||
import com.arsdigita.bebop.form.Option;
|
||||
import com.arsdigita.bebop.form.SingleSelect;
|
||||
import com.arsdigita.bebop.form.Submit;
|
||||
import com.arsdigita.bebop.parameters.ArrayParameter;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.bebop.table.TableCellRenderer;
|
||||
import com.arsdigita.bebop.table.TableColumn;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.ui.BaseTree;
|
||||
import com.arsdigita.cms.ui.folder.FolderCreateForm;
|
||||
|
|
@ -55,8 +66,11 @@ import org.librecms.contentsection.ContentSection;
|
|||
import org.librecms.contentsection.Folder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.arsdigita.cms.CMSConfig;
|
||||
|
||||
import javax.swing.CellRendererPane;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
|
|
@ -64,13 +78,21 @@ import org.arsdigita.cms.CMSConfig;
|
|||
public class AssetPane extends LayoutPanel implements Resettable {
|
||||
|
||||
public static final String SET_FOLDER = "set_folder";
|
||||
private static final String SOURCES_PARAM = "sources";
|
||||
private static final String ACTION_PARAM = "action";
|
||||
private static final String MOVE = "Move";
|
||||
private static final String COPY = "Copy";
|
||||
|
||||
private final BaseTree tree;
|
||||
private final SingleSelectionModel selectionModel;
|
||||
private final FolderSelectionModel folderSelectionModel;
|
||||
private final FolderRequestLocal folderRequestLocal;
|
||||
private final ArrayParameter sourcesParameter = new ArrayParameter(
|
||||
new StringParameter(SOURCES_PARAM));
|
||||
|
||||
private AssetFolderBrowser folderBrowser;
|
||||
private SingleSelect actionSelect;
|
||||
private Submit actionSubmit;
|
||||
|
||||
private SegmentedPanel.Segment browseSegment;
|
||||
private SegmentedPanel.Segment currentFolderSegment;
|
||||
|
|
@ -85,8 +107,8 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
@Override
|
||||
protected Folder getRootFolder(final PageState state) {
|
||||
final ContentSection section = CMS
|
||||
.getContext()
|
||||
.getContentSection();
|
||||
.getContext()
|
||||
.getContentSection();
|
||||
return section.getRootAssetsFolder();
|
||||
}
|
||||
|
||||
|
|
@ -97,8 +119,8 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
@Override
|
||||
protected Long getRootFolderID(final PageState state) {
|
||||
final ContentSection section = CMS
|
||||
.getContext()
|
||||
.getContentSection();
|
||||
.getContext()
|
||||
.getContentSection();
|
||||
return section.getRootAssetsFolder().getObjectId();
|
||||
}
|
||||
|
||||
|
|
@ -109,8 +131,8 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
setLeft(left);
|
||||
|
||||
final Label heading = new Label(
|
||||
new GlobalizedMessage("cms.ui.folder_browser",
|
||||
CmsConstants.CMS_BUNDLE));
|
||||
new GlobalizedMessage("cms.ui.folder_browser",
|
||||
CmsConstants.CMS_BUNDLE));
|
||||
left.addSegment(heading, tree);
|
||||
|
||||
// final Text placeholder = new Text("Placeholder");
|
||||
|
|
@ -123,13 +145,69 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
final SegmentedPanel panel = new SegmentedPanel();
|
||||
|
||||
browseSegment = panel.addSegment();
|
||||
final Form browserForm = new Form("assetFolderBrowser",
|
||||
new SimpleContainer());
|
||||
browserForm.setMethod(Form.GET);
|
||||
folderBrowser = new AssetFolderBrowser(folderSelectionModel);
|
||||
final Paginator paginator = new Paginator(
|
||||
new AssetFolderBrowserPaginationModelBuilder(folderBrowser),
|
||||
CMSConfig.getConfig().getFolderBrowseListSize());
|
||||
new AssetFolderBrowserPaginationModelBuilder(folderBrowser),
|
||||
CMSConfig.getConfig().getFolderBrowseListSize());
|
||||
folderBrowser.setPaginator(paginator);
|
||||
browseSegment.add(paginator);
|
||||
browseSegment.add(folderBrowser);
|
||||
|
||||
final CheckboxGroup checkboxGroup = new CheckboxGroup(sourcesParameter);
|
||||
browserForm.add(checkboxGroup);
|
||||
final TableColumn checkboxCol = new TableColumn();
|
||||
checkboxCol.setHeaderValue(
|
||||
new GlobalizedMessage("empty_text", CmsConstants.CMS_BUNDLE));
|
||||
checkboxCol.setCellRenderer(new TableCellRenderer() {
|
||||
|
||||
@Override
|
||||
public Component getComponent(final Table table,
|
||||
final PageState state,
|
||||
final Object value,
|
||||
final boolean isSelected,
|
||||
final Object key,
|
||||
final int row,
|
||||
final int column) {
|
||||
|
||||
final Option result = new Option(key.toString(),
|
||||
new Text(""));
|
||||
result.setGroup(checkboxGroup);
|
||||
return result;
|
||||
}
|
||||
|
||||
});
|
||||
folderBrowser.getColumnModel().add(0, checkboxCol);
|
||||
|
||||
browserForm.add(paginator);
|
||||
browserForm.add(folderBrowser);
|
||||
final SimpleContainer actionFormContainer = new SimpleContainer();
|
||||
actionFormContainer.add(new Label(
|
||||
new GlobalizedMessage(
|
||||
"cms.ui.folder.edit_selection",
|
||||
CmsConstants.CMS_FOLDER_BUNDLE)));
|
||||
actionSelect = new SingleSelect(ACTION_PARAM);
|
||||
actionSelect.addOption(
|
||||
new Option(COPY,
|
||||
new Label(new GlobalizedMessage(
|
||||
"cms.ui.folder.copy.action",
|
||||
CmsConstants.CMS_FOLDER_BUNDLE))));
|
||||
actionSelect.addOption(
|
||||
new Option(MOVE,
|
||||
new Label(new GlobalizedMessage(
|
||||
"cms.ui.folder.move.action",
|
||||
CmsConstants.CMS_FOLDER_BUNDLE))));
|
||||
actionFormContainer.add(actionSelect);
|
||||
actionSubmit = new Submit(
|
||||
"Go",
|
||||
new GlobalizedMessage("cms.ui.folder.go",
|
||||
CmsConstants.CMS_FOLDER_BUNDLE));
|
||||
actionFormContainer.add(actionSubmit);
|
||||
browserForm.add(actionFormContainer);
|
||||
|
||||
// browseSegment.add(paginator);
|
||||
// browseSegment.add(folderBrowser);
|
||||
browseSegment.add(browserForm);
|
||||
|
||||
currentFolderSegment = panel.addSegment();
|
||||
currentFolderSegment.addHeader(new Text("Current folder"));
|
||||
|
|
@ -142,13 +220,13 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
final Label target = (Label) event.getTarget();
|
||||
|
||||
final long selectedId = Long.parseLong(selectionModel
|
||||
.getSelectedKey(state).toString());
|
||||
.getSelectedKey(state).toString());
|
||||
final long currentFolderId = folderSelectionModel
|
||||
.getSelectedObject(state).getObjectId();
|
||||
.getSelectedObject(state).getObjectId();
|
||||
target.setLabel(String.format(
|
||||
"selectedId = %d; currentFolderId = %d",
|
||||
selectedId,
|
||||
currentFolderId));
|
||||
"selectedId = %d; currentFolderId = %d",
|
||||
selectedId,
|
||||
currentFolderId));
|
||||
}
|
||||
|
||||
});
|
||||
|
|
@ -161,19 +239,19 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
actionsSegment.add(actions);
|
||||
|
||||
final FolderCreateForm folderCreateForm = new FolderCreateForm(
|
||||
"fcreat", folderSelectionModel);
|
||||
"fcreat", folderSelectionModel);
|
||||
folderCreateForm.addSubmissionListener(new FormSubmissionListener() {
|
||||
|
||||
@Override
|
||||
public void submitted(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
throws FormProcessException {
|
||||
|
||||
final PageState state = event.getPageState();
|
||||
if (event.getSource() == folderCreateForm
|
||||
&& folderCreateForm.isCancelled(state)) {
|
||||
&& folderCreateForm.isCancelled(state)) {
|
||||
browseMode(state);
|
||||
throw new FormProcessException(new GlobalizedMessage(
|
||||
"cms.ui.cancelled", CmsConstants.CMS_BUNDLE));
|
||||
"cms.ui.cancelled", CmsConstants.CMS_BUNDLE));
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -183,7 +261,7 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
|
||||
@Override
|
||||
public void process(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
throws FormProcessException {
|
||||
|
||||
final PageState state = event.getPageState();
|
||||
final Object source = event.getSource();
|
||||
|
|
@ -194,24 +272,24 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
|
||||
});
|
||||
newFolderSegment = panel.addSegment(
|
||||
new Label(new GlobalizedMessage("cms.ui.new_folder",
|
||||
CmsConstants.CMS_BUNDLE)),
|
||||
folderCreateForm);
|
||||
new Label(new GlobalizedMessage("cms.ui.new_folder",
|
||||
CmsConstants.CMS_BUNDLE)),
|
||||
folderCreateForm);
|
||||
|
||||
final FolderEditorForm folderEditorForm = new FolderEditorForm(
|
||||
"fedit", folderSelectionModel);
|
||||
"fedit", folderSelectionModel);
|
||||
folderEditorForm.addSubmissionListener(new FormSubmissionListener() {
|
||||
|
||||
@Override
|
||||
public void submitted(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
throws FormProcessException {
|
||||
|
||||
final PageState state = event.getPageState();
|
||||
if (event.getSource() == folderEditorForm
|
||||
&& folderEditorForm.isCancelled(state)) {
|
||||
&& folderEditorForm.isCancelled(state)) {
|
||||
browseMode(state);
|
||||
throw new FormProcessException(new GlobalizedMessage(
|
||||
"cms.ui.cancelled", CmsConstants.CMS_BUNDLE));
|
||||
"cms.ui.cancelled", CmsConstants.CMS_BUNDLE));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -220,7 +298,7 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
|
||||
@Override
|
||||
public void process(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
throws FormProcessException {
|
||||
|
||||
final PageState state = event.getPageState();
|
||||
final Object source = event.getSource();
|
||||
|
|
@ -231,13 +309,13 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
|
||||
});
|
||||
editFolderSegment = panel.addSegment(
|
||||
new Label(new GlobalizedMessage("cms.ui.edit_folder",
|
||||
CmsConstants.CMS_BUNDLE)),
|
||||
folderEditorForm);
|
||||
new Label(new GlobalizedMessage("cms.ui.edit_folder",
|
||||
CmsConstants.CMS_BUNDLE)),
|
||||
folderEditorForm);
|
||||
|
||||
final ActionLink createFolderAction = new ActionLink(
|
||||
new Label(new GlobalizedMessage("cms.ui.new_folder",
|
||||
CmsConstants.CMS_BUNDLE)));
|
||||
new Label(new GlobalizedMessage("cms.ui.new_folder",
|
||||
CmsConstants.CMS_BUNDLE)));
|
||||
createFolderAction.addActionListener(new ActionListener() {
|
||||
|
||||
@Override
|
||||
|
|
@ -253,8 +331,8 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
actions.addAction(createFolderAction);
|
||||
|
||||
final ActionLink editFolderAction = new ActionLink(
|
||||
new Label(new GlobalizedMessage("cms.ui.edit_folder",
|
||||
CmsConstants.CMS_BUNDLE)));
|
||||
new Label(new GlobalizedMessage("cms.ui.edit_folder",
|
||||
CmsConstants.CMS_BUNDLE)));
|
||||
editFolderAction.addActionListener(new ActionListener() {
|
||||
|
||||
@Override
|
||||
|
|
@ -265,6 +343,7 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
editFolderMode(state);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
actions.addAction(editFolderAction);
|
||||
|
||||
|
|
@ -327,14 +406,14 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
|
||||
if (!selectionModel.isSelected(state)) {
|
||||
final String folder = state
|
||||
.getRequest()
|
||||
.getParameter(SET_FOLDER);
|
||||
.getRequest()
|
||||
.getParameter(SET_FOLDER);
|
||||
|
||||
if (folder == null) {
|
||||
final Category root = CMS
|
||||
.getContext()
|
||||
.getContentSection()
|
||||
.getRootAssetsFolder();
|
||||
.getContext()
|
||||
.getContentSection()
|
||||
.getRootAssetsFolder();
|
||||
final Long folderId = root.getObjectId();
|
||||
|
||||
selectionModel.setSelectedKey(state, folderId);
|
||||
|
|
@ -354,18 +433,18 @@ public class AssetPane extends LayoutPanel implements Resettable {
|
|||
final PageState state = event.getPageState();
|
||||
|
||||
final Category root = CMS
|
||||
.getContext()
|
||||
.getContentSection()
|
||||
.getRootAssetsFolder();
|
||||
.getContext()
|
||||
.getContentSection()
|
||||
.getRootAssetsFolder();
|
||||
|
||||
if (!root.equals(folderRequestLocal.getFolder(state))) {
|
||||
// Expand the ancestor nodes of the currently
|
||||
// selected node.
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final FolderTreeModelController controller = cdiUtil.findBean(
|
||||
FolderTreeModelController.class);
|
||||
FolderTreeModelController.class);
|
||||
final List<Long> ancestorIds = controller.findAncestorIds(
|
||||
folderRequestLocal.getFolder(state));
|
||||
folderRequestLocal.getFolder(state));
|
||||
ancestorIds.forEach(id -> tree.expand(id.toString(), state));
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue