From 8dd9d79d79ebcb4d9ee89fde30cf448395ac090b Mon Sep 17 00:00:00 2001 From: Andrew Otto Date: Mon, 16 Apr 2012 18:01:37 -0400 Subject: [PATCH] Refactoring a few things after code review with David. --- lib/graph/graph-index-view.co | 30 ------------------------------ lib/graph/graph-list-view.co | 36 ++++++++++++++++++++++++++++++++++++ lib/graph/index.co | 8 ++++---- lib/main-graph-list.co | 16 +++++++--------- lib/template/dashboard.jade | 2 +- lib/template/graph-index.jade | 5 ----- lib/template/graph-list.jade | 7 +++++++ www/modules.yaml | 4 ++-- 8 files changed, 57 insertions(+), 51 deletions(-) delete mode 100644 lib/graph/graph-index-view.co create mode 100644 lib/graph/graph-list-view.co delete mode 100644 lib/template/graph-index.jade create mode 100644 lib/template/graph-list.jade diff --git a/lib/graph/graph-index-view.co b/lib/graph/graph-index-view.co deleted file mode 100644 index 7c352f8..0000000 --- a/lib/graph/graph-index-view.co +++ /dev/null @@ -1,30 +0,0 @@ -{ _, op, -} = require 'kraken/util' -{ BaseView, -} = require 'kraken/base' -{ Graph, GraphList -} = require 'kraken/graph/graph-model' - -root = do -> this -DEBOUNCE_RENDER = 100ms - -/** - * @class View for a showing a list of all saved graphs - */ -GraphIndexView = exports.GraphIndexView = BaseView.extend do # {{{ - __bind__ : <[ - render - ]> - __debounce__: <[ render ]> - - tagName : 'section' - className : 'graph-index-view' - template : require 'kraken/template/graph-index' - - data : {} - ready : false - - initialize : (o={}) -> - @model = new GraphList (o['graph_list_data']) - BaseView::initialize ... - console.log "#this.initialize!" diff --git a/lib/graph/graph-list-view.co b/lib/graph/graph-list-view.co new file mode 100644 index 0000000..6ce2b93 --- /dev/null +++ b/lib/graph/graph-list-view.co @@ -0,0 +1,36 @@ +{ _, op, +} = require 'kraken/util' +{ BaseView, +} = require 'kraken/base' +{ Graph, GraphList +} = require 'kraken/graph/graph-model' + +root = do -> this +DEBOUNCE_RENDER = 100ms + +/** + * @class View for a showing a list of all saved graphs + */ +GraphListView = exports.GraphListView = BaseView.extend do # {{{ + __bind__ : <[ + render + ]> + __debounce__: <[ render ]> + + tagName : 'section' + className : 'graph-list-view' + template : require 'kraken/template/graph-list' + + data : {} + ready : false + + initialize : -> + @model = @collection or= new GraphList + BaseView::initialize ... + console.log "#this.initialize!" + + toTemplateLocals: -> + locals = BaseView::toTemplateLocals ... + locals.collection = @collection + locals + \ No newline at end of file diff --git a/lib/graph/index.co b/lib/graph/index.co index 978ece3..8ea477e 100644 --- a/lib/graph/index.co +++ b/lib/graph/index.co @@ -1,6 +1,6 @@ -models = require 'kraken/graph/graph-model' -display_views = require 'kraken/graph/graph-display-view' -edit_views = require 'kraken/graph/graph-edit-view' -index_views = require 'kraken/graph/graph-index-view' +models = require 'kraken/graph/graph-model' +display_views = require 'kraken/graph/graph-display-view' +edit_views = require 'kraken/graph/graph-edit-view' +index_views = require 'kraken/graph/graph-list-view' exports import models import display_views import edit_views import index_views diff --git a/lib/main-graph-list.co b/lib/main-graph-list.co index f4eda3b..e724e4d 100644 --- a/lib/main-graph-list.co +++ b/lib/main-graph-list.co @@ -2,27 +2,25 @@ } = require 'kraken/util' { BaseView, BaseModel, BaseList, } = require 'kraken/base' -{ Graph, GraphList, GraphIndexView +{ Graph, GraphList, GraphListView } = require 'kraken/graph' -root = this - -# instantiates a new GraphIndexView with the +# instantiates a new GraphListView with the # passed in JSON graph_list_data, and then # appends the rendered view to the DOM. main = (graph_list_data) -> - view = new GraphIndexView { 'graph_list_data': graph_list_data } + graphs = new GraphList graph_list_data + view = new GraphListView { 'collection': graphs } $ '#content .inner' .append view.el # URL to query for saved graph JSON data. -graph_list_url = 'http://localhost:8081/graphslist' +graph_list_url = '/graphslist' jQuery.ajax do - url : 'http://localhost:8081/graphslist' + url : graph_list_url dataType : 'json' success : (res) -> - console.log("got %o", res) # result will be the returned JSON # data of all of the saved graphs - jQuery main res + jQuery main.bind this, res error : (err) -> console.error err diff --git a/lib/template/dashboard.jade b/lib/template/dashboard.jade index 3688666..654be23 100644 --- a/lib/template/dashboard.jade +++ b/lib/template/dashboard.jade @@ -1,4 +1,4 @@ -section#dashboard +section#graph-list .page-header h1 Wikimedia Report Card small February 2012 diff --git a/lib/template/graph-index.jade b/lib/template/graph-index.jade deleted file mode 100644 index 4c3bef0..0000000 --- a/lib/template/graph-index.jade +++ /dev/null @@ -1,5 +0,0 @@ -ul - - model.forEach(function(graph) { - li - a(href="#{graph.toLink()}") #{graph.attributes.name} - - }) diff --git a/lib/template/graph-list.jade b/lib/template/graph-list.jade new file mode 100644 index 0000000..ca8951d --- /dev/null +++ b/lib/template/graph-list.jade @@ -0,0 +1,7 @@ +section#graph-list + .page-header + h1 Saved Graphs + ul + for graph in collection.models + li + a(href="#{graph.toLink()}") #{graph.get('name')} diff --git a/www/modules.yaml b/www/modules.yaml index 28d37b3..732ad82 100644 --- a/www/modules.yaml +++ b/www/modules.yaml @@ -72,7 +72,7 @@ dev: - graph-display.jade - graph-edit.jade - dashboard.jade - - graph-index.jade + - graph-list.jade - chart: - chart-type - dygraphs @@ -94,7 +94,7 @@ dev: - graph-model - graph-display-view - graph-edit-view - - graph-index-view + - graph-list-view - index - dashboard: - dashboard-model -- 1.7.0.4