server/src/main/webapp/model-test.html
author ymh <ymh.work@gmail.com>
Tue, 06 Nov 2012 13:23:19 +0100
changeset 45 37c9a17c3284
permissions -rw-r--r--
- add Spring - add unit test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<!doctype html>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
<html class="no-js" lang="en">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
<head>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
    <meta charset="utf-8">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
    <title>Test Model Renkan</title>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
    <meta name="description" content="">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
    <meta name="author" content="">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
    <meta name="viewport" content="width=device-width">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    <link rel="stylesheet" href="css/style.css">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    <script type="text/javascript" src="js/config.js"></script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    <script type="text/javascript" src="js/dojo.js" data-dojo-config="isDebug: true, parseOnLoad: true"></script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    <script src="lib/jquery.min.js"></script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    <script src="lib/underscore-min.js"></script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    <script src="js/backbone.js"></script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    <script src="js/backbone-relational.js"></script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    <script src="js/main_test_models.js"></script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    <script src="js/models.js"></script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    <script type="text/javascript" src="js/config.js"></script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    <script data-main="main" src="js/main_coweb.js"></script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    <script type="text/javascript">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    function set_project(project) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    	
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    	require(["dojo/dom", "dojo/on", "corenkan"], function(dom, on, corenkan) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    		var template_html = dom.byId("project_disp_template").innerHTML;
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
            var el = dom.byId("project_display");
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
    
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
            
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
            var project_form_view = new FormView({el: dom.byId("form_display"), model: project, template: dom.byId("project_form_template").innerHTML});
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
            
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
            project_view = new ModelView({
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
                el:el,
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
                model: project,
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
                template: template_html,
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
                form_view: project_form_view,
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
                form_el : dom.byId("form_display_div")
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
            });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
            
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
            var user_list_view = new ColView({
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
                el: dom.byId("users_list_base"),
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
                collection: project.get("users"),
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
                element: {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
                    template: dom.byId("user_disp_template").innerHTML
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
                },
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
                element_form: {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
                    tagName: "div",
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
                    attributes: {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
                        id:"form_display",
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
                    },
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
                    template: dom.byId("user_form_template").innerHTML
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
                },
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
                element_form_el : dom.byId("form_display_div")
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
            });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
    
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
            var node_list_view = new ColView({
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
                el: dom.byId("nodes_list_base"),
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
                collection: project.get("nodes"),
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
                element: {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
                    template: dom.byId("node_disp_template").innerHTML
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
                },
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
                element_form: {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
                    tagName: "div",
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
                    attributes: {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
                        id:"form_display",
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
                    },
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
                    template: dom.byId("node_form_template").innerHTML  
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
                },
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
                element_form_el : dom.byId("form_display_div") 
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
            });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
            
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
            var current_user_view = new CurrentUserView({
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
                el: dom.byId("users_select"),
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
                model: project
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
            })
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
            
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
            project_view.render();
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
            user_list_view.render();
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
            node_list_view.render();
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
            current_user_view.render();
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
            
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
            on(dom.byId("add_user"), "click", function() {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
                project.get("users").push(new Rkns.Models.User({}));
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
            });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
            on(dom.byId("add_node"), "click", function() {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
                project.get("nodes").push(new Rkns.Models.Node({project: project}));
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
            });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
            
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
            on(dom.byId("users_select"), "change", function(evt) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
                var val = evt.currentTarget.value;
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
                var current_user = null;
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
                if(typeof val !== "undefined" && val != "") {               
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
                    current_user = project.get("users").get(val);
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
                }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
                
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
                if(current_user != null) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
                    project.current_user = current_user;
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
                    dom.byId("current_user").innerHTML = current_user.get("title");
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
                }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
                else {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
                    project.current_user = null;
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
                    dom.byId("current_user").innerHTML = "";
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
                }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
                 
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
            });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
            
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
            project.get("users").on("change", function(evt) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
                if(project.current_user == null) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
                    dom.byId("current_user").innerHTML = "";
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
                }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
                else if(evt.id == project.current_user.id) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
                    dom.byId("current_user").innerHTML = project.current_user.get("title");
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
                }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
            });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
            
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
            project.get("users").on("remove", function(evt) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
                if(typeof project.current_user === "undefined" || project.current_user == null || evt.id == project.current_user.id) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
                    dom.byId("current_user").innerHTML = "";
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
                }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
            });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
    
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
            corenkan.app.setProject(project);
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
        });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
    }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
    
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
    function load_project(project_id) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
    	var project = null;
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
    	
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
   		if(project_id) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
   		    project = new Rkns.Models.Project({_id: project_id});
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
   		}
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
   		else {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
   			project = new Rkns.Models.Project({});
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
   		}
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
   		project.urlRoot = "rest/projects";
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
   		
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
   		if(project_id) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
   			project.fetch({
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
   				success: function(project, resp) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
   				    set_project(project);    					
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
   				}
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
   			});
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
   		}
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
   		else {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
   			set_project(project);
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
   		}
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
    		    	
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
    	return project;
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
    }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
    
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
    var current_project = null;
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
    
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
    require(["dojo/dom", "dojo/on", "dojo/domReady!"], function(dom, on) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
    	    	
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
    	var project_list_item_view = BasicModelView.extend({template: _.template(dom.byId("project_list_item_template").innerHTML), tagName: "li"});
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
        var project_list_col = new (Backbone.Collection.extend({model: Rkns.Models.Project.extend({idAttribute:'_id', urlRoot:'rest/projects'})}))();
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
        project_list_col.url = "rest/projects";
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
        project_list_col.on("all", function(){
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
        	if(!project_list_view) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
        		return;
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
        	}
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
            _(project_list_view.element_views).each(function(ev){
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
                if(ev.model.id === current_project.id) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
                    $(".project_load_button",ev.el).attr('disabled','disabled');
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
                    $(".project_delete_button",ev.el).attr('disabled','disabled');
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
                }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
                else {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
                    $(".project_load_button",ev.el).removeAttr('disabled');
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
                    $(".project_delete_button",ev.el).removeAttr('disabled');
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
                }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
            });        	
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
        });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
        var project_list_view = null; 
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
        
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
        project_list_col.fetch({
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
        	success:function(collection, response) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
        		project_list_view = new (BasicListView.extend({events: {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
                    "click .project_load_button" : function(evt) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
                    	var proj_id = $(evt.target).val();
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
                    	if(current_project && current_project.id == proj_id) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
                    		return;
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
                    	}
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
                        current_project = load_project($(evt.target).val());
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
                        project_list_col.trigger("sync");
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
                    },
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
                    "click .project_delete_button": function(evt) {                    	
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
                    	var delete_id = $(evt.target).val();
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
                    	if(!current_project || delete_id != current_project.id) { 
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
                      	    _(project_list_col.where({_id: delete_id})).each(function(proj) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
                      	        proj.destroy();
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
                      	    });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
                    	}
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
                    }
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
                }}))({collection: collection, element_view_constructor: project_list_item_view, el: dom.byId("project_list")});
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
                project_list_view.render();
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
        	} 
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
        });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
        
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
        on(dom.byId("project_save_button"), "click", function(evt){
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
        	if(current_project) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
           	    current_project.save({}, {success: function(model, response) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
           		    if(project_list_view != null) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
           			    project_list_col.fetch({
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
           	                success:function(collection, response) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
           	                    project_list_view.render();
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
           	                } 
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
           	            });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
           		    }        		
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
           	    }});
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
        	}
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
        });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
        
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
        on(dom.byId("new_project_button"), "click", function(evt) {
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
        	current_project = load_project();        	
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
        });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
                
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
    });
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
    </script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
</head>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
<body>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
<header>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
</header>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
<div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
<div class="project_current_user"><span class="project_label project_user_label">User: </span><span id="current_user"></span></div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
<select id="users_select">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
    <option value="">None</option>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
</select>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
</div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
<button type="button" id="new_project_button">New Project</button>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
<div id="project_list_div">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
<ul id="project_list">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
</ul>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
</div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
<div role="main" id="project_display">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
</div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
<button type="button" id="project_save_button" value="save">Save</button>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
<div id="users_list_div">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
    <button id="add_user">Add user</button>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
    <ul id="users_list_base">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
    </ul>    
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
</div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
<div id="nodes_list_div">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
    <button id="add_node">Add node</button>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
    <ul id="nodes_list_base">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
    </ul>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
</div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
<div id="form_display_div">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
</div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
<footer>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
</footer>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
<script type="text/template" id="current_user_template">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
</script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
<script type="text/template" id="project_disp_template">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
    <div class="show_form">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
    <h2 class="project_title">Project <%= _id %>: <%= title %></h2>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
    <div class="project_desc"><span class="project_label project_desc_label">Desc: </span><%= description %></div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
    <div class="project_uri"><span class="project_label project_uri_label">Uri: </span><%= uri %></div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
    </div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
</script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
<script type="text/template" id="project_form_template">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
    <table class="project_form">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
        <thead>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
            <tr><th>Field</th><th>Value</th></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
        </thead>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
        <tbody>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
            <tr><td>Title:</td><td><input type="text" name="title" id="project_form_title" class="form_field" value="<%= title %>"></input></td></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
            <tr><td>Uri :</td><td><input type="text" name="uri" id="project_form_text" class="form_field" value="<%= uri %>"></input></td></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
            <tr><td>Desc :</td><td><textarea name="description" id="project_form_description" class="form_field"><%= description %></textarea></td></tr>            
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
        </tbody>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
    </table>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
</script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
<script type="text/template" id="user_disp_template">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
    <div class="show_form">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
    <h2 class="user_title">User <%= _id %>: <%= title %></h2>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
    <div class="user_desc"><span class="user_label user_desc_label">Desc: </span><%= description %></div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
    <div class="user_uri"><span class="user_label user_uri_label">Uri: </span><%= uri %></div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
    <div class="user_color"><span class="user_label user_color_label">Color: </span><%= color %></div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
    </div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
    <button type="button" class="remove_button" value="<%= _id %>">Remove<button>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
</script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
<script type="text/template" id="user_form_template">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
    <table class="user_form">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
        <thead>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
            <tr><th>Field</th><th>Value</th></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
        </thead>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
        <tbody>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
            <tr><td>Title:</td><td><input type="text" name="title" class="form_field" value="<%= title %>"></input></td></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
            <tr><td>Uri :</td><td><input type="text" name="uri" class="form_field" value="<%= uri %>"></input></td></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
            <tr><td>Color :</td><td><input type="text" name="color" class="form_field" value="<%= color %>"></input></td></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
            <tr><td>Desc :</td><td><textarea name="description" class="form_field"><%= description %></textarea></td></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
        </tbody>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
    </table>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
</script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
<script type="text/template" id="node_disp_template">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
    <div class="show_form">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
    <h2 class="user_title">Node <%= _id %>: <%= title %></h2>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
    <div class="user_desc"><span class="user_label user_desc_label">Desc: </span><%= description %></div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
    <div class="user_uri"><span class="user_label user_uri_label">Uri: </span><%= uri %></div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
    <div class="user_creator"><span class="user_label user_uri_label">Creator: </span><%= created_by.title %></div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
    </div>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
    <button type="button" class="remove_button" value="<%= _id %>">Remove<button>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
</script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
<script type="text/template" id="node_form_template">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
    <table class="node_form">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
        <thead>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
            <tr><th>Field</th><th>Value</th></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
        </thead>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
        <tbody>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
            <tr><td>Node title:</td><td><input type="text" name="title" class="form_field" value="<%= title %>"></input></td></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
            <tr><td>Node uri :</td><td><input type="text" name="uri" class="form_field" value="<%= uri %>"></input></td></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
            <tr><td>Node creator :</td><td><input type="text" name="created_by" class="form_field" value="<%= created_by.title %>" readonly="readonly"></input></td></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
            <tr><td>Node desc :</td><td><textarea name="description" class="form_field"><%= description %></textarea></td></tr>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
        </tbody>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
    </table>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
</script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
<script type="text/template" id="project_list_item_template">
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
    <span class="title"><%= title %></span>&nbsp;<button type="button" class="project_load_button" value="<%= _id %>">Load</button><button type="button" class="project_delete_button" value="<%= _id %>">Delete</button>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
</script>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
</body>
37c9a17c3284 - add Spring
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
</html>