Renames 'chart-library' to 'chart-type', as it makes sense that one library might...
authordsc <dsc@wikimedia.org>
Thu, 29 Mar 2012 09:12:20 +0000 (02:12 -0700)
committerdsc <dsc@wikimedia.org>
Thu, 29 Mar 2012 10:41:19 +0000 (03:41 -0700)
14 files changed:
lib/chart/chart-option-model.co [moved from lib/graph/graph-model.co with 81% similarity]
lib/chart/chart-option-view.co [moved from lib/graph/graph-view.co with 79% similarity]
lib/chart/chart-type.co
lib/chart/dygraphs.co
lib/chart/index.co
lib/graph/index.co
lib/main.co
lib/template/chart-option.jade [moved from lib/template/graph-option.jade with 100% similarity]
lib/template/chart-scaffold.jade [moved from lib/template/graph-scaffold.jade with 100% similarity]
lib/util/index.co
lib/vis/vis-model.co
lib/vis/vis-view.co
www/misc/test.co
www/modules.yaml

similarity index 81%
rename from lib/graph/graph-model.co
rename to lib/chart/chart-option-model.co
index 39e1109..e5277f8 100644 (file)
@@ -1,13 +1,11 @@
 _ = require 'kraken/util/underscore'
-{ BaseModel, BaseView,
-} = require 'kraken/base'
 { Field, FieldList, FieldView, Scaffold,
 } = require 'kraken/scaffold'
 
-IGNORED_TAGS = exports.IGNORED_TAGS = <[ callback deprecated debugging ]>
-
-
 
+/**
+ * @class A set of tags.
+ */
 class exports.TagSet extends Array
     tags : {}
     
@@ -34,14 +32,21 @@ class exports.TagSet extends Array
     toString: -> "TagSet(length=#{@length}, values=[\"#{@join '", "'}\"])"
 
 
+
+/**
+ * @namespace All known tags, for mapping consistently onto colors.
+ */
 KNOWN_TAGS = exports.KNOWN_TAGS = new TagSet()
 
 
+
 /**
- * Field with graph-option-specific handling for validation, parsing, tags, etc.
+ * @class Field with chart-option-specific handling for validation, parsing, tags, etc.
  */
-GraphOption = exports.GraphOption = Field.extend do # {{{
-    ctorName : 'GraphOption'
+ChartOption = exports.ChartOption = Field.extend do # {{{
+    ctorName : 'ChartOption'
+    IGNORED_TAGS : <[ callback deprecated debugging ]>
+    
     
     initialize : ->
         # console.log "#this.initialize!"
@@ -54,7 +59,7 @@ GraphOption = exports.GraphOption = Field.extend do # {{{
         # Ignore functions/callbacks and, ahem, hidden tags.
         type = @get 'type', '' .toLowerCase()
         tags = @get 'tags', []
-        if _.str.include(type, 'function') or _.intersection(tags, IGNORED_TAGS).length
+        if _.str.include(type, 'function') or _.intersection(tags, @IGNORED_TAGS).length
             @set 'ignore', true
     
     
@@ -100,9 +105,13 @@ GraphOption = exports.GraphOption = Field.extend do # {{{
 # }}}
 
 
-GraphOptionList = exports.GraphOptionList = FieldList.extend do # {{{
-    ctorName   : 'GraphOptionList'
-    model      : GraphOption
+
+/**
+ * @class List of ChartOption fields.
+ */
+ChartOptionList = exports.ChartOptionList = FieldList.extend do # {{{
+    ctorName   : 'ChartOptionList'
+    model      : ChartOption
     
     /**
      * Override to omit defaults from URL.
similarity index 79%
rename from lib/graph/graph-view.co
rename to lib/chart/chart-option-view.co
index ad07954..fa68de9 100644 (file)
@@ -1,22 +1,21 @@
 _ = require 'kraken/util/underscore'
-{BaseView} = require 'kraken/base'
 { Field, FieldList, FieldView, Scaffold,
 } = require 'kraken/scaffold'
-{ GraphOption, GraphOptionList, TagSet, KNOWN_TAGS,
-} = require 'kraken/graph/graph-model'
+{ ChartOption, ChartOptionList,
+} = require 'kraken/chart/chart-option-model'
 
 DEBOUNCE_RENDER = exports.DEBOUNCE_RENDER = 100ms
 
 
 /**
- * The view for a single configurable option.
+ * @class View for a single configurable option in a chart type.
  */
-GraphOptionView = exports.GraphOptionView = FieldView.extend do # {{{
+ChartOptionView = exports.ChartOptionView = FieldView.extend do # {{{
     # __bind__  : <[ onClick ]>
-    ctorName  : 'GraphOptionView'
+    ctorName  : 'ChartOptionView'
     tagName   : 'div'
     className : 'field option'
-    template  : require 'kraken/template/graph-option'
+    template  : require 'kraken/template/chart-option'
     
     isCollapsed : true
     
@@ -52,15 +51,15 @@ GraphOptionView = exports.GraphOptionView = FieldView.extend do # {{{
 
 
 /**
- * 
+ * @class View for configuring a chart type.
  */
-GraphOptionsScaffold = exports.GraphOptionsScaffold = Scaffold.extend do # {{{
-    ctorName       : 'GraphOptionsScaffold'
+ChartOptionScaffold = exports.ChartOptionScaffold = Scaffold.extend do # {{{
+    ctorName       : 'ChartOptionScaffold'
     tagName        : 'form'
     className      : 'options scaffold'
-    template       : require 'kraken/template/graph-scaffold'
-    collectionType : GraphOptionList
-    subviewType    : GraphOptionView
+    template       : require 'kraken/template/chart-scaffold'
+    collectionType : ChartOptionList
+    subviewType    : ChartOptionView
     fields        : '.fields'
     
     # GraphView will set this
@@ -91,7 +90,7 @@ GraphOptionsScaffold = exports.GraphOptionsScaffold = Scaffold.extend do # {{{
             sortBy: 'category'
     
     /**
-     * Add a GraphOption to this scaffold, rerendering the isotope
+     * Add a ChartOption to this scaffold, rerendering the isotope
      * layout after collapse events.
      */
     addOne: (field) ->
index 6a145f5..637477b 100644 (file)
@@ -1,5 +1,4 @@
 _  = require 'kraken/util/underscore'
-op = require 'kraken/util/op'
 {EventEmitter} = require 'events'
 {Parsers, ParserMixin}  = require 'kraken/util/parser'
 
@@ -7,7 +6,7 @@ op = require 'kraken/util/op'
 /**
  * @class Specification for an option.
  */
-class exports.ChartOption
+class exports.ChartTypeOption
     SPEC_KEYS : <[ name type default desc tags examples ]>
     
     name     : null
@@ -19,13 +18,13 @@ class exports.ChartOption
     
     
     (@chartType, @spec) ->
-        throw new Error('Each ChartOption requires a name!') unless @spec.name
+        throw new Error('Each ChartTypeOption requires a name!') unless @spec.name
         
         for k of @SPEC_KEYS
             v = @spec[k]
             @[k] = v if v?
         @tags or= []
-        @parse = @lookup.getParser @type
+        @parse = @chartType.getParser @type
     
     parse : Parsers.parseString
     
@@ -50,14 +49,14 @@ KNOWN_CHART_TYPES = exports.KNOWN_CHART_TYPES = {}
  */
 class exports.ChartType extends EventEmitter
     /**
-     * Ordered ChartOption objects.
-     * @type ChartOption[]
+     * Ordered ChartTypeOption objects.
+     * @type ChartTypeOption[]
      */
     options_ordered : null
     
     /**
-     * Map of option name to ChartOption objects.
-     * @type { name:ChartOption, ... }
+     * Map of option name to ChartTypeOption objects.
+     * @type { name:ChartTypeOption, ... }
      */
     options : null
     
@@ -70,13 +69,13 @@ class exports.ChartType extends EventEmitter
      *  name, type, default, description (etc) of a chart option.
      */
     (@name, options) ->
-        @options_ordered = _.map options, (opt) ~> new ChartOption this, opt
+        @options_ordered = _.map options, (opt) ~> new ChartTypeOption this, opt
         @options = _.synthesize @options_ordered, -> [it.name, it]
         ChartType.register this
     
     
     /**
-     * @returns {ChartOption} Get an option's spec by name.
+     * @returns {ChartTypeOption} Get an option's spec by name.
      */
     get: (name, def) ->
         @options[name] or def
index 056bc39..bdaada1 100644 (file)
@@ -1,5 +1,5 @@
 _ = require 'kraken/util/underscore'
-{ ChartType, ChartOption,
+{ ChartType, ChartTypeOption,
 } = require 'kraken/chart/chart-type'
 
 
index 6709cab..e25febb 100644 (file)
@@ -1,3 +1,5 @@
-chart_type  = require 'kraken/chart/chart-type'
-dygraphs = require 'kraken/chart/dygraphs'
-exports import chart_type import dygraphs
+chart_type = require 'kraken/chart/chart-type'
+dygraphs   = require 'kraken/chart/dygraphs'
+models     = require 'kraken/chart/chart-option-model'
+views      = require 'kraken/chart/chart-option-view'
+exports import chart_type import dygraphs import models import views
index cd7b8be..5437dcc 100644 (file)
@@ -1,3 +1,3 @@
-models = require 'kraken/graph/graph-model'
-views  = require 'kraken/graph/graph-view'
-exports import models import views
+# models = require 'kraken/graph/graph-model'
+# views  = require 'kraken/graph/graph-view'
+# exports import models import views
index 2098f7e..2134b50 100644 (file)
@@ -3,15 +3,14 @@ Backbone = require 'backbone'
 
 { _, op,
 } = require 'kraken/util'
-{ ChartType, DygraphsChartType,
-} = require 'kraken/chart'
 { BaseView, BaseModel, BaseList,
 } = require 'kraken/base'
 { Field, FieldList, FieldView, Scaffold,
 } = require 'kraken/scaffold'
-{ GraphOption, GraphOptionList, GraphOptionView,
-  GraphOptionsScaffold, TagSet,
-} = require 'kraken/graph'
+{ ChartType, DygraphsChartType,
+  ChartOption, ChartOptionList, TagSet,
+  ChartOptionView, ChartOptionScaffold,
+} = require 'kraken/chart'
 { VisView, VisModel, VisList,
 } = require 'kraken/vis'
 
index caba6e5..35cb297 100644 (file)
@@ -11,7 +11,8 @@ root.jQuery?.fn.invoke = (method, ...args) ->
 op        = require 'kraken/util/op'
 backbone  = require 'kraken/util/backbone'
 parser    = require 'kraken/util/parser'
-exports import { root, _, op, backbone, parser, }
+Cascade   = require 'kraken/util/cascade'
+exports import { root, _, op, backbone, parser, Cascade, }
 
 # HashSet   = require 'kraken/util/hashset'
 # BitString = require 'kraken/util/bitstring'
index 0ff9361..bbd2e7a 100644 (file)
@@ -4,7 +4,7 @@ _ = require 'kraken/util/underscore'
 Cascade = require 'kraken/util/cascade'
 { ChartType,
 } = require 'kraken/chart'
-{ BaseModel, BaseView, BaseList,
+{ BaseModel, BaseList,
 } = require 'kraken/base'
 
 root = do -> this
index 40a7e89..8275daa 100644 (file)
@@ -3,10 +3,8 @@ root = do -> this
 _ = require 'kraken/util/underscore'
 { BaseView,
 } = require 'kraken/base'
-{ Field, FieldList, FieldView, Scaffold
-} = require 'kraken/scaffold'
-{   GraphOptionsScaffold, GraphOption, GraphOptionList, DEBOUNCE_RENDER,
-} = require 'kraken/graph'
+{ ChartOptionScaffold, ChartOption, ChartOptionList, DEBOUNCE_RENDER,
+} = require 'kraken/chart'
 { VisModel,
 } = require 'kraken/vis/vis-model'
 
@@ -73,7 +71,7 @@ VisView = exports.VisView = BaseView.extend do # {{{
         
         @viewport = @$el.find '.viewport'
         
-        @scaffold = new GraphOptionsScaffold
+        @scaffold = new ChartOptionScaffold
         @$el.find '.graph-options-pane' .append @scaffold.el
         @scaffold.collection.reset that if o.graph_spec
         
index 4bc97e1..5c3033a 100644 (file)
@@ -1,19 +1,16 @@
 Seq      = require 'seq'
 Backbone = require 'backbone'
 
-{ _, op,
+{ _, op, Cascade,
 } = require 'kraken/util'
-Cascade = require 'kraken/util/cascade'
-
-{ ChartLibrary, DygraphsLibrary,
-} = require 'kraken/chart'
 { BaseView, BaseModel, BaseList,
 } = require 'kraken/base'
 { Field, FieldList, FieldView, Scaffold,
 } = require 'kraken/scaffold'
-{ GraphOption, GraphOptionList, GraphOptionView,
-  GraphOptionsScaffold, TagSet,
-} = require 'kraken/graph'
+{ ChartType, DygraphsChartType,
+  ChartOption, ChartOptionList, TagSet,
+  ChartOptionView, ChartOptionScaffold,
+} = require 'kraken/chart'
 { VisView, VisModel, VisList,
 } = require 'kraken/vis'
 
@@ -31,7 +28,7 @@ main = ->
     # for opt of root.CHART_OPTIONS_SPEC
     #     opts[opt.name] = opt.default
     
-    dyglib = new DygraphsLibrary CHART_OPTIONS_SPEC
+    dyglib = new DygraphsChartType CHART_OPTIONS_SPEC
     
     # TODO: create a preset manager
     # Remove chart options from data so we don't have to deepcopy
index 99cb4f0..d1c2c45 100644 (file)
@@ -57,22 +57,24 @@ dev:
                 - cascade
                 - index
             - base
+            - scaffold:
+                - scaffold-model
+                - scaffold-view
+                - index
             - chart:
                 - chart-type
                 - dygraphs
+                - chart-option-model
+                - chart-option-view
                 - index
             - template:
+                - chart-option.jade
+                - chart-scaffold.jade
                 - graph.jade
-                - graph-option.jade
-                - graph-scaffold.jade
-            - scaffold:
-                - scaffold-model
-                - scaffold-view
-                - index
-            - graph:
-                - graph-model
-                - graph-view
-                - index
+            # - graph:
+            #     - graph-model
+            #     - graph-view
+            #     - index
             - vis:
                 - vis-model
                 - vis-view