How can I make the TextArea
autogrow plugin work with ember.js? It does not seem to work with Ember.TextArea
.
I tried this (coffeescript):
App.TextField = Ember.TextArea.extend
didInsertElement: ->
opts =
animate: false
cloneClass: 'faketextarea'
@$().autogrow(opts)
There seems to be an issue with the way Ember gets this.$()
for the view that doesn't play nicely with the autogrow plugin, causing autogrow to not correctly listen for events on the TextArea
. Explicitly creating the selector using the elementId
of the view allows your example to work.
I'm using Ember 1.0.0-PRE.4
Example: http://jsbin.com/adedag/8/edit
App.TextField = Ember.TextArea.extend({
didInsertElement: function() {
opts = {
animate: false,
cloneClass: 'faketextarea'
}
$('#'+this.get('elementId')).autogrow(opts);
}
});
If you are using Bower, consider this alternative also: http://www.jacklmoore.com/autosize/
"dependencies": {
"jquery": "~2.0",
"ember": "1.2.0-beta.4",
"ember-data-shim": "v1.0.0-beta.3",
"handlebars": "1.1.2",
"jquery-autosize":""
},
Then
App.AutosizeTextArea = Ember.TextArea.extend({
didInsertElement: function() {
$('#'+this.get('elementId')).autosize();
}
});
And
{{view App.AutosizeTextArea value=notes}}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With