Attachments can be ordered
parent
1d75b7dbcb
commit
140055c0f0
|
@ -29,9 +29,37 @@ module = angular.module("taigaCommon")
|
||||||
## Attachments Directive
|
## Attachments Directive
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
AttachmentsDirective = ->
|
AttachmentsDirective = ($repo) ->
|
||||||
link = ($scope, $el, $attrs, $model) ->
|
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
|
## Total attachments counter
|
||||||
$scope.$watch "attachmentsCount", (attachmentsCount) ->
|
$scope.$watch "attachmentsCount", (attachmentsCount) ->
|
||||||
$el.find("span.attachments-num").html(attachmentsCount)
|
$el.find("span.attachments-num").html(attachmentsCount)
|
||||||
|
@ -69,7 +97,7 @@ AttachmentsDirective = ->
|
||||||
require: "ngModel"
|
require: "ngModel"
|
||||||
}
|
}
|
||||||
|
|
||||||
module.directive("tgAttachments", [AttachmentsDirective])
|
module.directive("tgAttachments", ["$tgRepo", AttachmentsDirective])
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
Loading…
Reference in New Issue