replace underscore par lodash
authorymh <ymh.work@gmail.com>
Sat, 25 Apr 2015 04:13:53 +0200
changeset 433 e457ec945e50
parent 432 24754fe4baaf
child 434 0d5998b32a7c
replace underscore par lodash
client/bower.json
client/js/ldtjson-bin.js
client/js/list-bin.js
client/js/main-renderer.js
client/js/main.js
client/js/models.js
client/js/renderer/basebutton.js
client/js/renderer/baseeditor.js
client/js/renderer/baserepresentation.js
client/js/renderer/edge.js
client/js/renderer/edgeeditbutton.js
client/js/renderer/edgeeditor.js
client/js/renderer/edgeremovebutton.js
client/js/renderer/edgerevertbutton.js
client/js/renderer/miniframe.js
client/js/renderer/nodebutton.js
client/js/renderer/nodeeditbutton.js
client/js/renderer/nodeeditor.js
client/js/renderer/nodeenlargebutton.js
client/js/renderer/nodelinkbutton.js
client/js/renderer/noderemovebutton.js
client/js/renderer/noderepr.js
client/js/renderer/noderevertbutton.js
client/js/renderer/nodeshrinkbutton.js
client/js/renderer/scene.js
client/js/renderer/tempedge.js
client/js/retrieve-kc.js
client/js/wikipedia-bin.js
client/test/publish-test-min.html
client/test/publish-test.html
client/test/render-test.html
client/test/space-editor.html
client/test/test-readonly-body-no-zoom.html
client/test/test-readonly-body-zoom-save.html
client/test/test-readonly-body.html
client/test/test-readonly-div-resize.html
client/test/test-readonly-div.html
client/test/test-writable-bins-div-100.html
client/test/test-writable-bins-div.html
client/test/test-writable-bins-save-on-click.html
client/test/test-writable-bins.html
client/test/test-writable-simple-div-user.html
client/test/test-writable-simple-div.html
client/test/test-writable-simple-empty.html
client/test/test-writable-simple-no-img-upload.html
client/test/test-writable-simple-zoom-save.html
client/test/test-writable-simple.html
--- a/client/bower.json	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/bower.json	Sat Apr 25 04:13:53 2015 +0200
@@ -14,7 +14,7 @@
     "renkan"
   ],
   "license": "CeCILL-B",
-  "homepage": "http://renkan.iri-reaserch.org",
+  "homepage": "http://renkan.iri-research.org",
   "private": true,
   "ignore": [
     "**/.*",
@@ -31,7 +31,7 @@
     "FileSaver": "*",
     "backbone-relational": "~0.9.0",
     "requirejs": null,
-    "underscore": "~1.8.3"
+    "lodash": "2.4.1"
   },
   "devDependencies": {
     "jquery-ui": "~1.11.4"
--- a/client/js/ldtjson-bin.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/ldtjson-bin.js	Sat Apr 25 04:13:53 2015 +0200
@@ -61,7 +61,7 @@
         _this = this,
         count = 0;
     _this.title_$.text('LDT Project: "' + _projtitle + '"');
-    _(_this.data.tags).map(function(_tag) {
+    _.map(_this.data.tags,function(_tag) {
         var _title = _tag.meta["dc:title"];
         if (!search.isempty && !search.test(_title)) {
             return;
@@ -76,7 +76,7 @@
         });
     });
     _html += '<li><h3>Annotations</h3></li>';
-    _(_this.data.annotations).map(function(_annotation) {
+    _.map(_this.data.annotations,function(_annotation) {
         var _description = _annotation.content.description,
             _title = _annotation.content.title.replace(_description,"");
         if (!search.isempty && !search.test(_title) && !search.test(_description)) {
@@ -198,7 +198,7 @@
     var _html = '',
         _this = this,
         count = 0;
-    _(this.data.objects).each(function(_segment) {
+    _.each(this.data.objects,function(_segment) {
         var _description = _segment.abstract,
             _title = _segment.title;
         if (!search.isempty && !search.test(_title) && !search.test(_description)) {
--- a/client/js/list-bin.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/list-bin.js	Sat Apr 25 04:13:53 2015 +0200
@@ -22,7 +22,7 @@
     var _html = "",
         _this = this,
         count = 0;
-    Rkns._(this.data).each(function(_item) {
+    Rkns._.each(this.data,function(_item) {
         var _element;
         if (typeof _item === "string") {
             if (/^(https?:\/\/|www)/.test(_item)) {
--- a/client/js/main-renderer.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/main-renderer.js	Sat Apr 25 04:13:53 2015 +0200
@@ -4,7 +4,9 @@
     require.config({
         paths: {
             'jquery':'../lib/jquery/jquery',
-            'underscore':'../lib/underscore/underscore',
+//            'underscore':'../lib/underscore/underscore',
+//            'underscore':'../lib/lodash-compat/lodash',
+            'underscore':'../lib/lodash/lodash',
             'filesaver' :'../lib/FileSaver/FileSaver',
             'requtils':'require-utils'
         }
--- a/client/js/main.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/main.js	Sat Apr 25 04:13:53 2015 +0200
@@ -100,7 +100,7 @@
     this.options = _.defaults(_opts, Rkns.defaults, {templates: renkanJST});
     this.template = renkanJST['templates/main.html'];
 
-    _(this.options.property_files).each(function(f) {
+    _.each(this.options.property_files,function(f) {
         Rkns.$.getJSON(f, function(data) {
             _this.options.properties = _this.options.properties.concat(data);
         });
@@ -118,7 +118,7 @@
     	this.current_user = user_id;
     	this.renderer.redrawUsers();
     };
-    
+
     if (typeof this.options.user_id !== "undefined") {
         this.current_user = this.options.user_id;
     }
@@ -154,7 +154,7 @@
             _select = this.$.find(".Rk-Search-List"),
             _input = this.$.find(".Rk-Web-Search-Input"),
             _form = this.$.find(".Rk-Web-Search-Form");
-        _(this.options.search).each(function(_search, _key) {
+        _.each(this.options.search, function(_search, _key) {
             if (Rkns[_search.type] && Rkns[_search.type].Search) {
                 _this.search_engines.push(new Rkns[_search.type].Search(_this, _search));
             }
@@ -188,7 +188,7 @@
         );
         this.setSearchEngine(0);
     }
-    _(this.options.bins).each(function(_bin) {
+    _.each(this.options.bins, function(_bin) {
         if (Rkns[_bin.type] && Rkns[_bin.type].Bin) {
             _this.tabs.push(new Rkns[_bin.type].Bin(_this, _bin));
         }
@@ -213,7 +213,7 @@
                 var _models = _this.project.get("nodes").where({
                     uri: $(_t).attr("data-uri")
                 });
-                _(_models).each(function(_model) {
+                _.each(_models, function(_model) {
                     _this.renderer.highlightModel(_model);
                 });
             }
@@ -277,7 +277,7 @@
             return;
         }
         lastsearch = search.source;
-        _(_this.tabs).each(function(tab) {
+        _.each(_this.tabs, function(tab) {
             tab.render(search);
         });
 
@@ -377,7 +377,7 @@
                 this._initialized = true;
             }
         };
-        _(_class.prototype).extend(_baseClass.prototype);
+        _.extend(_class.prototype,_baseClass.prototype);
 
         return _class;
 
@@ -398,7 +398,7 @@
             ],
             remsrc = "[\\" + removeChars.join("\\") + "]",
             remrx = new RegExp(remsrc, "gm"),
-            charsrx = _(charsub).map(function(c) {
+            charsrx = _.map(charsub, function(c) {
                 return new RegExp(c);
             });
 
@@ -414,7 +414,7 @@
                     src += remsrc + "*";
                 }
                 var l = txt[j];
-                _(charsub).each(makeReplaceFunc(l));
+                _.each(charsub, makeReplaceFunc(l));
                 src += l;
             }
             return src;
@@ -426,7 +426,7 @@
                     return replaceText(inp);
                 case "object":
                     var src = '';
-                    _(inp).each(function(v) {
+                    _.each(inp, function(v) {
                         var res = getSource(v);
                         if (res) {
                             if (src) {
--- a/client/js/models.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/models.js	Sat Apr 25 04:13:53 2015 +0200
@@ -258,13 +258,14 @@
         },
         validate : function(options) {
             var _project = this;
-            _(
-                    [].concat(options.users, options.nodes, options.edges,
-                            options.views)).each(function(_item) {
+            _.each(
+              [].concat(options.users, options.nodes, options.edges,options.views),
+              function(_item) {
                 if (_item) {
                     _item.project = _project;
                 }
-            });
+              }
+            );
         },
         // Add event handler to remove edges when a node is removed
         initialize : function() {
--- a/client/js/renderer/basebutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/basebutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -32,7 +32,8 @@
         destroy: function() {
             this.sector.destroy();
         }
-    });
+    }).value();
+//    });
 
     return _BaseButton;
 
--- a/client/js/renderer/baseeditor.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/baseeditor.js	Sat Apr 25 04:13:53 2015 +0200
@@ -13,7 +13,7 @@
             this.renderer.buttons_layer.activate();
             this.type = "editor";
             this.editor_block = new paper.Path();
-            var _pts = _(_.range(8)).map(function() {return [0,0];});
+            var _pts = _.map(_.range(8), function() {return [0,0];});
             this.editor_block.add.apply(this.editor_block, _pts);
             this.editor_block.strokeWidth = this.options.tooltip_border_width;
             this.editor_block.strokeColor = this.options.tooltip_border_color;
@@ -30,7 +30,8 @@
             this.editor_block.remove();
             this.editor_$.remove();
         }
-    });
+    }).value();
+//    });
 
     /* _BaseEditor End */
 
--- a/client/js/renderer/baserepresentation.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/baserepresentation.js	Sat Apr 25 04:13:53 2015 +0200
@@ -22,9 +22,9 @@
                 };
                 this._removeBinding = function() {
                     _renderer.removeRepresentation(_this);
-                    _(function() {
+                    _.defer(function() {
                         _renderer.redraw();
-                    }).defer();
+                    });
                 };
                 this._selectBinding = function() {
                     _this.select();
@@ -76,7 +76,8 @@
                 this.model.off("unselect", this._unselectBinding );
             }
         }
-    });
+    }).value();
+//    });
 
     /* End of Rkns.Renderer._BaseRepresentation Class */
 
--- a/client/js/renderer/edge.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/edge.js	Sat Apr 25 04:13:53 2015 +0200
@@ -223,11 +223,12 @@
                 b.destroy();
             });
             var _this = this;
-            this.bundle.edges = _(this.bundle.edges).reject(function(_edge) {
+            this.bundle.edges = _.reject(this.bundle.edges, function(_edge) {
                 return _this === _edge;
             });
         }
-    });
+    }).value();
+//    });
 
     return Edge;
 
--- a/client/js/renderer/edgeeditbutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/edgeeditbutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -19,7 +19,8 @@
                 this.source_representation.openEditor();
             }
         }
-    });
+    }).value();
+//    });
 
     /* EdgeEditButton End */
 
--- a/client/js/renderer/edgeeditor.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/edgeeditor.js	Sat Apr 25 04:13:53 2015 +0200
@@ -22,7 +22,7 @@
             _created_by = _model.get("created_by") || Utils._USER_PLACEHOLDER(this.renkan),
             _template = (this.renderer.isEditable() ? this.template : this.readOnlyTemplate);
             this.editor_$
-            .html(_template({
+              .html(_template({
                 edge: {
                     has_creator: !!_model.get("created_by"),
                     title: _model.get("title"),
@@ -56,23 +56,23 @@
 
             if (this.renderer.isEditable()) {
 
-                var onFieldChange = _(function() {
-                    _(function() {
-                        if (_this.renderer.isEditable()) {
-                            var _data = {
-                                    title: _this.editor_$.find(".Rk-Edit-Title").val()
-                            };
-                            if (_this.options.show_edge_editor_uri) {
-                                _data.uri = _this.editor_$.find(".Rk-Edit-URI").val();
-                            }
-                            _this.editor_$.find(".Rk-Edit-Goto").attr("href",_data.uri || "#");
-                            _model.set(_data);
-                            paper.view.draw();
-                        } else {
-                            closeEditor();
+                var onFieldChange = _.throttle(function() {
+                  _.defer(function() {
+                    if (_this.renderer.isEditable()) {
+                        var _data = {
+                                title: _this.editor_$.find(".Rk-Edit-Title").val()
+                        };
+                        if (_this.options.show_edge_editor_uri) {
+                            _data.uri = _this.editor_$.find(".Rk-Edit-URI").val();
                         }
-                    }).defer();
-                }).throttle(500);
+                        _this.editor_$.find(".Rk-Edit-Goto").attr("href",_data.uri || "#");
+                        _model.set(_data);
+                        paper.view.draw();
+                    } else {
+                        closeEditor();
+                    }
+                  });
+                },500);
 
                 this.editor_$.on("keyup", function(_e) {
                     if (_e.keyCode === 27) {
@@ -143,7 +143,8 @@
             this.editor_$.show();
             paper.view.draw();
         }
-    });
+    }).value();
+//    });
 
     /* EdgeEditor End */
 
--- a/client/js/renderer/edgeremovebutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/edgeremovebutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -33,7 +33,8 @@
                 }
             }
         }
-    });
+    }).value();
+//    });
 
     /* EdgeRemoveButton End */
 
--- a/client/js/renderer/edgerevertbutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/edgerevertbutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -21,8 +21,8 @@
                 this.source_representation.model.unset("delete_scheduled");
             }
         }
-    });
-
+    }).value();
+//    });
     /* EdgeRevertButton End */
 
     return EdgeRevertButton;
--- a/client/js/renderer/miniframe.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/miniframe.js	Sat Apr 25 04:13:53 2015 +0200
@@ -18,7 +18,8 @@
             this.renderer.click_target = null;
             this.renderer.is_dragging = false;
         }
-    });
+    }).value();
+//    });
 
     /* MiniFrame End */
 
--- a/client/js/renderer/nodebutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/nodebutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -41,7 +41,8 @@
             }
             this.sector.select();
         },
-    });
+    }).value();
+//    });
 
     /* _NodeButton End */
 
--- a/client/js/renderer/nodeeditbutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/nodeeditbutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -23,7 +23,8 @@
                 this.source_representation.openEditor();
             }
         }
-    });
+    }).value();
+//    });
 
     /* NodeEditButton End */
 
--- a/client/js/renderer/nodeeditor.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/nodeeditor.js	Sat Apr 25 04:13:53 2015 +0200
@@ -58,41 +58,41 @@
 
             if (this.renderer.isEditable()) {
 
-                var onFieldChange = _(function() {
-                    _(function() {
-                        if (_this.renderer.isEditable()) {
-                            var _data = {
-                                title: _this.editor_$.find(".Rk-Edit-Title").val()
-                            };
-                            if (_this.options.show_node_editor_uri) {
-                                _data.uri = _this.editor_$.find(".Rk-Edit-URI").val();
-                                _this.editor_$.find(".Rk-Edit-Goto").attr("href",_data.uri || "#");
-                            }
-                            if (_this.options.show_node_editor_image) {
-                                _data.image = _this.editor_$.find(".Rk-Edit-Image").val();
-                                _this.editor_$.find(".Rk-Edit-ImgPreview").attr("src", _data.image || _image_placeholder);
-                            }
-                            if (_this.options.show_node_editor_description) {
-                                _data.description = _this.editor_$.find(".Rk-Edit-Description").val();
+                var onFieldChange = _.throttle(function() {
+                  _.defer(function() {
+                    if (_this.renderer.isEditable()) {
+                        var _data = {
+                            title: _this.editor_$.find(".Rk-Edit-Title").val()
+                        };
+                        if (_this.options.show_node_editor_uri) {
+                            _data.uri = _this.editor_$.find(".Rk-Edit-URI").val();
+                            _this.editor_$.find(".Rk-Edit-Goto").attr("href",_data.uri || "#");
+                        }
+                        if (_this.options.show_node_editor_image) {
+                            _data.image = _this.editor_$.find(".Rk-Edit-Image").val();
+                            _this.editor_$.find(".Rk-Edit-ImgPreview").attr("src", _data.image || _image_placeholder);
+                        }
+                        if (_this.options.show_node_editor_description) {
+                            _data.description = _this.editor_$.find(".Rk-Edit-Description").val();
+                        }
+                        if (_this.options.change_shapes) {
+                            if(_model.get("shape")!==_this.editor_$.find(".Rk-Edit-Shape").val()){
+                                _data.shape = _this.editor_$.find(".Rk-Edit-Shape").val();
+                                _data.shape_changed = true;
                             }
-                            if (_this.options.change_shapes) {
-                                if(_model.get("shape")!==_this.editor_$.find(".Rk-Edit-Shape").val()){
-                                    _data.shape = _this.editor_$.find(".Rk-Edit-Shape").val();
-                                    _data.shape_changed = true;
-                                }
-                            }
+                        }
+                        _model.set(_data);
+                        _this.redraw();
+                        // For an unknown reason, we have to set data twice when we change shape, otherwise the image disappears.
+                        if(_data.shape_changed===true){
                             _model.set(_data);
-                            _this.redraw();
-                            // For an unknown reason, we have to set data twice when we change shape, otherwise the image disappears.
-                            if(_data.shape_changed===true){
-                                _model.set(_data);
-                            }
-                        } else {
-                            closeEditor();
                         }
-                    }).defer();
-                }).throttle(500);
-                
+                    } else {
+                        closeEditor();
+                    }
+                  });
+                }, 500);
+
                 this.editor_$.on("keyup", function(_e) {
                     if (_e.keyCode === 27) {
                         closeEditor();
@@ -176,7 +176,7 @@
                     shiftSize(1);
                     return false;
                 });
-                
+
                 this.editor_$.find(".Rk-Edit-Image-Del").click(function() {
                 	_this.editor_$.find(".Rk-Edit-Image").val('');
                 	onFieldChange();
@@ -201,8 +201,8 @@
             this.editor_$.show();
             paper.view.draw();
         }
-    });
-
+    }).value();
+//    });
     /* NodeEditor End */
 
     return NodeEditor;
--- a/client/js/renderer/nodeenlargebutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/nodeenlargebutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -2,7 +2,7 @@
 
 define(['jquery', 'underscore', 'requtils', 'renderer/nodebutton'], function ($, _, requtils, NodeButton) {
     'use strict';
-    
+
     var Utils = requtils.getUtils();
 
     /* NodeEnlargeButton Begin */
@@ -26,8 +26,8 @@
             this.select();
             paper.view.draw();
         }
-    });
-
+    }).value();
+//    });
     /* NodeEnlargeButton End */
 
     return NodeEnlargeButton;
--- a/client/js/renderer/nodelinkbutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/nodelinkbutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -30,7 +30,8 @@
                 this.renderer.addTempEdge(this.source_representation, _point);
             }
         }
-    });
+    }).value();
+//    });
 
     /* NodeLinkButton End */
 
--- a/client/js/renderer/noderemovebutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/noderemovebutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -1,7 +1,7 @@
 
 define(['jquery', 'underscore', 'requtils', 'renderer/nodebutton'], function ($, _, requtils, NodeButton) {
     'use strict';
-    
+
     var Utils = requtils.getUtils();
 
     /* NodeRemoveButton Begin */
@@ -37,8 +37,8 @@
                 }
             }
         }
-    });
-
+    }).value();
+//    });
     /* NodeRemoveButton End */
 
     return NodeRemoveButton;
--- a/client/js/renderer/noderepr.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/noderepr.js	Sat Apr 25 04:13:53 2015 +0200
@@ -438,7 +438,8 @@
                 this.node_image.remove();
             }
         }
-    });
+    }).value();
+//    });
 
     return NodeRepr;
 
--- a/client/js/renderer/noderevertbutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/noderevertbutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -25,8 +25,8 @@
                 this.source_representation.model.unset("delete_scheduled");
             }
         }
-    });
-
+    }).value();
+//    });
     /* NodeRevertButton End */
 
     return NodeRevertButton;
--- a/client/js/renderer/nodeshrinkbutton.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/nodeshrinkbutton.js	Sat Apr 25 04:13:53 2015 +0200
@@ -25,7 +25,8 @@
             this.select();
             paper.view.draw();
         }
-    });
+    }).value();
+//    });
 
     /* NodeShrinkButton End */
 
--- a/client/js/renderer/scene.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/scene.js	Sat Apr 25 04:13:53 2015 +0200
@@ -63,7 +63,7 @@
 
         this.throttledPaperDraw = _(function() {
             paper.view.draw();
-        }).throttle(100);
+        }).throttle(100).value();
 
         this.bundles = [];
         this.click_mode = false;
@@ -183,7 +183,7 @@
                 _event.preventDefault();
                 _allowScroll = true;
                 var res = {};
-                _(_event.originalEvent.dataTransfer.types).each(function(t) {
+                _.each(_event.originalEvent.dataTransfer.types, function(t) {
                     try {
                         res[t] = _event.originalEvent.dataTransfer.getData(t);
                     } catch(e) {}
@@ -195,7 +195,7 @@
                     case "[":
                         try {
                             var data = JSON.parse(text);
-                            _(res).extend(data);
+                            _.extend(res,data);
                         }
                         catch(e) {
                             if (!res["text/plain"]) {
@@ -789,26 +789,26 @@
         },
         removeRepresentation: function(_representation) {
             _representation.destroy();
-            this.representations = _(this.representations).reject(
-                    function(_repr) {
-                        return _repr === _representation;
-                    }
+            this.representations = _.reject(this.representations,
+                function(_repr) {
+                    return _repr === _representation;
+                }
             );
         },
         getRepresentationByModel: function(_model) {
             if (!_model) {
                 return undefined;
             }
-            return _(this.representations).find(function(_repr) {
+            return _.find(this.representations, function(_repr) {
                 return _repr.model === _model;
             });
         },
         removeRepresentationsOfType: function(_type) {
-            var _representations = _(this.representations).filter(function(_repr) {
+            var _representations = _.filter(this.representations,function(_repr) {
                 return _repr.type === _type;
-            }),
-            _this = this;
-            _(_representations).each(function(_repr) {
+                }),
+                _this = this;
+            _.each(_representations, function(_repr) {
                 _this.removeRepresentation(_repr);
             });
         },
@@ -819,12 +819,12 @@
             }
         },
         unhighlightAll: function(_model) {
-            _(this.representations).each(function(_repr) {
+            _.each(this.representations, function(_repr) {
                 _repr.unhighlight();
             });
         },
         unselectAll: function(_model) {
-            _(this.representations).each(function(_repr) {
+            _.each(this.representations, function(_repr) {
                 _repr.unselect();
             });
         },
@@ -832,7 +832,7 @@
             if(! this.redrawActive ) {
                 return;
             }
-            _(this.representations).each(function(_representation) {
+            _.each(this.representations, function(_representation) {
                 _representation.redraw(true);
             });
             if (this.minimap) {
@@ -1097,7 +1097,7 @@
             if (_data["text/json"] || _data["application/json"]) {
                 try {
                     var jsondata = JSON.parse(_data["text/json"] || _data["application/json"]);
-                    _(_data).extend(jsondata);
+                    _.extend(_data,jsondata);
                 }
                 catch(e) {}
             }
@@ -1278,7 +1278,8 @@
         },
         save: function() { },
         open: function() { }
-    });
+    }).value();
+//    });
 
     /* Scene End */
 
--- a/client/js/renderer/tempedge.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/renderer/tempedge.js	Sat Apr 25 04:13:53 2015 +0200
@@ -91,7 +91,8 @@
             this.arrow.remove();
             this.line.remove();
         }
-    });
+    }).value();
+//    });
 
     /* TempEdge Class End */
 
--- a/client/js/retrieve-kc.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/retrieve-kc.js	Sat Apr 25 04:13:53 2015 +0200
@@ -24,7 +24,7 @@
                 color: _usercolor,
                 title: _username
             });
-            Rkns._(_data.node).each(function(_node) {
+            Rkns._.each(_data.node, function(_node) {
                 _proj.addNode({
                     id: _node.id,
                     title: _node.name,
@@ -36,7 +36,7 @@
                     created_by: _userid
                 });
             });
-            Rkns._(_data.edge).each(function(_edge) {
+            Rkns._.each(_data.edge, function(_edge) {
                 _proj.addEdge({
                     id: _edge.asc_id,
                     from: _edge.id,
--- a/client/js/wikipedia-bin.js	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/js/wikipedia-bin.js	Sat Apr 25 04:13:53 2015 +0200
@@ -54,7 +54,7 @@
     var _html = "",
         _this = this,
         count = 0;
-    Rkns._(this.data.query.search).each(function(_result) {
+    Rkns._.each(this.data.query.search, function(_result) {
         var title = _result.title,
             url = "http://" + _this.lang + ".wikipedia.org/wiki/" + encodeURI(title.replace(/ /g,"_")),
             description = Rkns.$('<div>').html(_result.snippet).text();
--- a/client/test/publish-test-min.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/publish-test-min.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/publish-test.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/publish-test.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/render-test.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/render-test.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/space-editor.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/space-editor.html	Sat Apr 25 04:13:53 2015 +0200
@@ -9,7 +9,7 @@
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-ui/jquery-ui.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-readonly-body-no-zoom.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-readonly-body-no-zoom.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-readonly-body-zoom-save.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-readonly-body-zoom-save.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-readonly-body.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-readonly-body.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-readonly-div-resize.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-readonly-div-resize.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-readonly-div.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-readonly-div.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-writable-bins-div-100.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-writable-bins-div-100.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-writable-bins-div.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-writable-bins-div.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-writable-bins-save-on-click.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-writable-bins-save-on-click.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-writable-bins.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-writable-bins.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-writable-simple-div-user.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-writable-simple-div-user.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-writable-simple-div.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-writable-simple-div.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-writable-simple-empty.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-writable-simple-empty.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-writable-simple-no-img-upload.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-writable-simple-no-img-upload.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-writable-simple-zoom-save.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-writable-simple-zoom-save.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
--- a/client/test/test-writable-simple.html	Fri Apr 24 18:02:09 2015 +0200
+++ b/client/test/test-writable-simple.html	Sat Apr 25 04:13:53 2015 +0200
@@ -8,7 +8,7 @@
         <meta name="author" content="Institut de Recherche et d'Innovation" />
         <script src="../lib/jquery/jquery.js"></script>
         <script src="../lib/jquery-mousewheel/jquery.mousewheel.js"></script>
-        <script src="../lib/underscore/underscore.js"></script>
+        <script src="../lib/lodash/lodash.js"></script>
         <script src="../lib/backbone/backbone.js"></script>
         <script src="../lib/backbone-relational/backbone-relational.js"></script>
         <script src="../lib/paper/paper-full.js"></script>
@@ -25,8 +25,8 @@
         <script type="text/javascript">
             function startRenkan(){
             	var _renkan = new Rkns.Renkan({
-                    /*property_files: [ "data/properties.json" ],
-                    user_id: "u-iri",
+                    property_files: [ "../data/properties.json" ],
+                    /*user_id: "u-iri",
                     language: "fr",
                     node_fill_color: false*/
                 	show_bins: false,