diff options
Diffstat (limited to 'assets/js')
| -rw-r--r-- | assets/js/views/sample-editor.js | 5 | ||||
| -rw-r--r-- | assets/js/views/sample.js | 18 |
2 files changed, 20 insertions, 3 deletions
diff --git a/assets/js/views/sample-editor.js b/assets/js/views/sample-editor.js index 6accd89..088e588 100644 --- a/assets/js/views/sample-editor.js +++ b/assets/js/views/sample-editor.js @@ -1,5 +1,10 @@ ClipPlay.Views.SampleEditor = Marionette.CollectionView.extend({ itemView: ClipPlay.Views.Sample, + itemViewOptions: function(model, index) { + return { + collection: this.collection + }; + }, onRender: function() { // Initialize view for adding new samples diff --git a/assets/js/views/sample.js b/assets/js/views/sample.js index c728e47..ede97be 100644 --- a/assets/js/views/sample.js +++ b/assets/js/views/sample.js @@ -11,7 +11,9 @@ ClipPlay.Views.Sample = Marionette.ItemView.extend({ this.$('.js-keyboard-key').val(this.model.get('key')); }, - initialize: function(){ + initialize: function(options){ + this.collection = options.collection; + this.listenTo(this.model, 'change:key', this.key_bind); this.key_bind(); }, @@ -81,6 +83,16 @@ ClipPlay.Views.Sample = Marionette.ItemView.extend({ }, remove_sample: function(){ - console.log('removed sample'); - } + this.collection.remove(this.model); + }, + + close: function() { + var that = this; + this.$el.animate({ + height: 0, + opacity: 0 + }, 500, function() { + Marionette.View.prototype.close.call(that, arguments); + }); + } }); |
