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 2014/10/24 13:42:06 UTC
[03/10] git commit: ISIS-537 Further simplification of ScalarPanels'
markup. Use inheritance and fragments to reduce the number of the HTML files
to minimum
ISIS-537 Further simplification of ScalarPanels' markup. Use inheritance and fragments to reduce the number of the HTML files to minimum
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/3f305041
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/3f305041
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/3f305041
Branch: refs/heads/master
Commit: 3f3050414cdef080eb2fe57702d0e94d827e990a
Parents: 830154f
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Oct 23 16:33:31 2014 +0300
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Oct 24 12:30:52 2014 +0100
----------------------------------------------------------------------
.../entity/properties/EntityPropertiesForm.java | 9 ++++
.../components/scalars/ScalarPanelAbstract.html | 57 ++++++++++++++++++++
.../components/scalars/ScalarPanelAbstract.java | 36 ++++++++++++-
.../scalars/ScalarPanelTextFieldAbstract.html | 28 ++++++----
.../scalars/ScalarPanelTextFieldAbstract.java | 23 ++++----
.../ScalarPanelTextFieldDatePickerAbstract.html | 41 --------------
.../ScalarPanelTextFieldDatePickerAbstract.java | 16 ++++--
.../scalars/ScalarPanelTextFieldNumeric.java | 9 ++--
.../scalars/jodatime/JodaLocalDatePanel.html | 45 ----------------
.../scalars/primitive/BooleanPanel.html | 14 ++---
.../scalars/primitive/BooleanPanel.java | 16 ++----
.../components/scalars/primitive/BytePanel.java | 1 -
.../scalars/primitive/ShortPanel.java | 2 -
.../scalars/string/MultiLineStringPanel.java | 19 +++----
.../valuechoices/ValueChoicesSelect2Panel.html | 18 +++----
.../valuechoices/ValueChoicesSelect2Panel.java | 22 +++-----
.../wicket/ui/pages/bootstrap-overrides.css | 34 ++++++++++++
17 files changed, 217 insertions(+), 173 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
index c77fded..9598f6b 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
@@ -18,6 +18,8 @@
*/
package org.apache.isis.viewer.wicket.ui.components.entity.properties;
+import de.agilecoders.wicket.core.util.Attributes;
+
import java.util.List;
import java.util.Map;
import org.apache.wicket.Component;
@@ -26,6 +28,7 @@ import org.apache.wicket.Session;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
@@ -256,6 +259,12 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
return Filters.and(ObjectAssociation.Filters.PROPERTIES, ObjectAssociation.Filters.dynamicallyVisible(getAuthenticationSession(), adapter, where));
}
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+
+ Attributes.addClass(tag, "form-inline");
+ }
abstract class AjaxButtonWithOnError extends AjaxButton {
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
new file mode 100644
index 0000000..b0f1799
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:wicket="http://wicket.apache.org"
+ xml:lang="en"
+ lang="en">
+ <body>
+ <wicket:panel>
+ <div class="scalarNameAndValueComponentType" wicket:id="scalarTypeContainer">
+ <div class="form-group" wicket:id="scalarIfRegular">
+ <label wicket:id="scalarName" class="scalarName">[Label text]</label>
+ <span class="scalarValueWrapper">
+ <wicket:child/>
+ <span wicket:id="feedback" class="help-block"></span>
+ <span wicket:id="additionalLinks"></span>
+ </span>
+ </div>
+ <wicket:container wicket:id="scalarIfCompact"></wicket:container>
+ </div>
+
+ <wicket:fragment wicket:id="compactAsInputText">
+ <input type="text" class="form-control" wicket:id="scalarIfCompact"/>
+ </wicket:fragment>
+
+ <wicket:fragment wicket:id="compactAsInputCheckbox">
+ <input type="checkbox" class="form-control" wicket:id="scalarIfCompact"/>
+ </wicket:fragment>
+
+ <wicket:fragment wicket:id="compactAsLabel">
+ <label wicket:id="scalarIfCompact"/>
+ </wicket:fragment>
+
+ <wicket:fragment wicket:id="compactAsSpan">
+ <span wicket:id="scalarIfCompact"></span>
+ </wicket:fragment>
+
+ </wicket:panel>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index 05f8612..2fad9fb 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -34,6 +34,7 @@ import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.feedback.ComponentFeedbackMessageFilter;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.LabeledWebMarkupContainer;
+import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.Model;
import org.apache.isis.applib.annotation.Where;
@@ -63,10 +64,23 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> implements ScalarModelProvider {
private static final long serialVersionUID = 1L;
-
+
+ protected static final String ID_SCALAR_IF_REGULAR = "scalarIfRegular";
+ protected static final String ID_SCALAR_NAME = "scalarName";
+ protected static final String ID_SCALAR_VALUE = "scalarValue";
+
+ protected static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
+
private static final String ID_ADDITIONAL_LINKS = "additionalLinks";
private static final String ID_FEEDBACK = "feedback";
+ public enum CompactType {
+ INPUT_TEXT,
+ INPUT_CHECKBOX,
+ LABEL,
+ SPAN
+ }
+
public enum Rendering {
/**
* Does not show labels, eg for use in tables
@@ -128,6 +142,26 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
this.scalarModel = scalarModel;
}
+ protected Fragment getCompactFragment(CompactType type) {
+ Fragment compactFragment;
+ switch (type) {
+ case INPUT_TEXT:
+ compactFragment = new Fragment("scalarIfCompact", "compactAsInputText", ScalarPanelAbstract.this);
+ break;
+ case INPUT_CHECKBOX:
+ compactFragment = new Fragment("scalarIfCompact", "compactAsInputCheckbox", ScalarPanelAbstract.this);
+ break;
+ case LABEL:
+ compactFragment = new Fragment("scalarIfCompact", "compactAsLabel", ScalarPanelAbstract.this);
+ break;
+ case SPAN:
+ default:
+ compactFragment = new Fragment("scalarIfCompact", "compactAsSpan", ScalarPanelAbstract.this);
+ break;
+ }
+ return compactFragment;
+ }
+
protected Rendering getRendering() {
return Rendering.renderingFor(getModel().getRenderingHint());
}
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
index 4808f09..fba5b53 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
@@ -23,16 +23,24 @@
xml:lang="en"
lang="en">
<body>
- <wicket:panel>
- <div class="scalarNameAndValueComponentType" wicket:id="scalarTypeContainer">
- <div class="form-group" wicket:id="scalarIfRegular">
- <label wicket:id="scalarName" class="scalarName">[Label text]</label>
- <input type="text" name="scalarValue" class="form-control scalarValue" wicket:id="scalarValue" />
- <span wicket:id="feedback" class="help-block"></span>
- <span wicket:id="additionalLinks"></span>
+ <wicket:extend>
+ <wicket:container wicket:id="scalarValueContainer"/>
+
+ <wicket:fragment wicket:id="text">
+ <input type="text" name="scalarValue" class="form-control scalarValue" wicket:id="scalarValue" />
+ </wicket:fragment>
+
+ <wicket:fragment wicket:id="textarea">
+ <textarea name="scalarValue" class="form-control scalarValue" wicket:id="scalarValue"></textarea>
+ </wicket:fragment>
+
+ <wicket:fragment wicket:id="date">
+ <div class="input-group date">
+ <input type="text" name="scalarValue" wicket:id="scalarValue" class="form-control"/>
+ <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
- <span wicket:id="scalarIfCompact"></span>
- </div>
- </wicket:panel>
+ </wicket:fragment>
+
+ </wicket:extend>
</body>
</html>
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index 00e534e..4ff96b4 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -30,6 +30,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
@@ -49,16 +50,10 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
private static final long serialVersionUID = 1L;
private static final String ID_SCALAR_TYPE_CONTAINER = "scalarTypeContainer";
- private static final String ID_SCALAR_IF_REGULAR = "scalarIfRegular";
- private static final String ID_SCALAR_NAME = "scalarName";
-
- protected static final String ID_SCALAR_VALUE = "scalarValue";
-
- protected static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
protected final Class<T> cls;
- private WebMarkupContainer scalarTypeContainer;
+ protected WebMarkupContainer scalarTypeContainer;
private AbstractTextComponent<T> textField;
public ScalarPanelTextFieldAbstract(final String id, final ScalarModel scalarModel, final Class<T> cls) {
@@ -142,17 +137,23 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
private MarkupContainer createFormComponentLabel() {
+ Fragment textFieldFragment = createTextFieldFragment("scalarValueContainer");
final AbstractTextComponent<T> textField = getTextField();
final String name = getModel().getName();
textField.setLabel(Model.of(name));
final WebMarkupContainer scalarNameAndValue = new WebMarkupContainer(ID_SCALAR_IF_REGULAR);
-
- scalarNameAndValue.add(textField);
+
+ textFieldFragment.add(textField);
+ scalarNameAndValue.add(textFieldFragment);
return scalarNameAndValue;
}
+ protected Fragment createTextFieldFragment(String id) {
+ return new Fragment(id, "text", ScalarPanelTextFieldAbstract.this);
+ }
+
protected void addStandardSemantics() {
textField.setRequired(getModel().isRequired());
setTextFieldSizeAndMaxLengthIfSpecified(textField);
@@ -191,8 +192,10 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
*/
@Override
protected Component addComponentForCompact() {
+ Fragment compactFragment = getCompactFragment(CompactType.SPAN);
final Label labelIfCompact = new Label(ID_SCALAR_IF_COMPACT, getModel().getObjectAsString());
- scalarTypeContainer.addOrReplace(labelIfCompact);
+ compactFragment.add(labelIfCompact);
+ scalarTypeContainer.addOrReplace(compactFragment);
return labelIfCompact;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.html
deleted file mode 100644
index 94289db..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"
- xml:lang="en"
- lang="en">
- <body>
- <wicket:panel>
- <div class="scalarNameAndValueComponentType" wicket:id="scalarTypeContainer">
- <div class="form-group" wicket:id="scalarIfRegular">
- <label wicket:id="scalarName" class="scalarName">[Label text]</label>
- <div class="input-group date">
- <input type="text" name="scalarValue" wicket:id="scalarValue" class="form-control"/>
- <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
- </div>
- <span wicket:id="feedback" class="help-block"></span>
- <span wicket:id="additionalLinks"></span>
- </div>
- <input type="text" wicket:id="scalarIfCompact" class="form-control"/>
- </div>
- </wicket:panel>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
index 106bf3b..63d1cf9 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
@@ -27,6 +27,7 @@ import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.validation.IValidatable;
@@ -72,6 +73,11 @@ public abstract class ScalarPanelTextFieldDatePickerAbstract<T extends Serializa
}
@Override
+ protected Fragment createTextFieldFragment(String id) {
+ return new Fragment(id, "date", ScalarPanelTextFieldDatePickerAbstract.this);
+ }
+
+ @Override
protected void addSemantics() {
super.addSemantics();
@@ -80,22 +86,24 @@ public abstract class ScalarPanelTextFieldDatePickerAbstract<T extends Serializa
protected Component addComponentForCompact() {
+ Fragment compactFragment = getCompactFragment(CompactType.INPUT_TEXT);
final AbstractTextComponent<T> textField = createTextField(ID_SCALAR_IF_COMPACT);
final IModel<T> model = textField.getModel();
final T object = model.getObject();
model.setObject(object);
textField.setEnabled(false);
-
-
+
// adding an amount because seemed to truncate in tables in certain circumstances
final int lengthAdjust =
getLengthAdjustHint() != null ? getLengthAdjustHint() : 1;
final String dateTimePattern = converter.getDateTimePattern(getLocale());
final int length = dateTimePattern.length() + lengthAdjust;
textField.add(new AttributeModifier("size", Model.of("" + length)));
-
- addOrReplace(textField);
+
+ compactFragment.add(textField);
+
+ scalarTypeContainer.addOrReplace(compactFragment);
return textField;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
index 8984527..92b120d 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
@@ -23,6 +23,7 @@ import java.io.Serializable;
import org.apache.wicket.Component;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
+import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -49,15 +50,17 @@ public abstract class ScalarPanelTextFieldNumeric<T extends Serializable> extend
}
protected Component addComponentForCompact() {
+ Fragment compactFragment = getCompactFragment(CompactType.INPUT_TEXT);
final AbstractTextComponent<T> textField = createTextField(ID_SCALAR_IF_COMPACT);
final IModel<T> model = textField.getModel();
- final T object = (T) model.getObject();
+ final T object = model.getObject();
model.setObject(object);
textField.setEnabled(false);
setTextFieldSizeAndMaxLengthIfSpecified(textField);
-
- addOrReplace(textField);
+
+ compactFragment.add(textField);
+ scalarTypeContainer.addOrReplace(compactFragment);
return textField;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.html
deleted file mode 100644
index b9ae5d3..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"
- xml:lang="en"
- lang="en">
- <body>
- <wicket:panel>
- <div class="jodaLocalDatePanel scalarNameAndValueComponentType">
- <div class="row">
- <span wicket:id="scalarName" class="scalarName col-xs-3">[Label text]</span>
- <span class="scalarValue col-xs-9">
- <label wicket:id="scalarIfRegular" style="width: 100%">
- <div class="input-group date">
- <input type="text" name="scalarValue" wicket:id="scalarValue" class="form-control"/>
- <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
- </div>
- <span wicket:id="feedback" class="help-block"></span>
- <span wicket:id="additionalLinks"></span>
- </label>
- </span>
- </div>
- <input type="text" wicket:id="scalarIfCompact" class="form-control"/>
- </div>
- </wicket:panel>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
index 25a4b76..7588583 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
@@ -25,15 +25,11 @@
<body>
<wicket:panel>
<div class="booleanPanel scalarNameAndValueComponentType">
- <div class="row">
- <span wicket:id="scalarName" class="scalarName col-xs-3">[Label text]</span>
- <span class="scalarValue col-xs-9">
- <label wicket:id="scalarIfRegular" style="width: 100%">
- <input type="checkbox" name="scalarValue" wicket:id="scalarValue" />
- <span wicket:id="feedback" class="help-block"></span>
- <span wicket:id="additionalLinks"></span>
- </label>
- </span>
+ <div class="form-group" wicket:id="scalarIfRegular">
+ <label wicket:id="scalarName" class="scalarName">[Label text]</label>
+ <input type="checkbox" name="scalarValue" class="form-control scalarValue" wicket:id="scalarValue" />
+ <span wicket:id="feedback" class="help-block"></span>
+ <span wicket:id="additionalLinks"></span>
</div>
<input type="checkbox" wicket:id="scalarIfCompact" />
</div>
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index 1f114bf..b156851 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -24,9 +24,9 @@ import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.Che
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
+import org.apache.wicket.MarkupContainer;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.FormComponentLabel;
import org.apache.wicket.model.Model;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -49,12 +49,6 @@ public class BooleanPanel extends ScalarPanelAbstract {
private static final long serialVersionUID = 1L;
- private static final String ID_SCALAR_IF_REGULAR = "scalarIfRegular";
- private static final String ID_SCALAR_NAME = "scalarName";
- private static final String ID_SCALAR_VALUE = "scalarValue";
-
- private static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
-
private CheckBoxX checkBox;
public BooleanPanel(final String id, final ScalarModel scalarModel) {
@@ -62,14 +56,15 @@ public class BooleanPanel extends ScalarPanelAbstract {
}
@Override
- protected FormComponentLabel addComponentForRegular() {
+ protected MarkupContainer addComponentForRegular() {
final String name = getModel().getName();
checkBox = createCheckBox(ID_SCALAR_VALUE);
checkBox.setLabel(Model.of(name));
- final FormComponentLabel labelIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, checkBox);
+ final MarkupContainer labelIfRegular = new MarkupContainer(ID_SCALAR_IF_REGULAR) {
+ };
labelIfRegular.add(checkBox);
if(getModel().isRequired()) {
labelIfRegular.add(new CssClassAppender("mandatory"));
@@ -81,7 +76,7 @@ public class BooleanPanel extends ScalarPanelAbstract {
}
final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(checkBox));
- addOrReplace(scalarName);
+ labelIfRegular.add(scalarName);
addOrReplace(labelIfRegular);
@@ -91,7 +86,6 @@ public class BooleanPanel extends ScalarPanelAbstract {
return labelIfRegular;
}
-
/**
* Mandatory hook method to build the component to render the model when in
* {@link Rendering#COMPACT compact} format.
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
index 7bf40da..a44b121 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
@@ -58,5 +58,4 @@ public class BytePanel extends ScalarPanelTextFieldNumeric<Byte> {
protected IModel<String> getScalarPanelType() {
return Model.of("bytePanel");
}
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
index d548a3a..5a26a16 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
@@ -36,7 +36,6 @@ import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel;
public class ShortPanel extends ScalarPanelTextFieldNumeric<Short> {
private static final long serialVersionUID = 1L;
- private static final String ID_SCALAR_VALUE = "scalarValue";
public ShortPanel(final String id, final ScalarModel scalarModel) {
super(id, scalarModel, Short.class);
@@ -59,5 +58,4 @@ public class ShortPanel extends ScalarPanelTextFieldNumeric<Short> {
protected IModel<String> getScalarPanelType() {
return Model.of("shortPanel");
}
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
index 1d60c7a..b475cd1 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
@@ -21,9 +21,9 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.string;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
-import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.markup.html.form.TextArea;
+import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
@@ -40,8 +40,6 @@ public class MultiLineStringPanel extends ScalarPanelTextFieldParseableAbstract
private static final long serialVersionUID = 1L;
- private static final String ID_SCALAR_VALUE = "scalarValue";
-
public MultiLineStringPanel(final String id, final ScalarModel scalarModel) {
super(id, ID_SCALAR_VALUE, scalarModel);
}
@@ -64,15 +62,7 @@ public class MultiLineStringPanel extends ScalarPanelTextFieldParseableAbstract
getModel().setObjectAsString(object);
}
}
- }) {
- @Override
- protected void onComponentTag(ComponentTag tag) {
- tag.setName("textarea");
- tag.remove("type");
- super.onComponentTag(tag);
- }
- };
-
+ });
final MultiLineFacet multiLineFacet = getModel().getFacet(MultiLineFacet.class);
setAttribute(textField, "rows", multiLineFacet.numberOfLines());
@@ -89,6 +79,11 @@ public class MultiLineStringPanel extends ScalarPanelTextFieldParseableAbstract
}
@Override
+ protected Fragment createTextFieldFragment(String id) {
+ return new Fragment(id, "textarea", MultiLineStringPanel.this);
+ }
+
+ @Override
protected IModel<String> getScalarPanelType() {
return Model.of("multiLineStringPanel");
}
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.html
index 304ac92..a615e28 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.html
@@ -25,16 +25,14 @@
<body>
<wicket:panel>
<div class="valueChoicesSelect2Panel scalarNameAndValueComponentType">
- <div class="row">
- <span wicket:id="scalarName" class="scalarName col-xs-3">[Label text]</span>
- <div class="scalarValue col-xs-9">
- <label wicket:id="scalarIfRegular" style="width: 100%">
- <div class="choicesPlaceholder">
- <input wicket:id="valueId" type="hidden" class="choices form-control select2-remote" style="width: 100%"/>
- </div>
- <span wicket:id="feedback" class="help-block"></span>
- <span wicket:id="additionalLinks"></span>
- </label>
+ <div class="form-group" wicket:id="scalarIfRegular">
+ <label wicket:id="scalarName" class="scalarName">[Label text]</label>
+ <div class="scalarValueWrapper">
+ <div class="choicesPlaceholder">
+ <input wicket:id="scalarValue" type="hidden" class="choices form-control select2-remote" style="width: 100%"/>
+ </div>
+ <span wicket:id="feedback" class="help-block"></span>
+ <span wicket:id="additionalLinks"></span>
</div>
</div>
<span wicket:id="scalarIfCompact"></span>
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
index c143f80..762894c 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
@@ -26,9 +26,10 @@ import com.vaynberg.wicket.select2.ChoiceProvider;
import com.vaynberg.wicket.select2.Select2Choice;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
+import org.apache.wicket.MarkupContainer;
import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.FormComponentLabel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -45,13 +46,6 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
private static final long serialVersionUID = 1L;
- private static final String ID_SCALAR_IF_REGULAR = "scalarIfRegular";
- private static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
-
- private static final String ID_SCALAR_NAME = "scalarName";
-
- private static final String ID_VALUE_ID = "valueId";
-
private Select2Choice<ObjectAdapterMemento> select2Field;
private ObjectAdapterMemento pending;
@@ -61,14 +55,14 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
}
@Override
- protected FormComponentLabel addComponentForRegular() {
+ protected MarkupContainer addComponentForRegular() {
final IModel<ObjectAdapterMemento> modelObject = ScalarModelWithPending.Util.createModel(this);
final ObjectAdapter[] actionArgsHint = getScalarModel().getActionArgsHint();
// same pattern as in EntityLinkSelect2Panel
if(select2Field == null) {
- select2Field = Select2ChoiceUtil.newSelect2Choice(ID_VALUE_ID, modelObject, getScalarModel());
+ select2Field = Select2ChoiceUtil.newSelect2Choice(ID_SCALAR_VALUE, modelObject, getScalarModel());
setChoices(actionArgsHint);
addStandardSemantics();
} else {
@@ -76,7 +70,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
}
- final FormComponentLabel labelIfRegular = createFormComponentLabel();
+ final MarkupContainer labelIfRegular = createFormComponentLabel();
if(getModel().isRequired()) {
labelIfRegular.add(new CssClassAppender("mandatory"));
}
@@ -84,7 +78,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
addOrReplace(labelIfRegular);
final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(select2Field));
- addOrReplace(scalarName);
+ labelIfRegular.addOrReplace(scalarName);
addFeedbackTo(labelIfRegular, select2Field);
addAdditionalLinksTo(labelIfRegular);
@@ -110,11 +104,11 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
select2Field.setRequired(required);
}
- protected FormComponentLabel createFormComponentLabel() {
+ protected MarkupContainer createFormComponentLabel() {
final String name = getModel().getName();
select2Field.setLabel(Model.of(name));
- final FormComponentLabel labelIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, select2Field);
+ final MarkupContainer labelIfRegular = new WebMarkupContainer(ID_SCALAR_IF_REGULAR);
final String describedAs = getModel().getDescribedAs();
if(describedAs != null) {
http://git-wip-us.apache.org/repos/asf/isis/blob/3f305041/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
index f2f18e8..1d5fe46 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
@@ -90,3 +90,37 @@ label {
th > a > div > strong {
float: left;
}
+
+.form-inline .form-group {
+ width: 100%;
+}
+
+.form-inline label {
+ width: 33%;
+ float: left;
+ padding-top: 9px;
+}
+
+.form-inline .scalarValueWrapper {
+ width: 66%;
+ float: right;
+}
+
+.form-inline .scalarValueWrapper .form-control {
+ width: 100%;
+}
+
+.form-inline .scalarValueWrapper .input-group {
+ width: 100%;
+}
+
+.form-inline .scalarValueWrapper .input-group .input-group-addon {
+ width: 1%;
+}
+
+.form-inline .choicesPlaceholder {
+ display: inline-block;
+ width: 100%;
+ vertical-align: -webkit-baseline-middle;
+ vertical-align: middle;
+}