ISIS-537 Write the 'type' HTML attribute even for invisible buttons with placeholder
https://trello.com/c/JwALpbYI/113-bootlint-error-always-set-a-type-on-buttons Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/bbdf17bb Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/bbdf17bb Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/bbdf17bb Branch: refs/heads/master Commit: bbdf17bb84b7146e09e3c86ee5d67af95f3bf818 Parents: ee4fe8b Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Fri Nov 7 12:20:22 2014 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Fri Nov 7 12:20:22 2014 +0200 ---------------------------------------------------------------------- .../entity/properties/EntityPropertiesForm.java | 37 ++++++++++++++++++++ 1 file changed, 37 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/bbdf17bb/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java index cbfe092..6dc5cd6 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java @@ -40,6 +40,8 @@ import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.repeater.RepeatingView; import org.apache.wicket.model.IModel; import org.apache.wicket.model.ResourceModel; +import org.apache.wicket.request.Response; +import org.apache.wicket.util.string.Strings; import org.apache.wicket.util.visit.IVisit; import org.apache.wicket.util.visit.IVisitor; import org.apache.isis.applib.annotation.MemberGroupLayout.ColumnSpans; @@ -278,6 +280,41 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> { super.onError(target, form); toEditMode(target); } + + /** + * Render the 'type' attribute even for invisible buttons to avoid + * <a href="https://github.com/twbs/bootlint/wiki/W007">Bootlint W007</a> + * + * @param tag The component tag to render + * @param response The response to write to + */ + // TODO mgrigorov Move this to Wicket Bootstrap project + @Override + protected void renderPlaceholderTag(ComponentTag tag, Response response) { + String ns = Strings.isEmpty(tag.getNamespace()) ? null : tag.getNamespace() + ':'; + + response.write("<"); + if (ns != null) + { + response.write(ns); + } + response.write(tag.getName()); + response.write(" id=\""); + response.write(getAjaxRegionMarkupId()); + + String type = tag.getAttribute("type"); + if (!Strings.isEmpty(type)) { + response.write("\" type=\""+type); + } + + response.write("\" style=\"display:none\"></"); + if (ns != null) + { + response.write(ns); + } + response.write(tag.getName()); + response.write(">"); + } } public class AjaxButtonForValidate extends AjaxButtonWithOnError implements IFormSubmitterWithPreValidateHook {
