client/js/main.js
changeset 4 f5297dde9053
parent 3 7722ec70c01b
child 5 67085e6281e5
equal deleted inserted replaced
3:7722ec70c01b 4:f5297dde9053
    17 */
    17 */
    18 
    18 
    19 /* Declaring the Renkan Namespace Rkns */
    19 /* Declaring the Renkan Namespace Rkns */
    20 
    20 
    21 Rkns = {
    21 Rkns = {
    22     _FROM_GRAPHICS: 0,
    22     _NODE_RADIUS: 20,
    23     _FROM_DATA: 1
    23     _NODE_FONT_SIZE: 14,
       
    24     _ARROW_LENGTH: 20,
       
    25     _ARROW_WIDTH: 15,
       
    26     _RENDER: 1,
       
    27     _SAVE: 2,
       
    28     _RENDER_AND_SAVE: 3
    24 }
    29 }
    25 
    30 
    26 Rkns.$ = jQuery;
    31 Rkns.$ = jQuery;
    27 
    32 
    28 Rkns._ = _;
    33 Rkns._ = _;
    59     } else {
    64     } else {
    60         this._callbackQueue.push(_callback);
    65         this._callbackQueue.push(_callback);
    61     }
    66     }
    62 }
    67 }
    63 
    68 
       
    69 Rkns.Serializers._Base.prototype.save = function() {}
       
    70 
    64 Rkns.Renderers = {};
    71 Rkns.Renderers = {};
    65 
    72 
    66 Rkns.Renderers._Base = function(_project) {
    73 Rkns.Renderers._Base = function(_project) {
    67     if (typeof _project !== "undefined") {
    74     if (typeof _project !== "undefined") {
    68         this._project = _project;
    75         this._project = _project;
    78     }
    85     }
    79     this._opts = _opts;
    86     this._opts = _opts;
    80     this.users = new Rkns.Model.List();
    87     this.users = new Rkns.Model.List();
    81     this.nodes = new Rkns.Model.List();
    88     this.nodes = new Rkns.Model.List();
    82     this.edges = new Rkns.Model.List();
    89     this.edges = new Rkns.Model.List();
       
    90     if (typeof this._opts.user === "object") {
       
    91         this.current_user = this.addUser(this._opts.user)
       
    92     }
    83     this.serializer = new Rkns.Serializers[_opts.serializer](this);
    93     this.serializer = new Rkns.Serializers[_opts.serializer](this);
    84     this.renderer = new Rkns.Renderers[_opts.renderer](this);
    94     this.renderer = new Rkns.Renderers[_opts.renderer](this);
    85     var _this = this;
    95     var _this = this;
    86     this.serializer.onLoad(function() {
    96     this.serializer.onLoad(function() {
       
    97         if (typeof _this.current_user === "undefined") {
       
    98             _this.current_user = _proj.users[0];
       
    99         }
    87         _this.renderer.draw();
   100         _this.renderer.draw();
    88     });
   101     });
       
   102 }
       
   103 
       
   104 Rkns.Project.prototype.addNode = function(_props, _render_save) {
       
   105     var _node = new Rkns.Model.Node(this, _props);
       
   106     this.nodes.push(_node);
       
   107     if (typeof _render_save !== "undefined" && (_render_save&Rkns._RENDER)) {
       
   108         var _controller = this.renderer.addElement("Node", _node);
       
   109         _controller.redraw();
       
   110     }
       
   111     if (typeof _render_save !== "undefined" && (_render_save&Rkns._SAVE)) {
       
   112         this.serializer.save();
       
   113     }
       
   114     return _node;
       
   115 }
       
   116 
       
   117 Rkns.Project.prototype.addEdge = function(_props, _render_save) {
       
   118     var _edge = new Rkns.Model.Edge(this, _props);
       
   119     this.edges.push(_edge);
       
   120     if (typeof _render_save !== "undefined" && (_render_save&Rkns._RENDER)) {
       
   121         var _controller = this.renderer.addElement("Edge", _edge);
       
   122         _controller.redraw();
       
   123     }
       
   124     if (typeof _render_save !== "undefined" && (_render_save&Rkns._SAVE)) {
       
   125         this.serializer.save();
       
   126     }
       
   127     return _edge;
       
   128 }
       
   129 
       
   130 Rkns.Project.prototype.addUser = function(_props, _render_save) {
       
   131     var _user = new Rkns.Model.User(this, _props);
       
   132     this.users.push(_user);
       
   133     return _user;
    89 }
   134 }
    90 
   135 
    91 /* Utility functions */
   136 /* Utility functions */
    92 
   137 
    93 Rkns.Utils = {
   138 Rkns.Utils = {