initialize: function(options) {
this.view = options.view;
- this.listenTo(this.model, 'change', this.render);
+ this.listenTo(this.model, 'change:checked', this.toggleChecked);
this.listenTo(this.model, 'remove', this.remove);
this.listenTo(this.model, 'hidden', this.toggleHidden);
},
var data = this.model.toJSON();
data['url_params'] = $.param({
host: this.view.host,
- path: this.view.path.full(),
- name: this.model.get('name')
+ path: this.view.path.full() + '/' + this.model.get('name')
});
data['cid'] = this.model.cid;
},
toggleHidden: function() {
- this.$el.toggleClass('hidden', this.model.isHidden() && !this.view.showHidden());
+ var isHidden = this.model.isHidden() && !this.view.showHidden();
+ this.$el.toggleClass('hidden', isHidden);
+
+ if (isHidden && this.model.get('checked'))
+ this.model.toggle();
+ },
+
+ toggleChecked: function(obj, value) {
+ this.$el.toggleClass('active', value);
+ this.$el.find('input[type="checkbox"]').prop('checked', value);
},
click: function(e) {
error: function(collection, response) {
view.files.reset();
- var msg = (response.responseJSON || {}).msg || 'Błąd serwera';
+ var msg = (response.responseJSON || {}).error || 'Błąd serwera';
view.$noItems.hide();
view.$error.find('.msg').text(msg);