mirror of https://github.com/keeweb/keeweb
fix new model creation
parent
abdb329045
commit
d973c9f989
|
@ -155,10 +155,7 @@ var AppModel = Backbone.Model.extend({
|
|||
file = this.files.first();
|
||||
group = file.get('groups').first();
|
||||
}
|
||||
var entry = EntryModel.newEntry(group, file);
|
||||
group.addEntry(entry);
|
||||
entry.isNew = true;
|
||||
return entry;
|
||||
return EntryModel.newEntry(group, file);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -110,6 +110,9 @@ var EntryModel = Backbone.Model.extend({
|
|||
this.entry.pushHistory();
|
||||
this.file.setModified();
|
||||
}
|
||||
if (this.isNew) {
|
||||
this.isNew = false;
|
||||
}
|
||||
this.entry.times.update();
|
||||
},
|
||||
|
||||
|
@ -222,6 +225,14 @@ var EntryModel = Backbone.Model.extend({
|
|||
this.group = trashGroup;
|
||||
this.deleted = true;
|
||||
}
|
||||
},
|
||||
|
||||
removeWithoutHistory: function() {
|
||||
var ix = this.group.group.entries.indexOf(this.entry);
|
||||
if (ix >= 0) {
|
||||
this.group.group.entries.splice(ix, 1);
|
||||
}
|
||||
this.group.removeEntry(this);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -237,6 +248,8 @@ EntryModel.newEntry = function(group, file) {
|
|||
model.setEntry(entry, group, file);
|
||||
model.entry.times.update();
|
||||
model.unsaved = true;
|
||||
model.isNew = true;
|
||||
group.addEntry(model);
|
||||
file.setModified();
|
||||
return model;
|
||||
};
|
||||
|
|
|
@ -381,6 +381,11 @@ var DetailsView = Backbone.View.extend({
|
|||
this.setTitle(e.target.value);
|
||||
} else if (code === Keys.DOM_VK_ESCAPE) {
|
||||
$(e.target).unbind('blur');
|
||||
if (this.model.isNew) {
|
||||
this.model.removeWithoutHistory();
|
||||
Backbone.trigger('refresh');
|
||||
return;
|
||||
}
|
||||
this.render();
|
||||
} else if (code === Keys.DOM_VK_TAB) {
|
||||
e.preventDefault();
|
||||
|
@ -393,6 +398,11 @@ var DetailsView = Backbone.View.extend({
|
|||
},
|
||||
|
||||
setTitle: function(title) {
|
||||
if (!title && this.model.isNew) {
|
||||
this.model.removeWithoutHistory();
|
||||
Backbone.trigger('refresh');
|
||||
return;
|
||||
}
|
||||
if (this.model.title instanceof kdbxweb.ProtectedValue) {
|
||||
title = kdbxweb.ProtectedValue.fromString(title);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue