You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/11/16 09:32:16 UTC

svn commit: r1410250 - in /isis/trunk/framework: core/commons/src/main/java/org/apache/isis/core/commons/lang/ core/commons/src/test/java/org/apache/isis/core/commons/lang/ viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector...

Author: danhaywood
Date: Fri Nov 16 08:32:15 2012
New Revision: 1410250

URL: http://svn.apache.org/viewvc?rev=1410250&view=rev
Log:
ISIS-232: adding a class for aech of the list selectors

.. so that they can be styled.

Added:
    isis/trunk/framework/core/commons/src/test/java/org/apache/isis/core/commons/lang/StringUtils_toLowerDashed.java
Modified:
    isis/trunk/framework/core/commons/src/main/java/org/apache/isis/core/commons/lang/StringUtils.java
    isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.java

Modified: isis/trunk/framework/core/commons/src/main/java/org/apache/isis/core/commons/lang/StringUtils.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/commons/src/main/java/org/apache/isis/core/commons/lang/StringUtils.java?rev=1410250&r1=1410249&r2=1410250&view=diff
==============================================================================
--- isis/trunk/framework/core/commons/src/main/java/org/apache/isis/core/commons/lang/StringUtils.java (original)
+++ isis/trunk/framework/core/commons/src/main/java/org/apache/isis/core/commons/lang/StringUtils.java Fri Nov 16 08:32:15 2012
@@ -120,6 +120,10 @@ public final class StringUtils {
         return b.toString();
     }
 
+    public static String toLowerDashed(String name) {
+        return name.toLowerCase().replaceAll("\\s+", "-");
+    }
+
     public static String pascal(final String name) {
         return capitalize(camel(name));
     }

Added: isis/trunk/framework/core/commons/src/test/java/org/apache/isis/core/commons/lang/StringUtils_toLowerDashed.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/commons/src/test/java/org/apache/isis/core/commons/lang/StringUtils_toLowerDashed.java?rev=1410250&view=auto
==============================================================================
--- isis/trunk/framework/core/commons/src/test/java/org/apache/isis/core/commons/lang/StringUtils_toLowerDashed.java (added)
+++ isis/trunk/framework/core/commons/src/test/java/org/apache/isis/core/commons/lang/StringUtils_toLowerDashed.java Fri Nov 16 08:32:15 2012
@@ -0,0 +1,36 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.core.commons.lang;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Test;
+
+public class StringUtils_toLowerDashed {
+
+    @Test
+    public void toLowerDashed() {
+        assertThat(StringUtils.toLowerDashed("An Upper Case"), is("an-upper-case"));
+        assertThat(StringUtils.toLowerDashed("An   Upper   Case"), is("an-upper-case"));
+        assertThat(StringUtils.toLowerDashed("An\nUpper\tCase"), is("an-upper-case"));
+    }
+
+}

Modified: isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.java?rev=1410250&r1=1410249&r2=1410250&view=diff
==============================================================================
--- isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.java (original)
+++ isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.java Fri Nov 16 08:32:15 2012
@@ -31,6 +31,7 @@ import com.google.common.collect.Lists;
 
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
@@ -41,13 +42,16 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 
 import org.apache.isis.applib.annotation.Resolve.Type;
+import org.apache.isis.core.commons.lang.StringUtils;
 import org.apache.isis.core.metamodel.facets.members.resolve.ResolveFacet;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
+import org.apache.isis.viewer.wicket.model.util.Strings;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.components.collectioncontents.unresolved.CollectionContentsAsUnresolvedPanelFactory;
 import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
 
 public abstract class LinksSelectorPanelAbstract<T extends IModel<?>> extends PanelAbstract<T> {
 
@@ -110,7 +114,10 @@ public abstract class LinksSelectorPanel
                                 }
                             };
                             
-                    link.add(new Label(ID_VIEW_TITLE, nameFor(componentFactory)));
+                    String name = nameFor(componentFactory);
+                    Label viewTitleLabel = new Label(ID_VIEW_TITLE, name);
+                    viewTitleLabel.add(new CssClassAppender(StringUtils.toLowerDashed(name)));
+                    link.add(viewTitleLabel);
                     item.add(link);
                     LinksSelectorPanelAbstract<T> selectorPanel = LinksSelectorPanelAbstract.this;
                     link.setEnabled(selectorPanel.selectedComponentFactory != componentFactory);