@samitouri / QOS-React-2 / commits / 5c9d616735

Add start property that is used by the <ol> tag

Property was missing

Josh Yudaken committed Apr 9, 2014 at 17:49 UTC 5c9d616735c4c5c31fb68b789c8c6f3afeae9592
3 files changed +18 -5
src/browser/ui/dom/DOMProperty.js
+13 -3
@@ -32,7 +32,8 @@ var DOMPropertyInjection = {
32 MUST_USE_PROPERTY: 0x2,
33 HAS_SIDE_EFFECTS: 0x4,
34 HAS_BOOLEAN_VALUE: 0x8,
35 - HAS_POSITIVE_NUMERIC_VALUE: 0x10,
35 + HAS_NUMERIC_VALUE: 0x10,
36 + HAS_POSITIVE_NUMERIC_VALUE: 0x20 | 0x10,
37
38 /**
39 * Inject some specialized knowledge about the DOM. This takes a config object
@@ -110,6 +111,8 @@ var DOMPropertyInjection = {
111 propConfig & DOMPropertyInjection.HAS_SIDE_EFFECTS;
112 DOMProperty.hasBooleanValue[propName] =
113 propConfig & DOMPropertyInjection.HAS_BOOLEAN_VALUE;
114 + DOMProperty.hasNumericValue[propName] =
115 + propConfig & DOMPropertyInjection.HAS_NUMERIC_VALUE;
116 DOMProperty.hasPositiveNumericValue[propName] =
117 propConfig & DOMPropertyInjection.HAS_POSITIVE_NUMERIC_VALUE;
118
@@ -127,8 +130,8 @@ var DOMPropertyInjection = {
130 );
131 invariant(
132 !DOMProperty.hasBooleanValue[propName] ||
130 - !DOMProperty.hasPositiveNumericValue[propName],
131 - 'DOMProperty: Cannot have both boolean and positive numeric value: %s',
133 + !DOMProperty.hasNumericValue[propName],
134 + 'DOMProperty: Cannot have both boolean and numeric value: %s',
135 propName
136 );
137 }
@@ -214,6 +217,13 @@ var DOMProperty = {
217 */
218 hasBooleanValue: {},
219
220 + /**
221 + * Whether the property must be numeric or parse as a
222 + * numeric and should be removed when set to a falsey value.
223 + * @type {Object}
224 + */
225 + hasNumericValue: {},
226 +
227 /**
228 * Whether the property must be positive numeric or parse as a positive
229 * numeric and should be removed when set to a falsey value.
src/browser/ui/dom/DOMPropertyOperations.js
+3 -2
@@ -27,8 +27,9 @@ var warning = require('warning');
27
28 function shouldIgnoreValue(name, value) {
29 return value == null ||
30 - DOMProperty.hasBooleanValue[name] && !value ||
31 - DOMProperty.hasPositiveNumericValue[name] && (isNaN(value) || value < 1);
30 + (DOMProperty.hasBooleanValue[name] && !value) ||
31 + (DOMProperty.hasNumericValue[name] && isNaN(value)) ||
32 + (DOMProperty.hasPositiveNumericValue[name] && (value < 1));
33 }
34
35 var processAttributeNameAndPrefix = memoizeStringOnly(function(name) {
src/browser/ui/dom/DefaultDOMPropertyConfig.js
+2
@@ -26,6 +26,7 @@ var MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE;
26 var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;
27 var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;
28 var HAS_SIDE_EFFECTS = DOMProperty.injection.HAS_SIDE_EFFECTS;
29 +var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;
30 var HAS_POSITIVE_NUMERIC_VALUE =
31 DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;
32
@@ -116,6 +117,7 @@ var DefaultDOMPropertyConfig = {
117 src: null,
118 srcDoc: MUST_USE_PROPERTY,
119 srcSet: null,
120 + start: HAS_NUMERIC_VALUE,
121 step: null,
122 style: null,
123 tabIndex: null,