Improve the usability of proyect values

stable
Jesús Espino 2014-09-17 12:23:25 +02:00
parent 47b94f95d7
commit 55de59cd53
1 changed files with 36 additions and 20 deletions

View File

@ -160,6 +160,29 @@ ProjectValuesDirective = ($log, $repo, $confirm, $location, animationFrame) ->
promise.then null, (data) -> promise.then null, (data) ->
$confirm.notify("error", data._error_message) $confirm.notify("error", data._error_message)
saveValue = (target)->
form = target.parents("form").checksley()
return if not form.validate()
value = target.scope().value
promise = $repo.save(value)
promise.then =>
row = target.parents(".row.table-main")
row.hide()
row.siblings(".visualization").css("display": "flex")
promise.then null, (data) ->
$confirm.notify("error")
form.setErrors(data)
cancel = (target) ->
row = target.parents(".row.table-main")
value = target.scope().value
$scope.$apply ->
row.hide()
value.revert()
row.siblings(".visualization").css("display": "flex")
$el.on "submit", "form", (event) -> $el.on "submit", "form", (event) ->
event.preventDefault() event.preventDefault()
submit() submit()
@ -207,34 +230,27 @@ ProjectValuesDirective = ($log, $repo, $confirm, $location, animationFrame) ->
row = target.parents(".row.table-main") row = target.parents(".row.table-main")
row.hide() row.hide()
row.siblings(".edition").css("display": "flex") editionRow = row.siblings(".edition")
editionRow.css("display": "flex")
editionRow.find('input:visible').first().focus().select()
$el.on "keyup", ".edition input", (event) ->
if event.keyCode == 13
target = angular.element(event.currentTarget)
saveValue(target)
else if event.keyCode == 27
target = angular.element(event.currentTarget)
cancel(target)
$el.on "click", ".save", (event) -> $el.on "click", ".save", (event) ->
event.preventDefault() event.preventDefault()
target = angular.element(event.currentTarget) target = angular.element(event.currentTarget)
form = target.parents("form").checksley() saveValue(target)
return if not form.validate()
value = target.scope().value
promise = $repo.save(value)
promise.then =>
row = target.parents(".row.table-main")
row.hide()
row.siblings(".visualization").css("display": "flex")
promise.then null, (data) ->
$confirm.notify("error")
form.setErrors(data)
$el.on "click", ".cancel", (event) -> $el.on "click", ".cancel", (event) ->
event.preventDefault() event.preventDefault()
target = angular.element(event.currentTarget) target = angular.element(event.currentTarget)
row = target.parents(".row.table-main") cancel(target)
value = target.scope().value
$scope.$apply ->
row.hide()
value.revert()
row.siblings(".visualization").css("display": "flex")
$el.on "click", ".delete-value", (event) -> $el.on "click", ".delete-value", (event) ->
event.preventDefault() event.preventDefault()