diff --git a/app/coffee/modules/admin/project-values.coffee b/app/coffee/modules/admin/project-values.coffee index 5df4335c..f59e0f31 100644 --- a/app/coffee/modules/admin/project-values.coffee +++ b/app/coffee/modules/admin/project-values.coffee @@ -113,6 +113,29 @@ ProjectUsStatusDirective = ($log, $repo, $confirm, $location, $model) -> event.preventDefault() $el.find(".new-us-status").hide() + $el.on "click", ".edit-us-status", (event) -> + event.preventDefault() + target = angular.element(event.currentTarget) + target.parents(".project-values-row").find(".visualization").hide() + target.parents(".project-values-row").find(".edition").show() + + $el.on "click", ".save", (event) -> + event.preventDefault() + target = angular.element(event.currentTarget) + status = $model.make_model("userstory-statuses", target.scope().status) + status.setAttr("name", status.name) + status.setAttr("is_closed", status.is_closed) + + $repo.save(status).then => + target.parents(".project-values-row").find(".visualization").show() + target.parents(".project-values-row").find(".edition").hide() + + $el.on "click", ".cancel", (event) -> + event.preventDefault() + target = angular.element(event.currentTarget) + target.parents(".project-values-row").find(".visualization").show() + target.parents(".project-values-row").find(".edition").hide() + $el.on "click", ".delete-us-status", (event) -> event.preventDefault() target = angular.element(event.currentTarget) @@ -125,6 +148,9 @@ ProjectUsStatusDirective = ($log, $repo, $confirm, $location, $model) -> $repo.remove(status).then => $ctrl.loadProject() + $scope.$on "$destroy", -> + $el.off() + return {link:link} module.directive("tgProjectUsStatus", ["$log", "$tgRepo", "$tgConfirm", "$tgLocation", "$tgModel", ProjectUsStatusDirective]) diff --git a/app/partials/views/modules/admin/project-us-status.jade b/app/partials/views/modules/admin/project-us-status.jade index 14d07648..cf5e5588 100644 --- a/app/partials/views/modules/admin/project-us-status.jade +++ b/app/partials/views/modules/admin/project-us-status.jade @@ -10,12 +10,16 @@ section.project-values-table div.project-values-body div.project-values-row(ng-repeat="status in project.us_statuses") div.project-values-name - span {{ status.name }} + span.visualization {{ status.name }} + input.hidden.edition(type="text", placeholder="Write a name for the new status", ng-model="status.name") div.project-values-isclosed - span {{ status.is_closed|yesNo }} + span.visualization {{ status.is_closed|yesNo }} + select.hidden.edition(ng-model="status.is_closed") div.project-values-settings - a.edit-us-status.icon.icon-edit(href="", title="Edit value") - a.delete-us-status.icon.icon-delete(href="", title="Delete value") + a.visualization.edit-us-status.icon.icon-edit(href="", title="Edit value") + a.visualization.delete-us-status.icon.icon-delete(href="", title="Delete value") + a.hidden.edition.save.icon.icon-floppy(href="", title="Add") + a.hidden.edition.cancel.icon.icon-delete(href="", title="Delete") div.project-values-row.new-us-status.hidden div.project-values-name @@ -24,6 +28,7 @@ section.project-values-table select(ng-model="newUs.is_closed") option(selected) No option Yes + div.project-values-settings a.add-new.icon.icon-floppy(href="", title="Add") a.delete-new.icon.icon-delete(href="", title="Delete")