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/09/20 13:10:47 UTC
svn commit: r1387971 - in /incubator/isis/trunk/framework/viewer/wicket:
wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/
wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/
wicket-ui/src/main/java/org/apa...
Author: danhaywood
Date: Thu Sep 20 11:10:46 2012
New Revision: 1387971
URL: http://svn.apache.org/viewvc?rev=1387971&view=rev
Log:
ISIS-232: change value choices to also use Select2 widget.
Added:
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.css
- copied, changed from r1387970, incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.css
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.html
- copied, changed from r1387970, incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.html
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.java
- copied, changed from r1387970, incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.java
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesComponentFactory.java
- copied, changed from r1387970, incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanelFactory.java
Removed:
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.css
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.html
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.java
Modified:
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/ComponentFactoryRegistrar.java
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ComponentFactoryScalarAbstract.java
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanelFactory.java
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLink.java
incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/ComponentFactoryRegistrar.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/ComponentFactoryRegistrar.java?rev=1387971&r1=1387970&r2=1387971&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/ComponentFactoryRegistrar.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/ComponentFactoryRegistrar.java Thu Sep 20 11:10:46 2012
@@ -23,6 +23,8 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.List;
+import javax.annotation.Nullable;
+
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
@@ -40,28 +42,44 @@ public interface ComponentFactoryRegistr
public static class ComponentFactoryList implements Iterable<ComponentFactory> {
private final List<ComponentFactory> componentFactories = Lists.newArrayList();
+
public void add(ComponentFactory componentFactory) {
componentFactories.add(componentFactory);
}
public void replace(final ComponentFactory replacementComponentFactory) {
- removeExistingthatMatch(replacementComponentFactory);
+ removeExisting(matching(replacementComponentFactory.getComponentType()));
+ add(replacementComponentFactory);
+ }
+
+ public void replace(final Class<? extends ComponentFactory> toReplace, final ComponentFactory replacementComponentFactory) {
+ removeExisting(matching(toReplace));
add(replacementComponentFactory);
}
- private void removeExistingthatMatch(final ComponentFactory replacementComponentFactory) {
- final ComponentType componentType = replacementComponentFactory.getComponentType();
-
- final Collection<ComponentFactory> matching = Collections2.filter(componentFactories, new Predicate<ComponentFactory>() {
+ private void removeExisting(final Predicate<ComponentFactory> predicate) {
+ final Collection<ComponentFactory> matching = Collections2.filter(componentFactories, predicate);
+ componentFactories.removeAll(matching);
+ }
+
+ private static Predicate<ComponentFactory> matching(final ComponentType componentType) {
+ return new Predicate<ComponentFactory>() {
@Override
public boolean apply(ComponentFactory input) {
return input.getComponentType() == componentType;
}
- });
-
- componentFactories.removeAll(matching);
+ };
}
-
+
+ private static Predicate<ComponentFactory> matching(final Class<? extends ComponentFactory> toReplace) {
+ return new Predicate<ComponentFactory>() {
+ @Override
+ public boolean apply(ComponentFactory input) {
+ return toReplace.isAssignableFrom(input.getClass());
+ }
+ };
+ }
+
@Override
public Iterator<ComponentFactory> iterator() {
return componentFactories.iterator();
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ComponentFactoryScalarAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ComponentFactoryScalarAbstract.java?rev=1387971&r1=1387970&r2=1387971&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ComponentFactoryScalarAbstract.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ComponentFactoryScalarAbstract.java Thu Sep 20 11:10:46 2012
@@ -19,16 +19,12 @@
package org.apache.isis.viewer.wicket.ui.components.scalars;
-import java.util.List;
-
import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract;
import org.apache.isis.viewer.wicket.ui.ComponentType;
-import org.apache.isis.viewer.wicket.ui.components.widgets.valuechoices.ValueChoicesPanel;
public abstract class ComponentFactoryScalarAbstract extends ComponentFactoryAbstract {
@@ -47,23 +43,14 @@ public abstract class ComponentFactorySc
return ApplicationAdvice.DOES_NOT_APPLY;
}
final ScalarModel scalarModel = (ScalarModel) model;
- return appliesIf(scalarModel.isScalarTypeAnyOf(scalarTypes));
+ final boolean hasNoChoices = scalarModel.getChoices().isEmpty();
+ return appliesIf(hasNoChoices && scalarModel.isScalarTypeAnyOf(scalarTypes));
}
- int choiceCount = 0;
-
@Override
public final Component createComponent(final String id, final IModel<?> model) {
final ScalarModel scalarModel = (ScalarModel) model;
- // return createComponent(id, scalarModel);
-
- // TODO: This is where the ValueChoicesPanel panel gets created.
- final List<ObjectAdapter> choices = scalarModel.getChoices();
- if (choices.size() > 0) {
- return new ValueChoicesPanel(id, scalarModel);
- } else {
- return createComponent(id, scalarModel);
- }
+ return createComponent(id, scalarModel);
}
protected abstract Component createComponent(String id, ScalarModel scalarModel);
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java?rev=1387971&r1=1387970&r2=1387971&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java Thu Sep 20 11:10:46 2012
@@ -156,7 +156,7 @@ public abstract class ScalarPanelAbstrac
private void addCssForMetaModel() {
final String cssForMetaModel = getModel().getLongName();
if (cssForMetaModel != null) {
- add(new AttributeAppender("class", true, Model.of(cssForMetaModel), " "));
+ add(new AttributeAppender("class", Model.of(cssForMetaModel), " "));
}
}
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanelFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanelFactory.java?rev=1387971&r1=1387970&r2=1387971&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanelFactory.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanelFactory.java Thu Sep 20 11:10:46 2012
@@ -44,8 +44,8 @@ public class ValuePanelFactory extends C
return ApplicationAdvice.DOES_NOT_APPLY;
}
final ScalarModel scalarModel = (ScalarModel) model;
- final ValueFacet facet = scalarModel.getTypeOfSpecification().getFacet(ValueFacet.class);
- return appliesIf(facet != null);
+ final ValueFacet valueFacet = scalarModel.getTypeOfSpecification().getFacet(ValueFacet.class);
+ return appliesIf(scalarModel.getChoices().isEmpty() && valueFacet != null);
}
@Override
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLink.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLink.java?rev=1387971&r1=1387970&r2=1387971&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLink.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLink.java Thu Sep 20 11:10:46 2012
@@ -338,12 +338,20 @@ public class EntityLink extends FormComp
@Override
public void onClick() {
getEntityModel().toggleDetails();
+ doSyncEntityDetailsOnClick();
}
+
};
addOrReplace(entityDetailsLink);
entityDetailsLink.add(new Label(ID_ENTITY_DETAILS_LINK_LABEL, buildEntityDetailsModel()));
}
+ /**
+ * Optional hook
+ */
+ protected void doSyncEntityDetailsOnClick() {
+ }
+
private void syncEntityClearLinksWithInput(final ObjectAdapter adapter) {
if (adapter == null) {
permanentlyHide(ID_ENTITY_CLEAR_LINK);
Copied: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.css (from r1387970, incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.css)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.css?p2=incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.css&p1=incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.css&r1=1387970&r2=1387971&rev=1387971&view=diff
==============================================================================
(empty)
Copied: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.html (from r1387970, incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.html)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.html?p2=incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.html&p1=incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.html&r1=1387970&r2=1387971&rev=1387971&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.html (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.html Thu Sep 20 11:10:46 2012
@@ -22,7 +22,11 @@
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"
xml:lang="en"
lang="en">
- <head></head>
+ <head>
+ <wicket:link>
+ <link href="ValueChoices.css" rel="stylesheet" type="text/css"/>
+ </wicket:link>
+ </head>
<body>
<wicket:panel>
<div class="string scalarPanel">
Copied: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.java (from r1387970, incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.java?p2=incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.java&p1=incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.java&r1=1387970&r2=1387971&rev=1387971&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoices.java Thu Sep 20 11:10:46 2012
@@ -41,8 +41,8 @@ import org.apache.isis.viewer.wicket.ui.
/**
* Initial skeleton - trying to add support for value choices.
*/
-public class ValueChoicesPanel extends ScalarPanelAbstract { // ScalarPanelTextFieldAbstract
- private static final Logger LOG = Logger.getLogger(ValueChoicesPanel.class);
+public class ValueChoices extends ScalarPanelAbstract { // ScalarPanelTextFieldAbstract
+ private static final Logger LOG = Logger.getLogger(ValueChoices.class);
private static final long serialVersionUID = 1L;
@@ -57,7 +57,7 @@ public class ValueChoicesPanel extends S
private FormComponent<ObjectAdapterMemento> valueField;
private ObjectAdapterMemento pending;
- public ValueChoicesPanel(final String id, final ScalarModel scalarModel) {
+ public ValueChoices(final String id, final ScalarModel scalarModel) {
super(id, scalarModel);
pending = scalarModel.getObjectAdapterMemento();
}
@@ -95,7 +95,7 @@ public class ValueChoicesPanel extends S
if (LOG.isDebugEnabled()) {
LOG.debug("TextField: pending is null");
}
- final ObjectAdapter adapter = ValueChoicesPanel.this.getModelValue();
+ final ObjectAdapter adapter = ValueChoices.this.getModelValue();
return ObjectAdapterMemento.createOrNull(adapter);
}
@@ -138,7 +138,7 @@ public class ValueChoicesPanel extends S
final String describedAs = getModel().getDescribedAs();
if(describedAs != null) {
- labelIfRegular.add(new AttributeModifier("title", true, Model.of(describedAs)));
+ labelIfRegular.add(new AttributeModifier("title", Model.of(describedAs)));
}
final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(valueField));
Copied: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesComponentFactory.java (from r1387970, incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanelFactory.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesComponentFactory.java?p2=incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesComponentFactory.java&p1=incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanelFactory.java&r1=1387970&r2=1387971&rev=1387971&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanelFactory.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesComponentFactory.java Thu Sep 20 11:10:46 2012
@@ -1,57 +1,53 @@
-/*
- * 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.viewer.wicket.ui.components.scalars.value;
-
-import org.apache.wicket.Component;
-import org.apache.wicket.model.IModel;
-
-import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.ComponentFactory;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ComponentFactoryScalarAbstract;
-
-/**
- * {@link ComponentFactory} for the {@link ValuePanel}.
- */
-public class ValuePanelFactory extends ComponentFactoryScalarAbstract {
-
- private static final long serialVersionUID = 1L;
-
- public ValuePanelFactory() {
- super(); // not asking the supertype to validate types, so can just pass in nothing here.
- }
-
- @Override
- public ApplicationAdvice appliesTo(final IModel<?> model) {
- if (!(model instanceof ScalarModel)) {
- return ApplicationAdvice.DOES_NOT_APPLY;
- }
- final ScalarModel scalarModel = (ScalarModel) model;
- final ValueFacet facet = scalarModel.getTypeOfSpecification().getFacet(ValueFacet.class);
- return appliesIf(facet != null);
- }
-
- @Override
- public Component createComponent(final String id, final ScalarModel scalarModel) {
- return new ValuePanel(id, scalarModel);
- }
-
-
-}
+/*
+ * 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.viewer.wicket.ui.components.widgets.valuechoices;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.model.IModel;
+
+import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract;
+import org.apache.isis.viewer.wicket.ui.ComponentType;
+
+public class ValueChoicesComponentFactory extends ComponentFactoryAbstract {
+
+ private static final long serialVersionUID = 1L;
+
+ public ValueChoicesComponentFactory() {
+ super(ComponentType.SCALAR_NAME_AND_VALUE);
+ }
+
+ @Override
+ public ApplicationAdvice appliesTo(final IModel<?> model) {
+ if (!(model instanceof ScalarModel)) {
+ return ApplicationAdvice.DOES_NOT_APPLY;
+ }
+ final ScalarModel scalarModel = (ScalarModel) model;
+ final boolean hasChoices = !scalarModel.getChoices().isEmpty();
+ return appliesIf(hasChoices);
+ }
+
+ @Override
+ public final Component createComponent(final String id, final IModel<?> model) {
+ final ScalarModel scalarModel = (ScalarModel) model;
+ return new ValueChoices(id, scalarModel);
+ }
+
+}
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css?rev=1387971&r1=1387970&r2=1387971&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css Thu Sep 20 11:10:46 2012
@@ -315,17 +315,59 @@ div.scalarPanel {
}
-div.wicket-aa {
- border: thin;
- border-color: #00477F;
+
+/********************* Select2 component styling *****************************/
+
+.entityPage .select2-container {
+ width: 200px;
}
-.wicket-aa li {
- background-color: white;
+.entityPage .select2-container .select2-choice {
+ padding: 0 0 0 0px;
}
-.wicket-aa .selected {
- background-color: #00477F;
- color: white;
+
+.entityPage .select2-container .select2-choice {
+ -webkit-border-radius: 0px;
+ -moz-border-radius: 0px;
+ border-radius: 0px;
+
+ height: 20px;
+ line-height: 20px;
}
+
+.entityPage .select2-container.select2-drop-above .select2-choice
+{
+ -webkit-border-radius:0px;
+ -moz-border-radius:0px;
+ border-radius:0px;
+}
+
+.entityPage .select2-drop {
+ -webkit-border-radius:0px;
+ -moz-border-radius:0px;
+ border-radius:0px;
+}
+
+.entityPage .select2-drop.select2-drop-above {
+ -webkit-border-radius:0px;
+ -moz-border-radius:0px;
+ border-radius:0px;
+}
+
+.entityPage .select2-container .select2-choice div {
+ -webkit-border-radius:0px;
+ -moz-border-radius:0px;
+ border-radius:0px;
+ background: #EBEBE4;
+}
+
+.entityPage .select2-container.select2-container-disabled .select2-choice {
+ background-color: #EBEBE4;
+ border: 1px solid #AAA;
+}
+
+.entityPage .select2-container a {
+ font-weight: normal;
+}
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java?rev=1387971&r1=1387970&r2=1387971&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java Thu Sep 20 11:10:46 2012
@@ -77,6 +77,7 @@ import org.apache.isis.viewer.wicket.ui.
import org.apache.isis.viewer.wicket.ui.components.voidreturn.VoidReturnPanelFactory;
import org.apache.isis.viewer.wicket.ui.components.welcome.WelcomePanelFactory;
import org.apache.isis.viewer.wicket.ui.components.widgets.entitylink.EntityLinkFactory;
+import org.apache.isis.viewer.wicket.ui.components.widgets.valuechoices.ValueChoicesComponentFactory;
/**
* Default implementation of {@link ComponentFactoryRegistrar} that registers a
@@ -197,8 +198,8 @@ public class ComponentFactoryRegistrarDe
componentFactories.add(new StringPanelFactory());
- // componentFactories.add(new JavaAwtImagePanelFactory()); //
// work-in-progress
+ // componentFactories.add(new JavaAwtImagePanelFactory());
componentFactories.add(new JavaUtilDatePanelFactory());
componentFactories.add(new JavaSqlDatePanelFactory());
componentFactories.add(new JavaSqlTimePanelFactory());
@@ -218,6 +219,9 @@ public class ComponentFactoryRegistrarDe
componentFactories.add(new JodaLocalDatePanelFactory());
componentFactories.add(new ValuePanelFactory());
+
+ // or for choices
+ componentFactories.add(new ValueChoicesComponentFactory());
}
protected void addComponentFactoriesForEntityLink(final ComponentFactoryList componentFactories) {