ItemSearchCreatePane schließt das Fenster jetzt selbsttätig bzw. leitet automatisch zur Bearbeitenseite weiter. Ob das
Fenster nach dem Anlegen eines neuen Items geschlossen wird oder zur Bearbeitenmaske weitergeleitet werden kann jetzt durch eine boolsche Variable bestimmt werden. git-svn-id: https://svn.libreccm.org/ccm/trunk@1782 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
19cd652bbf
commit
a8cd3bac81
|
|
@ -62,11 +62,13 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener,
|
|||
private final SingleSelectionModel m_model;
|
||||
private final FolderSelectionModel m_folderSel; // To support legacy UI code
|
||||
private String defaultFolder;
|
||||
private boolean editAfterCreate = true;
|
||||
private final CreationSelector m_creator;
|
||||
private final ContentItemRequestLocal m_contentItem = new ContentItemRequestLocal() {
|
||||
};
|
||||
private final Link m_selectCloseLink;
|
||||
private final Link m_selectEditLink;
|
||||
//private final Link m_selectCloseLink;
|
||||
//private final Link m_selectEditLink;
|
||||
private final Link m_fallBackLink;
|
||||
private final SegmentedPanel m_segPanel;
|
||||
private final Segment m_creationSeg;
|
||||
private final Segment m_newItemSeg;
|
||||
|
|
@ -119,8 +121,8 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener,
|
|||
m_segPanel.add(m_creationSeg);
|
||||
add(m_segPanel);
|
||||
|
||||
m_selectCloseLink = new Link(
|
||||
(String) GlobalizationUtil.globalize("cms.ui.search.create.select_close").localize(),
|
||||
m_fallBackLink = new Link(
|
||||
(String) GlobalizationUtil.globalize("cms.ui.search.create.fallback").localize(),
|
||||
new PrintListener() {
|
||||
|
||||
public void prepare(final PrintEvent event) {
|
||||
|
|
@ -139,63 +141,167 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener,
|
|||
final String searchWidget = (String) state.getValue(new StringParameter(SEARCHWIDGET_PARAM));
|
||||
final String publishWidget = (String) state.getValue(new StringParameter(PUBLISHWIDGET_PARAM));
|
||||
|
||||
target.setOnClick(String.format("window.opener.document.%s.value=\"%s\";"
|
||||
+ "window.opener.document.%s.value=\"%s\";"
|
||||
+ "window.opener.document.%s.value=\"%s\";"
|
||||
+ "self.close();"
|
||||
+ "return false;",
|
||||
widget,
|
||||
item.getID().toString(),
|
||||
searchWidget,
|
||||
title,
|
||||
publishWidget,
|
||||
Boolean.TRUE.toString()));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
m_selectEditLink = new Link((String) GlobalizationUtil.globalize("cms.ui.search.create.select_edit").localize(),
|
||||
new PrintListener() {
|
||||
|
||||
public void prepare(final PrintEvent event) {
|
||||
final Link target = (Link) event.getTarget();
|
||||
final PageState state = event.getPageState();
|
||||
|
||||
final ContentItem item = m_contentItem.getContentItem(state);
|
||||
final String title;
|
||||
if (item instanceof ContentPage) {
|
||||
title = ((ContentPage) item).getTitle();
|
||||
} else {
|
||||
title = item.getName();
|
||||
}
|
||||
|
||||
|
||||
final String widget = (String) state.getValue(new StringParameter(WIDGET_PARAM));
|
||||
final String searchWidget = (String) state.getValue(new StringParameter(SEARCHWIDGET_PARAM));
|
||||
final String publishWidget = (String) state.getValue(new StringParameter(PUBLISHWIDGET_PARAM));
|
||||
final String scriptAction;
|
||||
if (editAfterCreate) {
|
||||
((Label) target.getChild()).setLabel((String) GlobalizationUtil.globalize(
|
||||
"cms.ui.search.create.select_edit").localize());
|
||||
|
||||
final ContentSection section = item.getContentSection();
|
||||
final String nodeURL = section.getPath() + "/";
|
||||
final String linkTarget = ContentItemPage.getItemURL(nodeURL, item.getID(),
|
||||
ContentItemPage.AUTHORING_TAB, true);
|
||||
target.setTarget(linkTarget);
|
||||
scriptAction = "";
|
||||
} else {
|
||||
((Label) target.getChild()).setLabel((String) GlobalizationUtil.globalize(
|
||||
"cms.ui.search.create.select_close").localize());
|
||||
scriptAction = "self.close();\n"
|
||||
+ "return false;";
|
||||
}
|
||||
|
||||
target.setOnClick(String.format("window.opener.document.%s.value=\"%s\";"
|
||||
+ "window.opener.document.%s.value=\"%s\";"
|
||||
+ "window.opener.document.%s.value=\"%s\";",
|
||||
+ "window.opener.document.%s.value=\"%s\";"
|
||||
+ "%s",
|
||||
widget,
|
||||
item.getID().toString(),
|
||||
searchWidget,
|
||||
title,
|
||||
publishWidget,
|
||||
Boolean.TRUE.toString()));
|
||||
|
||||
Boolean.TRUE.toString(),
|
||||
scriptAction));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// m_selectCloseLink = new Link(
|
||||
// (String) GlobalizationUtil.globalize("cms.ui.search.create.select_close").localize(),
|
||||
// new PrintListener() {
|
||||
//
|
||||
// public void prepare(final PrintEvent event) {
|
||||
// final Link target = (Link) event.getTarget();
|
||||
// final PageState state = event.getPageState();
|
||||
//
|
||||
// final ContentItem item = m_contentItem.getContentItem(state);
|
||||
// final String title;
|
||||
// if (item instanceof ContentPage) {
|
||||
// title = ((ContentPage) item).getTitle();
|
||||
// } else {
|
||||
// title = item.getName();
|
||||
// }
|
||||
//
|
||||
// final String widget = (String) state.getValue(new StringParameter(WIDGET_PARAM));
|
||||
// final String searchWidget = (String) state.getValue(new StringParameter(SEARCHWIDGET_PARAM));
|
||||
// final String publishWidget = (String) state.getValue(new StringParameter(PUBLISHWIDGET_PARAM));
|
||||
//
|
||||
// target.setOnClick(String.format("window.opener.document.%s.value=\"%s\";"
|
||||
// + "window.opener.document.%s.value=\"%s\";"
|
||||
// + "window.opener.document.%s.value=\"%s\";"
|
||||
// + "self.close();"
|
||||
// + "return false;",
|
||||
// widget,
|
||||
// item.getID().toString(),
|
||||
// searchWidget,
|
||||
// title,
|
||||
// publishWidget,
|
||||
// Boolean.TRUE.toString()));
|
||||
// }
|
||||
//
|
||||
// });
|
||||
//
|
||||
// m_selectEditLink = new Link((String) GlobalizationUtil.globalize("cms.ui.search.create.select_edit").localize(),
|
||||
// new PrintListener() {
|
||||
//
|
||||
// public void prepare(final PrintEvent event) {
|
||||
// final Link target = (Link) event.getTarget();
|
||||
// final PageState state = event.getPageState();
|
||||
//
|
||||
// final ContentItem item = m_contentItem.getContentItem(state);
|
||||
// final String title;
|
||||
// if (item instanceof ContentPage) {
|
||||
// title = ((ContentPage) item).getTitle();
|
||||
// } else {
|
||||
// title = item.getName();
|
||||
// }
|
||||
//
|
||||
//
|
||||
// final String widget = (String) state.getValue(new StringParameter(WIDGET_PARAM));
|
||||
// final String searchWidget = (String) state.getValue(new StringParameter(SEARCHWIDGET_PARAM));
|
||||
// final String publishWidget = (String) state.getValue(new StringParameter(PUBLISHWIDGET_PARAM));
|
||||
//
|
||||
// final ContentSection section = item.getContentSection();
|
||||
// final String nodeURL = section.getPath() + "/";
|
||||
// final String linkTarget = ContentItemPage.getItemURL(nodeURL, item.getID(),
|
||||
// ContentItemPage.AUTHORING_TAB, true);
|
||||
// target.setTarget(linkTarget);
|
||||
// target.setOnClick(String.format("window.opener.document.%s.value=\"%s\";"
|
||||
// + "window.opener.document.%s.value=\"%s\";"
|
||||
// + "window.opener.document.%s.value=\"%s\";",
|
||||
// widget,
|
||||
// item.getID().toString(),
|
||||
// searchWidget,
|
||||
// title,
|
||||
// publishWidget,
|
||||
// Boolean.TRUE.toString()));
|
||||
//
|
||||
// }
|
||||
//
|
||||
// });
|
||||
|
||||
final BoxPanel linkPanel = new BoxPanel(BoxPanel.VERTICAL);
|
||||
linkPanel.add(m_selectCloseLink);
|
||||
linkPanel.add(m_selectEditLink);
|
||||
final Label jsLabel = new Label("", false);
|
||||
jsLabel.addPrintListener(new PrintListener() {
|
||||
|
||||
public void prepare(final PrintEvent event) {
|
||||
final Label target = (Label) event.getTarget();
|
||||
final PageState state = event.getPageState();
|
||||
|
||||
final ContentItem item = m_contentItem.getContentItem(state);
|
||||
final String title;
|
||||
if (item instanceof ContentPage) {
|
||||
title = ((ContentPage) item).getTitle();
|
||||
} else {
|
||||
title = item.getName();
|
||||
}
|
||||
|
||||
final String widget = (String) state.getValue(new StringParameter(WIDGET_PARAM));
|
||||
final String searchWidget = (String) state.getValue(new StringParameter(SEARCHWIDGET_PARAM));
|
||||
final String publishWidget = (String) state.getValue(new StringParameter(PUBLISHWIDGET_PARAM));
|
||||
|
||||
final String scriptAction;
|
||||
if (editAfterCreate) {
|
||||
final ContentSection section = item.getContentSection();
|
||||
final String nodeURL = section.getPath() + "/";
|
||||
final String linkTarget = ContentItemPage.getItemURL(nodeURL, item.getID(),
|
||||
ContentItemPage.AUTHORING_TAB, true);
|
||||
scriptAction = String.format("window.location.href = \"/ccm/%s\";", linkTarget);
|
||||
} else {
|
||||
scriptAction = "self.close();";
|
||||
}
|
||||
|
||||
target.setLabel(String.format("<script type=\"text/javascript\">"
|
||||
+ "<!--\n"
|
||||
+ "window.opener.document.%s.value=\"%s\";\n"
|
||||
+ "window.opener.document.%s.value=\"%s\";\n"
|
||||
+ "window.opener.document.%s.value=\"%s\";\n"
|
||||
+ "%s\n"
|
||||
+ "-->\n"
|
||||
+ "</script>",
|
||||
widget,
|
||||
item.getID().toString(),
|
||||
searchWidget,
|
||||
title,
|
||||
publishWidget,
|
||||
Boolean.TRUE.toString(),
|
||||
scriptAction));
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
linkPanel.add(jsLabel);
|
||||
//linkPanel.add(m_selectCloseLink);
|
||||
//linkPanel.add(m_selectEditLink);
|
||||
linkPanel.add(m_fallBackLink);
|
||||
m_linkSeg.add(linkPanel);
|
||||
|
||||
m_segPanel.add(m_linkSeg);
|
||||
|
|
@ -260,4 +366,12 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormInitListener,
|
|||
this.defaultFolder = defaultFolder;
|
||||
}
|
||||
|
||||
protected boolean getEditAfterCreate() {
|
||||
return editAfterCreate;
|
||||
}
|
||||
|
||||
protected void setEditAfterCreate(final boolean editAfterCreate) {
|
||||
this.editAfterCreate = editAfterCreate;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,6 +87,7 @@ public class ItemSearchPage extends CMSPage {
|
|||
addGlobalStateParam(new StringParameter("defaultCreationFolder"));
|
||||
addGlobalStateParam(new IntegerParameter("lastTab"));
|
||||
addGlobalStateParam(new BooleanParameter("disableCreatePane"));
|
||||
addGlobalStateParam(new BooleanParameter("editAfterCreate"));
|
||||
m_sectionId = new BigDecimalParameter(CONTENT_SECTION);
|
||||
addGlobalStateParam(m_sectionId);
|
||||
|
||||
|
|
@ -135,6 +136,10 @@ public class ItemSearchPage extends CMSPage {
|
|||
m_create.setDefaultFolder((String) state.getValue(new StringParameter("defaultCreationFolder")));
|
||||
}
|
||||
|
||||
if (state.getValue(new BooleanParameter("editAfterCreate")) != null) {
|
||||
m_create.setEditAfterCreate((Boolean) state.getValue(new BooleanParameter("editAfterCreate")));
|
||||
}
|
||||
|
||||
// if (m_lastTab != m_tabbedPane.getSelectedIndex(state)) {
|
||||
// m_lastTab = m_tabbedPane.getSelectedIndex(state);
|
||||
// return;
|
||||
|
|
@ -340,4 +345,8 @@ public class ItemSearchPage extends CMSPage {
|
|||
m_create.setDefaultFolder(folder.getOID().toString());
|
||||
}
|
||||
|
||||
protected void setEditAfterCreate(final boolean editAfterCreate) {
|
||||
m_create.setEditAfterCreate(editAfterCreate);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@ public class ItemSearchWidget extends FormSection
|
|||
private ParameterModel m_model;
|
||||
private ParameterModel m_searchModel;
|
||||
private boolean disableCreatePane = false;
|
||||
private boolean editAfterCreate = true;
|
||||
private String searchLabelText = (String) GlobalizationUtil.globalize("cms.ui.item_search.search").localize();
|
||||
private String selectedLabelText = (String) GlobalizationUtil.globalize("cms.ui.item_search.selected").localize();
|
||||
public static final String BEBOP_ITEM_SEARCH = "bebop:itemSearch";
|
||||
|
|
@ -277,6 +278,7 @@ public class ItemSearchWidget extends FormSection
|
|||
}
|
||||
params.setParameter("publishWidget", formName + ".elements['" + m_publish.getName() + "']");
|
||||
params.setParameter("disableCreatePane", Boolean.toString(disableCreatePane));
|
||||
params.setParameter("editAfterCreate", Boolean.toString(editAfterCreate));
|
||||
|
||||
if (m_defaultCreationFolder != null) {
|
||||
params.setParameter("defaultCreationFolder", m_defaultCreationFolder.getOID().toString());
|
||||
|
|
@ -533,4 +535,8 @@ public class ItemSearchWidget extends FormSection
|
|||
public void setDisableCreatePane(final boolean disableCreatePane) {
|
||||
this.disableCreatePane = disableCreatePane;
|
||||
}
|
||||
|
||||
public void setEditAfterCreate(final boolean editAfterCreate) {
|
||||
this.editAfterCreate = editAfterCreate;
|
||||
}
|
||||
}
|
||||
|
|
@ -86,6 +86,7 @@ public class PublicationAuthorAddForm
|
|||
if ((config.getDefaultAuthorsFolder() != null) && (config.getDefaultAuthorsFolder() != 0)) {
|
||||
m_itemSearch.setDefaultCreationFolder(new Folder(new BigDecimal(config.getDefaultAuthorsFolder())));
|
||||
}
|
||||
//m_itemSearch.setEditAfterCreate(true);
|
||||
add(m_itemSearch);
|
||||
|
||||
selectedAuthorLabel = new Label("");
|
||||
|
|
|
|||
Loading…
Reference in New Issue