Fix bug 328. Simplify resizing by not recreating everything from scratch. This makes it simpler to deal with i328, since we don't have to worry about unremoved event handlers.

Since we're not building everything from scratch, we have to make sure the clipping area is set correctly. Although there's a resetClip method in the HTML5 spec, it's too new. But, man, if we had it things would be great. So instead there's a conditional restore (no restore on the first operation) and a save, for the subsequent restore.

Almost all tests pass, but the ones that test save/restore balances are unsurprisingly broken, as there's one additional save. This can be addressed with calls to g.destroy prior to the assertion, or make a special assertion that verifies there's one more context save than restore.

This has an additional benefit of being slightly faster. Using /Users/konigsberg/git/kberg-dygraphs/tests/resize.html and the following snippet

var start = new Date().getTime();
for (var idx = 0; idx < 500; idx++) {
    g.resize(100 + idx, 100 + idx);
}
console.log(new Date().getTime() - start);

I frequently saw a difference of about 200ms (2200-range to 2400-range.) How much of that was drawing a mildly complex image? Who knows?

I also did some minor refactoring with regards to events, and event method names to make things easier to track.

There may be a need for a plug-in event for resizing.
Fix bug 382. Simplify resizing by not recreating everything from scratch. This makes it simpler to deal with i328, since we don't have to worry about unremoved event handlers.

Since we're not building everything from scratch, we have to make sure the clipping area is set correctly. Although there's a resetClip method in the HTML5 spec, it's too new. But, man, if we had it things would be great. So instead there's a conditional restore (no restore on the first operation) and a save, for the subsequent restore.

Almost all tests pass, but the ones that test save/restore balances are unsurprisingly broken, as there's one additional save. This can be addressed with calls to g.destroy prior to the assertion, or make a special assertion that verifies there's one more context save than restore.

This has an additional benefit of being slightly faster. Using /Users/konigsberg/git/kberg-dygraphs/tests/resize.html and the following snippet

var start = new Date().getTime();
for (var idx = 0; idx < 500; idx++) {
    g.resize(100 + idx, 100 + idx);
}
console.log(new Date().getTime() - start);

I frequently saw a difference of about 200ms (2200-range to 2400-range.) How much of that was drawing a mildly complex image? Who knows?

I also did some minor refactoring with regards to events, and event method names to make things easier to track.

There may be a need for a plug-in event for resizing.
Merge branch 'i382' of https://github.com/kberg/dygraphs into i382
Merge branch 'i382' of https://github.com/kberg/dygraphs into i382
Merge branch 'master' of https://github.com/danvk/dygraphs into i382
Closure fix; force cast from Element to Node.
Closure tweak: variable 'd' declared twice within the same method.
Closurize dygraph-options.js. Not done.

Also fix bug: this.labels_ was never used! Booo...
Closure fix type Dyraph->Dygraph.
Closurize rgbcolor.js
Some closurifying dygraph-canvas and dygraph-layout.
dygraph-utils.js: isElementContainedBy -> isNodeContainedBy

This fixes a type nit when using the Closure Compiler, since walking
parentNode can give an Element or Document node, not just an Element.
dygraph-tickers.js: Fix variable redeclaration
dygraph-utils.js: Remove trailing white space
dygraph-utils.js: Make Dygraph.error and Dygraph.update public

These seem like reasonable utility functions, and they were used outside
of Dygraph (specifically in DygraphOptions). Making these non-private
resolves Closure Compiler warnings inside dygraph-options.js.
Make dygraph-options.js warning-free under Closure Compiler
BUGFIX: xAxisLabelHeight is set to 0 in case the option 'drawXAxis' is
set to false.
FEATURE: added test for issue #451
Merge pull request #233 from lucasbergman/master

some small Closure-cleanliness fixes
REFACTORING: corrected the name for test "step_plot_per_series"