Minor improvements on tgTagLine directive.

stable
Andrey Antukh 2014-09-10 14:07:11 +02:00
parent 9c1dff28ec
commit 803da21993
1 changed files with 23 additions and 23 deletions

View File

@ -124,7 +124,7 @@ TagLineDirective = ($log, $rs) ->
link = ($scope, $el, $attrs, $model) ->
editable = if $attrs.editable == "true" then true else false
$el.addClass('tags-block')
$el.addClass("tags-block")
addValue = (value) ->
value = trim(value)
@ -137,33 +137,34 @@ TagLineDirective = ($log, $rs) ->
$scope.$apply ->
$model.$setViewValue(normalizeTags(tags))
$scope.$watch $attrs.ngModel, (val) ->
return if not val
renderTags($el, val, editable, $scope.project.tags_colors)
console.log "WATCH", val
renderTags($el, val, editable, $scope.project.tags_colors) if val?
bindOnce $scope, "projectId", (projectId) ->
# If not editable, no tags preloading is needed.
return if not editable
$scope.$watch "projectId", (val) ->
return if not val?
positioningFunction = (position, elements) ->
menu = elements.element.element
menu.css 'width', elements.target.width
menu.css 'top', position.top
menu.css 'left', position.left
menu.css("width", elements.target.width)
menu.css("top", position.top)
menu.css("left", position.left)
promise = $rs.projects.tags($scope.projectId)
promise.then (data) ->
if editable
$rs.projects.tags(projectId).then (data) ->
$el.find("input").autocomplete({
source: data,
position:
source: data
position: {
my: "left top",
using: positioningFunction
}
select: (event, ui) ->
addValue(ui.item.value)
ui.item.value = ""
})
$el.find("input").remove() if not editable
if not editable
$el.find("input").remove()
$el.on "keypress", "input", (event) ->
return if event.keyCode != 13
@ -178,7 +179,6 @@ TagLineDirective = ($log, $rs) ->
target.val("")
$el.find("input").autocomplete("close")
$el.on "click", ".icon-delete", (event) ->
event.preventDefault()
target = angular.element(event.currentTarget)