From ef76db5e7e9abaa78478443e9db32e6c70218238 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 10 Mar 2017 15:04:46 -0600 Subject: [PATCH] fixes firefox tag selection issue --- .../javascripts/app/frontend/controllers/tags.js | 13 +++++++------ app/assets/stylesheets/app/_tags.scss | 3 +++ app/assets/templates/frontend/tags.html.haml | 5 ++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/app/frontend/controllers/tags.js b/app/assets/javascripts/app/frontend/controllers/tags.js index 22b0b17f7..8b5357480 100644 --- a/app/assets/javascripts/app/frontend/controllers/tags.js +++ b/app/assets/javascripts/app/frontend/controllers/tags.js @@ -69,11 +69,6 @@ angular.module('app.frontend') this.addNew()(this.newTag); } - var originalTagName = ""; - this.onTagTitleFocus = function(tag) { - originalTagName = tag.title; - } - this.tagTitleDidChange = function(tag) { this.editingTag = tag; } @@ -99,10 +94,16 @@ angular.module('app.frontend') }.bind(this)); } + function inputElementForTag(tag) { + return document.getElementById("tag-" + tag.uuid); + } + + var originalTagName = ""; this.selectedRenameTag = function($event, tag) { + originalTagName = tag.title; this.editingTag = tag; $timeout(function(){ - document.getElementById("tag-" + tag.uuid).focus(); + inputElementForTag(tag).focus(); }) } diff --git a/app/assets/stylesheets/app/_tags.scss b/app/assets/stylesheets/app/_tags.scss index 3f622ee82..d243566f9 100644 --- a/app/assets/stylesheets/app/_tags.scss +++ b/app/assets/stylesheets/app/_tags.scss @@ -42,6 +42,7 @@ > .info { height: 20px; + > .title { width: 80%; background-color: transparent; @@ -52,6 +53,8 @@ cursor: pointer; text-overflow: ellipsis; width: 75%; + + pointer-events: none; } > .count { diff --git a/app/assets/templates/frontend/tags.html.haml b/app/assets/templates/frontend/tags.html.haml index 89745104f..89f0c1a66 100644 --- a/app/assets/templates/frontend/tags.html.haml +++ b/app/assets/templates/frontend/tags.html.haml @@ -12,10 +12,9 @@ .count {{ctrl.noteCount(ctrl.allTag)}} .tag{"ng-repeat" => "tag in ctrl.tags", "ng-click" => "ctrl.selectTag(tag)", "ng-class" => "{'selected' : ctrl.selectedTag == tag}"} .info - %input.title{"ng-attr-id" => "tag-{{tag.uuid}}", "ng-disabled" => "ctrl.editingTag != tag", "ng-model" => "tag.title", + %input.title{"ng-attr-id" => "tag-{{tag.uuid}}", "ng-click" => "ctrl.selectTag(tag)", "ng-model" => "tag.title", "ng-keyup" => "$event.keyCode == 13 && ctrl.saveTag($event, tag)", "mb-autofocus" => "true", "should-focus" => "ctrl.newTag || ctrl.editingTag == tag", - "ng-change" => "ctrl.tagTitleDidChange(tag)", "ng-focus" => "ctrl.onTagTitleFocus(tag)", "ng-blur" => "ctrl.saveTag($event, tag)", - "spellcheck" => "false"} + "ng-change" => "ctrl.tagTitleDidChange(tag)", "ng-blur" => "ctrl.saveTag($event, tag)", "spellcheck" => "false"} .count {{ctrl.noteCount(tag)}} .menu{"ng-if" => "ctrl.selectedTag == tag"} %a.item{"ng-click" => "ctrl.selectedRenameTag($event, tag)", "ng-if" => "!ctrl.editingTag"} Rename