client/js/renderer/nodeeditor.js
author rougeronj
Wed, 03 Jun 2015 17:27:46 +0200
changeset 471 e0c7be5dc02c
parent 450 88e8673aaeeb
child 461 48235ed6b07d
permissions -rw-r--r--
Add a router to handle fragment identifier Set up a listener of the router in the scene to update it Start Backbone.history (eventlistener of the router) when all the project is loaded Include router.js to all the test file
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     1
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     2
define(['jquery', 'underscore', 'requtils', 'renderer/baseeditor'], function ($, _, requtils, BaseEditor) {
293
fba23fde14ba Correct jshint errors and force it on build
ymh <ymh.work@gmail.com>
parents: 284
diff changeset
     3
    'use strict';
fba23fde14ba Correct jshint errors and force it on build
ymh <ymh.work@gmail.com>
parents: 284
diff changeset
     4
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     5
    var Utils = requtils.getUtils();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     6
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     7
    /* NodeEditor Begin */
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     8
    //var NodeEditor = Renderer.NodeEditor = Utils.inherit(Renderer._BaseEditor);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     9
    var NodeEditor = Utils.inherit(BaseEditor);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    10
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    11
    _(NodeEditor.prototype).extend({
435
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    12
        _init: function() {
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    13
            BaseEditor.prototype._init.apply(this);
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    14
            this.template = this.options.templates['templates/nodeeditor.html'];
450
88e8673aaeeb add the hidden/ghost behaviour:
rougeronj
parents: 447
diff changeset
    15
            //this.templates['default']= this.options.templates['templates/nodeeditor.html'];
88e8673aaeeb add the hidden/ghost behaviour:
rougeronj
parents: 447
diff changeset
    16
            //fusionner avec this.options.node_editor_templates
435
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    17
            this.readOnlyTemplate = this.options.templates['templates/nodeeditor_readonly.html'];
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    18
        },
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    19
        draw: function() {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    20
            var _model = this.source_representation.model,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    21
            _created_by = _model.get("created_by") || Utils._USER_PLACEHOLDER(this.renkan),
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    22
            _template = (this.renderer.isEditable() ? this.template : this.readOnlyTemplate ),
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    23
            _image_placeholder = this.options.static_url + "img/image-placeholder.png",
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    24
            _size = (_model.get("size") || 0);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    25
            this.editor_$
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    26
            .html(_template({
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    27
                node: {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    28
                    has_creator: !!_model.get("created_by"),
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    29
                    title: _model.get("title"),
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    30
                    uri: _model.get("uri"),
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    31
                    short_uri:  Utils.shortenText((_model.get("uri") || "").replace(/^(https?:\/\/)?(www\.)?/,'').replace(/\/$/,''),40),
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    32
                    description: _model.get("description"),
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    33
                    image: _model.get("image") || "",
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    34
                    image_placeholder: _image_placeholder,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    35
                    color: _model.get("color") || _created_by.get("color"),
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    36
                    clip_path: _model.get("clip_path") || false,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    37
                    created_by_color: _created_by.get("color"),
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    38
                    created_by_title: _created_by.get("title"),
330
4f92e61f87ba change shape in node editor
cavaliet
parents: 293
diff changeset
    39
                    size: (_size > 0 ? "+" : "") + _size,
4f92e61f87ba change shape in node editor
cavaliet
parents: 293
diff changeset
    40
                    shape: _model.get("shape") || "circle"
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    41
                },
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    42
                renkan: this.renkan,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    43
                options: this.options,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    44
                shortenText: Utils.shortenText
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    45
            }));
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    46
            this.redraw();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    47
            var _this = this,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    48
            closeEditor = function() {
435
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    49
                _this.editor_$.off("keyup");
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    50
                _this.editor_$.find("input, textarea, select").off("change keyup paste");
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    51
                _this.editor_$.find(".Rk-Edit-Image-File").off('change');
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    52
                _this.editor_$.find(".Rk-Edit-ColorPicker-Wrapper").off('hover');
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    53
                _this.editor_$.find(".Rk-Edit-Size-Down").off('click');
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    54
                _this.editor_$.find(".Rk-Edit-Size-Up").off('click');
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    55
                _this.editor_$.find(".Rk-Edit-Image-Del").off('click');
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    56
                _this.editor_$.find(".Rk-Edit-ColorPicker").find("li").off('hover click');
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    57
                _this.editor_$.find(".Rk-CloseX").off('click');
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    58
                _this.editor_$.find(".Rk-Edit-Goto").off('click');
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
    59
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    60
                _this.renderer.removeRepresentation(_this);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    61
                paper.view.draw();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    62
            };
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    63
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    64
            this.editor_$.find(".Rk-CloseX").click(closeEditor);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    65
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    66
            this.editor_$.find(".Rk-Edit-Goto").click(function() {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    67
                if (!_model.get("uri")) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    68
                    return false;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    69
                }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    70
            });
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    71
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    72
            if (this.renderer.isEditable()) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    73
433
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    74
                var onFieldChange = _.throttle(function() {
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    75
                  _.defer(function() {
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    76
                    if (_this.renderer.isEditable()) {
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    77
                        var _data = {
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    78
                            title: _this.editor_$.find(".Rk-Edit-Title").val()
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    79
                        };
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    80
                        if (_this.options.show_node_editor_uri) {
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    81
                            _data.uri = _this.editor_$.find(".Rk-Edit-URI").val();
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    82
                            _this.editor_$.find(".Rk-Edit-Goto").attr("href",_data.uri || "#");
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    83
                        }
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    84
                        if (_this.options.show_node_editor_image) {
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    85
                            _data.image = _this.editor_$.find(".Rk-Edit-Image").val();
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    86
                            _this.editor_$.find(".Rk-Edit-ImgPreview").attr("src", _data.image || _image_placeholder);
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    87
                        }
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    88
                        if (_this.options.show_node_editor_description) {
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    89
                            _data.description = _this.editor_$.find(".Rk-Edit-Description").val();
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    90
                        }
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    91
                        if (_this.options.change_shapes) {
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    92
                            if(_model.get("shape")!==_this.editor_$.find(".Rk-Edit-Shape").val()){
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    93
                                _data.shape = _this.editor_$.find(".Rk-Edit-Shape").val();
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    94
                            }
433
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    95
                        }
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    96
                        _model.set(_data);
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    97
                        _this.redraw();
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    98
                    } else {
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
    99
                        closeEditor();
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
   100
                    }
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
   101
                  });
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
   102
                }, 500);
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
   103
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   104
                this.editor_$.on("keyup", function(_e) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   105
                    if (_e.keyCode === 27) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   106
                        closeEditor();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   107
                    }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   108
                });
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   109
330
4f92e61f87ba change shape in node editor
cavaliet
parents: 293
diff changeset
   110
                this.editor_$.find("input, textarea, select").on("change keyup paste", onFieldChange);
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   111
385
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   112
                if(_this.options.allow_image_upload) {
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   113
                    this.editor_$.find(".Rk-Edit-Image-File").change(function() {
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   114
                        if (this.files.length) {
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   115
                            var f = this.files[0],
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   116
                            fr = new FileReader();
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   117
                            if (f.type.substr(0,5) !== "image") {
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   118
                                alert(_this.renkan.translate("This file is not an image"));
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   119
                                return;
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   120
                            }
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   121
                            if (f.size > (_this.options.uploaded_image_max_kb * 1024)) {
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   122
                                alert(_this.renkan.translate("Image size must be under ") + _this.options.uploaded_image_max_kb + _this.renkan.translate("KB"));
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   123
                                return;
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   124
                            }
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   125
                            fr.onload = function(e) {
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   126
                                _this.editor_$.find(".Rk-Edit-Image").val(e.target.result);
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   127
                                onFieldChange();
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   128
                            };
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   129
                            fr.readAsDataURL(f);
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   130
                        }
385
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   131
                    });
29dcaa4c1748 add option to hide image upload
ymh <ymh.work@gmail.com>
parents: 384
diff changeset
   132
                }
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   133
                this.editor_$.find(".Rk-Edit-Title")[0].focus();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   134
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   135
                var _picker = _this.editor_$.find(".Rk-Edit-ColorPicker");
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   136
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   137
                this.editor_$.find(".Rk-Edit-ColorPicker-Wrapper").hover(
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   138
                        function(_e) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   139
                            _e.preventDefault();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   140
                            _picker.show();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   141
                        },
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   142
                        function(_e) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   143
                            _e.preventDefault();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   144
                            _picker.hide();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   145
                        }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   146
                );
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   147
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   148
                _picker.find("li").hover(
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   149
                        function(_e) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   150
                            _e.preventDefault();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   151
                            _this.editor_$.find(".Rk-Edit-Color").css("background", $(this).attr("data-color"));
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   152
                        },
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   153
                        function(_e) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   154
                            _e.preventDefault();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   155
                            _this.editor_$.find(".Rk-Edit-Color").css("background", _model.get("color") || (_model.get("created_by") || Utils._USER_PLACEHOLDER(_this.renkan)).get("color"));
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   156
                        }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   157
                ).click(function(_e) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   158
                    _e.preventDefault();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   159
                    if (_this.renderer.isEditable()) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   160
                        _model.set("color", $(this).attr("data-color"));
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   161
                        _picker.hide();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   162
                        paper.view.draw();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   163
                    } else {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   164
                        closeEditor();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   165
                    }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   166
                });
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   167
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   168
                var shiftSize = function(n) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   169
                    if (_this.renderer.isEditable()) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   170
                        var _newsize = n+(_model.get("size") || 0);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   171
                        _this.editor_$.find(".Rk-Edit-Size-Value").text((_newsize > 0 ? "+" : "") + _newsize);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   172
                        _model.set("size", _newsize);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   173
                        paper.view.draw();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   174
                    } else {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   175
                        closeEditor();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   176
                    }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   177
                };
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   178
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   179
                this.editor_$.find(".Rk-Edit-Size-Down").click(function() {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   180
                    shiftSize(-1);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   181
                    return false;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   182
                });
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   183
                this.editor_$.find(".Rk-Edit-Size-Up").click(function() {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   184
                    shiftSize(1);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   185
                    return false;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   186
                });
433
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
   187
384
6a7930a0d4d1 Close #60 - Add a trash icon to delete the image URL
rougeronj
parents: 331
diff changeset
   188
                this.editor_$.find(".Rk-Edit-Image-Del").click(function() {
435
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
   189
                    _this.editor_$.find(".Rk-Edit-Image").val('');
e529b633c339 Add shape management, correction on shape manip[ulation on the client, correct 404 error on space creation, increment version
ymh <ymh.work@gmail.com>
parents: 434
diff changeset
   190
                    onFieldChange();
384
6a7930a0d4d1 Close #60 - Add a trash icon to delete the image URL
rougeronj
parents: 331
diff changeset
   191
                    return false;
6a7930a0d4d1 Close #60 - Add a trash icon to delete the image URL
rougeronj
parents: 331
diff changeset
   192
                });
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   193
            } else {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   194
                if (typeof this.source_representation.highlighted === "object") {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   195
                    var titlehtml = this.source_representation.highlighted.replace(_(_model.get("title")).escape(),'<span class="Rk-Highlighted">$1</span>');
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   196
                    this.editor_$.find(".Rk-Display-Title" + (_model.get("uri") ? " a" : "")).html(titlehtml);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   197
                    if (this.options.show_node_tooltip_description) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   198
                        this.editor_$.find(".Rk-Display-Description").html(this.source_representation.highlighted.replace(_(_model.get("description")).escape(),'<span class="Rk-Highlighted">$1</span>'));
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   199
                    }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   200
                }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   201
            }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   202
            this.editor_$.find("img").load(function() {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   203
                _this.redraw();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   204
            });
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   205
        },
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   206
        redraw: function() {
447
e246651b6626 replace tabs by spaces
rougeronj
parents: 445
diff changeset
   207
            if (this.options.popup_editor){
e246651b6626 replace tabs by spaces
rougeronj
parents: 445
diff changeset
   208
                var _coords = this.source_representation.paper_coords;
e246651b6626 replace tabs by spaces
rougeronj
parents: 445
diff changeset
   209
                Utils.drawEditBox(this.options, _coords, this.editor_block, this.source_representation.circle_radius * 0.75, this.editor_$);                
e246651b6626 replace tabs by spaces
rougeronj
parents: 445
diff changeset
   210
            }
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   211
            this.editor_$.show();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   212
            paper.view.draw();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   213
        }
433
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 420
diff changeset
   214
    }).value();
434
0d5998b32a7c clean, and finalize lodash migration
ymh <ymh.work@gmail.com>
parents: 433
diff changeset
   215
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   216
    /* NodeEditor End */
293
fba23fde14ba Correct jshint errors and force it on build
ymh <ymh.work@gmail.com>
parents: 284
diff changeset
   217
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   218
    return NodeEditor;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
   219
293
fba23fde14ba Correct jshint errors and force it on build
ymh <ymh.work@gmail.com>
parents: 284
diff changeset
   220
});