diff --git a/js/app.js b/js/app.js
index e5407902..c9f589da 100644
--- a/js/app.js
+++ b/js/app.js
@@ -460,6 +460,10 @@ GroupList.prototype.deleteGroup = function(groupid, cb) {
GroupList.prototype.editGroup = function(id) {
var self = this;
+ if(this.$editelem) {
+ console.log('Already editing, returning');
+ return;
+ }
// NOTE: Currently this only works for adding, not renaming
var saveChanges = function($elem, $input) {
console.log('saveChanges', $input.val());
@@ -474,6 +478,7 @@ GroupList.prototype.editGroup = function(id) {
$elem.prepend(name).removeClass('editing').attr('data-id', response.id);
$input.next('.checked').remove()
$input.remove()
+ self.$editelem = null;
} else {
$input.prop('disabled', false);
OC.notify({message:response.message});
@@ -484,17 +489,17 @@ GroupList.prototype.editGroup = function(id) {
if(typeof id === 'undefined') {
// Add new group
var tmpl = this.$groupListItemTemplate;
- var $elem = (tmpl).octemplate({
+ self.$editelem = (tmpl).octemplate({
id: 'new',
type: 'category',
num: 0,
name: '',
});
var $input = $('');
- $elem.prepend($input).addClass('editing');
- $elem.data('contacts', []);
- this.$groupList.find('h3.group[data-type="category"]').first().before($elem);
- this.selectGroup({element:$elem});
+ self.$editelem.prepend($input).addClass('editing');
+ self.$editelem.data('contacts', []);
+ this.$groupList.find('h3.group[data-type="category"]').first().before(self.$editelem);
+ this.selectGroup({element:self.$editelem});
$input.on('input', function(event) {
if($(this).val().length > 0) {
$(this).next('.checked').removeClass('disabled');
@@ -505,9 +510,10 @@ GroupList.prototype.editGroup = function(id) {
$input.on('keyup', function(event) {
var keyCode = Math.max(event.keyCode, event.which);
if(keyCode === 13) {
- saveChanges($elem, $(this));
+ saveChanges(self.$editelem, $(this));
} else if(keyCode === 27) {
- $elem.remove();
+ self.$editelem.remove();
+ self.$editelem = null;
}
});
$input.next('.checked').on('click keydown', function(event) {
@@ -515,7 +521,7 @@ GroupList.prototype.editGroup = function(id) {
if(wrongKey(event)) {
return;
}
- saveChanges($elem, $input);
+ saveChanges(self.$editelem, $input);
});
$input.focus();
} else if(utils.isUInt(id)) {