mirror of
https://github.com/lxsang/antos-frontend.git
synced 2025-07-19 15:29:51 +02:00
fix bug and add afx-nspinner widget
This commit is contained in:
@ -1,13 +1,16 @@
|
||||
<afx-button>
|
||||
<button disabled={ enable == "false" } onclick="{ _onbtclick }" ref = "mybtn" >
|
||||
<afx-button class= { btactive: selected }>
|
||||
<button disabled={ enable == false } onclick="{ _onbtclick }" ref = "mybtn" >
|
||||
<afx-label color = {color} icon={icon} iconclass = {iconclass} text = {text} ></afx-label>
|
||||
</button>
|
||||
<script>
|
||||
this.enable = opts.enable
|
||||
opts.enable = opts.enable || "true"
|
||||
this.enable = eval(opts.enable) || false
|
||||
this.icon = opts.icon
|
||||
this.iconclass = opts.iconclass
|
||||
this.color = opts.color
|
||||
this.text = opts.text || ""
|
||||
this.selected = eval(opts.selected) || false
|
||||
this.toggle = eval(opts.toggle) || false
|
||||
var self = this
|
||||
this.onbtclick = opts.onbtclick
|
||||
self.root.set = function(k,v)
|
||||
@ -37,6 +40,8 @@
|
||||
{
|
||||
self.root.observable.trigger("btclick",{id:$(self.root).attr("data-id"),data:self.root})
|
||||
}
|
||||
if(self.toggle)
|
||||
self.root.set("selected",!self.selected)
|
||||
}
|
||||
</script>
|
||||
</afx-button>
|
75
src/core/tags/afx-nspinner.tag
Normal file
75
src/core/tags/afx-nspinner.tag
Normal file
@ -0,0 +1,75 @@
|
||||
<afx-nspinner>
|
||||
<input ref = "holder" type="text" value = {value}></input>
|
||||
<ul ref = "spinner">
|
||||
<li class = "incr" ref= "incr" onclick="{ _incr }"> <i></i> </li>
|
||||
<li class = "decr" ref = "decr" onclick="{ _decr }"> <i></i> </li>
|
||||
</ul>
|
||||
<script>
|
||||
|
||||
this.value = eval(opts.value) || 0
|
||||
this.onchange = opts.onchange
|
||||
var self = this
|
||||
this.rid = $(self.root).attr("data-id") || Math.floor(Math.random() * 100000) + 1
|
||||
self.root.set = function(k,v)
|
||||
{
|
||||
if(k == "*")
|
||||
for(var i in v)
|
||||
self[i] = v[i]
|
||||
else
|
||||
self[k] = v
|
||||
self.update()
|
||||
}
|
||||
self.root.get = function(k)
|
||||
{
|
||||
return self[k]
|
||||
}
|
||||
|
||||
self._incr = function(e)
|
||||
{
|
||||
self.value = self.value + 1;
|
||||
self.update();
|
||||
if(self.onchange) self.onchange(self.value);
|
||||
}
|
||||
|
||||
self.on("mount", function(){
|
||||
self.root.observable = opts.observable || (self.parent && self.parent.root && self.parent.root.observable) || riot.observable()
|
||||
$(self.refs.spinner).css("width", "20px" );
|
||||
var cl = function()
|
||||
{
|
||||
$(self.refs.holder).css("width", $(self.root).width() - 20 + "px" )
|
||||
$(self.refs.holder).css("height", $(self.root).height() - 3 + "px" )
|
||||
$(self.refs.spinner).css("height", $(self.root).height() - 5 + "px" )
|
||||
}
|
||||
cl()
|
||||
self.root.observable.on("calibrate", function(){
|
||||
cl()
|
||||
})
|
||||
self.root.observable.on("resize", function(){
|
||||
cl()
|
||||
});
|
||||
$(self.refs.holder).on('keyup', function (e) {
|
||||
if (e.keyCode == 13) {
|
||||
var val = self.refs.holder.value;
|
||||
if(!isNaN(val))
|
||||
{
|
||||
val = eval(val)
|
||||
if(val < 0)
|
||||
val = self.value;
|
||||
self.value = val;
|
||||
}
|
||||
self.refs.holder.value = self.value;
|
||||
if(self.onchange) self.onchange(self.value);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
self._decr = function(e)
|
||||
{
|
||||
if(self.value == 0) return;
|
||||
self.value = self.value - 1;
|
||||
self.update();
|
||||
if(self.onchange) self.onchange(self.value);
|
||||
}
|
||||
|
||||
</script>
|
||||
</afx-nspinner>
|
Reference in New Issue
Block a user