Juanfran 2014-10-07 11:47:21 +02:00
parent be6b2c4ee0
commit 83c10e91bc
2 changed files with 21 additions and 6 deletions

View File

@ -96,6 +96,7 @@ TagLineDirective = ($log, $rs) ->
template = """ template = """
<div class="tags-container"></div> <div class="tags-container"></div>
<input type="text" placeholder="Write tag..." class="tag-input" /> <input type="text" placeholder="Write tag..." class="tag-input" />
<a href="" title="Save" class="save icon icon-floppy"></a>
""" """
# Tags template (rendered manually using lodash) # Tags template (rendered manually using lodash)
@ -137,6 +138,14 @@ TagLineDirective = ($log, $rs) ->
$scope.$apply -> $scope.$apply ->
$model.$setViewValue(normalizeTags(tags)) $model.$setViewValue(normalizeTags(tags))
saveInputTag = () ->
input = $el.find('input')
addValue(input.val())
input.val("")
input.autocomplete("close")
$el.find('.save').hide()
$scope.$watch $attrs.ngModel, (val) -> $scope.$watch $attrs.ngModel, (val) ->
tags_colors = if $scope.project?.tags_colors? then $scope.project.tags_colors else [] tags_colors = if $scope.project?.tags_colors? then $scope.project.tags_colors else []
renderTags($el, val, editable, tags_colors) renderTags($el, val, editable, tags_colors)
@ -171,13 +180,16 @@ TagLineDirective = ($log, $rs) ->
event.preventDefault() event.preventDefault()
$el.on "keyup", "input", (event) -> $el.on "keyup", "input", (event) ->
return if event.keyCode != 13
event.preventDefault()
target = angular.element(event.currentTarget) target = angular.element(event.currentTarget)
addValue(target.val())
target.val("") if event.keyCode == 13
$el.find("input").autocomplete("close") saveInputTag()
else if target.val().length
$el.find('.save').show()
else
$el.find('.save').hide()
$el.on "click", ".save", saveInputTag
$el.on "click", ".icon-delete", (event) -> $el.on "click", ".icon-delete", (event) ->
event.preventDefault() event.preventDefault()

View File

@ -42,4 +42,7 @@
margin: 0 .5rem .5rem 0; margin: 0 .5rem .5rem 0;
padding: .5rem; padding: .5rem;
} }
.save {
display: none;
}
} }