28 lines
621 B
JavaScript
28 lines
621 B
JavaScript
|
import * as riot from 'riot';
|
||
|
|
||
|
// ミックスインにオプションを渡せないのアレ
|
||
|
// SEE: https://github.com/riot/riot/issues/2434
|
||
|
|
||
|
riot.mixin('widget', {
|
||
|
init: function() {
|
||
|
this.mixin('i');
|
||
|
this.mixin('api');
|
||
|
|
||
|
this.id = this.opts.id;
|
||
|
|
||
|
Object.keys(this.data).forEach(prop => {
|
||
|
this.data[prop] = this.opts.data.hasOwnProperty(prop) ? this.opts.data[prop] : this.data[prop];
|
||
|
});
|
||
|
},
|
||
|
|
||
|
save: function() {
|
||
|
this.api('i/update_home', {
|
||
|
id: this.id,
|
||
|
data: this.data
|
||
|
}).then(() => {
|
||
|
this.I.client_settings.home.find(w => w.id == this.id).data = this.data;
|
||
|
this.I.update();
|
||
|
});
|
||
|
}
|
||
|
});
|