server/src/assets/js/mtdc-tracking-worker.js
author ymh <ymh.work@gmail.com>
Mon, 25 Jul 2016 12:13:09 +0200
changeset 90 00c9bb0f6f37
child 96 12dab8a7797c
permissions -rw-r--r--
Add asset compilation step to transpile js files for older browser (adn Safari)
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
/* globals operative _ Cookies $ */
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/* 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
     3
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
(function(root) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
    'use strict';
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
    if (typeof root.Mtdc !== 'object') {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
        root.Mtdc = {};
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
    }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    var Mtdc = root.Mtdc;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    Mtdc.TrackingWorker = function(renkan, trackingUrl, trackingCloseUrl, registration, debounceDelay = 1000) {
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 _sendTrackingInfo() {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
            var trackingMessages = this.trackingMessages;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
            this.trackingMessages = [];
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
            if(trackingMessages.length === 0) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
                return;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
            }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
            $.ajax({
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
                method: 'POST',
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
                url: this.trackingUrl,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
                headers: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
                    'X-CSRFToken': this.csrftoken
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
                data: JSON.stringify(trackingMessages),
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
                contentType: 'application/json'
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
            }).fail(function(){
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
                console.log('send tracking data failed', trackingMessages);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
            }); // this is fire and forget. Nothong to do on done
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
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
        var trackingWorker = {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
            trackingMessages: [],
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
            currentUser: renkan.current_user,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
            renkan: renkan,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
            trackingUrl: trackingUrl,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
            trackingCloseUrl: trackingCloseUrl,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
            getUUID4 : function() {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
                return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
                    var r = Math.random() * 16 | 0,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
                        v = c === 'x' ? r : (r & 0x3 | 0x8);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
                    return v.toString(16);
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
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
            _init: function() {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
                this.sendTrackingInfo = _.debounce(_.bind(_sendTrackingInfo, this), debounceDelay);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
                this.csrftoken = Cookies.get('csrftoken');
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
                this.registration = registration ? registration : this.getUUID4();
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
                return this;
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
            _pushTrackingMessage: function(msg) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
                this.trackingMessages.push(msg);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
                this.sendTrackingInfo();
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
            flushTrackingInfo() {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
                //this.sendTrackingInfo.flush();
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
            _getBaseMsg: function(verb) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
                var timestamp = new Date(),
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
                    verbNode = {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
                        add: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
                            id: 'http://activitystrea.ms/schema/1.0/create',
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
                            display: { 'fr-FR': 'a créé' }
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
                        update: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
                            id: 'http://activitystrea.ms/schema/1.0/update',
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
                            display: { 'fr-FR': 'a modifié' }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
                        },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
                        delete: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
                            id: 'http://activitystrea.ms/schema/1.0/delete',
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
                            display: { 'fr-FR': 'a supprimé' }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
                        },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
                        move: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
                            id: 'http://activitystrea.ms/schema/1.0/move',
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
                            display: { 'fr-FR': 'a déplacé'}
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
                        close: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
                            id: 'http://activitystrea.ms/schema/1.0/close',
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
                            display: { 'fr-FR': 'a fermé'}
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
                    }[verb];
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
                return {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
                    actor: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
                        objectType: 'Agent',
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
                        name: this.currentUser,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
                        account: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
                            homePage: 'https://www.metaeducation.fr/Utilisateurs/',
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
                            name: this.currentUser
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
                    },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
                    verb: verbNode,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
                    object: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
                        objectType: 'Activity'
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
                    },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
                    context: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
                        registration: this.registration,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
                        extensions: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
                            'http://liris.renkantracking.org/application': 'Outil carte mentale'
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
                        }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
                    },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
                    timestamp: timestamp.toISOString()
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
                };
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
            _getObjectUrn: function(objectType, objectId) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
                return 'urn:mtdc:renkan:'+ objectType + ':' + objectId;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
            _sendNodeMsg: function(verb, nodeData, changedData, previousData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
                this._sendObjectMsg('node', 'http://www.w3.org/ns/activitystreams#Node', verb, nodeData, changedData, previousData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
            _sendEdgeMsg: function(verb, nodeData, changedData, previousData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
                this._sendObjectMsg('edge', 'http://www.w3.org/ns/activitystreams#Edge', verb, nodeData, changedData, previousData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
            _sendViewMsg: function(verb, viewData, changedData, previousData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
                this._sendObjectMsg('view', 'http://www.w3.org/ns/activitystreams#View', verb, viewData, changedData, previousData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
            _sendObjectMsg: function(objectType, objectTypeUrl, verb, objData, changedData, previousData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
                var msg = this._getBaseMsg(verb);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
                msg.object = _.merge(msg.object, {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
                    id: this._getObjectUrn(objectType, objData._id), //TODO full url ???
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
                    definition: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
                        name: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
                            'fr-FR': objData.title
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
                        },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
                        description: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
                            'fr-FR': objData.description
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
                        },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
                        type: objectTypeUrl,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
                        extensions: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
                            'http://www.w3.org/ns/activitystreams#Data': objData,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
                            'http://www.w3.org/ns/activitystreams#DataChanged': changedData, //this part are not sent if undefined
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
                            'http://www.w3.org/ns/activitystreams#DataPrevious': previousData //this part are not sent if undefined
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
                        }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
                    }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
                });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
                msg.context = _.merge(msg.context, {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
                    extensions: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
                        'http://liris.renkantracking.org/fromCreate': objData.origin
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
                    }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
                });
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
                this._pushTrackingMessage(msg);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
            addNode: function(nodeData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
                this._sendNodeMsg('add', nodeData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
            deleteNode: function(nodeData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
                this._sendNodeMsg('delete', nodeData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
            updateNode: function(nodeData, changedData, previousData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
                if('position' in changedData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
                    this._sendNodeMsg('move', nodeData, { position: changedData['position']}, { position: previousData['position']});
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
                    delete changedData['position'];
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
                    delete previousData['position'];
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
                }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
                if(_.isEmpty(changedData)) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
                    return;
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
                }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
                this._sendNodeMsg('update', nodeData, changedData, previousData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
            addEdge: function(edgeData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
                this._sendEdgeMsg('add', edgeData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
            deleteEdge: function(edgeData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
                this._sendEdgeMsg('delete', edgeData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
            updateEdge: function(edgeData, changedData, previousData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
                this._sendEdgeMsg('update', edgeData, changedData, previousData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
            addView: function(edgeData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
                this._sendViewMsg('add', edgeData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
            deleteView: function(edgeData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
                this._sendViewMsg('delete', edgeData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
            updateView: function(viewData, changedData, previousData) {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
                this._sendViewMsg('update', viewData, changedData, previousData);
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
            },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
            closeProject: function() {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
                this.flushTrackingInfo();
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
                $.ajax({
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
                    method: 'POST',
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
                    url: this.trackingCloseUrl,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
                    async: false,
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
                    headers: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
                        'X-CSRFToken': this.csrftoken
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
                    },
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
                    data: {
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
                        'renkan_guid': this.renkan.project.get('id'),
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
                        'registration': this.registration
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
                    }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
                }).fail(function(){
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
                    console.log('send tracking data failed');
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
                }); // this is fire and forget. Nothong tpo do on failed
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
            }
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
        };
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
        return trackingWorker._init();
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
    };
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
00c9bb0f6f37 Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
})(window);