Attachments can be ordered

stable
David Barragán Merino 2014-07-30 16:02:54 +02:00
parent 1d75b7dbcb
commit 140055c0f0
1 changed files with 31 additions and 3 deletions

View File

@ -29,9 +29,37 @@ module = angular.module("taigaCommon")
## Attachments Directive
#############################################################################
AttachmentsDirective = ->
AttachmentsDirective = ($repo) ->
link = ($scope, $el, $attrs, $model) ->
#$ctrl = $el.controller()
## Drag & drop
tdom = $el.find("div.attachment-body.sortable")
tdom.sortable({
items: "div.single-attachment"
handle: "a.settings.icon.icon-drag-v"
dropOnEmpty: true
revert: false # '400' if we fix the strange effects
axis: "y"
})
tdom.on "sortstop", (event, ui) ->
attachment = ui.item.scope().attach
newIndex = ui.item.index()
index = $scope.attachments.indexOf(attachment)
if index != newIndex
# Move attachment to newIndex and recalculate order
$scope.attachments.splice(index, 1)
$scope.attachments.splice(newIndex, 0, attachment)
_.forEach $scope.attachments, (attach, idx) ->
attach.order = idx+1
# Save or revert changes
$repo.saveAll($scope.attachments).then null, ->
_.forEach $scope.attachments, attach ->
attach.revert()
_.sorBy($scope.attachments, 'order')
## Total attachments counter
$scope.$watch "attachmentsCount", (attachmentsCount) ->
$el.find("span.attachments-num").html(attachmentsCount)
@ -69,7 +97,7 @@ AttachmentsDirective = ->
require: "ngModel"
}
module.directive("tgAttachments", [AttachmentsDirective])
module.directive("tgAttachments", ["$tgRepo", AttachmentsDirective])
#############################################################################