Adressed PR comment's

This commit is contained in:
Nicolas Le Goff
2013-05-13 09:52:23 +02:00
committed by Romain Neutron
parent 18b7f6d65a
commit 8a59f0070d
11 changed files with 147 additions and 162 deletions

View File

@@ -1,51 +0,0 @@
define([
'underscore',
'backbone',
'i18n'
], function( _, Backbone, i18n, bootstrap) {
var AddView = Backbone.View.extend({
tagName: "div",
className: "add-field-block",
style: "display:none;",
events: {
"click .btn-submit-field": "createAction"
},
initialize: function() {},
render: function() {
var template = _.template($("#alert_template").html(), {
msg: this.msg
});
this.$el.after(template);
return this;
},
createAction: function(event) {
var self = this;
var field = new FieldModel({
"name": "AA" + new Date().getUTCMilliseconds(),
"tag": "IPTC:ObjectName"
}, {
sbas_id: AdminFieldApp.sbas_id
});
field.save(null, {
success: function(field) {
self.collection.add(field);
_.last(self.itemViews).clickAction().animate();
new AlertView({alert: 'success', message: 'A new field has been created'}).render();
},
error: function() {
new AlertView({alert: 'error', message: 'Something wrong happened'}).render();
}
});
},
destroy: function() {
this.remove();
}
});
return AddView;
});

View File

@@ -33,4 +33,4 @@ define([
});
return AlertView;
});
});

View File

@@ -7,7 +7,7 @@ define([
tagName: "div",
className: "input-append",
events: {
"change select": "onChange"
"change select": "selectChangedAction"
},
render: function() {
var template = _.template($("#dc_fields_template").html(), {
@@ -18,7 +18,7 @@ define([
return this;
},
onChange: function(e) {
selectChangedAction: function(e) {
var index = $(e.target)[0].selectedIndex;
this.$el.closest('table').find('.dces-help-block').empty().append(this.collection.at(index).get('definition'));
}
@@ -26,4 +26,3 @@ define([
return DcFieldsView;
});

View File

@@ -11,8 +11,8 @@ define([
className: "field-edit",
initialize: function() {
this.model.on('change', this.render, this);
this.model.on('change:name', this.onFieldChange, this);
this.model.on('change:tag', this.onFieldChange, this);
this.model.on('change:name', this.onModelFieldChange, this);
this.model.on('change:tag', this.onModelFieldChange, this);
this.dcFieldsSubView = new DcFieldView({
collection: window.AdminFieldApp.dcFieldsCollection
@@ -54,19 +54,18 @@ define([
},
events: {
"click .delete-field": "deleteAction",
"focusout input[type=text]": "fieldChanged",
"change input[type=checkbox]": "fieldChanged",
"change select": "selectionChanged"
"focusout input[type=text]": "fieldChangedAction",
"change input[type=checkbox]": "fieldChangedAction",
"change select": "selectionChangedAction"
},
selectionChanged: function(e) {
selectionChangedAction: function(e) {
var field = $(e.currentTarget);
var value = $("option:selected", field).val();
var data = {};
data[field.attr('id')] = value;
this.model.set(data);
},
fieldChanged: function(e) {
console.log('field change');
fieldChangedAction: function(e) {
var field = $(e.currentTarget);
var data = {};
data[field.attr('id')] = field.is(":checkbox") ? field.is(":checked") : field.val();
@@ -108,8 +107,7 @@ define([
return this;
},
onFieldChange: function() {
console.log('on field changed');
onModelFieldChange: function() {
AdminFieldApp.fieldListView.collection.remove(this.model, {silent: true});
AdminFieldApp.fieldListView.collection.add(this.model);
this.render();
@@ -118,13 +116,11 @@ define([
var selectors;
if (_.isObject(selector)) {
selectors = selector;
}
else {
} else {
selectors = {};
selectors[selector] = view;
}
if (!selectors)
return;
if (!selectors) return;
_.each(selectors, function(view, selector) {
view.setElement(this.$(selector)).render();
}, this);

View File

@@ -13,7 +13,7 @@ define([
"click .btn-submit-field": "createAction",
"click .btn-add-field": "toggleCreateFormAction",
"click .btn-cancel-field": "toggleCreateFormAction",
"update-sort": "onUpdateSort"
"update-sort": "updateSortAction"
},
initialize: function() {
// Store all single rendered views
@@ -73,9 +73,6 @@ define([
this.$listEl.sortable({
handle: ".handle",
start: function () {
console.log('start', AdminFieldApp.fieldEditView.model.get('id'));
},
stop: function(event, ui) {
ui.item.trigger('drop', ui.item.index());
}
@@ -84,7 +81,7 @@ define([
this.$listEl.disableSelection();
this.$listEl.find('li:last').addClass('last');
return this;
},
searchAction: function(event) {
@@ -126,7 +123,7 @@ define([
toggleCreateFormAction: function(event) {
$('.add-field-block', this.$el).toggle();
},
onUpdateSort: function(event, model, position) {
updateSortAction: function(event, model, position) {
this.collection.remove(model, {silent: true});
this.collection.each(function(model, index) {
@@ -139,7 +136,9 @@ define([
this.collection.add(model, {at: position});
// update edit view
AdminFieldApp.fieldEditView.model = this.collection.find(function(el) { return el.get('id') === AdminFieldApp.fieldEditView.model.get('id') });
AdminFieldApp.fieldEditView.model = this.collection.find(function(el) {
return el.get('id') === AdminFieldApp.fieldEditView.model.get('id');
});
}
});

View File

@@ -41,4 +41,3 @@ define([
return ModalView;
});