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();
browserForm = new Form("assetFolderBrowser",
new SimpleContainer());
new BoxPanel(BoxPanel.VERTICAL));
browserForm.setMethod(Form.GET);
folderBrowser = new AssetFolderBrowser(folderSelectionModel);
final Paginator paginator = new Paginator(
@ -653,19 +653,32 @@ public class AssetPane extends LayoutPanel implements Resettable {
final CategoryManager categoryManager = cdiUtil
.findBean(CategoryManager.class);
final String targetFolderPath;
if (targetFolderModel.getSelectedObject(state) == null) {
targetFolderPath = "";
} else {
targetFolderPath = categoryManager.getCategoryPath(
targetFolderModel.getSelectedObject(state));
}
if (isMove(state)) {
label.setLabel(new GlobalizedMessage(
"cms.ui.folder.move",
CmsConstants.CMS_FOLDER_BUNDLE,
new Object[]{numberOfItems,
categoryManager.getCategoryPath(folder)}));
new Object[]{
numberOfItems,
categoryManager.getCategoryPath(folder),
targetFolderPath
}));
} else if (isCopy(state)) {
label.setLabel(new GlobalizedMessage(
"cms.ui.folder.copy",
CMS_BUNDLE,
new Object[]{numberOfItems,
categoryManager.getCategoryPath(
folder)}));
new Object[]{
numberOfItems,
categoryManager.getCategoryPath(folder),
targetFolderPath
}));
}
}
@ -683,8 +696,8 @@ public class AssetPane extends LayoutPanel implements Resettable {
@Override
public void register(final Page page) {
super.register(page);
page.addComponentStateParam(this, targetFolderModel
.getStateParameter());
page.addComponentStateParam(this,
targetFolderModel.getStateParameter());
}
public void expose(final PageState state) {
@ -704,7 +717,8 @@ public class AssetPane extends LayoutPanel implements Resettable {
parents
.stream()
.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(
"Unknown state '%s' for '%s'.",
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

View File

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