sharkey/src/web/app/desktop/mixins/widget.js

28 lines
621 B
JavaScript
Raw Normal View History

2017-11-12 04:39:07 +09:00
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();
});
}
});