From 0b0bc6dbe4feb5981e02694477218acc387487f6 Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Fri, 4 Apr 2014 21:43:29 +0300 Subject: web client: avoid setting class using jQuery 'prop' method --- web/client.js | 2 +- web/dom.js | 10 +++++++++- web/statusbar.js | 8 +++++--- web/widget/abstract/fields.js | 6 +++--- web/widget/table/row.js | 2 +- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/web/client.js b/web/client.js index 3d0db1b..9746846 100644 --- a/web/client.js +++ b/web/client.js @@ -133,7 +133,7 @@ require( var el = $("
  • ").html( dom.objectRef(path).text(ui_name) ); - el.prop("class", status); + dom.setStatus(el, status); if (current) el.addClass("current"); target.append(el); } diff --git a/web/dom.js b/web/dom.js index ee1931f..f11c933 100644 --- a/web/dom.js +++ b/web/dom.js @@ -34,6 +34,14 @@ define(["aconf/navigation", "jquery", "underscore"], function(navi, $, _) { return el; }, - setStatus: function(el, status) { el.prop("class", status); } + setStatus: function(el, status) { + el.removeClass(); + if (status) el.addClass(status); + }, + + setVisible: function(el, visible) { + if (visible) el.show(); + else el.hide(); + } }; }); diff --git a/web/statusbar.js b/web/statusbar.js index 69ff6be..535cf43 100644 --- a/web/statusbar.js +++ b/web/statusbar.js @@ -5,10 +5,12 @@ define(["aconf/dom", "jquery"], function(dom, $) { function set(status, msg, mode) { - $("#status").prop("class", status); + dom.setStatus($("#status"), status); dom.setText($("#status p"), msg); - $("#logout").prop("class", mode ? "hidden" : null); - $("#status div").prop("class", mode == "txn" ? null : "hidden"); + + dom.setVisible($("#logout"), !mode); + dom.setVisible($("#status div"), mode == "txn"); + $("#commit").prop("disabled", status == "invalid"); } diff --git a/web/widget/abstract/fields.js b/web/widget/abstract/fields.js index 4afa0e7..67ccf88 100644 --- a/web/widget/abstract/fields.js +++ b/web/widget/abstract/fields.js @@ -5,6 +5,7 @@ define( [ + "aconf/dom", "aconf/widget/abstract/node", "jquery", "underscore", @@ -17,7 +18,7 @@ define( "aconf/widget/inline", "aconf/widget/reference" ], - function(Base, $, _) { + function(dom, Base, $, _) { return Base.extend({ render: function(data, meta) { Base.render.call(this, data, meta); @@ -99,8 +100,7 @@ define( setupWidget: function(widget, label) { var container = this.appendWidget(widget, label); widget.on("setVisible", function(event, visible) { - if (visible) container.show(); - else container.hide(); + dom.setVisible(container, visible); event.stopPropagation(); }); }, diff --git a/web/widget/table/row.js b/web/widget/table/row.js index 24e0e50..d563afb 100644 --- a/web/widget/table/row.js +++ b/web/widget/table/row.js @@ -10,7 +10,7 @@ define( createEl: function() { this.prevAction = null; this.prevWidget = null; - return $("").html($("").prop("class", "placeholder")); + return $("").html($("").addClass("placeholder")); }, setStatus: function(status) { -- cgit v1.2.3