Commits

Chris Leonello committed 84a4e21

Include version file in build and minor refactoring to replot.

Comments (0)

Files changed (3)

-Format: 1.4
-
-
-# You can add a title and sub-title to your menu like this:
-# Title: [project name]
-# SubTitle: [subtitle]
-
-Footer: Copyright (c) 2009 - 2010 Chris Leonello
-Timestamp: Updated month day, year
-#   m     - One or two digit month.  January is "1"
-#   mm    - Always two digit month.  January is "01"
-#   mon   - Short month word.  January is "Jan"
-#   month - Long month word.  January is "January"
-#   d     - One or two digit day.  1 is "1"
-#   dd    - Always two digit day.  1 is "01"
-#   day   - Day with letter extension.  1 is "1st"
-#   yy    - Two digit year.  2006 is "06"
-#   yyyy  - Four digit year.  2006 is "2006"
-#   year  - Four digit year.  2006 is "2006"
-
-
-# --------------------------------------------------------------------------
-# 
-# Cut and paste the lines below to change the order in which your files
-# appear on the menu.  Don't worry about adding or removing files, Natural
-# Docs will take care of that.
-# 
-# You can further organize the menu by grouping the entries.  Add a
-# "Group: [name] {" line to start a group, and add a "}" to end it.
-# 
-# You can add text and web links to the menu by adding "Text: [text]" and
-# "Link: [name] ([URL])" lines, respectively.
-# 
-# The formatting and comments are auto-generated, so don't worry about
-# neatness when editing the file.  Natural Docs will clean it up the next
-# time it is run.  When working with groups, just deal with the braces and
-# forget about the indentation and comments.
-# 
-# --------------------------------------------------------------------------
-
-
-Group: Usage and Options  {
-
-   File: Usage  (no auto-title, usage.txt)
-   File: jqPlot Options  (no auto-title, jqPlotOptions.txt)
-   File: Options Tutorial  (no auto-title, optionsTutorial.txt)
-   File: jqPlot CSS Customization  (jqPlotCssStyling.txt)
-   File: Change Log  (changes.txt)
-   Link: Examples  (../../tests/)
-   }  # Group: Usage and Options
-
-Group: API Documentation  {
-
-   File: jqPlot Charts  (no auto-title, jqplot.core.js)
-
-   Group: Core Renderers  {
-
-      File: Axis Tick Renderer  (no auto-title, jqplot.axisTickRenderer.js)
-      File: Canvas Grid Renderer  (no auto-title, jqplot.canvasGridRenderer.js)
-      File: Div Title Renderer  (no auto-title, jqplot.divTitleRenderer.js)
-      File: Linear Axis Renderer  (no auto-title, jqplot.linearAxisRenderer.js)
-      File: Marker Renderer  (no auto-title, jqplot.markerRenderer.js)
-      File: Shape Renderer  (no auto-title, jqplot.shapeRenderer.js)
-      File: Shadow Renderer  (no auto-title, jqplot.shadowRenderer.js)
-      File: Line Renderer  (no auto-title, jqplot.lineRenderer.js)
-      File: Axis Label Renderer  (no auto-title, jqplot.axisLabelRenderer.js)
-      File: Theme Engine  (no auto-title, jqplot.themeEngine.js)
-      File: fn  (jqplot.toImage.js)
-      File: jqplot.lineAxisRenderer.js  (jqplot.lineAxisRenderer.js)
-      }  # Group: Core Renderers
-
-   Group: Plugins  {
-
-      File: Bar Renderer  (no auto-title, plugins/jqplot.barRenderer.js)
-      File: Bezier Curve Renderer  (no auto-title, plugins/jqplot.BezierCurveRenderer.js)
-      File: Block Renderer  (no auto-title, plugins/jqplot.blockRenderer.js)
-      File: Bubble Renderer  (no auto-title, plugins/jqplot.bubbleRenderer.js)
-      File: Canvas Axis Label Renderer  (no auto-title, plugins/jqplot.canvasAxisLabelRenderer.js)
-      File: Canvas Axis TickRenderer  (no auto-title, plugins/jqplot.canvasAxisTickRenderer.js)
-      File: Canvas Overlay  (no auto-title, plugins/jqplot.canvasOverlay.js)
-      File: Category Axis Renderer  (no auto-title, plugins/jqplot.categoryAxisRenderer.js)
-      File: ciParser  (no auto-title, plugins/jqplot.ciParser.js)
-      File: Cursor  (no auto-title, plugins/jqplot.cursor.js)
-      File: Date Axis Renderer  (no auto-title, plugins/jqplot.dateAxisRenderer.js)
-      File: Donut Renderer  (no auto-title, plugins/jqplot.donutRenderer.js)
-      File: Dragable  (no auto-title, plugins/jqplot.dragable.js)
-      File: Enhanced Legend Renderer  (no auto-title, plugins/jqplot.enhancedLegendRenderer.js)
-      File: Funnel Renderer  (no auto-title, plugins/jqplot.funnelRenderer.js)
-      File: Highlighter  (no auto-title, plugins/jqplot.highlighter.js)
-      File: Pyramid Renderer  (no auto-title, plugins/jqplot.pyramidRenderer.js)
-      File: Log Axis Renderer  (no auto-title, plugins/jqplot.logAxisRenderer.js)
-      File: Mekko Axis Renderer  (no auto-title, plugins/jqplot.mekkoAxisRenderer.js)
-      File: Mekko Renderer  (no auto-title, plugins/jqplot.mekkoRenderer.js)
-      File: Meter Gauge Renderer  (no auto-title, plugins/jqplot.meterGaugeRenderer.js)
-      File: OHLC Renderer  (no auto-title, plugins/jqplot.ohlcRenderer.js)
-      File: Pie Renderer  (no auto-title, plugins/jqplot.pieRenderer.js)
-      File: Point Labels  (no auto-title, plugins/jqplot.pointLabels.js)
-      File: Trendline  (no auto-title, plugins/jqplot.trendline.js)
-      File: CanvasGridRenderer  (plugins/jqplot.pyramidGridRenderer.js)
-      File: jqplot.pyramidAxisRenderer.js  (plugins/jqplot.pyramidAxisRenderer.js)
-      }  # Group: Plugins
-
-   }  # Group: API Documentation
-
-File: GPL License  (no auto-title, gpl-2.0.txt)
-File: MIT License  (no auto-title, MIT-LICENSE.txt)
-
-Group: Index  {
-
-   Index: Everything
-   Class Index: Classes
-   Property Index: Properties
-   Function Index: Functions
-   Hook Index: Hooks
-   File Index: Files
-   }  # Group: Index
-
+Format: 1.4
+
+
+# You can add a title and sub-title to your menu like this:
+# Title: [project name]
+# SubTitle: [subtitle]
+
+Footer: Copyright (c) 2009 - 2010 Chris Leonello
+Timestamp: Updated month day, year
+#   m     - One or two digit month.  January is "1"
+#   mm    - Always two digit month.  January is "01"
+#   mon   - Short month word.  January is "Jan"
+#   month - Long month word.  January is "January"
+#   d     - One or two digit day.  1 is "1"
+#   dd    - Always two digit day.  1 is "01"
+#   day   - Day with letter extension.  1 is "1st"
+#   yy    - Two digit year.  2006 is "06"
+#   yyyy  - Four digit year.  2006 is "2006"
+#   year  - Four digit year.  2006 is "2006"
+
+
+# --------------------------------------------------------------------------
+# 
+# Cut and paste the lines below to change the order in which your files
+# appear on the menu.  Don't worry about adding or removing files, Natural
+# Docs will take care of that.
+# 
+# You can further organize the menu by grouping the entries.  Add a
+# "Group: [name] {" line to start a group, and add a "}" to end it.
+# 
+# You can add text and web links to the menu by adding "Text: [text]" and
+# "Link: [name] ([URL])" lines, respectively.
+# 
+# The formatting and comments are auto-generated, so don't worry about
+# neatness when editing the file.  Natural Docs will clean it up the next
+# time it is run.  When working with groups, just deal with the braces and
+# forget about the indentation and comments.
+# 
+# --------------------------------------------------------------------------
+
+
+Group: Usage and Options  {
+
+   File: Usage  (no auto-title, usage.txt)
+   File: jqPlot Options  (no auto-title, jqPlotOptions.txt)
+   File: Options Tutorial  (no auto-title, optionsTutorial.txt)
+   File: jqPlot CSS Customization  (jqPlotCssStyling.txt)
+   File: Change Log  (changes.txt)
+   Link: Examples  (../../tests/)
+   }  # Group: Usage and Options
+
+Group: API Documentation  {
+
+   File: jqPlot Charts  (no auto-title, jqplot.core.js)
+
+   Group: Core Renderers  {
+
+      File: Axis Tick Renderer  (no auto-title, jqplot.axisTickRenderer.js)
+      File: Canvas Grid Renderer  (no auto-title, jqplot.canvasGridRenderer.js)
+      File: Div Title Renderer  (no auto-title, jqplot.divTitleRenderer.js)
+      File: Linear Axis Renderer  (no auto-title, jqplot.linearAxisRenderer.js)
+      File: Marker Renderer  (no auto-title, jqplot.markerRenderer.js)
+      File: Shape Renderer  (no auto-title, jqplot.shapeRenderer.js)
+      File: Shadow Renderer  (no auto-title, jqplot.shadowRenderer.js)
+      File: Line Renderer  (no auto-title, jqplot.lineRenderer.js)
+      File: Axis Label Renderer  (no auto-title, jqplot.axisLabelRenderer.js)
+      File: Theme Engine  (no auto-title, jqplot.themeEngine.js)
+      File: fn  (jqplot.toImage.js)
+      }  # Group: Core Renderers
+
+   Group: Plugins  {
+
+      File: Bar Renderer  (no auto-title, plugins\jqplot.barRenderer.js)
+      File: Bezier Curve Renderer  (no auto-title, plugins\jqplot.BezierCurveRenderer.js)
+      File: Block Renderer  (no auto-title, plugins\jqplot.blockRenderer.js)
+      File: Bubble Renderer  (no auto-title, plugins\jqplot.bubbleRenderer.js)
+      File: Canvas Axis Label Renderer  (no auto-title, plugins\jqplot.canvasAxisLabelRenderer.js)
+      File: Canvas Axis TickRenderer  (no auto-title, plugins\jqplot.canvasAxisTickRenderer.js)
+      File: Canvas Overlay  (no auto-title, plugins\jqplot.canvasOverlay.js)
+      File: Category Axis Renderer  (no auto-title, plugins\jqplot.categoryAxisRenderer.js)
+      File: ciParser  (no auto-title, plugins\jqplot.ciParser.js)
+      File: Cursor  (no auto-title, plugins\jqplot.cursor.js)
+      File: Date Axis Renderer  (no auto-title, plugins\jqplot.dateAxisRenderer.js)
+      File: Donut Renderer  (no auto-title, plugins\jqplot.donutRenderer.js)
+      File: Dragable  (no auto-title, plugins\jqplot.dragable.js)
+      File: Enhanced Legend Renderer  (no auto-title, plugins\jqplot.enhancedLegendRenderer.js)
+      File: Funnel Renderer  (no auto-title, plugins\jqplot.funnelRenderer.js)
+      File: Highlighter  (no auto-title, plugins\jqplot.highlighter.js)
+      File: Pyramid Renderer  (no auto-title, plugins\jqplot.pyramidRenderer.js)
+      File: Log Axis Renderer  (no auto-title, plugins\jqplot.logAxisRenderer.js)
+      File: Mekko Axis Renderer  (no auto-title, plugins\jqplot.mekkoAxisRenderer.js)
+      File: Mekko Renderer  (no auto-title, plugins\jqplot.mekkoRenderer.js)
+      File: Meter Gauge Renderer  (no auto-title, plugins\jqplot.meterGaugeRenderer.js)
+      File: OHLC Renderer  (no auto-title, plugins\jqplot.ohlcRenderer.js)
+      File: Pie Renderer  (no auto-title, plugins\jqplot.pieRenderer.js)
+      File: Point Labels  (no auto-title, plugins\jqplot.pointLabels.js)
+      File: Trendline  (no auto-title, plugins\jqplot.trendline.js)
+      File: CanvasGridRenderer  (plugins\jqplot.pyramidGridRenderer.js)
+      File: jqplot.pyramidAxisRenderer.js  (plugins\jqplot.pyramidAxisRenderer.js)
+      File: hermiteSplineRenderer  (plugins\jqplot.hermiteSplineRenderer.js)
+      }  # Group: Plugins
+
+   }  # Group: API Documentation
+
+File: GPL License  (no auto-title, gpl-2.0.txt)
+File: MIT License  (no auto-title, MIT-LICENSE.txt)
+
+Group: Index  {
+
+   Index: Everything
+   Class Index: Classes
+   Property Index: Properties
+   Function Index: Functions
+   Hook Index: Hooks
+   File Index: Files
+   }  # Group: Index
+
 
     <!-- Files names for distribution -->
     <property name="JQPLOT" value="jquery.jqplot.js" />
-    <loadfile property="version" srcfile="version.txt" /> 
     <property file="dist.props" />
     
     <!-- misc. properties -->
         <copy todir="${BUILD_DIR}">
           <fileset dir="${SRC_DIR}">
             <include name="*" />
+            <!-- for some reason version.txt not copied over -->
+            <include name="version.txt" />
             <exclude name="jquery.jqplot.js" />
             <exclude name="jsl.conf" />
           </fileset>
           <fileset dir="${BUILD_DIR}" includes="${JQPLOT}" />
           <fileset dir="${BUILD_DIR}" includes="jquery.jqplot.css" />
           <fileset dir="${BUILD_DIR}" includes="excanvas.js" />
+          <fileset dir="${BUILD_DIR}" includes="version.txt" />
           <fileset dir="" includes="*.php" />
           <fileset dir="" includes="style.css" />
           <fileset dir="" includes="README.txt" />

src/jqplot.core.js

             this.target.trigger('jqplotPreReplot');
             
             if (clear) {
-                this.canvasManager.freeAllCanvases();
-                // Memory Leaks patch
-                // this.target.find("table.jqplot-table-legend,table.jqplot-legend").each( function() {
-                //     $(this).unbind();
-
-                //     $(this).find(".jqplot-seriesToggle").each( function() {
-                //         $(this).unbind();
-                //     });
-                //     $.gcCollect(this);
-                // });
-                
-                // this.target.find(".jqplot-title").each( function() {
-                //     $(this).unbind();
-                //     $.gcCollect(this);
-                // });
-                
-                // $.gcClear();
-
-                if (this.eventCanvas && this.eventCanvas._elem) {
-                    this.eventCanvas._elem.unbind();
-                }
-                // Dont think I bind any events to the target, this shouldn't be necessary.
-                // It will remove user's events.
-                // this.target.unbind();
-
-                // Couple of posts on Stack Overflow indicate that empty() doesn't
-                // always cear up the dom and release memory.  Sometimes setting
-                // innerHTML property to null is needed.  Particularly on IE, may 
-                // have to directly set it to null, bypassing jQuery.
-                this.target.empty();
+                this.destroy();
             }
             this.reInitialize();
             if (resetAxes) {