diff --git a/app/assets/javascripts/app/frontend/controllers/home.js b/app/assets/javascripts/app/frontend/controllers/home.js index b2b7cbb22..bee9f6c50 100644 --- a/app/assets/javascripts/app/frontend/controllers/home.js +++ b/app/assets/javascripts/app/frontend/controllers/home.js @@ -56,6 +56,11 @@ angular.module('app.frontend') } $scope.tagsSave = function(tag, callback) { + console.log("saving tag", tag); + if(!tag.title || tag.title.length == 0) { + $scope.notesRemoveTag(tag); + return; + } tag.setDirty(true); syncManager.sync(callback); } diff --git a/app/assets/javascripts/app/frontend/controllers/tags.js b/app/assets/javascripts/app/frontend/controllers/tags.js index 5f673c2da..422c308f2 100644 --- a/app/assets/javascripts/app/frontend/controllers/tags.js +++ b/app/assets/javascripts/app/frontend/controllers/tags.js @@ -79,19 +79,20 @@ angular.module('app.frontend') this.saveTag = function($event, tag) { this.editingTag = null; - if(tag.title.length == 0) { - tag.title = originalTagName; - originalTagName = ""; + $event.target.blur(); + + if(!tag.title || tag.title.length == 0) { + if(originalTagName) { + tag.title = originalTagName; + originalTagName = null; + } else { + // newly created tag without content + modelManager.removeItemLocally(tag); + } return; } - $event.target.blur(); - if(!tag.title || tag.title.length == 0) { - return; - } - this.save()(tag, function(savedTag){ - // _.merge(tag, savedTag); this.selectTag(tag); this.newTag = null; }.bind(this)); diff --git a/app/assets/templates/frontend/tags.html.haml b/app/assets/templates/frontend/tags.html.haml index 69e96b946..abdc92dc5 100644 --- a/app/assets/templates/frontend/tags.html.haml +++ b/app/assets/templates/frontend/tags.html.haml @@ -13,5 +13,5 @@ %input.title{"ng-disabled" => "tag != ctrl.selectedTag", "ng-model" => "tag.title", "ng-keyup" => "$event.keyCode == 13 && ctrl.saveTag($event, tag)", "mb-autofocus" => "true", "should-focus" => "ctrl.newTag", - "ng-change" => "ctrl.tagTitleDidChange(tag)", "ng-focus" => "ctrl.onTagTitleFocus(tag)"} + "ng-change" => "ctrl.tagTitleDidChange(tag)", "ng-focus" => "ctrl.onTagTitleFocus(tag)", "ng-blur" => "ctrl.saveTag($event, tag)"} .count {{ctrl.noteCount(tag)}}