You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2020/10/23 18:39:36 UTC

[myfaces-tobago] 10/13: TOBAGO-1633: Use TypeScript instead of JavaScript. Simplify Renderers: remove "inside": outInsideIn

This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git

commit e5c28722a743f3d42ced04db1a0f2336a7436c95
Author: Udo Schnurpfeil <ud...@irian.eu>
AuthorDate: Fri Oct 23 15:37:18 2020 +0200

    TOBAGO-1633: Use TypeScript instead of JavaScript.
    Simplify Renderers: remove "inside": outInsideIn
---
 .../myfaces/tobago/component/RendererTypes.java    |  2 -
 .../internal/renderkit/renderer/InRenderer.java    | 13 ++++++-
 .../renderkit/renderer/OutInsideInRenderer.java    | 45 ----------------------
 .../internal/renderkit/renderer/OutRenderer.java   | 14 +++++--
 .../taglib/component/OutTagDeclaration.java        |  2 +-
 .../internal/config/AbstractTobagoTestBase.java    |  2 -
 6 files changed, 24 insertions(+), 54 deletions(-)

diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/component/RendererTypes.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/component/RendererTypes.java
index a32f7cb..bb72fd0 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/component/RendererTypes.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/component/RendererTypes.java
@@ -56,7 +56,6 @@ public enum RendererTypes {
   Operation,
   Out,
   OutInsideBoxLabel,
-  OutInsideIn,
   OutInsideSectionLabel,
   Page,
   Panel,
@@ -135,7 +134,6 @@ public enum RendererTypes {
   public static final String OPERATION = "Operation";
   public static final String OUT = "Out";
   public static final String OUT_INSIDE_BOX_LABEL = "OutInsideBoxLabel";
-  public static final String OUT_INSIDE_IN = "OutInsideIn";
   public static final String OUT_INSIDE_SECTION_LABEL = "OutInsideSectionLabel";
   public static final String PAGE = "Page";
   public static final String PANEL = "Panel";
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java
index 5359174..d4ecc0c 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java
@@ -65,6 +65,18 @@ public class InRenderer<T extends AbstractUIIn> extends MessageLayoutRendererBas
   }
 
   @Override
+  public void encodeBeginInternal(FacesContext facesContext, T component) throws IOException {
+    insideBegin(facesContext, HtmlElements.TOBAGO_IN);
+    super.encodeBeginInternal(facesContext, component);
+  }
+
+  @Override
+  public void encodeEndInternal(FacesContext facesContext, T component) throws IOException {
+    super.encodeEndInternal(facesContext, component);
+    insideEnd(facesContext, HtmlElements.TOBAGO_IN);
+  }
+
+  @Override
   protected void encodeBeginField(final FacesContext facesContext, final T component)
       throws IOException {
     final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, component);
@@ -173,7 +185,6 @@ public class InRenderer<T extends AbstractUIIn> extends MessageLayoutRendererBas
           if (child instanceof AbstractUIButton) {
             child.encodeAll(facesContext);
           } else if (child instanceof AbstractUIOut) {
-            child.setRendererType(RendererTypes.OutInsideIn.name());
             child.encodeAll(facesContext);
           } else if (child instanceof AbstractUISelectOneChoice) {
             child.setRendererType(RendererTypes.SelectOneChoiceInsideIn.name());
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/OutInsideInRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/OutInsideInRenderer.java
deleted file mode 100644
index 665a537..0000000
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/OutInsideInRenderer.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.myfaces.tobago.internal.renderkit.renderer;
-
-import org.apache.myfaces.tobago.internal.component.AbstractUIOut;
-import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
-import org.apache.myfaces.tobago.renderkit.css.CssItem;
-
-import javax.faces.context.FacesContext;
-import java.io.IOException;
-
-public class OutInsideInRenderer<T extends AbstractUIOut> extends OutRenderer<T> {
-
-  @Override
-  public void encodeBeginInternal(final FacesContext facesContext, final T component) throws IOException {
-    encodeBeginField(facesContext, component);
-  }
-
-  @Override
-  public void encodeEndInternal(final FacesContext facesContext, final T component) throws IOException {
-    encodeEndField(facesContext, component);
-  }
-
-  @Override
-  protected CssItem[] getCssItems(final FacesContext facesContext, final AbstractUIOut out) {
-    return new CssItem[]{BootstrapClass.INPUT_GROUP_TEXT};
-  }
-}
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/OutRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/OutRenderer.java
index 02353bc..741eb0a 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/OutRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/OutRenderer.java
@@ -53,7 +53,9 @@ public class OutRenderer<T extends AbstractUIOut> extends MessageLayoutRendererB
   public void encodeBeginInternal(final FacesContext facesContext, final T component) throws IOException {
     final boolean plain = component.isPlain() || component.isCompact() || !component.isCreateSpan();
 
-    if (plain) {
+    if (isInside(facesContext, HtmlElements.TOBAGO_IN)) {
+      encodeBeginField(facesContext, component);
+    } else if (plain) {
       encodeText(facesContext, component);
     } else {
       super.encodeBeginInternal(facesContext, component);
@@ -64,7 +66,9 @@ public class OutRenderer<T extends AbstractUIOut> extends MessageLayoutRendererB
   public void encodeEndInternal(final FacesContext facesContext, final T component) throws IOException {
     final boolean plain = component.isPlain() || component.isCompact() || !component.isCreateSpan();
 
-    if (!plain) {
+    if (isInside(facesContext, HtmlElements.TOBAGO_IN)) {
+      encodeEndField(facesContext, component);
+    } else if (!plain) {
       super.encodeEndInternal(facesContext, component);
     }
   }
@@ -138,6 +142,10 @@ public class OutRenderer<T extends AbstractUIOut> extends MessageLayoutRendererB
   }
 
   protected CssItem[] getCssItems(final FacesContext facesContext, final AbstractUIOut out) {
-    return new CssItem[]{BootstrapClass.FORM_CONTROL_PLAINTEXT};
+    if (isInside(facesContext, HtmlElements.TOBAGO_IN)) {
+      return new CssItem[]{BootstrapClass.INPUT_GROUP_TEXT};
+    } else {
+      return new CssItem[]{BootstrapClass.FORM_CONTROL_PLAINTEXT};
+    }
   }
 }
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/OutTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/OutTagDeclaration.java
index f79d301..19f2155 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/OutTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/OutTagDeclaration.java
@@ -46,7 +46,7 @@ import javax.faces.component.UIOutput;
     uiComponent = "org.apache.myfaces.tobago.component.UIOut",
     uiComponentFacesClass = "javax.faces.component.UIOutput",
     componentFamily = UIOutput.COMPONENT_FAMILY,
-    rendererType = {RendererTypes.OUT, RendererTypes.OUT_INSIDE_BOX_LABEL, RendererTypes.OUT_INSIDE_IN,
+    rendererType = {RendererTypes.OUT, RendererTypes.OUT_INSIDE_BOX_LABEL,
         RendererTypes.OUT_INSIDE_SECTION_LABEL},
     interfaces = {
         // As long as no behavior event names are defined, ClientBehaviorHolder must be implemented for Mojarra.
diff --git a/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java b/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java
index 423b892..3e34049 100644
--- a/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java
+++ b/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java
@@ -47,7 +47,6 @@ import org.apache.myfaces.tobago.internal.renderkit.renderer.InRenderer;
 import org.apache.myfaces.tobago.internal.renderkit.renderer.LinkInsideCommandRenderer;
 import org.apache.myfaces.tobago.internal.renderkit.renderer.LinkRenderer;
 import org.apache.myfaces.tobago.internal.renderkit.renderer.LinksRenderer;
-import org.apache.myfaces.tobago.internal.renderkit.renderer.OutInsideInRenderer;
 import org.apache.myfaces.tobago.internal.renderkit.renderer.OutRenderer;
 import org.apache.myfaces.tobago.internal.renderkit.renderer.PanelRenderer;
 import org.apache.myfaces.tobago.internal.renderkit.renderer.PopupRenderer;
@@ -123,7 +122,6 @@ public abstract class AbstractTobagoTestBase extends AbstractJsfTestCase {
     final RenderKit renderKit = facesContext.getRenderKit();
     renderKit.addRenderer(UIIn.COMPONENT_FAMILY, RendererTypes.IN, new InRenderer());
     renderKit.addRenderer(UIOut.COMPONENT_FAMILY, RendererTypes.OUT, new OutRenderer());
-    renderKit.addRenderer(UIOut.COMPONENT_FAMILY, RendererTypes.OUT_INSIDE_IN, new OutInsideInRenderer());
     renderKit.addRenderer(UIPanel.COMPONENT_FAMILY, RendererTypes.PANEL, new PanelRenderer());
     renderKit.addRenderer(UILink.COMPONENT_FAMILY, RendererTypes.LINK, new LinkRenderer());
     renderKit.addRenderer(UILink.COMPONENT_FAMILY, RendererTypes.LINK_INSIDE_COMMAND, new LinkInsideCommandRenderer());