CCM NG/ccm-cms: AssetForm localisation

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4666 8810af33-2d31-482b-a856-94f89814c4df
ccm-docs
jensp 2017-04-10 17:02:48 +00:00
parent 8e45bc0744
commit cd8e6c9b19
8 changed files with 279 additions and 257 deletions

View File

@ -50,6 +50,8 @@ import org.librecms.CmsConstants;
import org.librecms.contentsection.ContentSection; import org.librecms.contentsection.ContentSection;
import org.librecms.contentsection.ContentSectionManager; import org.librecms.contentsection.ContentSectionManager;
import static org.librecms.CmsConstants.*;
/** /**
* Browse folder and assets. * Browse folder and assets.
* *
@ -93,12 +95,18 @@ public class AssetFolderBrowser extends Table {
setModelBuilder(new AssetFolderBrowserTableModelBuilder()); setModelBuilder(new AssetFolderBrowserTableModelBuilder());
final GlobalizedMessage[] headers = { final GlobalizedMessage[] headers = {
globalize("cms.ui.folder.name"), new GlobalizedMessage("cms.ui.folder.name",
globalize("cms.ui.folder.title"), CMS_FOLDER_BUNDLE),
globalize("cms.ui.folder.type"), new GlobalizedMessage("cms.ui.folder.title",
globalize("cms.ui.folder.creation_date"), CMS_FOLDER_BUNDLE),
globalize("cms.ui.folder.last_modified"), new GlobalizedMessage("cms.ui.folder.type",
globalize("cms.ui.folder.action")}; CMS_FOLDER_BUNDLE),
new GlobalizedMessage("cms.ui.folder.creation_date",
CMS_FOLDER_BUNDLE),
new GlobalizedMessage("cms.ui.folder.last_modified",
CMS_FOLDER_BUNDLE),
new GlobalizedMessage("cms.ui.folder.action",
CMS_FOLDER_BUNDLE)};
setModelBuilder(new AssetFolderBrowserTableModelBuilder()); setModelBuilder(new AssetFolderBrowserTableModelBuilder());
setColumnModel(new DefaultTableColumnModel(headers)); setColumnModel(new DefaultTableColumnModel(headers));
@ -134,7 +142,8 @@ public class AssetFolderBrowser extends Table {
folderDeleter = new ItemDeleter(); folderDeleter = new ItemDeleter();
addTableActionListener(folderDeleter); addTableActionListener(folderDeleter);
setEmptyView(new Label(globalize("cms.ui.folder.no_assets"))); setEmptyView(new Label(new GlobalizedMessage("cms.ui.folder.no_assets",
CMS_FOLDER_BUNDLE)));
} }
@Override @Override
@ -173,16 +182,6 @@ public class AssetFolderBrowser extends Table {
return (String) state.getValue(sortDirectionParameter); return (String) state.getValue(sortDirectionParameter);
} }
/**
* Getting the GlobalizedMessage using a CMS Class targetBundle.
*
* @param key The resource key
*/
private GlobalizedMessage globalize(final String key) {
return new GlobalizedMessage(key, CmsConstants.CMS_FOLDER_BUNDLE);
}
private class HeaderCellRenderer extends DefaultTableCellRenderer { private class HeaderCellRenderer extends DefaultTableCellRenderer {
private final String headerKey; private final String headerKey;

View File

@ -98,8 +98,6 @@ class AssetFolderBrowserTableModel implements TableModel {
} else { } else {
return String.format("asset-%d", currentRow.getObjectId()); return String.format("asset-%d", currentRow.getObjectId());
} }
// return currentRow.getObjectId();
} }
public boolean isFolder() { public boolean isFolder() {

View File

@ -23,7 +23,6 @@ import com.arsdigita.bebop.ColumnPanel;
import com.arsdigita.bebop.Form; import com.arsdigita.bebop.Form;
import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.Page;
import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.SaveCancelSection; import com.arsdigita.bebop.SaveCancelSection;
import com.arsdigita.bebop.SingleSelectionModel; import com.arsdigita.bebop.SingleSelectionModel;
@ -38,7 +37,6 @@ import com.arsdigita.bebop.form.Option;
import com.arsdigita.bebop.form.SingleSelect; import com.arsdigita.bebop.form.SingleSelect;
import com.arsdigita.bebop.form.Submit; import com.arsdigita.bebop.form.Submit;
import com.arsdigita.bebop.form.TextField; import com.arsdigita.bebop.form.TextField;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.kernel.KernelConfig; import com.arsdigita.kernel.KernelConfig;
@ -71,7 +69,6 @@ public abstract class AssetForm extends Form implements FormInitListener,
private final AssetPane assetPane; private final AssetPane assetPane;
private final SingleSelectionModel<Long> selectionModel; private final SingleSelectionModel<Long> selectionModel;
// private final StringParameter selectedLocaleParameter;
private BoxPanel showLocalePanel; private BoxPanel showLocalePanel;
private SingleSelect showLocaleSelect; private SingleSelect showLocaleSelect;
@ -89,7 +86,6 @@ public abstract class AssetForm extends Form implements FormInitListener,
this.assetPane = assetPane; this.assetPane = assetPane;
selectionModel = assetPane.getSelectedAssetModel(); selectionModel = assetPane.getSelectedAssetModel();
// selectedLocaleParameter = new StringParameter("selected-locale");
initComponents(); initComponents();
} }
@ -106,11 +102,11 @@ public abstract class AssetForm extends Form implements FormInitListener,
final Label target = (Label) event.getTarget(); final Label target = (Label) event.getTarget();
if (selectedAsset.isPresent()) { if (selectedAsset.isPresent()) {
target.setLabel(new GlobalizedMessage( target.setLabel(new GlobalizedMessage(
"cms.ui.assest.show_locale", "cms.ui.asset.show_locale",
CmsConstants.CMS_BUNDLE)); CmsConstants.CMS_BUNDLE));
} else { } else {
target.setLabel(new GlobalizedMessage( target.setLabel(new GlobalizedMessage(
"cms.ui.assest.initial_locale", "cms.ui.asset.initial_locale",
CmsConstants.CMS_BUNDLE)); CmsConstants.CMS_BUNDLE));
} }
} }
@ -183,7 +179,7 @@ public abstract class AssetForm extends Form implements FormInitListener,
}; };
final Label addLocaleLabel = new Label( final Label addLocaleLabel = new Label(
new GlobalizedMessage("cms.ui.assest.add_locale", new GlobalizedMessage("cms.ui.asset.add_locale",
CmsConstants.CMS_BUNDLE)); CmsConstants.CMS_BUNDLE));
addLocaleSelect = new SingleSelect("add-locale-select"); addLocaleSelect = new SingleSelect("add-locale-select");
try { try {
@ -248,15 +244,6 @@ public abstract class AssetForm extends Form implements FormInitListener,
//Nothing here //Nothing here
} }
// @Override
// public void register(final Page page) {
// super.register(page);
//
// page.addComponentStateParam(this, selectedLocaleParameter);
//
// page.setVisibleDefault(showLocalePanel, true);
// page.setVisibleDefault(addLocalePanel, true);
// }
protected String getTitle(final PageState state) { protected String getTitle(final PageState state) {
return (String) title.getValue(state); return (String) title.getValue(state);
} }
@ -287,8 +274,6 @@ public abstract class AssetForm extends Form implements FormInitListener,
final Optional<Asset> selectedAsset = getSelectedAsset(state); final Optional<Asset> selectedAsset = getSelectedAsset(state);
if (selectedAsset.isPresent()) { if (selectedAsset.isPresent()) {
// showLocalePanel.setVisible(state, true);
// addLocalePanel.setVisible(state, true);
showLocaleSelect.setValue(state, showLocaleSelect.setValue(state,
KernelConfig KernelConfig
@ -307,8 +292,6 @@ public abstract class AssetForm extends Form implements FormInitListener,
.getConfig() .getConfig()
.getDefaultLocale() .getDefaultLocale()
.toString()); .toString());
// showLocalePanel.setVisible(state, false);
// addLocalePanel.setVisible(state, false);
} }
initForm(state, selectedAsset); initForm(state, selectedAsset);

View File

@ -502,6 +502,7 @@ public class AssetPane extends LayoutPanel implements Resettable {
actionsSegment.add(newAssetForm); actionsSegment.add(newAssetForm);
final MetaForm editAssetForm = new MetaForm("editAsset") { final MetaForm editAssetForm = new MetaForm("editAsset") {
@Override @Override
public Form buildForm(final PageState state) { public Form buildForm(final PageState state) {
@ -553,26 +554,44 @@ public class AssetPane extends LayoutPanel implements Resettable {
} }
} }
}; };
editAssetSegment = panel.addSegment(); editAssetSegment = panel.addSegment();
editAssetSegment.addHeader( editAssetSegment.addHeader(
new Label(new PrintListener() { new Label(new PrintListener() {
@Override @Override
public void prepare(final PrintEvent event) { public void prepare(final PrintEvent event) {
final PageState state = event.getPageState(); final PageState state = event.getPageState();
final Label target = (Label) event.getTarget(); final Label target = (Label) event.getTarget();
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
final AssetTypesManager typesManager = cdiUtil
.findBean(AssetTypesManager.class);
if (selectedAssetModel.isSelected(state)) { if (selectedAssetModel.isSelected(state)) {
target.setLabel(new GlobalizedMessage( target.setLabel(
new GlobalizedMessage(
"cms.ui.admin.assets.edit", "cms.ui.admin.assets.edit",
CmsConstants.CMS_BUNDLE)); CmsConstants.CMS_BUNDLE));
} else { } else {
final String assetType = (String) newAssetTypeSelect
.getValue(state);
final AssetTypeInfo typeInfo = typesManager
.getAssetTypeInfo(assetType);
final ResourceBundle bundle = ResourceBundle.getBundle(
typeInfo.getLabelBundle());
final String typeLabel = bundle
.getString(typeInfo.getLabelKey());
target.setLabel(new GlobalizedMessage( target.setLabel(new GlobalizedMessage(
"cms.ui.admin.assets.create", "cms.ui.admin.assets.create",
CmsConstants.CMS_BUNDLE)); CmsConstants.CMS_BUNDLE,
new Object[]{typeLabel}));
} }
} }
})); }));
editAssetSegment.add(editAssetForm); editAssetSegment.add(editAssetForm);

View File

@ -22,18 +22,14 @@ import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.form.TextArea; import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.bebop.form.TextField;
import com.arsdigita.cms.ui.assets.AssetForm; import com.arsdigita.cms.ui.assets.AssetForm;
import com.arsdigita.cms.ui.assets.AssetPane; import com.arsdigita.cms.ui.assets.AssetPane;
import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.kernel.KernelConfig;
import org.librecms.CmsConstants; import org.librecms.CmsConstants;
import org.librecms.assets.Bookmark;
import org.librecms.assets.LegalMetadata; import org.librecms.assets.LegalMetadata;
import org.librecms.contentsection.Asset; import org.librecms.contentsection.Asset;
import java.util.Locale;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;

View File

@ -249,6 +249,15 @@ cms.ui.folder.no_assets=No assets
cms.ui.assets.new=Create new asset cms.ui.assets.new=Create new asset
cms.ui.assets.new.create=Create asset cms.ui.assets.new.create=Create asset
cms.ui.asset.title=Title cms.ui.asset.title=Title
cms.ui.admin.assets.create=Create new asset cms.ui.admin.assets.create=Create new asset of type '{0}'
cms.ui.assets.bookmark.description=Description cms.ui.assets.bookmark.description=Description
cms.ui.assets.bookmark.url=URL cms.ui.assets.bookmark.url=URL
cms.ui.assets.bookmark.url.malformed=The provided URL is malformed.
cms.ui.assets.legalmetadata.rightsholder=Rights holder
cms.ui.assets.legalmetadata.rights=Rights
cms.ui.assets.legalmetadata.publisher=Publisher
cms.ui.assets.legalmetadata.creator=Creator
cms.ui.asset.show_locale=Show data for language
cms.ui.asset.initial_locale=Language
cms.ui.asset.add_locale=Add data for language
cms.ui.admin.assets.edit=Edit asset

View File

@ -248,6 +248,15 @@ cms.ui.folder.no_assets=Keine Medien oder Datens\u00e4tze vorhanden
cms.ui.assets.new=Neues Asset anlegen cms.ui.assets.new=Neues Asset anlegen
cms.ui.assets.new.create=Asset anlegen cms.ui.assets.new.create=Asset anlegen
cms.ui.asset.title=Titel cms.ui.asset.title=Titel
cms.ui.admin.assets.create=Neues Asset anlegen cms.ui.admin.assets.create=Neues Asset vom Typ '{0}' anlegen
cms.ui.assets.bookmark.description=Beschreibung cms.ui.assets.bookmark.description=Beschreibung
cms.ui.assets.bookmark.url=URL cms.ui.assets.bookmark.url=URL
cms.ui.assets.bookmark.url.malformed=Die angegebene URL ist nicht wohlgeformt.
cms.ui.assets.legalmetadata.rightsholder=Rechteinhaber
cms.ui.assets.legalmetadata.rights=Rechte
cms.ui.assets.legalmetadata.publisher=Publisher
cms.ui.assets.legalmetadata.creator=K\u00fcnstler
cms.ui.asset.show_locale=Zeige Daten f\u00fcr Sprache
cms.ui.asset.initial_locale=Sprache
cms.ui.asset.add_locale=Daten f\u00fcr folgende Sprache hinzuf\u00fcgen
cms.ui.admin.assets.edit=Asset bearbeiten

View File

@ -207,6 +207,15 @@ cms.ui.folder.no_assets=No assets
cms.ui.assets.new=Create new asset cms.ui.assets.new=Create new asset
cms.ui.assets.new.create=Create asset cms.ui.assets.new.create=Create asset
cms.ui.asset.title=Title cms.ui.asset.title=Title
cms.ui.admin.assets.create=Create new asset cms.ui.admin.assets.create=Create new asset of type '{0}'
cms.ui.assets.bookmark.description=Description cms.ui.assets.bookmark.description=Description
cms.ui.assets.bookmark.url=URL cms.ui.assets.bookmark.url=URL
cms.ui.assets.bookmark.url.malformed=The provided URL is malformed.
cms.ui.assets.legalmetadata.rightsholder=Right holder
cms.ui.assets.legalmetadata.rights=Rights
cms.ui.assets.legalmetadata.publisher=Publisher
cms.ui.assets.legalmetadata.creator=Creator
cms.ui.asset.show_locale=Show data for language
cms.ui.asset.initial_locale=Language
cms.ui.asset.add_locale=Add data for language
cms.ui.admin.assets.edit=Edit asset