Skip to content
This repository

Y.Color #236

Closed
wants to merge 246 commits into from

13 participants

Anthony Pipkin Don't Add Me To Your Organization a.k.a The Travis Bot Eric Ferraiuolo Jeff Conniff Viktor Rennert Matt Parker Ryuichi Okumura Matt Sweeney Axel K. Ryan Grove Dav Glass Derek Gathright Juan Ignacio Dopazo
Anthony Pipkin
Collaborator

Full Y.Color with tests, docs, and harmony methods.

mention @jconniff
mention @msweeney
mention @allenrabinovich

and others added some commits June 15, 2012
Eric Ferraiuolo Move Base.js to BaseEvents.js 2d9f814
Eric Ferraiuolo Extract BaseEvents from Base.
Move the observablility of `Y.Base`'s lifecycle and attribute changes
into `Y.BaseEvents`, an extension for `Y.BaseCore`.
f1544a1
Eric Ferraiuolo Update `base` module and submodule metadata to include `base-events`. b1e13ff
Eric Ferraiuolo Update `Y.Base.create/mix` to work with `Y.BaseCore`.
This allows BaseCore to be the root Base-based superclass enabling the
ability to mix in BaseEvents at runtime. The following is now possible:

    Y.Foo = Y.Base.create('foo', Y.BaseCore, []);

    // And...

    Y.Bar = Y.Base.create('bar', Y.BaseCore, [Y.BaseEvents]);

    // Or...

    Y.Baz = Y.Base.create('baz', Y.BaseCore, []);
    Y.Base.mix(Y.Baz, [Y.BaseEvents]);
d92409c
Axel K. Don't overwrite already loaded cookie 1038444
Axel K. Make order of cookie loading with the same name configurabel 522d852
Axel K. Add builded cookie files df8da8c
Axel K. Merge branch 'master' of git://github.com/yui/yui3 48998b2
Ryan Grove Initial commit of Y.template().
ERB and Underscore-style templating for YUI.
5ee431d
Ryan Grove Trailing comma. 884289f
Ryan Grove Make precompiled templates work. 331245b
Ryan Grove Generic Y.Template API and Y.template() -> Y.Template.Micro
Moves Y.template() to a static Y.Template.Micro namespace and
adds Y.Template, a generic template engine API that supports
Y.Handlebars, Y.Template.Micro, and any other template engine
that adheres to a simple API interface.
d3ce3d7
Ryan Grove Don't rely on `with`, don't do extra work during precompilation.
Removing the `with` block in compiled templates makes rendering way
faster, bumping Micro ahead of both Underscore and Handlebars in
rendering speed.
173bf22
Ryan Grove Make Y.Template.Handlebars an alias for Y.Handlebars 7d9b214
Anthony Pipkin Initial release 07bbf6d
Don't Add Me To Your Organization a.k.a The Travis Bot

This pull request fails (merged 07bbf6d into 38da169).

Eric Ferraiuolo
Owner

Move "color-brightness-chart.html" and "color-brightness-selector.html" under "src/color/tests/manual/".

Eric Ferraiuolo
Owner

Move any of the raw assets like PSDs to the YUI Assets project. You can create a color dir in its components and organize things like the other components in there.

src/color/README.md
... ...
@@ -0,0 +1,4 @@
  1
+Color
  2
+=========
  3
+
  4
+Color is a beta Component. It provides static methods for color conversion.
2
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

s/is a beta Component. It//

Eric Ferraiuolo Owner
ericf added a note September 04, 2012

You could describe each of the three modules in the Y.Color namespace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/docs/assets/README.md
... ...
@@ -0,0 +1,3 @@
  1
+Documentation Assets
  2
+====================
  3
+
1
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

Add URL to where these assets live in the YUI Assets project (once they are moved).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/docs/component.json
... ...
@@ -0,0 +1,11 @@
  1
+{
  2
+    "name"       : "color",
  3
+    "displayName": "Color",
  4
+    "description": "The Sortable utility provides support for the creation of a sortable list as well as the ability to join lists in various ways.",
1
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

Duplicate "description" key. Copy/paste error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-base.js
... ...
@@ -0,0 +1,293 @@
  1
+/**
  2
+Color provides static methods for color conversion.
  3
+
  4
+<p>For all cases of option.type, valid types are:</p><dl>
1
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

I think you should only use Markdown to format API docs in the JavaScript source files. The HTML is hard to read in the text editor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-base.js
((37 lines not shown))
  37
+**/
  38
+var KEYWORDS = {'black': '000', 'silver': 'c0c0c0', 'gray': '808080', 'white': 'fff', 'maroon': '800000', 'red': 'f00', 'purple': '800080', 'fuchsia': 'f0f', 'green': '008000', 'lime': '0f0', 'olive': '808000', 'yellow': 'ff0', 'navy': '000080', 'blue': '00f', 'teal': '008080', 'aqua': '0ff'},
  39
+    // regular expressions used for validation and identification
  40
+    REXP_HEX = /^(#?)([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/,
  41
+    REXP_HEX3 = /^(#?)([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})/,
  42
+    REXP_RGB = /^rgb\(([0-9]{1,3}), ?([0-9]{1,3}), ?([0-9]{1,3})\)/,
  43
+
  44
+    HEX = 'hex',
  45
+    RGB = 'rgb',
  46
+    HSL = 'hsl',
  47
+
  48
+Color = {
  49
+
  50
+    KEYWORDS: KEYWORDS,
  51
+
  52
+    re_RGB: REXP_RGB,
2
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

If these are constants, why not have them be all upper case (e.g. REGEX_RGB)?

I'd also use REGEX instead of REXP.

Anthony Pipkin Collaborator

re_RGB and re_Hex were in Y.Dom. They are only added to Y.Color for back compat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-base.js
((55 lines not shown))
  55
+
  56
+    re_hex3: REXP_HEX3,
  57
+
  58
+    /**
  59
+    Converts provided color value to an array of hex values or hash prepended string
  60
+
  61
+    @public
  62
+    @method toHex
  63
+    @param {Object} options
  64
+      @param {String} options.type identifies the type of color provided
  65
+      @param {String|Array} options.value color value to be converted
  66
+      @param {Boolean} options.css denotes if the returned value should be a CSS string (true) or an array of color values
  67
+    @returns {String|Array} returns array of values or CSS string if options.css is true
  68
+    **/
  69
+    toHex: function(options) {
  70
+        if (Y.Lang.isString(options)) { // Preserve backwards compatability
3
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

Back-compat for Y.DOM?

Anthony Pipkin Collaborator

Yeah. Should that be added in?

Eric Ferraiuolo Owner
ericf added a note September 04, 2012

Sure, doesn't hurt. It just stood out to be that there's back-compat code for a new component.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Jeff Conniff
Collaborator

Just curious on the origin of the name "harmony" in this.

src/color/js/color-base.js
((151 lines not shown))
  151
+      @param {String} options.to desired converted color type
  152
+    @returns {Object}
  153
+    **/
  154
+    _toArray: function(options) {
  155
+        var arr = [],
  156
+            matches = null,
  157
+            type = null,
  158
+            val = options.value;
  159
+
  160
+        if (options.type === 'auto' || typeof options.type === 'undefined') {
  161
+            options = Color._findType(options);
  162
+        }
  163
+        type = options.type.toLowerCase();
  164
+        val = (Y.Lang.isString(val)) ? val.toLowerCase() : val;
  165
+
  166
+        switch(type) {
1
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

Not sure I'd use a switch with fall through for this since there are only two main cases. if/else might be more clear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-base.js
((208 lines not shown))
  208
+    /**
  209
+    Converts the color value from the adjusted type to desired return
  210
+      values. Updates options.type with converted type. Updates
  211
+      options.value with new value array.
  212
+
  213
+    @protected
  214
+    @method _convertTo
  215
+    @param {Object} options
  216
+      @param {String} options.type identifies the type of color provided
  217
+      @param {Array} options.value color value to be converted
  218
+      @param {String} options.to desired converted color type
  219
+    @param {String} [to] (Optional) Overrides options.to if defined
  220
+    @returns {Object}
  221
+    **/
  222
+    _convertTo: function(options, to) {
  223
+        var  _options = Y.mix({}, options),
3
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

This creates a shallow copy of an object:

options = Y.merge(options);
Anthony Pipkin Collaborator

I wasn't aware of this. Should Y.merge() be used throughout?

Eric Ferraiuolo Owner
ericf added a note September 04, 2012

Not in all places, only when you want a shallow copy or a new object.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-harmony.js
... ...
@@ -0,0 +1,632 @@
  1
+/**
  2
+Color provides static methods for color conversion.
  3
+
  4
+<p>For all cases of options.type, valid types are:</p><dl>
1
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

HTML -> Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color.js
... ...
@@ -0,0 +1,543 @@
  1
+/**
  2
+Color provides static methods for color conversion.
  3
+
  4
+<p>For all cases of option.type, valid types are:</p><dl>
1
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

HTML -> Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color.js
((54 lines not shown))
  54
+    REXP_HEX = Y.Color.re_hex,
  55
+    REXP_HEX3 = Y.Color.re_hex3,
  56
+    REXP_RGB = Y.Color.re_RGB,
  57
+    REXP_RGBA = /rgba\(([0-9]{1,3}), ?([0-9]{1,3}), ?([0-9]{1,3}), ?([.0-9]{1,3})\)/,
  58
+    REXP_HSL = /hsl\(([0-9]{1,3}), ?([0-9]*\.?[0-9]+)%, ?([0-9]*\.?[0-9]+)%\)/,
  59
+    REXP_HSLA = /hsla\(([0-9]{1,3}), ?([0-9]*\.?[0-9]+)%, ?([0-9]*\.?[0-9]+)%, ?([.0-9]{1,3})\)/,
  60
+
  61
+    HEX = 'hex',
  62
+    RGB = 'rgb',
  63
+    HSL = 'hsl',
  64
+
  65
+Color = {
  66
+    //----------------------------
  67
+    // C O N S T A N T S
  68
+    //---------------------------
  69
+    REXP: {
1
Eric Ferraiuolo Owner
ericf added a note September 04, 2012

Why not have all the Regexps in this object?

Also I think REGEX is a better name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Eric Ferraiuolo
Owner

Looks like some of the text files are missing their ending newlines (they are pointed out in the diff view).

src/color/js/color.js
((436 lines not shown))
  436
+            g = parseFloat(val[1], 10) / 255,
  437
+            b = parseFloat(val[2], 10) / 255,
  438
+            max = Math.max(r, g, b),
  439
+            min = Math.min(r, g, b),
  440
+            h,
  441
+            s,
  442
+            l,
  443
+            sub = max - min,
  444
+            sum = max + min;
  445
+
  446
+        // hue
  447
+        if (sub === 0) {
  448
+            h = 0;
  449
+        } else if (r === max) {
  450
+            h = ((60 * (g - b) / sub) + 360) % 360;
  451
+        } else if (g == max) {
1
Ryuichi Okumura Collaborator
okuryu added a note September 04, 2012

Use ===.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-base.js
((69 lines not shown))
  69
+
  70
+    re_RGB: REGEX_RGB,
  71
+
  72
+    re_hex: REGEX_HEX,
  73
+
  74
+    re_hex3: REGEX_HEX3,
  75
+
  76
+    /**
  77
+    Converts provided color value to an array of hex values or hash prepended string
  78
+
  79
+    @public
  80
+    @method toHex
  81
+    @param {Object} options
  82
+      @param {String} options.type identifies the type of color provided
  83
+      @param {String|Array} options.value color value to be converted
  84
+      @param {Boolean} options.css denotes if the returned value should be a CSS string (true) or an array of color values
9
Anthony Pipkin Collaborator

The original idea behind options.css was to denote if the return value should be a string to be used in CSS.

After the preliminary discussion there was an idea that "css" was too specific and that stringification shouldn't be limited to CSS use cases.

On that note, I have a few options to use for options that would specify returning a string value.

options.css: takes a boolean value. if true returns a string of the values such as "#ff00ff", "rgb(255, 0, 255)", "hsl(300, 100%, 50%)". returns an array if undefined or other falsey value

options.string: takes a boolean value. if true returns a string of the values such as "#ff00ff", "rgb(255, 0, 255)", "hsl(300, 100%, 50%)". returns an array if undefined or other falsey value

options.toString: takes a boolean value. if true returns a string of the values such as "#ff00ff", "rgb(255, 0, 255)", "hsl(300, 100%, 50%)". returns an array if undefined or other falsey value

options.return: takes a string of "array" or "string" or a callback function that can be used to parse the array of color values and return callback(values). if "string" returns a string of the values such as "#ff00ff", "rgb(255, 0, 255)", "hsl(300, 100%, 50%)". returns an array if "array'", undefined or other falsey value

Anthony Pipkin Collaborator

I'm leaning towards options.return. This would add an additional check for isFunction, but allows Y.Color to be more versatile than it already is.

After that I would go with options.toString

Matt Sweeney Collaborator

Since the goal is to drive low-level DOM and graphics color with this module, it may be worth simplifying the API rather than complicating with more options. Minimal function and object/array overhead should also be goals.

In order to fast-path the public API, we may want to consider streamlining to string in/string out, and leave the config/return wrapper for Y.Color.convert(config) and expose Y.Color.toArray() for converting to array.

It would also be nice to have a way to test the type, for both internal use and developer convenience; maybe Y.Color.isType('#000', 'rbg') and/or Y.Color.isRGB('#f00') etc.

Anthony Pipkin Collaborator

toHex and toRGB allow you to just pass the string just as Y.Color allows now through DOM, by auto setting options.css to true. Modifying this to another name wouldn't be adding complications, but maybe I'm misunderstanding.

I like the idea of an assert package in there too. Should that be part of 'color' or a new submodule 'color-assert'. The regular expressions used are attached to Y.Color, so they are ready to exec() for tests, just dont have sugar methods on them.

Matt Sweeney Collaborator

Right, but the task of Y.Color.toRGB('#f00') requires a hop through isString(), wrapping as an object, a hop through _convertTo(), isArray(), _fromHexToRGB(), and wrapping up as an Array(), then join() ing.

That's alot of overhead for a low-level utility method. Ideally the call stack would something like toRGB(str) -> isHex(str) -> hexToRGB(str).

The isType() tests will probably just wrap up the regexes, so it seems fine to include them in 'color'.

Anthony Pipkin Collaborator

The isString() check was implemented mainly to support back compat. Would you suggest simplifying the logic for toHex and toRGB in 'color-base' for faster processing in the lower levels and having the logic as is when using 'color' for more varied conversions. That would be toHex and toRGB would only take a string and return a string (with no allowance of alpha) when you only use 'color-base' just as Y.Color does now.

Passing strings instead of arrays seems medial in since the reg ex will return the array for us and it makes it easier than doing a toArray on the string after it's been compared to the reg ex. So a check for isHex() or isRGB() would be great for sugar or in _findType(), but checking before converting would require the regex to be processed twice, no?

I can totally see the benefit of just passing the color value around instead of an object around when only the value is being used half the time (in color-harmony at least).

Matt Sweeney Collaborator

I see what you mean about the efficiency of passing around the match result. There's really no way to avoid the array creation in this context short of not using regex. It seems like bit-wise operators could simplify this.

How much of an influence does the underlying regex implementation have on the public api? If an alternate approach can be used, would you still prefer to pass arrays around?

Matt Sweeney Collaborator

As far as the options object, I still think this can be simplified. How about an optional arg for the type hint and wrapper, with helper methods for toArray/String?

Y.Color.toRGB('#f00', 'hex');
Y.Color.toRGBArray('#f00', 'hex');

versus:

Y.Color.toRGB({
    value:'#f00',
    type: 'hex',
    css: true
});

Y.Color.toRGB({
    value:'#f00',
    type: 'hex'
});

Matt Sweeney Collaborator

I setup a perf test comparing the bitshift approach with regex.
http://jsperf.com/torgb-re-vs-bit

Assuming I didn't botch anything, the results are promising, and seem worth further investigation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Viktor Rennert

I'd like to see a method added to change the shading of a given color.

Here is a prototype which I've modified to work with your class.
This safes a lot of trouble when making sort of gradients on the fly.
Charts and graphics will profit from this.

shade is a signed integer which modifies the color to a lighter or darker value.

shadeColor: function(options, shade) {
    var css = options.css, colorInt;
    options.css = false;
    colorInt = Color.toRGB(options);

    colorInt[0] += Math.floor((shade/255)*colorInt[0]);
    colorInt[1] += Math.floor((shade/255)*colorInt[1]);
    colorInt[2] += Math.floor((shade/255)*colorInt[2]);

    return Color.toHex({value: colorInt, type: 'rgb', css: css});
}
Anthony Pipkin
Collaborator

@vrennert To change the shade of a color, you can use Y.Color.getOffset(colorStr, { l: -10 }); This will make the color's luminance 10% darker.

Note: there has been a change to how the API is laid out; it now only takes strings for color values. This would look like: Y.Color.getOffset('#ff00ff', { l: -20 }); // #cc00cc

and others added some commits September 20, 2012
Juan Ignacio Dopazo ScrollViewPaginator#scrollToIndex anim duration
ScrollViewPaginator#scrollToIndex takes an animation duration and easing
that aren't having any effect. This is because paginator.set('index',
index) triggers another call to scrollToIndex. This patch fixes that
behavior by passing an "src" option to paginator.set('index', index).

I added tests that check the time spent in the animation (with a margin
of error)
a99d6b2
Juan Ignacio Dopazo Rebuild ScrollView bf6205a
Juan Ignacio Dopazo Remove test for shorter duration
Shorter durations are usually very imprecise
0e82540
Dav Glass Seed build after master -> 3.x merge 0980709
Dav Glass Merge branch 'master' into 3.x 3e68db2
Derek Gathright Merge branch 'scrollview-scrollto' of git://github.com/juandopazo/yui…
…3 into juandopazo-scrollview-scrollto
cf87a49
Dav Glass Merge branch 'master' into 3.x c0c7a04
Dav Glass Merge branch 'master' into 3.x bff9074
Dav Glass Merge branch 'master' into 3.x bd52cc6
Dav Glass YUI build after master -> 3.x merge e11e34f
Dav Glass Merge branch 'master' into 3.x 731d98c
Dav Glass Merge branch 'master' into 3.x a78f4be
Eric Ferraiuolo Merge branch 'master' into 3.x b1635b7
Anthony Pipkin Create user guides for Color. 8346ac4
Anthony Pipkin Update alias 68375b2
Anthony Pipkin Add output colors for harmony 20a008a
Anthony Pipkin Merge remote-tracking branch 'upstream/master' into color f21a276
Eric Ferraiuolo Merge branch 'master' into base-events
Conflicts:
	src/base/base-base.properties
	src/base/build.xml
	src/base/tests/base-tests.js
547702f
Eric Ferraiuolo Update Base's build.json, and remove old base-events Ant build files. 0546dd9
Dav Glass Merge branch 'master' into 3.x 212480a
Dav Glass Seed and Loader build after master -> 3.x merge b25307a
Eric Ferraiuolo Merge branch 'master' into 3.x b7e4332
Eric Ferraiuolo Merge branch 'master' into 3.x 3b97593
Anthony Pipkin Add test for Color Harmony. 55493cc
Anthony Pipkin Merge branch 'master' of git://github.com/yui/yui3 into color 4d49fea
Derek Gathright Fixes #2532815 - MouseWheel no longer makes use of the _gesture prope…
…rty and this can be removed.
f847161
Derek Gathright Merge branch 'master' into juandopazo-scrollview-scrollto df83f45
Derek Gathright Merge branch '2532815_sv_mw' into juandopazo-scrollview-scrollto 77a4382
Derek Gathright Build scrollview 49f75f9
Derek Gathright Merge branch 'scrollview-scrollto' of git://github.com/juandopazo/yui…
…3 into juandopazo-scrollview-scrollto
2ba0279
Derek Gathright Fixes #2532815 - MouseWheel no longer makes use of the _gesture prope…
…rty and this can be removed.
58dd0c0
Derek Gathright Build scrollview 426e5ca
Derek Gathright Resolved conflict e081ec0
Derek Gathright Resolved conflict b0ac15f
Ryan Grove Support switch statements inside templates. 6b97684
Eric Ferraiuolo Merge branch 'master' into 3.x 7ebaf6e
Dav Glass Seed build after master -> 3.x merge f48aabf
Dav Glass Merge branch 'master' into 3.x 2c06cdf
Dav Glass Seed build after master -> 3.x merge c45576b
Derek Gathright Merge remote-tracking branch 'build/master' 62653b1
Derek Gathright Merge branch 'master' into sv_master+pr258+pr259 cc2a63a
Derek Gathright Resolved conflict. Build scrollview 9636da8
Derek Gathright Updated scroll values in unit tests to a large enough value that will…
… trigger a page change.
23504f1
Eric Ferraiuolo Merge branch 'master' into 3.x 026ccb8
Dav Glass Seed and Loader build with latest shifter to fix some issues 231a098
Dav Glass Seed build after master -> 3.x merge b8a90f5
Eric Ferraiuolo Merge branch 'master' into 3.x 30e5938
Dav Glass Merge branch 'master' into 3.x 4b1caae
Eric Ferraiuolo Merge branch 'master' into 3.x
Conflicts:
	build/simpleyui/simpleyui-min.js
	build/yui-base/yui-base-coverage.js
	build/yui-base/yui-base-min.js
	build/yui-core/yui-core-coverage.js
	build/yui-core/yui-core-min.js
	build/yui-nodejs/yui-nodejs-coverage.js
	build/yui-nodejs/yui-nodejs-min.js
	build/yui/yui-coverage.js
	build/yui/yui-min.js
47ea26a
Dav Glass History Update for Parallel eeb3900
Dav Glass Merge branch '3.x' of yuisource.corp:yui3 into 3.x d56ca51
Anthony Pipkin Merge branch 'master' of git://github.com/yui/yui3 into color aaba7f3
Eric Ferraiuolo Merge branch 'master' into 3.x 9210f93
Anthony Pipkin Fix #2532824. Scrub for Y.each and @description. Minor performance up…
…dates with Y.Object.keys and Y.Array.hash.
383b3fd
Dav Glass Merge branch 'master' into 3.x 3605275
Eric Ferraiuolo Merge branch 'master' into 3.x 644932c
Eric Ferraiuolo Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into 3.x 8dd2637
Dav Glass Merge branch 'master' of git://github.com/yui/yui3 into 3.x 196af61
Dav Glass Fixed Loader api docs ab55eef
Dav Glass Merge branch '3.x' of git://github.com/yui/yui3 into 3.x 06dd5cf
Dav Glass Seed and Loader rebuild after master -> 3.x merge 19e512e
Eric Ferraiuolo Move Attribute's `_protectAttrs()` method to a static utility method.
This moves the protected `_protectAttrs()` method to a static utility
method on `Y.AttributeCore` and `Y.Attribute`.
19ba4d1
Eric Ferraiuolo Move hack to fix Attribute's IE Node clone issue down to AttributeCore. 8ced7fd
Eric Ferraiuolo Deprecate AttributeComplex and move its overrides into AttributeCore. b346ca0
Eric Ferraiuolo Change BaseEvents to mix AttributeEvents and Base to mix AttributeExtras
The reduces dependencies of BaseEvents, but does introduce the fact that
mixing BaseEvents into BaseCore does not equal the functionality of
Base. This is because Base now explicitly mixes in AttributeExtras.
bfcf08c
Dav Glass Merge branch 'master' into 3.x b164597
Eric Ferraiuolo Give BaseCore and Base their own `_buildCfg` objects. a4cc1a7
Dav Glass Seed and Loader build after master -> 3.x merge 5263e91
Dav Glass Merge branch 'master' into 3.x 7a14cc2
Dav Glass Merge branch 'master' into 3.x 834649f
Dav Glass Seed build after master -> 3.x merge f361025
Eric Ferraiuolo Cache computation of Base/BaseCore's `_ATTR_CFG_HASH`.
A Base/BaseCore-based class will now compute its `_ATTR_CFG_HASH` on
demand, when it is needed. If an extension is mixed in via
`Y.Base.mix()`, then the cached hash will be nulled-out.
755e200
Dav Glass Merge branch 'master' into 3.x 1d1ad39
Eric Ferraiuolo Move AttributeEvents.js -> AttributeObservable.js. 36156ce
Eric Ferraiuolo Rename AttributeEvents -> AttributeObservable and module names.
This renames:

* Y.AttributeEvents -> Y.AttributeObservable
* attribute-events -> attribute-observable
1ba3973
Dav Glass Merge branch 'master' into 3.x 5b8b97f
Eric Ferraiuolo Move BaseEvents.js to BaseObservable.js 578a93f
Eric Ferraiuolo Rename BaseEvents -> BaseObservable.
This renames:

* Y.BaseEvents -> Y.BaseObservable
* base-events -> base-observable
a862773
Eric Ferraiuolo Merge branch 'master' into 3.x d49ca5f
Eric Ferraiuolo Merge branch 'template' of git://github.com/rgrove/yui3 into template a95400a
Eric Ferraiuolo Update `Y.Template`'s version and at-since tags to 3.8.0. 36101e1
Eric Ferraiuolo Get Y.Template's test to 100% coverage in all categories. defa03d
Eric Ferraiuolo Build Template and Template.Micro. dc68a6c
Eric Ferraiuolo Build YUI Seed and Loader for template. 41d6946
Eric Ferraiuolo Merge branch 'master' into 3.x
Conflicts:
	build/scrollview-base/scrollview-base-coverage.js
	build/scrollview-scrollbars/scrollview-scrollbars-coverage.js
	build/scrollview-scrollbars/scrollview-scrollbars-min.js
0d025ce
Eric Ferraiuolo Remove extra `new` in Y.Template's unit tests. 409fcf1
Ryan Grove Template docs: Clarify the diff. between a template and an engine. 66162f1
Eric Ferraiuolo Merge branch 'master' into 3.x
Conflicts:
	src/parallel/HISTORY.md
e87dd26
Eric Ferraiuolo Merge branch 'master' into 3.x
Conflicts:
	src/parallel/HISTORY.md
4790975
Eric Ferraiuolo Merge branch 'master' into 3.x e366fc6
Eric Ferraiuolo Merge branch 'master' into 3.x a9e1e4a
Ryan Grove Roughing out a user guide TOC for Template. 30b1658
Anthony Pipkin Update findType in color-base to use Y.Color.TYPES object for return …
…value look ups so new submodules do not need to overwrite method
e5c339f
Anthony Pipkin Write test to more than 95% coverage in Istanbul. Remove toArray bran…
…ch in _rgbToHex since it should never ever be true. Fix bugs proved by tests.
063dea7
Anthony Pipkin Update tests to cover non else branches. Update color-base for compre…
…ssion.
5c524a2
Anthony Pipkin Update tests for 100% coverage on color-hsl in istanbul. 06897e9
Anthony Pipkin Add constrain hue method to ensure subtractive and additive calculati…
…ons are within range.
d07851b
Anthony Pipkin Add tests to bring color-harmony coverage to 100% feaa3f1
Anthony Pipkin Move previous color-harmony tests to manual for swatch comparisons. 24ed9a8
Anthony Pipkin Update docs b456df4
Anthony Pipkin Add color-hsv submodule and unit tests. aa11213
Dav Glass Merge branch 'dd-2532824' of git://github.com/apipkin/yui3 into apipk…
…in-dd-2532824
99ccc51
Dav Glass Merge branch '3.x' into apipkin-dd-2532824 7e65cd0
Dav Glass Merge branch '3.x' of yuisource.corp:yui3 into 3.x 7e28b55
Dav Glass Build after master -> 3.x merge 1a55a78
Eric Ferraiuolo Add `@extensionfor` API doc tags to Attribute extensions. 6a7b55b
Eric Ferraiuolo Update Attribute's change history. ecdd37a
Eric Ferraiuolo Tweak Base's API docs and uses of file-level vars for classes on `Y`. 42045ea
Eric Ferraiuolo Update Base's change history. 5b3e4e0
Eric Ferraiuolo Merge branch 'base-events' into 3.x
Conflicts:
	src/attribute/HISTORY.md
	src/base/HISTORY.md
598c234
Eric Ferraiuolo Whitespace cleanup from `base-events` changes. a32a08c
Eric Ferraiuolo Build Attribute. 0b9392a
Eric Ferraiuolo Build Base. 8c4c246
Eric Ferraiuolo Build YUI Seed and Loader for Attribute and Base observability changes. ced2fd6
Eric Ferraiuolo Add `base-observable.js` script include in Get's tests. 963844d
Eric Ferraiuolo Merge branch 'template' of git://github.com/rgrove/yui3 into template
Conflicts:
	src/template/js/template-micro.js
9762fd5
Eric Ferraiuolo Build Y.Template. ddb7e2f
Eric Ferraiuolo Utilize `Y.Attribute.protectAttrs()` in App.Content. 1bd0b5c
Eric Ferraiuolo Remove old .gitignore file from src/app/. 11dcf2d
Eric Ferraiuolo Build App.Content. bc333cc
Matt Parker

A few, pretty minor API comments...

Y.Color.convert(color, 'hex'); is described as a sugar method for Y.Color.toHex(color); Could it be Y.Color.to(color, Y.Color.STR_HEX) for consistency? I realise that's a pretty significant lot of refactoring for perhaps not good enough reason. Also Y.Color.toArray(color) could be Y.Color.to(color, Y.Color.STR_ARRAY) (and toString likewise?)

While I think of it, all the Harmony get... methods could lose the 'get'? There's no 'set' for them, so Y.Color.similar(purple) ?

I'm sorry if this it too late in the day. Do I have to volunteer to make all the changes all the way through?

and others added some commits October 25, 2012
Dav Glass Seed build after master -> 3.x merge 9dc979f
Dav Glass meta-join script updates f5926ab
Dav Glass Updated md5 sum helper 7f4e21e
Anthony Pipkin Clean up jsHint errors. Update for color-harmony::getSimilar to bette…
…r calculate for saturation and luminance.
4bbad38
Dav Glass Merge commit for master -> 3.x, build scrollview and seed 09e3a4a
Dav Glass Merge branch 'master' into 3.x 0af05fa
Eric Ferraiuolo Merge branch 'master' into 3.x 96c15ae
Anthony Pipkin Fix typo causing color swatch tono update. d8b5e16
Anthony Pipkin Add optional user defined offset for splits 3cab2d2
Anthony Pipkin Update comment for api docs 68e2163
Anthony Pipkin Update docs for api changes and highlighting color-harmony. b2fbd5d
Eric Ferraiuolo Merge branch 'master' into 3.x ad9038e
Ryan Grove Template: Don't print `undefined` for falsy values.
Can't believe I forgot this.
1ecbf4f
Anthony Pipkin Update api to- methods with acronymns to uppercase methods. e87f9b0
Anthony Pipkin Update _convertTo to allow for direct methods if they are provided. fa26fe7
Eric Ferraiuolo Write the first sections of the Template user guide. 1f7a3de
Anthony Pipkin Update conversion methods to use Y.Color.TYPES constants. 008a368
Anthony Pipkin Update docs to include code changes. Separate color-hsl and color-hsv…
… as documented submodules.
711fc1a
Anthony Pipkin Update tests to use TYPES statics. c206679
Anthony Pipkin Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into color bde2109
Anthony Pipkin Build Y.Color aeb06c5
Anthony Pipkin Fix cli tests. d70bb7d
Dav Glass Merge branch 'master' of git://github.com/yui/yui3 into 3.x a2b28ed
Dav Glass Merge branch '3.x' of git://github.com/yui/yui3 into 3.x 89998b6
Eric Ferraiuolo Add "Instantiating a Template Engine" section to Template's user guide. 9a250bc
Eric Ferraiuolo Merge branch 'template' of git://github.com/rgrove/yui3 into template 94fd591
Eric Ferraiuolo Build Template.Micro. a1d76c8
Eric Ferraiuolo Add Compiling and Precompiling sections to Template's user guide. f2f8973
Eric Ferraiuolo Add Custom Engine and Micro Precompilation sections to Template's guide.
Also, fix Templace.Micro code examples to use `<%= data.animal %>`.
4d15b7f
Eric Ferraiuolo Add "Template Syntax" section to Template's user guide. 6efb183
Eric Ferraiuolo Add TODOs to Template's user guide. b1c4118
Eric Ferraiuolo Merge branch 'master' into 3.x 4c8a5af
Eric Ferraiuolo Merge branch 'template' into 3.x
Conflicts:
	build/loader-yui3/loader-yui3-coverage.js
	build/loader-yui3/loader-yui3-debug.js
	build/loader-yui3/loader-yui3-min.js
	build/loader-yui3/loader-yui3.js
	build/loader/loader-debug.js
	build/loader/loader-min.js
	build/loader/loader.js
	build/simpleyui/simpleyui-min.js
	build/yui-base/yui-base-coverage.js
	build/yui-base/yui-base-min.js
	build/yui-core/yui-core-coverage.js
	build/yui-core/yui-core-min.js
	build/yui-nodejs/yui-nodejs-coverage.js
	build/yui-nodejs/yui-nodejs-debug.js
	build/yui-nodejs/yui-nodejs-min.js
	build/yui-nodejs/yui-nodejs.js
	build/yui/yui-coverage.js
	build/yui/yui-debug.js
	build/yui/yui-min.js
	build/yui/yui.js
	src/loader/js/yui3.js
fc11874
Anthony Pipkin Update docs. 5db3948
Anthony Pipkin Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into color 2efc6c2
Dav Glass Merge branch '3.x' of git://github.com/yui/yui3 into 3.x fab7ed0
Anthony Pipkin Build color f050939
Anthony Pipkin Update release version 9d4a3e3
Dav Glass Merge branch '3.x' of git://github.com/yui/yui3 into 3.x 903d4f5
Dav Glass HISTORY updates 1093921
Dav Glass Merge branch '3.x' of yuisource.corp:yui3 into 3.x f26558a
Derek Gathright Added 3.8.0 ScrollView HISTORY entry. 4eebab1
Anthony Pipkin Refactor similar logic to private method to help with compression. 0d47e33
Anthony Pipkin Refactor similar logic to private method to help with compression. 18d7ec7
Anthony Pipkin Fix bug where large offsets in getSimilar produce too many white colo…
…r values.
1342a38
Anthony Pipkin Build Color 86752e6
Anthony Pipkin Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into color 1542421
Eric Ferraiuolo Update Color's change history from 3.7.1 to 3.8.0. 38149bd
Eric Ferraiuolo Use one table for code example in Template's user guide. dd663fa
Eric Ferraiuolo Merge branch '3.x' of git://github.com/yui/yui3 into 3.x 7de4320
Dav Glass Fixed issue with aliases getting tossed directly to loader without ex…
…pansion
93e7e79
Dav Glass Updated color tests for better grover/yogi printing and coverage d04fb46
Dav Glass Seed and Loader build with new Gallery tag 90248c5
Eric Ferraiuolo Rebuild YUI and Loader for Gallery build. 5e24669
Eric Ferraiuolo Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into 3.x
Conflicts:
	build/yui-nodejs/yui-nodejs-coverage.js
	build/yui-nodejs/yui-nodejs-min.js
	build/yui/yui-coverage.js
	build/yui/yui-min.js
84ad856
Eric Ferraiuolo Merge branch 'master' into 3.x dd84c9e
Anthony Pipkin Merge branch 'color-tests' of https://github.com/davglass/yui3 into d…
…avglass-color-test
3479a99
Anthony Pipkin
Collaborator

In dev-3.x. Closing.

Anthony Pipkin apipkin closed this December 06, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.