35 lines
741 B
JavaScript
35 lines
741 B
JavaScript
export default Ember.Mixin.create({
|
|
|
|
_watchProps: function() {
|
|
var args = this.get('rerenderTriggers');
|
|
if (!Ember.isNone(args)) {
|
|
var self = this;
|
|
args.forEach(function(k) {
|
|
self.addObserver(k, self.rerenderString);
|
|
});
|
|
}
|
|
}.on('init'),
|
|
|
|
render: function(buffer) {
|
|
this.renderString(buffer);
|
|
},
|
|
|
|
renderString: function(buffer){
|
|
var template = Discourse.__container__.lookup('template:' + this.rawTemplate);
|
|
if (template) {
|
|
buffer.push(template(this));
|
|
}
|
|
},
|
|
|
|
_rerenderString: function() {
|
|
var buffer = [];
|
|
this.renderString(buffer);
|
|
this.$().html(buffer.join(''));
|
|
},
|
|
|
|
rerenderString: function() {
|
|
Ember.run.once(this, '_rerenderString');
|
|
}
|
|
|
|
});
|