server/src/assets/js/mtdc-tracking.js
author durandn
Wed, 05 Oct 2016 14:24:32 +0200
changeset 124 983e72b4bc45
parent 112 2ec47574a371
permissions -rw-r--r--
Added tag 00.00.21 for changeset 15724968d6e6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
90
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
/* Tracking module that listens to Renkan events */
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/* globals Rkns */
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
/* eslint no-console: 0 */
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
Rkns.mtdcTracking = function(_renkan, _trackingWorker) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
    var _proj = _renkan.project;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
    function prepareObjData(node) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
        var objData = node.toJSON(),
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
            p = node.get('project');
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
        objData.project = { id: p.get('id'), title: p.get('title')};
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
        objData.origin = node.get('origin', -1);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
        return objData;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    function registerNode(_node) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
        _node.on('remove', function(_n) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
            var nodeData = prepareObjData(_n);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
            _trackingWorker.deleteNode(nodeData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
        _node.on('change', function(_n) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
            var nodeData = prepareObjData(_n);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
            var dataChanged = _n.changed;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
            var previousData = Rkns._.mapValues(_n.changed, function(v,k) { return _n.previous(k); });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
            _trackingWorker.updateNode(nodeData, dataChanged, previousData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    function registerEdge(_edge) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
        _edge.on('remove', function(_e) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
            var edgeData = prepareObjData(_e);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
            _trackingWorker.deleteEdge(edgeData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
        _edge.on('change', function(_e) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
            var edgeData = prepareObjData(_e);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
            var dataChanged = _e.changed;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
            var previousData = Rkns._.mapValues(_e.changed, function(v,k) { return _e.previous(k); });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
            _trackingWorker.updateEdge(edgeData, dataChanged, previousData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    function registerView(_view) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
        _view.on('remove', function(_v) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
            var viewData = prepareObjData(_v);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
            _trackingWorker.deleteView(viewData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
        _view.on('change', function(_v) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
            var viewData = prepareObjData(_v);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
            var dataChanged = _v.changed;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
            var previousData = Rkns._.mapValues(_v.changed, function(v,k) { return _v.previous(k); });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
            _trackingWorker.updateView(viewData, dataChanged, previousData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
    }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
    _proj.on('change:loadingStatus', function(_p) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
        if(_p.get('loadingStatus')) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
            return;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
        }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
        // -> track open for editing
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
        _p.on('add:nodes', function(_node) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
            var nodeData = prepareObjData(_node);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
            registerNode(_node);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
            _trackingWorker.addNode(nodeData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
        _p.on('add:edges', function(_edge) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
            var edgeData = prepareObjData(_edge);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
            registerEdge(_edge);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
            _trackingWorker.addEdge(edgeData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
        _p.on('add:views', function(_view) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
            var viewData = prepareObjData(_view);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
            registerView(_view);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
            _trackingWorker.addView(viewData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
        _proj.get('nodes').each(function(_node) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
            registerNode(_node);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
        _proj.get('edges').each(function(_edge) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
            registerEdge(_edge);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
        _proj.get('views').each(function(_view) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
            registerView(_view);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
        });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
    });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
112
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    95
    Rkns.$('.Rk-GraphSearch-Field').on('input', Rkns._.debounce(function() {
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    96
        var val = Rkns.$('.Rk-GraphSearch-Field').val();
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    97
        if(val && val.length >= 2) {
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    98
            _trackingWorker.searchProject();
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    99
        }
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   100
    }, 1000));
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   101
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   102
    Rkns.$(window).on('beforeunload', function() {
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   103
        _trackingWorker.closeProject();
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   104
    });
2ec47574a371 improve tracking informations on id and add tracking for search
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   105
90
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
};