CCM NG/ccm-cms: Some bugfixes for the AssetPane

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4658 8810af33-2d31-482b-a856-94f89814c4df

Former-commit-id: 5a9510928f
pull/2/head
jensp 2017-04-04 11:56:30 +00:00
parent 7d3829cb1d
commit a751d00349
2 changed files with 264 additions and 236 deletions

View File

@ -176,7 +176,7 @@ public class AssetPane extends LayoutPanel implements Resettable {
browseSegment = panel.addSegment(); browseSegment = panel.addSegment();
browserForm = new Form("assetFolderBrowser", browserForm = new Form("assetFolderBrowser",
new SimpleContainer()); new BoxPanel(BoxPanel.VERTICAL));
browserForm.setMethod(Form.GET); browserForm.setMethod(Form.GET);
folderBrowser = new AssetFolderBrowser(folderSelectionModel); folderBrowser = new AssetFolderBrowser(folderSelectionModel);
final Paginator paginator = new Paginator( final Paginator paginator = new Paginator(
@ -653,19 +653,32 @@ public class AssetPane extends LayoutPanel implements Resettable {
final CategoryManager categoryManager = cdiUtil final CategoryManager categoryManager = cdiUtil
.findBean(CategoryManager.class); .findBean(CategoryManager.class);
final String targetFolderPath;
if (targetFolderModel.getSelectedObject(state) == null) {
targetFolderPath = "";
} else {
targetFolderPath = categoryManager.getCategoryPath(
targetFolderModel.getSelectedObject(state));
}
if (isMove(state)) { if (isMove(state)) {
label.setLabel(new GlobalizedMessage( label.setLabel(new GlobalizedMessage(
"cms.ui.folder.move", "cms.ui.folder.move",
CmsConstants.CMS_FOLDER_BUNDLE, CmsConstants.CMS_FOLDER_BUNDLE,
new Object[]{numberOfItems, new Object[]{
categoryManager.getCategoryPath(folder)})); numberOfItems,
categoryManager.getCategoryPath(folder),
targetFolderPath
}));
} else if (isCopy(state)) { } else if (isCopy(state)) {
label.setLabel(new GlobalizedMessage( label.setLabel(new GlobalizedMessage(
"cms.ui.folder.copy", "cms.ui.folder.copy",
CMS_BUNDLE, CMS_BUNDLE,
new Object[]{numberOfItems, new Object[]{
categoryManager.getCategoryPath( numberOfItems,
folder)})); categoryManager.getCategoryPath(folder),
targetFolderPath
}));
} }
} }
@ -683,8 +696,8 @@ public class AssetPane extends LayoutPanel implements Resettable {
@Override @Override
public void register(final Page page) { public void register(final Page page) {
super.register(page); super.register(page);
page.addComponentStateParam(this, targetFolderModel page.addComponentStateParam(this,
.getStateParameter()); targetFolderModel.getStateParameter());
} }
public void expose(final PageState state) { public void expose(final PageState state) {
@ -704,7 +717,8 @@ public class AssetPane extends LayoutPanel implements Resettable {
parents parents
.stream() .stream()
.map(parent -> Long.toString(parent.getObjectId())) .map(parent -> Long.toString(parent.getObjectId()))
.forEach(folderId -> folderTree.expand(folderId, state)); .forEach(folderId -> folderTree.expand(folderId,
state));
} }
} }
} }
@ -895,7 +909,8 @@ public class AssetPane extends LayoutPanel implements Resettable {
throw new UnexpectedErrorException(String.format( throw new UnexpectedErrorException(String.format(
"Unknown state '%s' for '%s'.", "Unknown state '%s' for '%s'.",
movable, movable,
FolderManager.FolderIsMovable.class.getName())); FolderManager.FolderIsMovable.class.
getName()));
} }
} }
@ -969,7 +984,7 @@ public class AssetPane extends LayoutPanel implements Resettable {
} }
}); });
setSelectionModel(selectionModel); setSelectionModel(folderSelectionModel);
} }
@Override @Override

View File

@ -604,7 +604,8 @@ public class FolderManipulator extends SimpleContainer implements
throw new UnexpectedErrorException(String.format( throw new UnexpectedErrorException(String.format(
"Unknown state '%s' for '%s'.", "Unknown state '%s' for '%s'.",
movable, movable,
FolderManager.FolderIsMovable.class.getName())); FolderManager.FolderIsMovable.class.
getName()));
} }
} }
@ -749,21 +750,32 @@ public class FolderManipulator extends SimpleContainer implements
final CategoryManager categoryManager = cdiUtil. final CategoryManager categoryManager = cdiUtil.
findBean(CategoryManager.class); findBean(CategoryManager.class);
if (isMove(state)) { final String targetFolderPath;
if (targetModel.getSelectedObject(state) == null) {
targetFolderPath = "";
} else {
targetFolderPath = categoryManager.getCategoryPath(
targetModel.getSelectedObject(state));
}
if (isMove(state)) {
label.setLabel(new GlobalizedMessage( label.setLabel(new GlobalizedMessage(
"cms.ui.folder.move", "cms.ui.folder.move",
CmsConstants.CMS_FOLDER_BUNDLE, CmsConstants.CMS_FOLDER_BUNDLE,
new Object[]{numberOfItems, new Object[]{
categoryManager.getCategoryPath( numberOfItems,
folder)})); categoryManager.getCategoryPath(folder),
targetFolderPath
}));
} else if (isCopy(state)) { } else if (isCopy(state)) {
label.setLabel(new GlobalizedMessage( label.setLabel(new GlobalizedMessage(
"cms.ui.folder.copy", "cms.ui.folder.copy",
CMS_BUNDLE, CMS_BUNDLE,
new Object[]{numberOfItems, new Object[]{
categoryManager.getCategoryPath( numberOfItems,
folder)})); categoryManager.getCategoryPath(folder),
targetFolderPath
}));
} }
} }
@ -801,7 +813,8 @@ public class FolderManipulator extends SimpleContainer implements
parents parents
.stream() .stream()
.map(parent -> Long.toString(parent.getObjectId())) .map(parent -> Long.toString(parent.getObjectId()))
.forEach(folderId -> folderTree.expand(folderId, state)); .forEach(folderId -> folderTree.expand(folderId,
state));
} }
} }
} }