bugfix
This commit is contained in:
parent
8c1caa3f93
commit
32f4f90f1f
@ -45,33 +45,5 @@ bricks.MultipleStateImage = class extends bricks.Layout {
|
||||
}
|
||||
}
|
||||
|
||||
bricks.MultipleStateIcon = class extends bricks.Svg {
|
||||
constructor(opts){
|
||||
opts.url = opts.urls[opts.state];
|
||||
super(opts);
|
||||
this.state = opts.state;
|
||||
this.urls = opts.urls;
|
||||
this.bind('click', this.change_state.bind(this));
|
||||
}
|
||||
change_state(event){
|
||||
event.stopPropagation();
|
||||
var states = Object.keys(this.urls);
|
||||
for (var i=0;i<states.length;i++){
|
||||
if (states[i] == this.state){
|
||||
var k = i + 1;
|
||||
if (k >= states.length) k = 0;
|
||||
this.set_state(states[k]);
|
||||
this.dispatch('state_changed', this.state);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
set_state(state){
|
||||
this.state = state;
|
||||
this.set_url(this.urls[state]);
|
||||
}
|
||||
|
||||
}
|
||||
bricks.Factory.register('MultipleStateImage', bricks.MultipleStateImage);
|
||||
bricks.Factory.register('MultipleStateIcon', bricks.MultipleStateIcon);
|
||||
|
||||
|
||||
@ -129,6 +129,34 @@ bricks.StatedSvg = class extends bricks.Svg {
|
||||
if (! done) this.set_url(null);
|
||||
}
|
||||
}
|
||||
bricks.MultipleStateIcon = class extends bricks.Svg {
|
||||
constructor(opts){
|
||||
opts.url = opts.urls[opts.state];
|
||||
super(opts);
|
||||
this.state = opts.state;
|
||||
this.urls = opts.urls;
|
||||
this.bind('click', this.change_state.bind(this));
|
||||
}
|
||||
change_state(event){
|
||||
event.stopPropagation();
|
||||
var states = Object.keys(this.urls);
|
||||
for (var i=0;i<states.length;i++){
|
||||
if (states[i] == this.state){
|
||||
var k = i + 1;
|
||||
if (k >= states.length) k = 0;
|
||||
this.set_state(states[k]);
|
||||
this.dispatch('state_changed', this.state);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
set_state(state){
|
||||
this.state = state;
|
||||
this.set_url(this.urls[state]);
|
||||
}
|
||||
|
||||
}
|
||||
bricks.Factory.register('Svg', bricks.Svg);
|
||||
bricks.Factory.register('StatedSvg', bricks.StatedSvg);
|
||||
bricks.Factory.register('MultipleStateIcon', bricks.MultipleStateIcon);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user