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:05 UTC

[02/10] git commit: ISIS-537 Extract common markup in the parent classes (WIP)

ISIS-537 Extract common markup in the parent classes (WIP)


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/830154f6
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/830154f6
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/830154f6

Branch: refs/heads/master
Commit: 830154f629d4a13cbad2f6bd897682970c91e406
Parents: 1766c7b
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Oct 23 09:22:28 2014 +0300
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Oct 24 12:30:51 2014 +0100

----------------------------------------------------------------------
 .../components/collection/CollectionPanel.html  |  4 +-
 .../components/collection/CollectionPanel.java  |  4 +-
 .../collections/EntityCollectionsPanel.html     |  4 +-
 .../components/scalars/ScalarPanelAbstract.java |  6 +--
 .../scalars/ScalarPanelTextFieldAbstract.html   | 38 +++++++++++++++++
 .../scalars/ScalarPanelTextFieldAbstract.java   | 36 +++++++++++-----
 .../ScalarPanelTextFieldDatePickerAbstract.html | 41 ++++++++++++++++++
 .../scalars/isisapplib/IsisColorPanel.html      | 40 -----------------
 .../scalars/isisapplib/IsisColorPanel.java      |  7 +++
 .../scalars/isisapplib/IsisDatePanel.html       | 43 -------------------
 .../scalars/isisapplib/IsisDatePanel.java       |  9 ++--
 .../scalars/isisapplib/IsisDateTimePanel.html   | 40 -----------------
 .../scalars/isisapplib/IsisDateTimePanel.java   |  7 +++
 .../scalars/isisapplib/IsisMoneyPanel.html      | 40 -----------------
 .../scalars/isisapplib/IsisMoneyPanel.java      |  7 +++
 .../scalars/isisapplib/IsisPasswordPanel.html   | 42 ------------------
 .../scalars/isisapplib/IsisPasswordPanel.java   | 16 ++++++-
 .../scalars/isisapplib/IsisPercentagePanel.html | 40 -----------------
 .../scalars/isisapplib/IsisPercentagePanel.java |  7 +++
 .../scalars/isisapplib/IsisTimePanel.html       | 43 -------------------
 .../scalars/isisapplib/IsisTimePanel.java       |  7 +++
 .../scalars/isisapplib/IsisTimeStampPanel.html  | 43 -------------------
 .../scalars/isisapplib/IsisTimeStampPanel.java  |  7 +++
 .../scalars/jdkdates/JavaSqlDatePanel.html      | 45 --------------------
 .../scalars/jdkdates/JavaSqlDatePanel.java      |  6 +++
 .../scalars/jdkdates/JavaSqlTimePanel.html      | 44 -------------------
 .../scalars/jdkdates/JavaSqlTimePanel.java      |  7 +++
 .../scalars/jdkdates/JavaSqlTimestampPanel.html | 45 --------------------
 .../scalars/jdkdates/JavaSqlTimestampPanel.java |  6 +++
 .../scalars/jdkdates/JavaUtilDatePanel.html     | 45 --------------------
 .../scalars/jdkdates/JavaUtilDatePanel.java     |  6 +++
 .../jdkmath/JavaMathBigDecimalPanel.html        | 42 ------------------
 .../jdkmath/JavaMathBigDecimalPanel.java        |  7 +++
 .../jdkmath/JavaMathBigIntegerPanel.html        | 42 ------------------
 .../jdkmath/JavaMathBigIntegerPanel.java        |  7 +++
 .../scalars/jodatime/JodaDateTimePanel.html     | 45 --------------------
 .../scalars/jodatime/JodaDateTimePanel.java     |  7 +++
 .../scalars/jodatime/JodaLocalDatePanel.java    |  6 +++
 .../jodatime/JodaLocalDateTimePanel.html        | 45 --------------------
 .../jodatime/JodaLocalDateTimePanel.java        |  7 +++
 .../components/scalars/primitive/BytePanel.html | 42 ------------------
 .../components/scalars/primitive/BytePanel.java |  7 +++
 .../scalars/primitive/CharacterPanel.html       | 42 ------------------
 .../scalars/primitive/CharacterPanel.java       |  6 +++
 .../scalars/primitive/DoublePanel.html          | 42 ------------------
 .../scalars/primitive/DoublePanel.java          |  7 +++
 .../scalars/primitive/FloatPanel.html           | 42 ------------------
 .../scalars/primitive/FloatPanel.java           |  7 +++
 .../scalars/primitive/IntegerPanel.html         | 42 ------------------
 .../scalars/primitive/IntegerPanel.java         |  7 +++
 .../components/scalars/primitive/LongPanel.html | 42 ------------------
 .../components/scalars/primitive/LongPanel.java |  7 +++
 .../scalars/primitive/ShortPanel.html           | 42 ------------------
 .../scalars/primitive/ShortPanel.java           |  7 +++
 .../scalars/string/MultiLineStringPanel.html    | 42 ------------------
 .../scalars/string/MultiLineStringPanel.java    | 16 ++++++-
 .../components/scalars/string/StringPanel.html  | 42 ------------------
 .../components/scalars/string/StringPanel.java  |  7 +++
 .../ui/components/scalars/value/ValuePanel.html | 42 ------------------
 .../ui/components/scalars/value/ValuePanel.java |  6 +++
 .../valuechoices/ValueChoicesSelect2Panel.html  |  7 +--
 .../viewer/wicket/ui/pages/PageAbstract.css     |  2 +-
 .../wicket/ui/pages/bootstrap-overrides.css     |  1 -
 63 files changed, 311 insertions(+), 1139 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.html
index ab8ac51..8ffda40 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.html
@@ -25,9 +25,7 @@
     <body>
         <wicket:panel>
             <div class="collectionPanel collectionNameAndContentsComponentType">
-                <div wicket:id="collection">
-                    <span class="collectionContents" wicket:id="collectionContents"/>
-                </div>
+                <div class="collectionContents" wicket:id="collectionContents"></div>
                 <span wicket:id="feedback"></span>
                 <div wicket:id="actionPromptModalWindow"></div>
             </div>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
index fc7a465..9dc3702 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
@@ -87,11 +87,9 @@ public class CollectionPanel extends PanelAbstract<EntityCollectionModel> implem
     }
 
     private void buildGui() {
-        final WebMarkupContainer markupContainer = new WebMarkupContainer(ID_COLLECTION);
-        collectionContents = getComponentFactoryRegistry().addOrReplaceComponent(markupContainer, ComponentType.COLLECTION_CONTENTS, getModel());
+        collectionContents = getComponentFactoryRegistry().addOrReplaceComponent(this, ComponentType.COLLECTION_CONTENTS, getModel());
 
         addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, collectionContents));
-        addOrReplace(markupContainer);
     }
 
     public Label createLabel(final String id, final String collectionName) {

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.html
index 71e2095..90fdc22 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.html
@@ -23,7 +23,9 @@
             <div class="entityCollectionsPanel entityCollectionsComponentType">
                 <div wicket:id="collections" class="myBlockContainer">
                     <div wicket:id="collectionGroup" class="panel panel-default">
-                        <div wicket:id="collectionName" class="panel-heading">[collection name]</div>
+                        <div class="panel-heading">
+                            <span wicket:id="collectionName" class="panel-title">[collection name]</span>
+                        </div>
                         <div wicket:id="collection" class="collection panel-body">
                             [collection]
                         </div>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/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 d793759..05f8612 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
@@ -33,9 +33,7 @@ import org.apache.wicket.behavior.AttributeAppender;
 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.FormComponentLabel;
 import org.apache.wicket.markup.html.form.LabeledWebMarkupContainer;
-import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
 import org.apache.wicket.model.Model;
 
 import org.apache.isis.applib.annotation.Where;
@@ -257,7 +255,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
      * Mandatory hook method to build the component to render the model when in
      * {@link Rendering#REGULAR regular} format.
      */
-    protected abstract FormComponentLabel addComponentForRegular();
+    protected abstract MarkupContainer addComponentForRegular();
 
     protected abstract Component addComponentForCompact();
 
@@ -265,7 +263,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
         markupContainer.addOrReplace(new NotificationPanel(ID_FEEDBACK, component, new ComponentFeedbackMessageFilter(component)));
     }
     
-    protected void addAdditionalLinksTo(final FormComponentLabel labelIfRegular) {
+    protected void addAdditionalLinksTo(final MarkupContainer labelIfRegular) {
         final List<LinkAndLabel> entityActions;
         if(scalarModel.getKind() == ScalarModel.Kind.PROPERTY) {
             final ObjectAdapterMemento parentMemento = scalarModel.getParentObjectAdapterMemento();

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/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
new file mode 100644
index 0000000..4808f09
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
@@ -0,0 +1,38 @@
+<?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>
+                    <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>
+                </div>
+                <span wicket:id="scalarIfCompact"></span>
+            </div>
+        </wicket:panel>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/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 856b867..00e534e 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
@@ -24,11 +24,13 @@ import java.io.Serializable;
 import com.google.common.base.Strings;
 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.AbstractTextComponent;
-import org.apache.wicket.markup.html.form.FormComponentLabel;
 import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 
 import org.apache.isis.core.metamodel.facets.SingleIntValueFacet;
@@ -46,6 +48,7 @@ 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";
     
@@ -54,7 +57,8 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
     protected static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
 
     protected final Class<T> cls;
-    
+
+    private WebMarkupContainer scalarTypeContainer;
     private AbstractTextComponent<T> textField;
 
     public ScalarPanelTextFieldAbstract(final String id, final ScalarModel scalarModel, final Class<T> cls) {
@@ -62,6 +66,16 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
         this.cls = cls;
     }
 
+    @Override
+    protected void onInitialize() {
+        super.onInitialize();
+
+        scalarTypeContainer = new WebMarkupContainer(ID_SCALAR_TYPE_CONTAINER);
+        scalarTypeContainer.add(new CssClassAppender(getScalarPanelType()));
+        addOrReplace(scalarTypeContainer);
+
+    }
+
     protected AbstractTextComponent<T> getTextField() {
         return textField;
     }
@@ -79,15 +93,15 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
     }
 
     @Override
-    protected FormComponentLabel addComponentForRegular() {
+    protected MarkupContainer addComponentForRegular() {
         textField = createTextFieldForRegular();
         textField.setOutputMarkupId(true);
 
         addStandardSemantics();
         addSemantics();
 
-        final FormComponentLabel labelIfRegular = createFormComponentLabel();
-        addOrReplace(labelIfRegular);
+        final MarkupContainer labelIfRegular = createFormComponentLabel();
+        scalarTypeContainer.add(labelIfRegular);
 
         final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(textField));
 
@@ -102,7 +116,7 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
             }
         }
 
-        addOrReplace(scalarName);
+        labelIfRegular.add(scalarName);
 
         final String describedAs = getModel().getDescribedAs();
         if(describedAs != null) {
@@ -114,8 +128,8 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
         
         return labelIfRegular;
     }
-    
-    
+
+    protected abstract IModel<String> getScalarPanelType();
 
     /**
      * Optional hook method
@@ -127,12 +141,12 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
 
 
 
-    private FormComponentLabel createFormComponentLabel() {
+    private MarkupContainer createFormComponentLabel() {
         final AbstractTextComponent<T> textField = getTextField();
         final String name = getModel().getName();
         textField.setLabel(Model.of(name));
         
-        final FormComponentLabel scalarNameAndValue = new FormComponentLabel(ID_SCALAR_IF_REGULAR, textField);
+        final WebMarkupContainer scalarNameAndValue = new WebMarkupContainer(ID_SCALAR_IF_REGULAR);
         
         scalarNameAndValue.add(textField);
 
@@ -178,7 +192,7 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
     @Override
     protected Component addComponentForCompact() {
         final Label labelIfCompact = new Label(ID_SCALAR_IF_COMPACT, getModel().getObjectAsString());
-        addOrReplace(labelIfCompact);
+        scalarTypeContainer.addOrReplace(labelIfCompact);
         return labelIfCompact;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/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
new file mode 100644
index 0000000..94289db
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.html
@@ -0,0 +1,41 @@
+<?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/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.html
deleted file mode 100644
index 49ef924..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.html
+++ /dev/null
@@ -1,40 +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>
-<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="isisColorPanel scalarNameAndValueComponentType 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="text" name="scalarValue" class="form-control" wicket:id="scalarValue" />
-                        <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="additionalLinks"></span>
-                    </label>
-                </span>
-                <label wicket:id="scalarIfCompact"></label>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.java
index 5e8870b..382b521 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
 
@@ -35,6 +37,11 @@ public class IsisColorPanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("isisColorPanel");
+    }
+
+    @Override
     protected void addSemantics() {
         super.addSemantics();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.html
deleted file mode 100644
index 6c43852..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.html
+++ /dev/null
@@ -1,43 +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="isisDatePanel scalarNameAndValueComponentType row">
-                <span wicket:id="scalarName" class="scalarName">[Label text]</span>
-                <span class="scalarValue">
-                    <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"></span>
-                        <span wicket:id="additionalLinks"></span>
-                    </label>
-                </span>
-                <input type="text" wicket:id="scalarIfCompact"/>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java
index 5e043aa..f3edc00 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.applib.value.Date;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
@@ -35,7 +37,8 @@ public class IsisDatePanel extends ScalarPanelTextFieldDatePickerAbstract<org.ap
         init(new DateConverterForApplibDate(getSettings(), getAdjustBy()));
     }
 
-
-    
-
+    @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("isisDatePanel");
+    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.html
deleted file mode 100644
index 558d2fd..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.html
+++ /dev/null
@@ -1,40 +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="isisDateTimePanel scalarNameAndValueComponentType 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="text" name="scalarValue" wicket:id="scalarValue" class="form-control"/>
-                        <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="additionalLinks"></span>
-                    </label>
-                </span>
-                <input type="text" wicket:id="scalarIfCompact"/>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java
index 306ee47..b62e9bf 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java
@@ -20,6 +20,8 @@
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
 import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.applib.value.DateTime;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
@@ -42,4 +44,9 @@ public class IsisDateTimePanel extends ScalarPanelTextFieldDatePickerAbstract<or
     protected TextField<org.apache.isis.applib.value.DateTime> createTextField(final String id) {
         return new TextFieldWithDateTimePicker<>(id, new TextFieldValueModel<org.apache.isis.applib.value.DateTime>(this), cls, converter);
     }
+
+    @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("isisDateTimePanel");
+    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.html
deleted file mode 100644
index 8505b77..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.html
+++ /dev/null
@@ -1,40 +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>
-<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="isisMoneyPanel scalarNameAndValueComponentType 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="text" name="scalarValue" class="form-control" wicket:id="scalarValue" />
-                        <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="additionalLinks"></span>
-                    </label>
-                </span>
-                <label wicket:id="scalarIfCompact"></label>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.java
index 0ea2916..7f677a7 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.applib.value.Money;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
@@ -36,6 +38,11 @@ public class IsisMoneyPanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("isisMoneyPanel");
+    }
+
+    @Override
     protected void addSemantics() {
         super.addSemantics();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.html
deleted file mode 100644
index 08da1c3..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.html
+++ /dev/null
@@ -1,42 +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>
-<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="isisPasswordPanel 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="password" name="scalarValue" class="form-control" wicket:id="scalarValue"/>
-                            <span wicket:id="feedback" class="help-block"></span>
-                            <span wicket:id="additionalLinks"></span>
-                        </label>
-                    </span>
-                </div>
-                <label wicket:id="scalarIfCompact"></label>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.java
index 5a8d9ed..a9b5cda 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.java
@@ -19,8 +19,12 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
+import de.agilecoders.wicket.core.util.Attributes;
+
+import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.PasswordTextField;
+import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.isis.applib.value.Password;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -61,11 +65,21 @@ public class IsisPasswordPanel extends ScalarPanelTextFieldParseableAbstract {
                     getModel().setObjectAsString(object);
                 }
             }
-        });
+        }) {
+            @Override
+            protected void onComponentTag(ComponentTag tag) {
+                Attributes.set(tag, "type", "password");
+                super.onComponentTag(tag);
+            }
+        };
 
         passwordField.setResetPassword(false);
 
         return passwordField;
     }
 
+    @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("isisPasswordPanel");
+    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.html
deleted file mode 100644
index 50b912a..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.html
+++ /dev/null
@@ -1,40 +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>
-<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="isisPercentagePanel scalarNameAndValueComponentType 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="text" name="scalarValue" class="form-control" wicket:id="scalarValue" />
-                        <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="additionalLinks"></span>
-                    </label>
-                </span>
-                <label wicket:id="scalarIfCompact"></label>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.java
index 9f6cedc..c514400 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.applib.value.Percentage;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
@@ -37,6 +39,11 @@ public class IsisPercentagePanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("isisPercentagePanel");
+    }
+
+    @Override
     protected void addSemantics() {
         super.addSemantics();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.html
deleted file mode 100644
index 19d4e8c..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.html
+++ /dev/null
@@ -1,43 +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>
-<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="isisTimePanel scalarNameAndValueComponentType 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>
-                <label wicket:id="scalarIfCompact"></label>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.java
index 4bcc56d..b021346 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
 
@@ -35,6 +37,11 @@ public class IsisTimePanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("isisTimePanel");
+    }
+
+    @Override
     protected void addSemantics() {
         super.addSemantics();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.html
deleted file mode 100644
index ac83697..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.html
+++ /dev/null
@@ -1,43 +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>
-<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="isisTimeStampPanel scalarNameAndValueComponentType 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>
-                <label wicket:id="scalarIfCompact"></label>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java
index cac7951..c52547c 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.applib.value.TimeStamp;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
@@ -36,6 +38,11 @@ public class IsisTimeStampPanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("isisTimeStampPanel");
+    }
+
+    @Override
     protected void addSemantics() {
         super.addSemantics();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.html
deleted file mode 100644
index 7bceb03..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.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="javaSqlDatePanel 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/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
index 4b96661..9e69ffa 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
@@ -21,6 +21,8 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
 
 import java.sql.Date;
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
 
@@ -36,4 +38,8 @@ public class JavaSqlDatePanel extends ScalarPanelTextFieldDatePickerAbstract<jav
         init(new DateConverterForJavaSqlDate(getSettings(), getAdjustBy()));
     }
 
+    @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("javaSqlDatePanel");
+    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.html
deleted file mode 100644
index f4448d7..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.html
+++ /dev/null
@@ -1,44 +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="javaSqlTimePanel 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>
-                        </label>
-                    </span>
-                </div>
-                <label wicket:id="scalarIfCompact"></label>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
index f5b3b04..294d3cd 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
@@ -21,6 +21,8 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
 
 import java.sql.Time;
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
 
@@ -37,6 +39,11 @@ public class JavaSqlTimePanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("javaSqlTimePanel");
+    }
+
+    @Override
     protected void addSemantics() {
         super.addSemantics();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.html
deleted file mode 100644
index 071fae2..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.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="javaSqlTimestampPanel 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/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
index d6a93e4..fbe8b03 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
@@ -21,6 +21,8 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
 
 
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
 
@@ -41,4 +43,8 @@ public class JavaSqlTimestampPanel extends ScalarPanelTextFieldDatePickerAbstrac
         return +3;
     }
 
+    @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("javaSqlTimestampPanel");
+    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.html
deleted file mode 100644
index 9be0aab..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.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="javaUtilDatePanel 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/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
index 798faca..1cfef94 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
@@ -21,6 +21,8 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
 
 
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
 
@@ -36,4 +38,8 @@ public class JavaUtilDatePanel extends ScalarPanelTextFieldDatePickerAbstract<ja
         init(new DateConverterForJavaUtilDate(getSettings(), getAdjustBy()));
     }
 
+    @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("javaUtilDatePanel");
+    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.html
deleted file mode 100644
index efdcb0c..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.html
+++ /dev/null
@@ -1,42 +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>
-<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="javaMathBigDecimalPanel 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="text" name="scalarValue" class="form-control" wicket:id="scalarValue" />
-                            <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/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
index e5d7cec..2b71c34 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
@@ -22,6 +22,8 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkmath;
 import java.math.BigDecimal;
 
 import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldNumeric;
@@ -44,6 +46,11 @@ public class JavaMathBigDecimalPanel extends ScalarPanelTextFieldNumeric<BigDeci
         final ScalarModel model = getModel();
         return new BigDecimalTextField(id, newTextFieldValueModel(), cls, model, converter);
     }
+
+    @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("javaMathBigDecimalPanel");
+    }
 }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.html
deleted file mode 100644
index d2513b3..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.html
+++ /dev/null
@@ -1,42 +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>
-<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="javaMathBigIntegerPanel 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="text" name="scalarValue" class="form-control" wicket:id="scalarValue" />
-                            <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/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
index 7946a72..3c70d04 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
@@ -23,6 +23,8 @@ import java.math.BigInteger;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.wicket.util.convert.IConverter;
 
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -55,4 +57,9 @@ public class JavaMathBigIntegerPanel extends ScalarPanelTextFieldNumeric<BigInte
         };
     }
 
+    @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("javaMathBigIntegerPanel");
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.html
deleted file mode 100644
index 7546300..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.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="jodaDateTimePanel 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/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
index 747cf8a..681eadd 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
@@ -20,6 +20,8 @@
 package org.apache.isis.viewer.wicket.ui.components.scalars.jodatime;
 
 import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.joda.time.DateTime;
 import org.joda.time.LocalDateTime;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -43,4 +45,9 @@ public class JodaDateTimePanel extends ScalarPanelTextFieldDatePickerAbstract<Da
     protected TextField<DateTime> createTextField(final String id) {
         return new TextFieldWithDateTimePicker<>(id, new TextFieldValueModel<DateTime>(this), cls, converter);
     }
+
+    @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("jodaDateTimePanel");
+    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/830154f6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
index 135e458..8d33bae 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.jodatime;
 
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.joda.time.LocalDate;
 
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -36,4 +38,8 @@ public class JodaLocalDatePanel extends ScalarPanelTextFieldDatePickerAbstract<L
         init(new DateConverterForJodaLocalDate(getSettings(), getAdjustBy()));
     }
 
+    @Override
+    protected IModel<String> getScalarPanelType() {
+        return Model.of("jodaDateTimePanel");
+    }
 }