summaryrefslogtreecommitdiffstats
path: root/assets
diff options
context:
space:
mode:
Diffstat (limited to 'assets')
-rw-r--r--assets/js/views/sample-editor.js5
-rw-r--r--assets/js/views/sample.js18
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);
+ });
+ }
});