From 93b9a8388233251bb68d1ed9a18b25a3ca26d070 Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 22 Jan 2015 13:11:59 +0000 Subject: [PATCH] - Localisation for navigation quick links form - Foundry support for navigation quick links git-svn-id: https://svn.libreccm.org/ccm/trunk@3098 8810af33-2d31-482b-a856-94f89814c4df --- .../foundry-base/templates/default-layout.xml | 18 ++++ .../foundry-base/templates/nav-default.xml | 18 ++++ .../themes/foundry-base/texts/navigation.xml | 54 +++++++++++ ccm-core/web/themes/foundry/foundry/lib.xsl | 1 + .../foundry/foundry/lib/bebop/widget.xsl | 2 +- .../themes/foundry/foundry/lib/navigation.xsl | 28 ++++++ .../foundry/lib/navigation/quick-links.xsl | 92 +++++++++++++++++++ .../foundry/lib/template-tags/navigation.xsl | 43 +++++++++ .../themes/foundry/foundry/styles/admin.css | 7 +- .../foundry/foundry/texts/navigation.xml | 54 +++++++++++ .../web/themes/foundry/texts/navigation.xml | 49 ++++++++++ .../navigation/NavigationResources.properties | 6 ++ .../NavigationResources_de.properties | 6 ++ .../navigation/ui/admin/QuickLinkForm.java | 46 ++++++---- .../ccm-navigation/navigation/sci-default.jsp | 57 ++++++------ .../ccm-navigation/navigation/sci-welcome.jsp | 75 +++++++-------- 16 files changed, 473 insertions(+), 83 deletions(-) create mode 100644 ccm-core/web/themes/foundry-base/texts/navigation.xml create mode 100644 ccm-core/web/themes/foundry/foundry/lib/navigation.xsl create mode 100644 ccm-core/web/themes/foundry/foundry/lib/navigation/quick-links.xsl create mode 100644 ccm-core/web/themes/foundry/foundry/texts/navigation.xml create mode 100644 ccm-core/web/themes/foundry/texts/navigation.xml diff --git a/ccm-core/web/themes/foundry-base/templates/default-layout.xml b/ccm-core/web/themes/foundry-base/templates/default-layout.xml index 697806171..7cc0158e7 100644 --- a/ccm-core/web/themes/foundry-base/templates/default-layout.xml +++ b/ccm-core/web/themes/foundry-base/templates/default-layout.xml @@ -18,6 +18,24 @@ + + +

+ page/layout/nav-quicklinks +

+
+ +
+ + + +
+
+ +
+
+
+
diff --git a/ccm-core/web/themes/foundry-base/templates/nav-default.xml b/ccm-core/web/themes/foundry-base/templates/nav-default.xml index 624a56df7..d815189e5 100644 --- a/ccm-core/web/themes/foundry-base/templates/nav-default.xml +++ b/ccm-core/web/themes/foundry-base/templates/nav-default.xml @@ -29,6 +29,24 @@ + + +

+ page/layout/nav-quicklinks +

+
+ +
+ + + +
+
+ +
+
+
+
diff --git a/ccm-core/web/themes/foundry-base/texts/navigation.xml b/ccm-core/web/themes/foundry-base/texts/navigation.xml new file mode 100644 index 000000000..e01e83640 --- /dev/null +++ b/ccm-core/web/themes/foundry-base/texts/navigation.xml @@ -0,0 +1,54 @@ + + + + + Quick Links + Quick Links + + + + Titel + Title + + + + URL + URL + + + + Vererben? + Cascade? + + + + Beschreibung + Description + + + + Aktionen + Actions + + + + Ja + Yes + + + + Nein + No + + + + Bearbeiten + Edit + + + + Löschen + Delete + + + \ No newline at end of file diff --git a/ccm-core/web/themes/foundry/foundry/lib.xsl b/ccm-core/web/themes/foundry/foundry/lib.xsl index 43049f810..74812070d 100644 --- a/ccm-core/web/themes/foundry/foundry/lib.xsl +++ b/ccm-core/web/themes/foundry/foundry/lib.xsl @@ -25,6 +25,7 @@ + diff --git a/ccm-core/web/themes/foundry/foundry/lib/bebop/widget.xsl b/ccm-core/web/themes/foundry/foundry/lib/bebop/widget.xsl index 0fe08c9ec..850d6716c 100644 --- a/ccm-core/web/themes/foundry/foundry/lib/bebop/widget.xsl +++ b/ccm-core/web/themes/foundry/foundry/lib/bebop/widget.xsl @@ -50,7 +50,7 @@ - + diff --git a/ccm-core/web/themes/foundry/foundry/lib/navigation.xsl b/ccm-core/web/themes/foundry/foundry/lib/navigation.xsl new file mode 100644 index 000000000..57ccd5d2d --- /dev/null +++ b/ccm-core/web/themes/foundry/foundry/lib/navigation.xsl @@ -0,0 +1,28 @@ + + + + + + + + \ No newline at end of file diff --git a/ccm-core/web/themes/foundry/foundry/lib/navigation/quick-links.xsl b/ccm-core/web/themes/foundry/foundry/lib/navigation/quick-links.xsl new file mode 100644 index 000000000..03c537408 --- /dev/null +++ b/ccm-core/web/themes/foundry/foundry/lib/navigation/quick-links.xsl @@ -0,0 +1,92 @@ + + + + + + +

+ +

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + +
+
+ +
\ No newline at end of file diff --git a/ccm-core/web/themes/foundry/foundry/lib/template-tags/navigation.xsl b/ccm-core/web/themes/foundry/foundry/lib/template-tags/navigation.xsl index 1f226d9ad..8d8c215e8 100644 --- a/ccm-core/web/themes/foundry/foundry/lib/template-tags/navigation.xsl +++ b/ccm-core/web/themes/foundry/foundry/lib/template-tags/navigation.xsl @@ -451,4 +451,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ccm-core/web/themes/foundry/foundry/styles/admin.css b/ccm-core/web/themes/foundry/foundry/styles/admin.css index 8b346948a..cfd2f1b59 100644 --- a/ccm-core/web/themes/foundry/foundry/styles/admin.css +++ b/ccm-core/web/themes/foundry/foundry/styles/admin.css @@ -1750,9 +1750,14 @@ span.errors { font-weight: bold; } -Span.noErrors { +span.noErrors { color: #008B00; font-weight: bold; border: 1.5px solid #008B00; padding: 10px } + +span#quickLinksCascade { + display: block; +} + diff --git a/ccm-core/web/themes/foundry/foundry/texts/navigation.xml b/ccm-core/web/themes/foundry/foundry/texts/navigation.xml new file mode 100644 index 000000000..691177687 --- /dev/null +++ b/ccm-core/web/themes/foundry/foundry/texts/navigation.xml @@ -0,0 +1,54 @@ + + + + + Quick Links + Quick Links + + + + Titel + Title + + + + URL + URL + + + + Vererben? + Cascade? + + + + Beschreibung + Description + + + + Aktionen + Actions + + + + Ja + Yes + + + + Nein + No + + + + Bearbeiten + Edit + + + + Löschen + Delete + + + \ No newline at end of file diff --git a/ccm-core/web/themes/foundry/texts/navigation.xml b/ccm-core/web/themes/foundry/texts/navigation.xml new file mode 100644 index 000000000..fae4a1b3b --- /dev/null +++ b/ccm-core/web/themes/foundry/texts/navigation.xml @@ -0,0 +1,49 @@ + + + + + Quick Links + Quick Links + + + + Titel + Title + + + + URL + URL + + + + Vererben? + Cascade? + + + + Beschreibung + Description + + + + Aktionen + Actions + + + + Ja + Yes + + + + Bearbeiten + Edit + + + + Nein + No + + + \ No newline at end of file diff --git a/ccm-navigation/src/com/arsdigita/navigation/NavigationResources.properties b/ccm-navigation/src/com/arsdigita/navigation/NavigationResources.properties index 27318ba57..344d04bd0 100644 --- a/ccm-navigation/src/com/arsdigita/navigation/NavigationResources.properties +++ b/ccm-navigation/src/com/arsdigita/navigation/NavigationResources.properties @@ -6,3 +6,9 @@ ui.create.nav_title=Navigation Title ui.create.nav_default_domain=Default Terms Domain ui.create.nave_desc=Description ui.admin.instance_not_compatible_yet=The administration for instances of navigation is not yet compatible with the applications tab. Please use the link below. +ui.quick_link.title=Title +#Description +ui.quick_link.description=Description +ui.quick_link.url=URL +ui.quick_link.cascade_to_subcats=Cascade to subcategories +ui.quick_link.icon=Icon diff --git a/ccm-navigation/src/com/arsdigita/navigation/NavigationResources_de.properties b/ccm-navigation/src/com/arsdigita/navigation/NavigationResources_de.properties index 9d6168fa1..d29a6fdd7 100644 --- a/ccm-navigation/src/com/arsdigita/navigation/NavigationResources_de.properties +++ b/ccm-navigation/src/com/arsdigita/navigation/NavigationResources_de.properties @@ -6,3 +6,9 @@ ui.create.nav_title=Navigation Titel ui.create.nav_default_domain=Standard Terms Domain ui.create.nave_desc=Beschreibung ui.admin.instance_not_compatible_yet=Das Formular zum bearbeiten der instanzspezifischen Einstellungen von Navigation ist noch nicht mit dem Applications Tab kompatible. Bitte nutzen Sie den untenstehenden Link. +ui.quick_link.title=Titel +#Description +ui.quick_link.description=Beschreibung +ui.quick_link.url=URL +ui.quick_link.cascade_to_subcats=An Subkategorien vererben +ui.quick_link.icon=Icon diff --git a/ccm-navigation/src/com/arsdigita/navigation/ui/admin/QuickLinkForm.java b/ccm-navigation/src/com/arsdigita/navigation/ui/admin/QuickLinkForm.java index 89d31a6e5..4a77a612d 100755 --- a/ccm-navigation/src/com/arsdigita/navigation/ui/admin/QuickLinkForm.java +++ b/ccm-navigation/src/com/arsdigita/navigation/ui/admin/QuickLinkForm.java @@ -15,7 +15,6 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - package com.arsdigita.navigation.ui.admin; import com.arsdigita.bebop.Form; @@ -33,14 +32,15 @@ import com.arsdigita.bebop.event.FormProcessListener; import com.arsdigita.bebop.event.FormInitListener; import com.arsdigita.bebop.event.FormSubmissionListener; import com.arsdigita.bebop.FormProcessException; +import com.arsdigita.bebop.Label; import com.arsdigita.categorization.Category; import com.arsdigita.kernel.ui.ACSObjectSelectionModel; import com.arsdigita.navigation.Navigation; import com.arsdigita.navigation.QuickLink; import com.arsdigita.london.util.ui.parameters.URLParameter; import com.arsdigita.navigation.NavigationGlobalizationUtil; -import java.net.URL; +import java.net.URL; public class QuickLinkForm extends Form { @@ -59,8 +59,7 @@ public class QuickLinkForm extends Form { public QuickLinkForm(String name, ACSObjectSelectionModel cat, ACSObjectSelectionModel link) { - super(name, new SimpleContainer(Navigation.NAV_PREFIX + - ":quickLinkForm", + super(name, new SimpleContainer(Navigation.NAV_PREFIX + ":quickLinkForm", Navigation.NAV_NS)); setRedirecting(true); @@ -99,7 +98,6 @@ public class QuickLinkForm extends Form { m_url.setSize(50); m_url.addValidationListener(new NotNullValidationListener()); m_url.addValidationListener(new StringInRangeValidationListener(1, 300)); - m_url.setMetaDataAttribute("label", "URL"); m_url.setLabel(NavigationGlobalizationUtil.globalize("ui.quick_link.url")); add(m_url); @@ -107,18 +105,24 @@ public class QuickLinkForm extends Form { m_icon.setSize(50); m_icon.addValidationListener(new StringInRangeValidationListener(0, 300)); m_icon.setMetaDataAttribute("label", "Icon"); + m_icon.setLabel(NavigationGlobalizationUtil.globalize("ui.quick_link.icon")); add(m_icon); m_cascade = new CheckboxGroup("cascade"); - m_cascade.addOption(new Option(SELECTED, "cascade to subcategories")); - add(m_cascade); + m_cascade.setIdAttr("quickLinksCascade"); + m_cascade.setLabel(NavigationGlobalizationUtil.globalize("ui.quick_link.cascade_to_subcats")); + m_cascade.addOption(new Option(SELECTED, + new Label(NavigationGlobalizationUtil.globalize( + "ui.quick_link.cascade_to_subcats")))); + add(m_cascade); } private class LinkInitListener implements FormInitListener { + public void init(FormSectionEvent ev) throws FormProcessException { PageState state = ev.getPageState(); - QuickLink link = (QuickLink)m_link.getSelectedObject(state); + QuickLink link = (QuickLink) m_link.getSelectedObject(state); if (link == null) { m_title.setValue(state, null); @@ -139,9 +143,11 @@ public class QuickLinkForm extends Form { } } } + } private class LinkSubmissionListener implements FormSubmissionListener { + public void submitted(FormSectionEvent ev) throws FormProcessException { PageState state = ev.getPageState(); @@ -151,32 +157,36 @@ public class QuickLinkForm extends Form { throw new FormProcessException("cancelled"); } } + } private class LinkProcessListener implements FormProcessListener { + public void process(FormSectionEvent ev) throws FormProcessException { PageState state = ev.getPageState(); - QuickLink link = (QuickLink)m_link.getSelectedObject(state); + QuickLink link = (QuickLink) m_link.getSelectedObject(state); if (link == null) { - link = QuickLink.create((String)m_title.getValue(state), - (String)m_desc.getValue(state), - (URL)m_url.getValue(state), - (URL)m_icon.getValue(state), + link = QuickLink.create((String) m_title.getValue(state), + (String) m_desc.getValue(state), + (URL) m_url.getValue(state), + (URL) m_icon.getValue(state), m_cascade.getValue(state) != null); - Category cat = (Category)m_cat.getSelectedObject(state); + Category cat = (Category) m_cat.getSelectedObject(state); cat.addChild(link); } else { - link.setTitle((String)m_title.getValue(state)); - link.setDescription((String)m_desc.getValue(state)); - link.setURL((URL)m_url.getValue(state)); - link.setIcon((URL)m_icon.getValue(state)); + link.setTitle((String) m_title.getValue(state)); + link.setDescription((String) m_desc.getValue(state)); + link.setURL((URL) m_url.getValue(state)); + link.setIcon((URL) m_icon.getValue(state)); link.setCascade(m_cascade.getValue(state) != null); } fireCompletionEvent(state); } + } + } diff --git a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-default.jsp b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-default.jsp index 38fb5283b..5065a5bc0 100644 --- a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-default.jsp +++ b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-default.jsp @@ -1,36 +1,36 @@ + xmlns:jsp="http://java.sun.com/JSP/Page" + xmlns:define="/WEB-INF/bebop-define.tld" + xmlns:show="/WEB-INF/bebop-show.tld" + version="1.2"> - - - - - + + + + + - + long age = Navigation.getConfig().getIndexPageCacheLifetime(); if (age == 0) { DispatcherHelper.cacheDisable(response); } else { DispatcherHelper.cacheForWorld(response, (int)age); } - + - + - - - - - + + + + + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition()); ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer()); ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage"); @@ -51,11 +51,14 @@ ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "newsDate"); ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.caption"); ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.image.id"); - + - + - - + + + + diff --git a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-welcome.jsp b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-welcome.jsp index 29d1e577b..8a6630d63 100644 --- a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-welcome.jsp +++ b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-welcome.jsp @@ -1,38 +1,38 @@ + xmlns:jsp="http://java.sun.com/JSP/Page" + xmlns:define="/WEB-INF/bebop-define.tld" + xmlns:show="/WEB-INF/bebop-show.tld" + version="1.2"> - + - - - - - + + + + + - + long age = Navigation.getConfig().getIndexPageCacheLifetime(); if (age == 0) { DispatcherHelper.cacheDisable(response); } else { DispatcherHelper.cacheForWorld(response, (int)age); } - + - + - - - - - + + + + + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition()); ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer()); ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage"); @@ -53,10 +53,10 @@ ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "newsDate"); ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.caption"); ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.image.id"); - - - + + + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setDefinition(new CMSDataCollectionDefinition()); ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setRenderer(new CMSDataCollectionRenderer()); ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Event"); @@ -101,10 +101,10 @@ ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("endDate"); ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute( "imageAttachments.caption"); ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute( "imageAttachments.image.id"); - - - + + + ((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).setDefinition(new CMSDataCollectionDefinition()); ((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).setRenderer(new CMSDataCollectionRenderer()); ((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.NewsItem"); @@ -132,11 +132,14 @@ ((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute("newsDate"); ((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute( "imageAttachments.caption"); ((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute( "imageAttachments.image.id"); - + - + - - + + + +