react 0.14.3 → 0.14.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -77,7 +77,10 @@ var ReactDOMOption = {
77
77
  }
78
78
  });
79
79
 
80
- nativeProps.children = content;
80
+ if (content) {
81
+ nativeProps.children = content;
82
+ }
83
+
81
84
  return nativeProps;
82
85
  }
83
86
 
@@ -28,7 +28,7 @@ function updateOptionsIfPendingUpdateAndMounted() {
28
28
  var value = LinkedValueUtils.getValue(props);
29
29
 
30
30
  if (value != null) {
31
- updateOptions(this, props, value);
31
+ updateOptions(this, Boolean(props.multiple), value);
32
32
  }
33
33
  }
34
34
  }
@@ -25,7 +25,9 @@ var DOM_OPERATION_TYPES = {
25
25
  'setValueForProperty': 'update attribute',
26
26
  'setValueForAttribute': 'update attribute',
27
27
  'deleteValueForProperty': 'remove attribute',
28
- 'dangerouslyReplaceNodeWithMarkupByID': 'replace'
28
+ 'setValueForStyles': 'update styles',
29
+ 'replaceNodeWithMarkup': 'replace',
30
+ 'updateTextContent': 'set textContent'
29
31
  };
30
32
 
31
33
  function getTotalTime(measurements) {
@@ -340,10 +340,14 @@ ReactShallowRenderer.prototype.render = function (element, context) {
340
340
  if (!context) {
341
341
  context = emptyObject;
342
342
  }
343
+ ReactUpdates.batchedUpdates(_batchedRender, this, element, context);
344
+ };
345
+
346
+ function _batchedRender(renderer, element, context) {
343
347
  var transaction = ReactUpdates.ReactReconcileTransaction.getPooled(false);
344
- this._render(element, transaction, context);
348
+ renderer._render(element, transaction, context);
345
349
  ReactUpdates.ReactReconcileTransaction.release(transaction);
346
- };
350
+ }
347
351
 
348
352
  ReactShallowRenderer.prototype.unmount = function () {
349
353
  if (this._instance) {
@@ -11,4 +11,4 @@
11
11
 
12
12
  'use strict';
13
13
 
14
- module.exports = '0.14.3';
14
+ module.exports = '0.14.7';
@@ -46,11 +46,11 @@ var trackedTouchCount = 0;
46
46
  */
47
47
  var previousActiveTouches = 0;
48
48
 
49
- var changeResponder = function (nextResponderID) {
49
+ var changeResponder = function (nextResponderID, blockNativeResponder) {
50
50
  var oldResponderID = responderID;
51
51
  responderID = nextResponderID;
52
52
  if (ResponderEventPlugin.GlobalResponderHandler !== null) {
53
- ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderID, nextResponderID);
53
+ ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderID, nextResponderID, blockNativeResponder);
54
54
  }
55
55
  };
56
56
 
@@ -69,7 +69,7 @@ var eventTypes = {
69
69
  /**
70
70
  * On a `scroll`, is it desired that this element become the responder? This
71
71
  * is usually not needed, but should be used to retroactively infer that a
72
- * `touchStart` had occurred during momentum scroll. During a momentum scroll,
72
+ * `touchStart` had occured during momentum scroll. During a momentum scroll,
73
73
  * a touch start will be immediately followed by a scroll event if the view is
74
74
  * currently scrolling.
75
75
  *
@@ -347,6 +347,7 @@ function setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEv
347
347
  grantEvent.touchHistory = ResponderTouchHistoryStore.touchHistory;
348
348
 
349
349
  EventPropagators.accumulateDirectDispatches(grantEvent);
350
+ var blockNativeResponder = executeDirectDispatch(grantEvent) === true;
350
351
  if (responderID) {
351
352
 
352
353
  var terminationRequestEvent = ResponderSyntheticEvent.getPooled(eventTypes.responderTerminationRequest, responderID, nativeEvent, nativeEventTarget);
@@ -363,7 +364,7 @@ function setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEv
363
364
  terminateEvent.touchHistory = ResponderTouchHistoryStore.touchHistory;
364
365
  EventPropagators.accumulateDirectDispatches(terminateEvent);
365
366
  extracted = accumulate(extracted, [grantEvent, terminateEvent]);
366
- changeResponder(wantsResponderID);
367
+ changeResponder(wantsResponderID, blockNativeResponder);
367
368
  } else {
368
369
  var rejectEvent = ResponderSyntheticEvent.getPooled(eventTypes.responderReject, wantsResponderID, nativeEvent, nativeEventTarget);
369
370
  rejectEvent.touchHistory = ResponderTouchHistoryStore.touchHistory;
@@ -372,7 +373,7 @@ function setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEv
372
373
  }
373
374
  } else {
374
375
  extracted = accumulate(extracted, grantEvent);
375
- changeResponder(wantsResponderID);
376
+ changeResponder(wantsResponderID, blockNativeResponder);
376
377
  }
377
378
  return extracted;
378
379
  }
@@ -385,8 +386,12 @@ function setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEv
385
386
  * @param {string} topLevelType Record from `EventConstants`.
386
387
  * @return {boolean} True if a transfer of responder could possibly occur.
387
388
  */
388
- function canTriggerTransfer(topLevelType, topLevelTargetID) {
389
- return topLevelTargetID && (topLevelType === EventConstants.topLevelTypes.topScroll || trackedTouchCount > 0 && topLevelType === EventConstants.topLevelTypes.topSelectionChange || isStartish(topLevelType) || isMoveish(topLevelType));
389
+ function canTriggerTransfer(topLevelType, topLevelTargetID, nativeEvent) {
390
+ return topLevelTargetID && (
391
+ // responderIgnoreScroll: We are trying to migrate away from specifically tracking native scroll
392
+ // events here and responderIgnoreScroll indicates we will send topTouchCancel to handle
393
+ // canceling touch events instead
394
+ topLevelType === EventConstants.topLevelTypes.topScroll && !nativeEvent.responderIgnoreScroll || trackedTouchCount > 0 && topLevelType === EventConstants.topLevelTypes.topSelectionChange || isStartish(topLevelType) || isMoveish(topLevelType));
390
395
  }
391
396
 
392
397
  /**
@@ -445,7 +450,7 @@ var ResponderEventPlugin = {
445
450
 
446
451
  ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent, nativeEventTarget);
447
452
 
448
- var extracted = canTriggerTransfer(topLevelType, topLevelTargetID) ? setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEvent, nativeEventTarget) : null;
453
+ var extracted = canTriggerTransfer(topLevelType, topLevelTargetID, nativeEvent) ? setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEvent, nativeEventTarget) : null;
449
454
  // Responder may or may not have transfered on a new touch start/move.
450
455
  // Regardless, whoever is the responder after any potential transfer, we
451
456
  // direct all touch start/move/ends to them in the form of
@@ -24,6 +24,7 @@ var warning = require('fbjs/lib/warning');
24
24
  */
25
25
  var EventInterface = {
26
26
  type: null,
27
+ target: null,
27
28
  // currentTarget is set when dispatching; no use in copying it here
28
29
  currentTarget: emptyFunction.thatReturnsNull,
29
30
  eventPhase: null,
@@ -57,8 +58,6 @@ function SyntheticEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEvent
57
58
  this.dispatchConfig = dispatchConfig;
58
59
  this.dispatchMarker = dispatchMarker;
59
60
  this.nativeEvent = nativeEvent;
60
- this.target = nativeEventTarget;
61
- this.currentTarget = nativeEventTarget;
62
61
 
63
62
  var Interface = this.constructor.Interface;
64
63
  for (var propName in Interface) {
@@ -69,7 +68,11 @@ function SyntheticEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEvent
69
68
  if (normalize) {
70
69
  this[propName] = normalize(nativeEvent);
71
70
  } else {
72
- this[propName] = nativeEvent[propName];
71
+ if (propName === 'target') {
72
+ this.target = nativeEventTarget;
73
+ } else {
74
+ this[propName] = nativeEvent[propName];
75
+ }
73
76
  }
74
77
  }
75
78
 
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "react",
3
3
  "description": "React is a JavaScript library for building user interfaces.",
4
- "version": "0.14.3",
4
+ "version": "0.14.7",
5
5
  "keywords": [
6
6
  "react"
7
7
  ],
8
- "homepage": "https://github.com/facebook/react/tree/master/npm-react",
8
+ "homepage": "https://facebook.github.io/react/",
9
9
  "bugs": "https://github.com/facebook/react/issues",
10
10
  "license": "BSD-3-Clause",
11
11
  "files": [
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "envify": "^3.0.0",
27
- "fbjs": "^0.3.1"
27
+ "fbjs": "^0.6.1"
28
28
  },
29
29
  "browserify": {
30
30
  "transform": [