src/widgets/KnowledgeConcierge.js
author veltr
Fri, 21 Sep 2012 11:18:57 +0900
changeset 964 d7d56ea2d0a6
child 982 cfcbac34d020
permissions -rw-r--r--
Adaptations for Knowledge Concierge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
     1
IriSP.Widgets.KnowledgeConcierge = function(player, config) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
     2
    IriSP.Widgets.Widget.call(this, player, config);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
     3
};
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
     4
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
     5
IriSP.Widgets.KnowledgeConcierge.prototype = new IriSP.Widgets.Widget();
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
     6
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
     7
IriSP.Widgets.KnowledgeConcierge.prototype.defaults = {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
     8
    width: 600,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
     9
    height: 500,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    10
    sketch_path: "tmgraph",
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    11
    sketch_files: [ "tmgraph.pde", "physics.pde", "model.pde", "javascript.pde", "menu.pde", "event.pde", "constants.pde", "initialdata.pde"],
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    12
    api_root: "/kn-concierge/",
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    13
    use_word_boundaries: false
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    14
}
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    15
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    16
IriSP.Widgets.KnowledgeConcierge.prototype.messages = {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    17
    "fr": {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    18
    },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    19
    "en": {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    20
    }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    21
}
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    22
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    23
IriSP.Widgets.KnowledgeConcierge.prototype.template =
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    24
    '<div class="Ldt-Kc-Slider"></div><canvas class="Ldt-Kc-Canvas" />';
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    25
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    26
IriSP.Widgets.KnowledgeConcierge.prototype.draw = function() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    27
    this.renderTemplate();
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    28
    var _canvasHeight = this.height - 16,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    29
        _canvasWidth = this.width - 2,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    30
        _canvas = this.$.find(".Ldt-Kc-Canvas"),
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    31
        _tmpId = IriSP._.uniqueId("Processing-"),
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    32
        _slider = this.$.find(".Ldt-Kc-Slider");
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    33
    _canvas.attr({
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    34
        width: _canvasWidth,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    35
        height: _canvasHeight,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    36
        id: _tmpId
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    37
    }).css({
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    38
        width: _canvasWidth,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    39
        height: _canvasHeight
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    40
    });
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    41
    var _this = this,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    42
        _pjsfiles = IriSP._(this.sketch_files).map(function(_f) { return _this.sketch_path + "/" + _f }),
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    43
        _selectedText = "";
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    44
    Processing.loadSketchFromSources(_canvas[0],_pjsfiles);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    45
    
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    46
    function triggerSearch(text) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    47
        if (_selectedText !== text) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    48
            //console.log("Trigger search for '" + text + "'");
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    49
            _selectedText = text;
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    50
            _this.player.trigger("search.triggeredSearch", text);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    51
        }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    52
    }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    53
    
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    54
    function searchNodes(tags) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    55
        var _tlist = (_this.use_word_boundaries ? IriSP._(tags).map(function(t) { return "\\\\y" + t + "\\\\y" }) : tags),
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    56
            _q = "(?i)(" + _tlist.join("|") + ")";
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    57
        jQuery.getJSON(
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    58
            _this.api_root + "topics.jsp",
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    59
            {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    60
                proj: _this.project_id,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    61
                q: _q
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    62
            },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    63
            function(data) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    64
                if (data && data.items && data.items.length) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    65
                    for (var i=0, l=data.items.length; i<l; i++) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    66
                        var node = data.items[i];
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    67
                        if (i == 0) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    68
                            _pjs.initNode(node.id, node.name, node.grp, node.uid, node.proj);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    69
                            var node = _pjs.findNode(node.id, node.proj);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    70
                        } else {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    71
                            var node = _pjs.newNode(node.id, node.name, node.grp, node.uid, node.proj);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    72
                            node.root = true;
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    73
                            node.fix();
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    74
                        }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    75
                        _fns.countassoc(node.id, node.proj);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    76
                        if (l > 1) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    77
                            node.position(Math.floor(200*Math.sin(2 * Math.PI * i / l)),Math.floor(200*Math.cos(2 * Math.PI * i / l)));
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    78
                        }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    79
                    }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    80
                } else {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    81
                    console.log("No match found");
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    82
                }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    83
            }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    84
        );
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    85
    }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    86
    
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    87
    function rootNode(id, proj) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    88
        jQuery.getJSON(
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    89
            _this.api_root + "topic.jsp",
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    90
            {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    91
                id: id,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    92
                proj: proj
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    93
            },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    94
            function(response) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    95
                if (response != null && response.items.length > 0){
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    96
                    item = response.items[0];
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    97
                    _pjs.initNode(item.id, item.name, item.grp, item.uid, item.proj);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    98
                    _fns.countassoc(item.id, item.proj);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    99
                } else {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   100
                    console.debug('No such topic.');
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   101
                }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   102
        });
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   103
    }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   104
    
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   105
    function bindJavascript() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   106
        _pjs = Processing.getInstanceById(_tmpId);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   107
        if (_pjs && typeof _pjs.bindJavascript === "function") {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   108
            setTimeout(function() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   109
                _pjs.bindJavascript(_fns);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   110
                _pjs.setSize(_canvasWidth,_canvasHeight);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   111
                var _edit = false,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   112
                    _teamMode = true;
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   113
                _pjs.saveMode("en",false,_teamMode,false,"both",_edit);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   114
                rootNode(_this.topic_id, _this.project_id);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   115
                _canvas.click(function() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   116
                    triggerSearch("")
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   117
                });
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   118
                _slider.slider({
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   119
                    min: -20,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   120
                    max: 20,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   121
                    value: 0,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   122
                    range: "min",
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   123
                    slide: function(event, ui) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   124
                        _pjs.zoom(Math.exp(ui.value / 10));
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   125
                    }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   126
                });
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   127
            }, 1000);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   128
        } else {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   129
            setTimeout(bindJavascript, 1000); 
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   130
        }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   131
    }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   132
    
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   133
    var _fns = {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   134
        adjacentnodes: function(id, proj, adj, both) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   135
            //console.log("Function adjacentnodes called with", arguments);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   136
            jQuery.ajax({
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   137
                url: _this.api_root + "associations-bd.jsp",
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   138
                cache: false,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   139
                data: {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   140
                    id: id,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   141
                    proj: proj,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   142
                    both: both,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   143
                    adj: adj
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   144
                },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   145
                success: function(response) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   146
                    if (response.items.length > 0){
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   147
                        for(i = 0, end = response.items.length; i < end; i++) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   148
                            item = response.items[i];
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   149
                            _pjs.addEdge(item.asc_id, item.id, item.from_proj, item.to_id, item.to_proj,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   150
                                        item.r_name, item.r_from,  item.r_to, item.uid, item.proj);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   151
                            _pjs.setNodeName( item.id,   item.from_proj,item.name);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   152
                            _pjs.setNodeValue(item.id,   item.from_proj,item.name,   item.grp,   item.abst,   item.from_uid);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   153
                            if (item.from_assoc!=null) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   154
                                _pjs.setNodeAssoc(item.id, item.from_proj, item.from_assoc);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   155
                            }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   156
                            _pjs.setNodeName( item.to_id,item.to_proj,  item.to_name);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   157
                            _pjs.setNodeValue(item.to_id,item.to_proj,  item.to_name,item.to_grp,item.to_abst,item.to_uid);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   158
                            if (item.to_assoc!=null) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   159
                                _pjs.setNodeAssoc(item.to_id, item.to_proj, item.to_assoc);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   160
                            }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   161
                        }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   162
                        return response;
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   163
                    } else {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   164
                        console.debug('No such topic.');
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   165
                        return null;
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   166
                    }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   167
                }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   168
            });
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   169
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   170
        selectnode: function(id, proj) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   171
            //console.log("Function selectnode called with", arguments);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   172
            /* Originally, open dialog with info from
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   173
             * /kn-concierge/topic.jsp?id={{id}}&proj={{proj}}
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   174
             * /kn-concierge/topicContent.jsp?id={{id}}&proj={{proj}}
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   175
             */
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   176
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   177
        selectedge: function(asc_id) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   178
            //console.log("Function selectedge called with", arguments);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   179
            /* /kn-concierge/association.jsp?asc_id={{asc_id}}&proj={{proj}}" */
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   180
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   181
        topicnode: function(id){
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   182
            //console.log("Function topicnode called with", arguments);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   183
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   184
        setscale: function(scl){
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   185
            //console.log("Function setscale called with", arguments);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   186
            _slider.slider("value", 10*Math.log(scl));
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   187
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   188
        group_shapes: function(){
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   189
            //console.log("Function group_shapes");
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   190
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   191
        allbackup: function(){
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   192
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   193
        allretrieve: function(){
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   194
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   195
        new_topic: function(){
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   196
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   197
        pedia: function() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   198
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   199
        set_mode: function(){
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   200
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   201
        countassoc: function(id, proj) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   202
            //console.log("Fonction countassoc called with", arguments);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   203
            jQuery.ajax({
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   204
                url: _this.api_root + "count-assoc.jsp",
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   205
                data: {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   206
                    id: id,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   207
                    proj: proj
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   208
                },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   209
                success: function(response) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   210
                    if (response.items.length > 0){
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   211
                        for(i = 0, end = response.items.length; i < end; i++) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   212
                            item = response.items[i];
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   213
                            _pjs.setNodeValue(item.id, item.proj, item.name, item.grp, item.abst);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   214
                            if (item.assoc!=null) _pjs.setNodeAssoc(item.id, item.proj, item.assoc);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   215
                            if (item.mass!=null) _pjs.setNodeMass( item.id, item.proj, item.mass);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   216
                        }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   217
                    } else {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   218
                        console.debug('No such topic.');
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   219
                    }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   220
                }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   221
            });
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   222
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   223
        new_relation: function() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   224
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   225
        new_select: function(id, proj) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   226
            var node = _pjs.findNode(id, proj);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   227
            triggerSearch(node.name);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   228
            //console.log("Mouse over node named '" + node.name + "'");
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   229
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   230
        startexpand: function() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   231
            //console.log("Function startexpand()");
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   232
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   233
        endexpand: function() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   234
            //console.log("Function endexpand()");
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   235
        },
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   236
        username: function() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   237
            //console.log("Function username()");
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   238
        }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   239
    }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   240
    
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   241
    this.getWidgetAnnotations().forEach(function(annotation) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   242
        annotation.on("click", function() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   243
            var _tags = annotation.getTagTexts();
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   244
            if (_tags.length) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   245
                searchNodes(_tags);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   246
            }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   247
        });
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   248
    });
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   249
    
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   250
    this.source.getTags().forEach(function(tag) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   251
        tag.on("click", function() {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   252
            if (tag.title) {
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   253
                searchNodes([tag.title]);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   254
            }
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   255
        });
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   256
    });
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   257
    
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   258
    bindJavascript();
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   259
    
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   260
}