projects
/
project
/
luci2
/
ui.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8f18cd5
)
luci2: Properly handle empty values in ListValue widgets
author
Jo-Philipp Wich
<jow@openwrt.org>
Sat, 1 Feb 2014 18:01:49 +0000
(18:01 +0000)
committer
Jo-Philipp Wich
<jow@openwrt.org>
Sat, 1 Feb 2014 18:01:49 +0000
(18:01 +0000)
luci2/htdocs/luci2/luci2.js
patch
|
blob
|
history
diff --git
a/luci2/htdocs/luci2/luci2.js
b/luci2/htdocs/luci2/luci2.js
index
00365ae
..
45584e7
100644
(file)
--- a/
luci2/htdocs/luci2/luci2.js
+++ b/
luci2/htdocs/luci2/luci2.js
@@
-5489,7
+5489,7
@@
function LuCI2()
var s = $('<select />')
.addClass('form-control');
var s = $('<select />')
.addClass('form-control');
- if (this.options.optional)
+ if (this.options.optional
&& !this.has_empty
)
$('<option />')
.attr('value', '')
.text(_luci2.tr('-- Please choose --'))
$('<option />')
.attr('value', '')
.text(_luci2.tr('-- Please choose --'))
@@
-5512,6
+5512,9
@@
function LuCI2()
if (!this.choices)
this.choices = [ ];
if (!this.choices)
this.choices = [ ];
+ if (k == '')
+ this.has_empty = true;
+
this.choices.push([k, v || k]);
return this;
}
this.choices.push([k, v || k]);
return this;
}
@@
-5586,10
+5589,7
@@
function LuCI2()
{
ev.data.select.hide();
ev.data.input.show().focus();
{
ev.data.select.hide();
ev.data.input.show().focus();
-
- var v = ev.data.input.val();
- ev.data.input.val(' ');
- ev.data.input.val(v);
+ ev.data.input.val('');
}
else if (self.options.optional && s.selectedIndex == 0)
{
}
else if (self.options.optional && s.selectedIndex == 0)
{
@@
-5599,6
+5599,8
@@
function LuCI2()
{
ev.data.input.val(ev.data.select.val());
}
{
ev.data.input.val(ev.data.select.val());
}
+
+ ev.stopPropagation();
},
_blur: function(ev)
},
_blur: function(ev)
@@
-5609,7
+5611,7
@@
function LuCI2()
ev.data.select.empty();
ev.data.select.empty();
- if (self.options.optional)
+ if (self.options.optional
&& !self.has_empty
)
$('<option />')
.attr('value', '')
.text(_luci2.tr('-- please choose --'))
$('<option />')
.attr('value', '')
.text(_luci2.tr('-- please choose --'))
@@
-5639,7
+5641,7
@@
function LuCI2()
.appendTo(ev.data.select);
ev.data.input.hide();
.appendTo(ev.data.select);
ev.data.input.hide();
- ev.data.select.val(val).show().
focus
();
+ ev.data.select.val(val).show().
blur
();
},
_enter: function(ev)
},
_enter: function(ev)
@@
-5686,6
+5688,9
@@
function LuCI2()
if (!this.choices)
this.choices = [ ];
if (!this.choices)
this.choices = [ ];
+ if (k == '')
+ this.has_empty = true;
+
this.choices.push([k, v || k]);
return this;
},
this.choices.push([k, v || k]);
return this;
},