OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2021-10-14 3052936fed9166521b0557a36df83eb11a5e51ee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/**
 * Created by wisestone on 2018-02-05.
 */
'use strict';
 
define(['app',
        'angular'],
    function (app, angular) {
        app.directive('agileCardSortable', ["$log", "$rootScope", "$compile", "$filter", "Task", "$resourceProvider", "$stateParams",
            function ($log, $rootScope, $compile, $filter, Task, $resourceProvider, $stateParams) {
                return {
                    restrict : 'AE',
                    link : function (scope, element, attrs) {
                        $(element).sortable({
                            //items : ".sortable-item_inner:not(.not-sortable)", //  움직이지 못하게 막는 코드
                            //placeholder: "sortable_placeholder",
                            //  cancel: '.not-sortable',    //  이동 금지
                            connectWith : ".connectList",
                            stop : function (e, ui) {
                                var taskId = ui.item[0].dataset.taskId; //  선택한 업무
                                var statusId = $(ui.item[0]).parent().attr("data-status-id"); //  이동한 상태 값
                                var currentStatusId = ui.item[0].dataset.tempStatusId;  //  이동 전의 상태 값
                                var prevTaskId = null;  //  이동한 상태에서 이전 업무
                                var nextTaskId = null;  //  이동한 상태에서 다음 업무
 
                                if (angular.isDefined($(ui.item[0]).prev()[0])) {
                                    prevTaskId = $(ui.item[0]).prev()[0].dataset.taskId;
                                }
 
                                if (angular.isDefined($(ui.item[0]).next()[0])) {
                                    nextTaskId = $(ui.item[0]).next()[0].dataset.taskId;
                                }
 
                                var content = {
                                    moveWorkflowStatusId : statusId,   //  이동한 status id
                                    prevTaskId : prevTaskId,    //  이동한 상태의 이전 task id
                                    nextTaskId : nextTaskId, //  이동한 상태의 다음 task id
                                    taskId : taskId,  //  이동한 task id
                                    projectId : $rootScope.lastProject.id,
                                    actionType : "/notification/task-move"
                                };
 
                                scope.fn.executeSelfMoveTaskUpdate(content);
 
                                $(ui.item[0]).attr("data-temp-status-id", statusId);
 
                                if (currentStatusId !== statusId) {
                                    $(ui.item[0]).remove();
                                }
 
                                Task.updateTaskKanBan($resourceProvider.getContent(content,
                                    $resourceProvider.getPageContent(0, 0))).then(function (result) {
 
                                    if (result.data.message.status == "success") {
 
                                    }
                                    else {
                                        //  TODO    -   웹 소켓으로 경고창 표시
                                    }
                                });
                            }
 
 
                        }).disableSelection();
                    }
                }
            }])
    });