react 15.0.3-alpha.2 → 15.1.0-alpha.1
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.
- package/dist/react-with-addons.js +1494 -928
- package/dist/react-with-addons.min.js +6 -6
- package/dist/react.js +1463 -1344
- package/dist/react.min.js +6 -6
- package/lib/CSSPropertyOperations.js +5 -5
- package/lib/DOMChildrenOperations.js +34 -6
- package/lib/DOMLazyTree.js +6 -1
- package/lib/DOMPropertyOperations.js +22 -13
- package/lib/LinkedStateMixin.js +1 -0
- package/lib/ReactCSSTransitionGroup.js +5 -0
- package/lib/ReactChildren.js +9 -1
- package/lib/ReactClass.js +1 -0
- package/lib/ReactComponentBrowserEnvironment.js +0 -5
- package/lib/ReactComponentTreeDevtool.js +140 -0
- package/lib/ReactComponentWithPureRenderMixin.js +2 -0
- package/lib/ReactCompositeComponent.js +147 -18
- package/lib/ReactDOM.js +1 -4
- package/lib/ReactDOMComponent.js +46 -6
- package/lib/ReactDOMIDOperations.js +0 -5
- package/lib/ReactDOMInput.js +4 -2
- package/lib/ReactDOMTextComponent.js +7 -6
- package/lib/ReactDebugTool.js +162 -10
- package/lib/ReactDefaultInjection.js +0 -9
- package/lib/ReactElement.js +26 -0
- package/lib/ReactErrorUtils.js +65 -15
- package/lib/ReactFragment.js +5 -2
- package/lib/ReactInjection.js +0 -2
- package/lib/ReactLink.js +3 -0
- package/lib/ReactMount.js +19 -7
- package/lib/ReactMultiChild.js +21 -0
- package/lib/ReactNativeDOMIDOperations.js +3 -6
- package/lib/ReactNativeMount.js +18 -7
- package/lib/ReactNativeOperationHistoryDevtool.js +32 -0
- package/lib/ReactNativeTextComponent.js +8 -0
- package/lib/ReactPerf.js +397 -75
- package/lib/ReactReconciler.js +46 -5
- package/lib/ReactServerRendering.js +16 -1
- package/lib/ReactTestUtils.js +4 -0
- package/lib/ReactTransitionGroup.js +5 -0
- package/lib/ReactUpdates.js +21 -3
- package/lib/ReactVersion.js +1 -1
- package/lib/ReactWithAddons.js +1 -1
- package/lib/findDOMNode.js +2 -0
- package/lib/instantiateReactComponent.js +32 -1
- package/lib/onlyChild.js +7 -4
- package/lib/shallowCompare.js +1 -0
- package/lib/update.js +4 -0
- package/package.json +1 -1
- package/lib/ReactDebugInstanceMap.js +0 -102
- package/lib/ReactDefaultPerf.js +0 -316
- package/lib/ReactDefaultPerfAnalysis.js +0 -210
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* React (with addons) v15.0
|
|
2
|
+
* React (with addons) v15.1.0-alpha.1
|
|
3
3
|
*/
|
|
4
4
|
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.React = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
|
5
5
|
/**
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
'use strict';
|
|
17
17
|
|
|
18
|
-
var ReactDOMComponentTree = _dereq_(
|
|
18
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
19
19
|
|
|
20
20
|
var focusNode = _dereq_(167);
|
|
21
21
|
|
|
@@ -26,7 +26,7 @@ var AutoFocusUtils = {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
module.exports = AutoFocusUtils;
|
|
29
|
-
},{"167":167,"
|
|
29
|
+
},{"167":167,"45":45}],2:[function(_dereq_,module,exports){
|
|
30
30
|
/**
|
|
31
31
|
* Copyright 2013-present Facebook, Inc.
|
|
32
32
|
* All rights reserved.
|
|
@@ -580,7 +580,7 @@ module.exports = CSSProperty;
|
|
|
580
580
|
|
|
581
581
|
var CSSProperty = _dereq_(3);
|
|
582
582
|
var ExecutionEnvironment = _dereq_(159);
|
|
583
|
-
var
|
|
583
|
+
var ReactInstrumentation = _dereq_(76);
|
|
584
584
|
|
|
585
585
|
var camelizeStyleName = _dereq_(161);
|
|
586
586
|
var dangerousStyleValue = _dereq_(130);
|
|
@@ -734,6 +734,10 @@ var CSSPropertyOperations = {
|
|
|
734
734
|
* @param {ReactDOMComponent} component
|
|
735
735
|
*/
|
|
736
736
|
setValueForStyles: function (node, styles, component) {
|
|
737
|
+
if ("development" !== 'production') {
|
|
738
|
+
ReactInstrumentation.debugTool.onNativeOperation(component._debugID, 'update styles', styles);
|
|
739
|
+
}
|
|
740
|
+
|
|
737
741
|
var style = node.style;
|
|
738
742
|
for (var styleName in styles) {
|
|
739
743
|
if (!styles.hasOwnProperty(styleName)) {
|
|
@@ -765,12 +769,8 @@ var CSSPropertyOperations = {
|
|
|
765
769
|
|
|
766
770
|
};
|
|
767
771
|
|
|
768
|
-
ReactPerf.measureMethods(CSSPropertyOperations, 'CSSPropertyOperations', {
|
|
769
|
-
setValueForStyles: 'setValueForStyles'
|
|
770
|
-
});
|
|
771
|
-
|
|
772
772
|
module.exports = CSSPropertyOperations;
|
|
773
|
-
},{"130":130,"159":159,"161":161,"172":172,"179":179,"183":183,"3":3,"
|
|
773
|
+
},{"130":130,"159":159,"161":161,"172":172,"179":179,"183":183,"3":3,"76":76}],5:[function(_dereq_,module,exports){
|
|
774
774
|
/**
|
|
775
775
|
* Copyright 2013-present, Facebook, Inc.
|
|
776
776
|
* All rights reserved.
|
|
@@ -894,7 +894,7 @@ var EventConstants = _dereq_(16);
|
|
|
894
894
|
var EventPluginHub = _dereq_(17);
|
|
895
895
|
var EventPropagators = _dereq_(20);
|
|
896
896
|
var ExecutionEnvironment = _dereq_(159);
|
|
897
|
-
var ReactDOMComponentTree = _dereq_(
|
|
897
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
898
898
|
var ReactUpdates = _dereq_(104);
|
|
899
899
|
var SyntheticEvent = _dereq_(115);
|
|
900
900
|
|
|
@@ -1202,7 +1202,7 @@ var ChangeEventPlugin = {
|
|
|
1202
1202
|
};
|
|
1203
1203
|
|
|
1204
1204
|
module.exports = ChangeEventPlugin;
|
|
1205
|
-
},{"104":104,"115":115,"138":138,"145":145,"146":146,"159":159,"16":16,"17":17,"177":177,"20":20,"
|
|
1205
|
+
},{"104":104,"115":115,"138":138,"145":145,"146":146,"159":159,"16":16,"17":17,"177":177,"20":20,"45":45}],7:[function(_dereq_,module,exports){
|
|
1206
1206
|
/**
|
|
1207
1207
|
* Copyright 2013-present, Facebook, Inc.
|
|
1208
1208
|
* All rights reserved.
|
|
@@ -1218,8 +1218,9 @@ module.exports = ChangeEventPlugin;
|
|
|
1218
1218
|
|
|
1219
1219
|
var DOMLazyTree = _dereq_(8);
|
|
1220
1220
|
var Danger = _dereq_(12);
|
|
1221
|
-
var ReactMultiChildUpdateTypes = _dereq_(
|
|
1222
|
-
var
|
|
1221
|
+
var ReactMultiChildUpdateTypes = _dereq_(82);
|
|
1222
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
1223
|
+
var ReactInstrumentation = _dereq_(76);
|
|
1223
1224
|
|
|
1224
1225
|
var createMicrosoftUnsafeLocalFunction = _dereq_(129);
|
|
1225
1226
|
var setInnerHTML = _dereq_(150);
|
|
@@ -1314,6 +1315,18 @@ function replaceDelimitedText(openingComment, closingComment, stringText) {
|
|
|
1314
1315
|
removeDelimitedText(parentNode, openingComment, closingComment);
|
|
1315
1316
|
}
|
|
1316
1317
|
}
|
|
1318
|
+
|
|
1319
|
+
if ("development" !== 'production') {
|
|
1320
|
+
ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID, 'replace text', stringText);
|
|
1321
|
+
}
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
var dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup;
|
|
1325
|
+
if ("development" !== 'production') {
|
|
1326
|
+
dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) {
|
|
1327
|
+
Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup);
|
|
1328
|
+
ReactInstrumentation.debugTool.onNativeOperation(prevInstance._debugID, 'replace with', markup.toString());
|
|
1329
|
+
};
|
|
1317
1330
|
}
|
|
1318
1331
|
|
|
1319
1332
|
/**
|
|
@@ -1321,7 +1334,7 @@ function replaceDelimitedText(openingComment, closingComment, stringText) {
|
|
|
1321
1334
|
*/
|
|
1322
1335
|
var DOMChildrenOperations = {
|
|
1323
1336
|
|
|
1324
|
-
dangerouslyReplaceNodeWithMarkup:
|
|
1337
|
+
dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,
|
|
1325
1338
|
|
|
1326
1339
|
replaceDelimitedText: replaceDelimitedText,
|
|
1327
1340
|
|
|
@@ -1333,23 +1346,42 @@ var DOMChildrenOperations = {
|
|
|
1333
1346
|
* @internal
|
|
1334
1347
|
*/
|
|
1335
1348
|
processUpdates: function (parentNode, updates) {
|
|
1349
|
+
if ("development" !== 'production') {
|
|
1350
|
+
var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID;
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1336
1353
|
for (var k = 0; k < updates.length; k++) {
|
|
1337
1354
|
var update = updates[k];
|
|
1338
1355
|
switch (update.type) {
|
|
1339
1356
|
case ReactMultiChildUpdateTypes.INSERT_MARKUP:
|
|
1340
1357
|
insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode));
|
|
1358
|
+
if ("development" !== 'production') {
|
|
1359
|
+
ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'insert child', { toIndex: update.toIndex, content: update.content.toString() });
|
|
1360
|
+
}
|
|
1341
1361
|
break;
|
|
1342
1362
|
case ReactMultiChildUpdateTypes.MOVE_EXISTING:
|
|
1343
1363
|
moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode));
|
|
1364
|
+
if ("development" !== 'production') {
|
|
1365
|
+
ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'move child', { fromIndex: update.fromIndex, toIndex: update.toIndex });
|
|
1366
|
+
}
|
|
1344
1367
|
break;
|
|
1345
1368
|
case ReactMultiChildUpdateTypes.SET_MARKUP:
|
|
1346
1369
|
setInnerHTML(parentNode, update.content);
|
|
1370
|
+
if ("development" !== 'production') {
|
|
1371
|
+
ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'replace children', update.content.toString());
|
|
1372
|
+
}
|
|
1347
1373
|
break;
|
|
1348
1374
|
case ReactMultiChildUpdateTypes.TEXT_CONTENT:
|
|
1349
1375
|
setTextContent(parentNode, update.content);
|
|
1376
|
+
if ("development" !== 'production') {
|
|
1377
|
+
ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'replace text', update.content.toString());
|
|
1378
|
+
}
|
|
1350
1379
|
break;
|
|
1351
1380
|
case ReactMultiChildUpdateTypes.REMOVE_NODE:
|
|
1352
1381
|
removeChild(parentNode, update.fromNode);
|
|
1382
|
+
if ("development" !== 'production') {
|
|
1383
|
+
ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'remove child', { fromIndex: update.fromIndex });
|
|
1384
|
+
}
|
|
1353
1385
|
break;
|
|
1354
1386
|
}
|
|
1355
1387
|
}
|
|
@@ -1357,12 +1389,8 @@ var DOMChildrenOperations = {
|
|
|
1357
1389
|
|
|
1358
1390
|
};
|
|
1359
1391
|
|
|
1360
|
-
ReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', {
|
|
1361
|
-
replaceDelimitedText: 'replaceDelimitedText'
|
|
1362
|
-
});
|
|
1363
|
-
|
|
1364
1392
|
module.exports = DOMChildrenOperations;
|
|
1365
|
-
},{"12":12,"129":129,"150":150,"151":151,"
|
|
1393
|
+
},{"12":12,"129":129,"150":150,"151":151,"45":45,"76":76,"8":8,"82":82}],8:[function(_dereq_,module,exports){
|
|
1366
1394
|
/**
|
|
1367
1395
|
* Copyright 2015-present, Facebook, Inc.
|
|
1368
1396
|
* All rights reserved.
|
|
@@ -1459,12 +1487,17 @@ function queueText(tree, text) {
|
|
|
1459
1487
|
}
|
|
1460
1488
|
}
|
|
1461
1489
|
|
|
1490
|
+
function toString() {
|
|
1491
|
+
return this.node.nodeName;
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1462
1494
|
function DOMLazyTree(node) {
|
|
1463
1495
|
return {
|
|
1464
1496
|
node: node,
|
|
1465
1497
|
children: [],
|
|
1466
1498
|
html: null,
|
|
1467
|
-
text: null
|
|
1499
|
+
text: null,
|
|
1500
|
+
toString: toString
|
|
1468
1501
|
};
|
|
1469
1502
|
}
|
|
1470
1503
|
|
|
@@ -1725,8 +1758,9 @@ module.exports = DOMProperty;
|
|
|
1725
1758
|
'use strict';
|
|
1726
1759
|
|
|
1727
1760
|
var DOMProperty = _dereq_(10);
|
|
1728
|
-
var
|
|
1729
|
-
var
|
|
1761
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
1762
|
+
var ReactDOMInstrumentation = _dereq_(53);
|
|
1763
|
+
var ReactInstrumentation = _dereq_(76);
|
|
1730
1764
|
|
|
1731
1765
|
var quoteAttributeValueForBrowser = _dereq_(148);
|
|
1732
1766
|
var warning = _dereq_(183);
|
|
@@ -1834,9 +1868,6 @@ var DOMPropertyOperations = {
|
|
|
1834
1868
|
* @param {*} value
|
|
1835
1869
|
*/
|
|
1836
1870
|
setValueForProperty: function (node, name, value) {
|
|
1837
|
-
if ("development" !== 'production') {
|
|
1838
|
-
ReactDOMInstrumentation.debugTool.onSetValueForProperty(node, name, value);
|
|
1839
|
-
}
|
|
1840
1871
|
var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;
|
|
1841
1872
|
if (propertyInfo) {
|
|
1842
1873
|
var mutationMethod = propertyInfo.mutationMethod;
|
|
@@ -1844,6 +1875,7 @@ var DOMPropertyOperations = {
|
|
|
1844
1875
|
mutationMethod(node, value);
|
|
1845
1876
|
} else if (shouldIgnoreValue(propertyInfo, value)) {
|
|
1846
1877
|
this.deleteValueForProperty(node, name);
|
|
1878
|
+
return;
|
|
1847
1879
|
} else if (propertyInfo.mustUseProperty) {
|
|
1848
1880
|
var propName = propertyInfo.propertyName;
|
|
1849
1881
|
// Must explicitly cast values for HAS_SIDE_EFFECTS-properties to the
|
|
@@ -1868,6 +1900,14 @@ var DOMPropertyOperations = {
|
|
|
1868
1900
|
}
|
|
1869
1901
|
} else if (DOMProperty.isCustomAttribute(name)) {
|
|
1870
1902
|
DOMPropertyOperations.setValueForAttribute(node, name, value);
|
|
1903
|
+
return;
|
|
1904
|
+
}
|
|
1905
|
+
|
|
1906
|
+
if ("development" !== 'production') {
|
|
1907
|
+
ReactDOMInstrumentation.debugTool.onSetValueForProperty(node, name, value);
|
|
1908
|
+
var payload = {};
|
|
1909
|
+
payload[name] = value;
|
|
1910
|
+
ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);
|
|
1871
1911
|
}
|
|
1872
1912
|
},
|
|
1873
1913
|
|
|
@@ -1880,6 +1920,12 @@ var DOMPropertyOperations = {
|
|
|
1880
1920
|
} else {
|
|
1881
1921
|
node.setAttribute(name, '' + value);
|
|
1882
1922
|
}
|
|
1923
|
+
|
|
1924
|
+
if ("development" !== 'production') {
|
|
1925
|
+
var payload = {};
|
|
1926
|
+
payload[name] = value;
|
|
1927
|
+
ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);
|
|
1928
|
+
}
|
|
1883
1929
|
},
|
|
1884
1930
|
|
|
1885
1931
|
/**
|
|
@@ -1889,9 +1935,6 @@ var DOMPropertyOperations = {
|
|
|
1889
1935
|
* @param {string} name
|
|
1890
1936
|
*/
|
|
1891
1937
|
deleteValueForProperty: function (node, name) {
|
|
1892
|
-
if ("development" !== 'production') {
|
|
1893
|
-
ReactDOMInstrumentation.debugTool.onDeleteValueForProperty(node, name);
|
|
1894
|
-
}
|
|
1895
1938
|
var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;
|
|
1896
1939
|
if (propertyInfo) {
|
|
1897
1940
|
var mutationMethod = propertyInfo.mutationMethod;
|
|
@@ -1913,18 +1956,17 @@ var DOMPropertyOperations = {
|
|
|
1913
1956
|
} else if (DOMProperty.isCustomAttribute(name)) {
|
|
1914
1957
|
node.removeAttribute(name);
|
|
1915
1958
|
}
|
|
1959
|
+
|
|
1960
|
+
if ("development" !== 'production') {
|
|
1961
|
+
ReactDOMInstrumentation.debugTool.onDeleteValueForProperty(node, name);
|
|
1962
|
+
ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'remove attribute', name);
|
|
1963
|
+
}
|
|
1916
1964
|
}
|
|
1917
1965
|
|
|
1918
1966
|
};
|
|
1919
1967
|
|
|
1920
|
-
ReactPerf.measureMethods(DOMPropertyOperations, 'DOMPropertyOperations', {
|
|
1921
|
-
setValueForProperty: 'setValueForProperty',
|
|
1922
|
-
setValueForAttribute: 'setValueForAttribute',
|
|
1923
|
-
deleteValueForProperty: 'deleteValueForProperty'
|
|
1924
|
-
});
|
|
1925
|
-
|
|
1926
1968
|
module.exports = DOMPropertyOperations;
|
|
1927
|
-
},{"10":10,"148":148,"183":183,"
|
|
1969
|
+
},{"10":10,"148":148,"183":183,"45":45,"53":53,"76":76}],12:[function(_dereq_,module,exports){
|
|
1928
1970
|
/**
|
|
1929
1971
|
* Copyright 2013-present, Facebook, Inc.
|
|
1930
1972
|
* All rights reserved.
|
|
@@ -2164,7 +2206,7 @@ module.exports = DisabledInputUtils;
|
|
|
2164
2206
|
|
|
2165
2207
|
var EventConstants = _dereq_(16);
|
|
2166
2208
|
var EventPropagators = _dereq_(20);
|
|
2167
|
-
var ReactDOMComponentTree = _dereq_(
|
|
2209
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
2168
2210
|
var SyntheticMouseEvent = _dereq_(119);
|
|
2169
2211
|
|
|
2170
2212
|
var keyOf = _dereq_(177);
|
|
@@ -2254,7 +2296,7 @@ var EnterLeaveEventPlugin = {
|
|
|
2254
2296
|
};
|
|
2255
2297
|
|
|
2256
2298
|
module.exports = EnterLeaveEventPlugin;
|
|
2257
|
-
},{"119":119,"16":16,"177":177,"20":20,"
|
|
2299
|
+
},{"119":119,"16":16,"177":177,"20":20,"45":45}],16:[function(_dereq_,module,exports){
|
|
2258
2300
|
/**
|
|
2259
2301
|
* Copyright 2013-present, Facebook, Inc.
|
|
2260
2302
|
* All rights reserved.
|
|
@@ -2368,7 +2410,7 @@ module.exports = EventConstants;
|
|
|
2368
2410
|
|
|
2369
2411
|
var EventPluginRegistry = _dereq_(18);
|
|
2370
2412
|
var EventPluginUtils = _dereq_(19);
|
|
2371
|
-
var ReactErrorUtils = _dereq_(
|
|
2413
|
+
var ReactErrorUtils = _dereq_(68);
|
|
2372
2414
|
|
|
2373
2415
|
var accumulateInto = _dereq_(126);
|
|
2374
2416
|
var forEachAccumulated = _dereq_(134);
|
|
@@ -2588,7 +2630,7 @@ var EventPluginHub = {
|
|
|
2588
2630
|
};
|
|
2589
2631
|
|
|
2590
2632
|
module.exports = EventPluginHub;
|
|
2591
|
-
},{"126":126,"134":134,"173":173,"18":18,"19":19,"
|
|
2633
|
+
},{"126":126,"134":134,"173":173,"18":18,"19":19,"68":68}],18:[function(_dereq_,module,exports){
|
|
2592
2634
|
/**
|
|
2593
2635
|
* Copyright 2013-present, Facebook, Inc.
|
|
2594
2636
|
* All rights reserved.
|
|
@@ -2845,7 +2887,7 @@ module.exports = EventPluginRegistry;
|
|
|
2845
2887
|
'use strict';
|
|
2846
2888
|
|
|
2847
2889
|
var EventConstants = _dereq_(16);
|
|
2848
|
-
var ReactErrorUtils = _dereq_(
|
|
2890
|
+
var ReactErrorUtils = _dereq_(68);
|
|
2849
2891
|
|
|
2850
2892
|
var invariant = _dereq_(173);
|
|
2851
2893
|
var warning = _dereq_(183);
|
|
@@ -3058,7 +3100,7 @@ var EventPluginUtils = {
|
|
|
3058
3100
|
};
|
|
3059
3101
|
|
|
3060
3102
|
module.exports = EventPluginUtils;
|
|
3061
|
-
},{"16":16,"173":173,"183":183,"
|
|
3103
|
+
},{"16":16,"173":173,"183":183,"68":68}],20:[function(_dereq_,module,exports){
|
|
3062
3104
|
/**
|
|
3063
3105
|
* Copyright 2013-present, Facebook, Inc.
|
|
3064
3106
|
* All rights reserved.
|
|
@@ -3575,11 +3617,12 @@ module.exports = KeyEscapeUtils;
|
|
|
3575
3617
|
|
|
3576
3618
|
'use strict';
|
|
3577
3619
|
|
|
3578
|
-
var ReactLink = _dereq_(
|
|
3620
|
+
var ReactLink = _dereq_(78);
|
|
3579
3621
|
var ReactStateSetters = _dereq_(98);
|
|
3580
3622
|
|
|
3581
3623
|
/**
|
|
3582
3624
|
* A simple mixin around ReactLink.forState().
|
|
3625
|
+
* See https://facebook.github.io/react/docs/two-way-binding-helpers.html
|
|
3583
3626
|
*/
|
|
3584
3627
|
var LinkedStateMixin = {
|
|
3585
3628
|
/**
|
|
@@ -3597,7 +3640,7 @@ var LinkedStateMixin = {
|
|
|
3597
3640
|
};
|
|
3598
3641
|
|
|
3599
3642
|
module.exports = LinkedStateMixin;
|
|
3600
|
-
},{"
|
|
3643
|
+
},{"78":78,"98":98}],25:[function(_dereq_,module,exports){
|
|
3601
3644
|
/**
|
|
3602
3645
|
* Copyright 2013-present, Facebook, Inc.
|
|
3603
3646
|
* All rights reserved.
|
|
@@ -3870,9 +3913,9 @@ var _assign = _dereq_(184);
|
|
|
3870
3913
|
var ReactChildren = _dereq_(32);
|
|
3871
3914
|
var ReactComponent = _dereq_(34);
|
|
3872
3915
|
var ReactClass = _dereq_(33);
|
|
3873
|
-
var ReactDOMFactories = _dereq_(
|
|
3874
|
-
var ReactElement = _dereq_(
|
|
3875
|
-
var ReactElementValidator = _dereq_(
|
|
3916
|
+
var ReactDOMFactories = _dereq_(49);
|
|
3917
|
+
var ReactElement = _dereq_(65);
|
|
3918
|
+
var ReactElementValidator = _dereq_(66);
|
|
3876
3919
|
var ReactPropTypes = _dereq_(91);
|
|
3877
3920
|
var ReactVersion = _dereq_(105);
|
|
3878
3921
|
|
|
@@ -3939,7 +3982,7 @@ var React = {
|
|
|
3939
3982
|
};
|
|
3940
3983
|
|
|
3941
3984
|
module.exports = React;
|
|
3942
|
-
},{"105":105,"147":147,"183":183,"184":184,"32":32,"33":33,"34":34,"
|
|
3985
|
+
},{"105":105,"147":147,"183":183,"184":184,"32":32,"33":33,"34":34,"49":49,"65":65,"66":66,"91":91}],28:[function(_dereq_,module,exports){
|
|
3943
3986
|
/**
|
|
3944
3987
|
* Copyright 2013-present, Facebook, Inc.
|
|
3945
3988
|
* All rights reserved.
|
|
@@ -3957,7 +4000,7 @@ var _assign = _dereq_(184);
|
|
|
3957
4000
|
|
|
3958
4001
|
var EventConstants = _dereq_(16);
|
|
3959
4002
|
var EventPluginRegistry = _dereq_(18);
|
|
3960
|
-
var ReactEventEmitterMixin = _dereq_(
|
|
4003
|
+
var ReactEventEmitterMixin = _dereq_(69);
|
|
3961
4004
|
var ViewportMetrics = _dereq_(125);
|
|
3962
4005
|
|
|
3963
4006
|
var getVendorPrefixedEventName = _dereq_(143);
|
|
@@ -4257,7 +4300,7 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
|
|
|
4257
4300
|
});
|
|
4258
4301
|
|
|
4259
4302
|
module.exports = ReactBrowserEventEmitter;
|
|
4260
|
-
},{"125":125,"143":143,"145":145,"16":16,"18":18,"184":184,"
|
|
4303
|
+
},{"125":125,"143":143,"145":145,"16":16,"18":18,"184":184,"69":69}],29:[function(_dereq_,module,exports){
|
|
4261
4304
|
/**
|
|
4262
4305
|
* Copyright 2013-present, Facebook, Inc.
|
|
4263
4306
|
* All rights reserved.
|
|
@@ -4297,6 +4340,11 @@ function createTransitionTimeoutPropValidator(transitionType) {
|
|
|
4297
4340
|
};
|
|
4298
4341
|
}
|
|
4299
4342
|
|
|
4343
|
+
/**
|
|
4344
|
+
* An easy way to perform CSS transitions and animations when a React component
|
|
4345
|
+
* enters or leaves the DOM.
|
|
4346
|
+
* See https://facebook.github.io/react/docs/animation.html#high-level-api-reactcsstransitiongroup
|
|
4347
|
+
*/
|
|
4300
4348
|
var ReactCSSTransitionGroup = React.createClass({
|
|
4301
4349
|
displayName: 'ReactCSSTransitionGroup',
|
|
4302
4350
|
|
|
@@ -4355,7 +4403,7 @@ module.exports = ReactCSSTransitionGroup;
|
|
|
4355
4403
|
'use strict';
|
|
4356
4404
|
|
|
4357
4405
|
var React = _dereq_(27);
|
|
4358
|
-
var ReactDOM = _dereq_(
|
|
4406
|
+
var ReactDOM = _dereq_(41);
|
|
4359
4407
|
|
|
4360
4408
|
var CSSCore = _dereq_(157);
|
|
4361
4409
|
var ReactTransitionEvents = _dereq_(101);
|
|
@@ -4501,7 +4549,7 @@ var ReactCSSTransitionGroupChild = React.createClass({
|
|
|
4501
4549
|
});
|
|
4502
4550
|
|
|
4503
4551
|
module.exports = ReactCSSTransitionGroupChild;
|
|
4504
|
-
},{"101":101,"147":147,"157":157,"27":27,"
|
|
4552
|
+
},{"101":101,"147":147,"157":157,"27":27,"41":41}],31:[function(_dereq_,module,exports){
|
|
4505
4553
|
/**
|
|
4506
4554
|
* Copyright 2014-present, Facebook, Inc.
|
|
4507
4555
|
* All rights reserved.
|
|
@@ -4642,7 +4690,7 @@ module.exports = ReactChildReconciler;
|
|
|
4642
4690
|
'use strict';
|
|
4643
4691
|
|
|
4644
4692
|
var PooledClass = _dereq_(26);
|
|
4645
|
-
var ReactElement = _dereq_(
|
|
4693
|
+
var ReactElement = _dereq_(65);
|
|
4646
4694
|
|
|
4647
4695
|
var emptyFunction = _dereq_(165);
|
|
4648
4696
|
var traverseAllChildren = _dereq_(154);
|
|
@@ -4685,6 +4733,8 @@ function forEachSingleChild(bookKeeping, child, name) {
|
|
|
4685
4733
|
/**
|
|
4686
4734
|
* Iterates through children that are typically specified as `props.children`.
|
|
4687
4735
|
*
|
|
4736
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.foreach
|
|
4737
|
+
*
|
|
4688
4738
|
* The provided forEachFunc(child, index) will be called for each
|
|
4689
4739
|
* leaf child.
|
|
4690
4740
|
*
|
|
@@ -4760,7 +4810,9 @@ function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {
|
|
|
4760
4810
|
/**
|
|
4761
4811
|
* Maps children that are typically specified as `props.children`.
|
|
4762
4812
|
*
|
|
4763
|
-
*
|
|
4813
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.map
|
|
4814
|
+
*
|
|
4815
|
+
* The provided mapFunction(child, key, index) will be called for each
|
|
4764
4816
|
* leaf child.
|
|
4765
4817
|
*
|
|
4766
4818
|
* @param {?*} children Children tree container.
|
|
@@ -4785,6 +4837,8 @@ function forEachSingleChildDummy(traverseContext, child, name) {
|
|
|
4785
4837
|
* Count the number of children that are typically specified as
|
|
4786
4838
|
* `props.children`.
|
|
4787
4839
|
*
|
|
4840
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.count
|
|
4841
|
+
*
|
|
4788
4842
|
* @param {?*} children Children tree container.
|
|
4789
4843
|
* @return {number} The number of children.
|
|
4790
4844
|
*/
|
|
@@ -4795,6 +4849,8 @@ function countChildren(children, context) {
|
|
|
4795
4849
|
/**
|
|
4796
4850
|
* Flatten a children object (typically specified as `props.children`) and
|
|
4797
4851
|
* return an array with appropriately re-keyed children.
|
|
4852
|
+
*
|
|
4853
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.toarray
|
|
4798
4854
|
*/
|
|
4799
4855
|
function toArray(children) {
|
|
4800
4856
|
var result = [];
|
|
@@ -4811,7 +4867,7 @@ var ReactChildren = {
|
|
|
4811
4867
|
};
|
|
4812
4868
|
|
|
4813
4869
|
module.exports = ReactChildren;
|
|
4814
|
-
},{"154":154,"165":165,"26":26,"
|
|
4870
|
+
},{"154":154,"165":165,"26":26,"65":65}],33:[function(_dereq_,module,exports){
|
|
4815
4871
|
/**
|
|
4816
4872
|
* Copyright 2013-present, Facebook, Inc.
|
|
4817
4873
|
* All rights reserved.
|
|
@@ -4828,7 +4884,7 @@ module.exports = ReactChildren;
|
|
|
4828
4884
|
var _assign = _dereq_(184);
|
|
4829
4885
|
|
|
4830
4886
|
var ReactComponent = _dereq_(34);
|
|
4831
|
-
var ReactElement = _dereq_(
|
|
4887
|
+
var ReactElement = _dereq_(65);
|
|
4832
4888
|
var ReactPropTypeLocations = _dereq_(90);
|
|
4833
4889
|
var ReactPropTypeLocationNames = _dereq_(89);
|
|
4834
4890
|
var ReactNoopUpdateQueue = _dereq_(86);
|
|
@@ -5441,6 +5497,7 @@ var ReactClass = {
|
|
|
5441
5497
|
|
|
5442
5498
|
/**
|
|
5443
5499
|
* Creates a composite component class given a class specification.
|
|
5500
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.createclass
|
|
5444
5501
|
*
|
|
5445
5502
|
* @param {object} spec Class specification (which must define `render`).
|
|
5446
5503
|
* @return {function} Component constructor function.
|
|
@@ -5535,7 +5592,7 @@ var ReactClass = {
|
|
|
5535
5592
|
};
|
|
5536
5593
|
|
|
5537
5594
|
module.exports = ReactClass;
|
|
5538
|
-
},{"166":166,"173":173,"176":176,"177":177,"183":183,"184":184,"34":34,"
|
|
5595
|
+
},{"166":166,"173":173,"176":176,"177":177,"183":183,"184":184,"34":34,"65":65,"86":86,"89":89,"90":90}],34:[function(_dereq_,module,exports){
|
|
5539
5596
|
/**
|
|
5540
5597
|
* Copyright 2013-present, Facebook, Inc.
|
|
5541
5598
|
* All rights reserved.
|
|
@@ -5550,7 +5607,7 @@ module.exports = ReactClass;
|
|
|
5550
5607
|
'use strict';
|
|
5551
5608
|
|
|
5552
5609
|
var ReactNoopUpdateQueue = _dereq_(86);
|
|
5553
|
-
var ReactInstrumentation = _dereq_(
|
|
5610
|
+
var ReactInstrumentation = _dereq_(76);
|
|
5554
5611
|
|
|
5555
5612
|
var canDefineProperty = _dereq_(128);
|
|
5556
5613
|
var emptyObject = _dereq_(166);
|
|
@@ -5657,7 +5714,7 @@ if ("development" !== 'production') {
|
|
|
5657
5714
|
}
|
|
5658
5715
|
|
|
5659
5716
|
module.exports = ReactComponent;
|
|
5660
|
-
},{"128":128,"166":166,"173":173,"183":183,"
|
|
5717
|
+
},{"128":128,"166":166,"173":173,"183":183,"76":76,"86":86}],35:[function(_dereq_,module,exports){
|
|
5661
5718
|
/**
|
|
5662
5719
|
* Copyright 2013-present, Facebook, Inc.
|
|
5663
5720
|
* All rights reserved.
|
|
@@ -5672,8 +5729,7 @@ module.exports = ReactComponent;
|
|
|
5672
5729
|
'use strict';
|
|
5673
5730
|
|
|
5674
5731
|
var DOMChildrenOperations = _dereq_(7);
|
|
5675
|
-
var ReactDOMIDOperations = _dereq_(
|
|
5676
|
-
var ReactPerf = _dereq_(88);
|
|
5732
|
+
var ReactDOMIDOperations = _dereq_(51);
|
|
5677
5733
|
|
|
5678
5734
|
/**
|
|
5679
5735
|
* Abstracts away all functionality of the reconciler that requires knowledge of
|
|
@@ -5697,12 +5753,8 @@ var ReactComponentBrowserEnvironment = {
|
|
|
5697
5753
|
|
|
5698
5754
|
};
|
|
5699
5755
|
|
|
5700
|
-
ReactPerf.measureMethods(ReactComponentBrowserEnvironment, 'ReactComponentBrowserEnvironment', {
|
|
5701
|
-
replaceNodeWithMarkup: 'replaceNodeWithMarkup'
|
|
5702
|
-
});
|
|
5703
|
-
|
|
5704
5756
|
module.exports = ReactComponentBrowserEnvironment;
|
|
5705
|
-
},{"
|
|
5757
|
+
},{"51":51,"7":7}],36:[function(_dereq_,module,exports){
|
|
5706
5758
|
/**
|
|
5707
5759
|
* Copyright 2014-present, Facebook, Inc.
|
|
5708
5760
|
* All rights reserved.
|
|
@@ -5755,6 +5807,147 @@ var ReactComponentEnvironment = {
|
|
|
5755
5807
|
|
|
5756
5808
|
module.exports = ReactComponentEnvironment;
|
|
5757
5809
|
},{"173":173}],37:[function(_dereq_,module,exports){
|
|
5810
|
+
/**
|
|
5811
|
+
* Copyright 2016-present, Facebook, Inc.
|
|
5812
|
+
* All rights reserved.
|
|
5813
|
+
*
|
|
5814
|
+
* This source code is licensed under the BSD-style license found in the
|
|
5815
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
|
5816
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
|
5817
|
+
*
|
|
5818
|
+
* @providesModule ReactComponentTreeDevtool
|
|
5819
|
+
*/
|
|
5820
|
+
|
|
5821
|
+
'use strict';
|
|
5822
|
+
|
|
5823
|
+
var invariant = _dereq_(173);
|
|
5824
|
+
|
|
5825
|
+
var tree = {};
|
|
5826
|
+
var rootIDs = [];
|
|
5827
|
+
|
|
5828
|
+
function updateTree(id, update) {
|
|
5829
|
+
if (!tree[id]) {
|
|
5830
|
+
tree[id] = {
|
|
5831
|
+
parentID: null,
|
|
5832
|
+
ownerID: null,
|
|
5833
|
+
text: null,
|
|
5834
|
+
childIDs: [],
|
|
5835
|
+
displayName: 'Unknown',
|
|
5836
|
+
isMounted: false,
|
|
5837
|
+
updateCount: 0
|
|
5838
|
+
};
|
|
5839
|
+
}
|
|
5840
|
+
update(tree[id]);
|
|
5841
|
+
}
|
|
5842
|
+
|
|
5843
|
+
function purgeDeep(id) {
|
|
5844
|
+
var item = tree[id];
|
|
5845
|
+
if (item) {
|
|
5846
|
+
var childIDs = item.childIDs;
|
|
5847
|
+
|
|
5848
|
+
delete tree[id];
|
|
5849
|
+
childIDs.forEach(purgeDeep);
|
|
5850
|
+
}
|
|
5851
|
+
}
|
|
5852
|
+
|
|
5853
|
+
var ReactComponentTreeDevtool = {
|
|
5854
|
+
onSetDisplayName: function (id, displayName) {
|
|
5855
|
+
updateTree(id, function (item) {
|
|
5856
|
+
return item.displayName = displayName;
|
|
5857
|
+
});
|
|
5858
|
+
},
|
|
5859
|
+
onSetChildren: function (id, nextChildIDs) {
|
|
5860
|
+
updateTree(id, function (item) {
|
|
5861
|
+
var prevChildIDs = item.childIDs;
|
|
5862
|
+
item.childIDs = nextChildIDs;
|
|
5863
|
+
|
|
5864
|
+
nextChildIDs.forEach(function (nextChildID) {
|
|
5865
|
+
var nextChild = tree[nextChildID];
|
|
5866
|
+
!nextChild ? "development" !== 'production' ? invariant(false, 'Expected devtool events to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0;
|
|
5867
|
+
!(nextChild.displayName != null) ? "development" !== 'production' ? invariant(false, 'Expected onSetDisplayName() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0;
|
|
5868
|
+
!(nextChild.childIDs != null || nextChild.text != null) ? "development" !== 'production' ? invariant(false, 'Expected onSetChildren() or onSetText() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0;
|
|
5869
|
+
!nextChild.isMounted ? "development" !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0;
|
|
5870
|
+
|
|
5871
|
+
if (prevChildIDs.indexOf(nextChildID) === -1) {
|
|
5872
|
+
nextChild.parentID = id;
|
|
5873
|
+
}
|
|
5874
|
+
});
|
|
5875
|
+
});
|
|
5876
|
+
},
|
|
5877
|
+
onSetOwner: function (id, ownerID) {
|
|
5878
|
+
updateTree(id, function (item) {
|
|
5879
|
+
return item.ownerID = ownerID;
|
|
5880
|
+
});
|
|
5881
|
+
},
|
|
5882
|
+
onSetText: function (id, text) {
|
|
5883
|
+
updateTree(id, function (item) {
|
|
5884
|
+
return item.text = text;
|
|
5885
|
+
});
|
|
5886
|
+
},
|
|
5887
|
+
onMountComponent: function (id) {
|
|
5888
|
+
updateTree(id, function (item) {
|
|
5889
|
+
return item.isMounted = true;
|
|
5890
|
+
});
|
|
5891
|
+
},
|
|
5892
|
+
onMountRootComponent: function (id) {
|
|
5893
|
+
rootIDs.push(id);
|
|
5894
|
+
},
|
|
5895
|
+
onUpdateComponent: function (id) {
|
|
5896
|
+
updateTree(id, function (item) {
|
|
5897
|
+
return item.updateCount++;
|
|
5898
|
+
});
|
|
5899
|
+
},
|
|
5900
|
+
onUnmountComponent: function (id) {
|
|
5901
|
+
updateTree(id, function (item) {
|
|
5902
|
+
return item.isMounted = false;
|
|
5903
|
+
});
|
|
5904
|
+
rootIDs = rootIDs.filter(function (rootID) {
|
|
5905
|
+
return rootID !== id;
|
|
5906
|
+
});
|
|
5907
|
+
},
|
|
5908
|
+
purgeUnmountedComponents: function () {
|
|
5909
|
+
Object.keys(tree).filter(function (id) {
|
|
5910
|
+
return !tree[id].isMounted;
|
|
5911
|
+
}).forEach(purgeDeep);
|
|
5912
|
+
},
|
|
5913
|
+
isMounted: function (id) {
|
|
5914
|
+
var item = tree[id];
|
|
5915
|
+
return item ? item.isMounted : false;
|
|
5916
|
+
},
|
|
5917
|
+
getChildIDs: function (id) {
|
|
5918
|
+
var item = tree[id];
|
|
5919
|
+
return item ? item.childIDs : [];
|
|
5920
|
+
},
|
|
5921
|
+
getDisplayName: function (id) {
|
|
5922
|
+
var item = tree[id];
|
|
5923
|
+
return item ? item.displayName : 'Unknown';
|
|
5924
|
+
},
|
|
5925
|
+
getOwnerID: function (id) {
|
|
5926
|
+
var item = tree[id];
|
|
5927
|
+
return item ? item.ownerID : null;
|
|
5928
|
+
},
|
|
5929
|
+
getParentID: function (id) {
|
|
5930
|
+
var item = tree[id];
|
|
5931
|
+
return item ? item.parentID : null;
|
|
5932
|
+
},
|
|
5933
|
+
getText: function (id) {
|
|
5934
|
+
var item = tree[id];
|
|
5935
|
+
return item ? item.text : null;
|
|
5936
|
+
},
|
|
5937
|
+
getUpdateCount: function (id) {
|
|
5938
|
+
var item = tree[id];
|
|
5939
|
+
return item ? item.updateCount : 0;
|
|
5940
|
+
},
|
|
5941
|
+
getRootIDs: function () {
|
|
5942
|
+
return rootIDs;
|
|
5943
|
+
},
|
|
5944
|
+
getRegisteredIDs: function () {
|
|
5945
|
+
return Object.keys(tree);
|
|
5946
|
+
}
|
|
5947
|
+
};
|
|
5948
|
+
|
|
5949
|
+
module.exports = ReactComponentTreeDevtool;
|
|
5950
|
+
},{"173":173}],38:[function(_dereq_,module,exports){
|
|
5758
5951
|
/**
|
|
5759
5952
|
* Copyright 2013-present, Facebook, Inc.
|
|
5760
5953
|
* All rights reserved.
|
|
@@ -5793,6 +5986,8 @@ var shallowCompare = _dereq_(152);
|
|
|
5793
5986
|
* complex data structures this mixin may have false-negatives for deeper
|
|
5794
5987
|
* differences. Only mixin to components which have simple props and state, or
|
|
5795
5988
|
* use `forceUpdate()` when you know deep data structures have changed.
|
|
5989
|
+
*
|
|
5990
|
+
* See https://facebook.github.io/react/docs/pure-render-mixin.html
|
|
5796
5991
|
*/
|
|
5797
5992
|
var ReactComponentWithPureRenderMixin = {
|
|
5798
5993
|
shouldComponentUpdate: function (nextProps, nextState) {
|
|
@@ -5801,7 +5996,7 @@ var ReactComponentWithPureRenderMixin = {
|
|
|
5801
5996
|
};
|
|
5802
5997
|
|
|
5803
5998
|
module.exports = ReactComponentWithPureRenderMixin;
|
|
5804
|
-
},{"152":152}],
|
|
5999
|
+
},{"152":152}],39:[function(_dereq_,module,exports){
|
|
5805
6000
|
/**
|
|
5806
6001
|
* Copyright 2013-present, Facebook, Inc.
|
|
5807
6002
|
* All rights reserved.
|
|
@@ -5818,13 +6013,12 @@ module.exports = ReactComponentWithPureRenderMixin;
|
|
|
5818
6013
|
var _assign = _dereq_(184);
|
|
5819
6014
|
|
|
5820
6015
|
var ReactComponentEnvironment = _dereq_(36);
|
|
5821
|
-
var ReactCurrentOwner = _dereq_(
|
|
5822
|
-
var ReactElement = _dereq_(
|
|
5823
|
-
var ReactErrorUtils = _dereq_(
|
|
5824
|
-
var ReactInstanceMap = _dereq_(
|
|
5825
|
-
var ReactInstrumentation = _dereq_(
|
|
6016
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
6017
|
+
var ReactElement = _dereq_(65);
|
|
6018
|
+
var ReactErrorUtils = _dereq_(68);
|
|
6019
|
+
var ReactInstanceMap = _dereq_(75);
|
|
6020
|
+
var ReactInstrumentation = _dereq_(76);
|
|
5826
6021
|
var ReactNodeTypes = _dereq_(85);
|
|
5827
|
-
var ReactPerf = _dereq_(88);
|
|
5828
6022
|
var ReactPropTypeLocations = _dereq_(90);
|
|
5829
6023
|
var ReactPropTypeLocationNames = _dereq_(89);
|
|
5830
6024
|
var ReactReconciler = _dereq_(93);
|
|
@@ -5860,6 +6054,28 @@ function warnIfInvalidElement(Component, element) {
|
|
|
5860
6054
|
}
|
|
5861
6055
|
}
|
|
5862
6056
|
|
|
6057
|
+
function invokeComponentDidMountWithTimer() {
|
|
6058
|
+
var publicInstance = this._instance;
|
|
6059
|
+
if (this._debugID !== 0) {
|
|
6060
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentDidMount');
|
|
6061
|
+
}
|
|
6062
|
+
publicInstance.componentDidMount();
|
|
6063
|
+
if (this._debugID !== 0) {
|
|
6064
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentDidMount');
|
|
6065
|
+
}
|
|
6066
|
+
}
|
|
6067
|
+
|
|
6068
|
+
function invokeComponentDidUpdateWithTimer(prevProps, prevState, prevContext) {
|
|
6069
|
+
var publicInstance = this._instance;
|
|
6070
|
+
if (this._debugID !== 0) {
|
|
6071
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentDidUpdate');
|
|
6072
|
+
}
|
|
6073
|
+
publicInstance.componentDidUpdate(prevProps, prevState, prevContext);
|
|
6074
|
+
if (this._debugID !== 0) {
|
|
6075
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentDidUpdate');
|
|
6076
|
+
}
|
|
6077
|
+
}
|
|
6078
|
+
|
|
5863
6079
|
function shouldConstruct(Component) {
|
|
5864
6080
|
return Component.prototype && Component.prototype.isReactComponent;
|
|
5865
6081
|
}
|
|
@@ -5919,6 +6135,7 @@ var ReactCompositeComponentMixin = {
|
|
|
5919
6135
|
this._nativeContainerInfo = null;
|
|
5920
6136
|
|
|
5921
6137
|
// See ReactUpdateQueue
|
|
6138
|
+
this._updateBatchNumber = null;
|
|
5922
6139
|
this._pendingElement = null;
|
|
5923
6140
|
this._pendingStateQueue = null;
|
|
5924
6141
|
this._pendingReplaceState = false;
|
|
@@ -6027,7 +6244,11 @@ var ReactCompositeComponentMixin = {
|
|
|
6027
6244
|
}
|
|
6028
6245
|
|
|
6029
6246
|
if (inst.componentDidMount) {
|
|
6030
|
-
|
|
6247
|
+
if ("development" !== 'production') {
|
|
6248
|
+
transaction.getReactMountReady().enqueue(invokeComponentDidMountWithTimer, this);
|
|
6249
|
+
} else {
|
|
6250
|
+
transaction.getReactMountReady().enqueue(inst.componentDidMount, inst);
|
|
6251
|
+
}
|
|
6031
6252
|
}
|
|
6032
6253
|
|
|
6033
6254
|
return markup;
|
|
@@ -6048,11 +6269,35 @@ var ReactCompositeComponentMixin = {
|
|
|
6048
6269
|
|
|
6049
6270
|
_constructComponentWithoutOwner: function (publicProps, publicContext) {
|
|
6050
6271
|
var Component = this._currentElement.type;
|
|
6272
|
+
var instanceOrElement;
|
|
6051
6273
|
if (shouldConstruct(Component)) {
|
|
6052
|
-
|
|
6274
|
+
if ("development" !== 'production') {
|
|
6275
|
+
if (this._debugID !== 0) {
|
|
6276
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'ctor');
|
|
6277
|
+
}
|
|
6278
|
+
}
|
|
6279
|
+
instanceOrElement = new Component(publicProps, publicContext, ReactUpdateQueue);
|
|
6280
|
+
if ("development" !== 'production') {
|
|
6281
|
+
if (this._debugID !== 0) {
|
|
6282
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'ctor');
|
|
6283
|
+
}
|
|
6284
|
+
}
|
|
6053
6285
|
} else {
|
|
6054
|
-
|
|
6286
|
+
// This can still be an instance in case of factory components
|
|
6287
|
+
// but we'll count this as time spent rendering as the more common case.
|
|
6288
|
+
if ("development" !== 'production') {
|
|
6289
|
+
if (this._debugID !== 0) {
|
|
6290
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'render');
|
|
6291
|
+
}
|
|
6292
|
+
}
|
|
6293
|
+
instanceOrElement = Component(publicProps, publicContext, ReactUpdateQueue);
|
|
6294
|
+
if ("development" !== 'production') {
|
|
6295
|
+
if (this._debugID !== 0) {
|
|
6296
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'render');
|
|
6297
|
+
}
|
|
6298
|
+
}
|
|
6055
6299
|
}
|
|
6300
|
+
return instanceOrElement;
|
|
6056
6301
|
},
|
|
6057
6302
|
|
|
6058
6303
|
performInitialMountWithErrorHandling: function (renderedElement, nativeParent, nativeContainerInfo, transaction, context) {
|
|
@@ -6082,7 +6327,17 @@ var ReactCompositeComponentMixin = {
|
|
|
6082
6327
|
performInitialMount: function (renderedElement, nativeParent, nativeContainerInfo, transaction, context) {
|
|
6083
6328
|
var inst = this._instance;
|
|
6084
6329
|
if (inst.componentWillMount) {
|
|
6330
|
+
if ("development" !== 'production') {
|
|
6331
|
+
if (this._debugID !== 0) {
|
|
6332
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillMount');
|
|
6333
|
+
}
|
|
6334
|
+
}
|
|
6085
6335
|
inst.componentWillMount();
|
|
6336
|
+
if ("development" !== 'production') {
|
|
6337
|
+
if (this._debugID !== 0) {
|
|
6338
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillMount');
|
|
6339
|
+
}
|
|
6340
|
+
}
|
|
6086
6341
|
// When mounting, calls to `setState` by `componentWillMount` will set
|
|
6087
6342
|
// `this._pendingStateQueue` without triggering a re-render.
|
|
6088
6343
|
if (this._pendingStateQueue) {
|
|
@@ -6100,6 +6355,12 @@ var ReactCompositeComponentMixin = {
|
|
|
6100
6355
|
|
|
6101
6356
|
var markup = ReactReconciler.mountComponent(this._renderedComponent, transaction, nativeParent, nativeContainerInfo, this._processChildContext(context));
|
|
6102
6357
|
|
|
6358
|
+
if ("development" !== 'production') {
|
|
6359
|
+
if (this._debugID !== 0) {
|
|
6360
|
+
ReactInstrumentation.debugTool.onSetChildren(this._debugID, this._renderedComponent._debugID !== 0 ? [this._renderedComponent._debugID] : []);
|
|
6361
|
+
}
|
|
6362
|
+
}
|
|
6363
|
+
|
|
6103
6364
|
return markup;
|
|
6104
6365
|
},
|
|
6105
6366
|
|
|
@@ -6121,12 +6382,22 @@ var ReactCompositeComponentMixin = {
|
|
|
6121
6382
|
|
|
6122
6383
|
if (inst.componentWillUnmount && !inst._calledComponentWillUnmount) {
|
|
6123
6384
|
inst._calledComponentWillUnmount = true;
|
|
6385
|
+
if ("development" !== 'production') {
|
|
6386
|
+
if (this._debugID !== 0) {
|
|
6387
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillUnmount');
|
|
6388
|
+
}
|
|
6389
|
+
}
|
|
6124
6390
|
if (safely) {
|
|
6125
6391
|
var name = this.getName() + '.componentWillUnmount()';
|
|
6126
6392
|
ReactErrorUtils.invokeGuardedCallback(name, inst.componentWillUnmount.bind(inst));
|
|
6127
6393
|
} else {
|
|
6128
6394
|
inst.componentWillUnmount();
|
|
6129
6395
|
}
|
|
6396
|
+
if ("development" !== 'production') {
|
|
6397
|
+
if (this._debugID !== 0) {
|
|
6398
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillUnmount');
|
|
6399
|
+
}
|
|
6400
|
+
}
|
|
6130
6401
|
}
|
|
6131
6402
|
|
|
6132
6403
|
if (this._renderedComponent) {
|
|
@@ -6309,10 +6580,10 @@ var ReactCompositeComponentMixin = {
|
|
|
6309
6580
|
performUpdateIfNecessary: function (transaction) {
|
|
6310
6581
|
if (this._pendingElement != null) {
|
|
6311
6582
|
ReactReconciler.receiveComponent(this, this._pendingElement, transaction, this._context);
|
|
6312
|
-
}
|
|
6313
|
-
|
|
6314
|
-
if (this._pendingStateQueue !== null || this._pendingForceUpdate) {
|
|
6583
|
+
} else if (this._pendingStateQueue !== null || this._pendingForceUpdate) {
|
|
6315
6584
|
this.updateComponent(transaction, this._currentElement, this._currentElement, this._context, this._context);
|
|
6585
|
+
} else {
|
|
6586
|
+
this._updateBatchNumber = null;
|
|
6316
6587
|
}
|
|
6317
6588
|
},
|
|
6318
6589
|
|
|
@@ -6359,17 +6630,41 @@ var ReactCompositeComponentMixin = {
|
|
|
6359
6630
|
// _pendingStateQueue which will ensure that any state updates gets
|
|
6360
6631
|
// immediately reconciled instead of waiting for the next batch.
|
|
6361
6632
|
if (willReceive && inst.componentWillReceiveProps) {
|
|
6633
|
+
if ("development" !== 'production') {
|
|
6634
|
+
if (this._debugID !== 0) {
|
|
6635
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillReceiveProps');
|
|
6636
|
+
}
|
|
6637
|
+
}
|
|
6362
6638
|
inst.componentWillReceiveProps(nextProps, nextContext);
|
|
6639
|
+
if ("development" !== 'production') {
|
|
6640
|
+
if (this._debugID !== 0) {
|
|
6641
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillReceiveProps');
|
|
6642
|
+
}
|
|
6643
|
+
}
|
|
6363
6644
|
}
|
|
6364
6645
|
|
|
6365
6646
|
var nextState = this._processPendingState(nextProps, nextContext);
|
|
6647
|
+
var shouldUpdate = true;
|
|
6366
6648
|
|
|
6367
|
-
|
|
6649
|
+
if (!this._pendingForceUpdate && inst.shouldComponentUpdate) {
|
|
6650
|
+
if ("development" !== 'production') {
|
|
6651
|
+
if (this._debugID !== 0) {
|
|
6652
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'shouldComponentUpdate');
|
|
6653
|
+
}
|
|
6654
|
+
}
|
|
6655
|
+
shouldUpdate = inst.shouldComponentUpdate(nextProps, nextState, nextContext);
|
|
6656
|
+
if ("development" !== 'production') {
|
|
6657
|
+
if (this._debugID !== 0) {
|
|
6658
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'shouldComponentUpdate');
|
|
6659
|
+
}
|
|
6660
|
+
}
|
|
6661
|
+
}
|
|
6368
6662
|
|
|
6369
6663
|
if ("development" !== 'production') {
|
|
6370
6664
|
"development" !== 'production' ? warning(shouldUpdate !== undefined, '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : void 0;
|
|
6371
6665
|
}
|
|
6372
6666
|
|
|
6667
|
+
this._updateBatchNumber = null;
|
|
6373
6668
|
if (shouldUpdate) {
|
|
6374
6669
|
this._pendingForceUpdate = false;
|
|
6375
6670
|
// Will set `this.props`, `this.state` and `this.context`.
|
|
@@ -6435,7 +6730,17 @@ var ReactCompositeComponentMixin = {
|
|
|
6435
6730
|
}
|
|
6436
6731
|
|
|
6437
6732
|
if (inst.componentWillUpdate) {
|
|
6733
|
+
if ("development" !== 'production') {
|
|
6734
|
+
if (this._debugID !== 0) {
|
|
6735
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillUpdate');
|
|
6736
|
+
}
|
|
6737
|
+
}
|
|
6438
6738
|
inst.componentWillUpdate(nextProps, nextState, nextContext);
|
|
6739
|
+
if ("development" !== 'production') {
|
|
6740
|
+
if (this._debugID !== 0) {
|
|
6741
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillUpdate');
|
|
6742
|
+
}
|
|
6743
|
+
}
|
|
6439
6744
|
}
|
|
6440
6745
|
|
|
6441
6746
|
this._currentElement = nextElement;
|
|
@@ -6447,7 +6752,11 @@ var ReactCompositeComponentMixin = {
|
|
|
6447
6752
|
this._updateRenderedComponent(transaction, unmaskedContext);
|
|
6448
6753
|
|
|
6449
6754
|
if (hasComponentDidUpdate) {
|
|
6450
|
-
|
|
6755
|
+
if ("development" !== 'production') {
|
|
6756
|
+
transaction.getReactMountReady().enqueue(invokeComponentDidUpdateWithTimer.bind(this, prevProps, prevState, prevContext), this);
|
|
6757
|
+
} else {
|
|
6758
|
+
transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);
|
|
6759
|
+
}
|
|
6451
6760
|
}
|
|
6452
6761
|
},
|
|
6453
6762
|
|
|
@@ -6469,8 +6778,16 @@ var ReactCompositeComponentMixin = {
|
|
|
6469
6778
|
|
|
6470
6779
|
this._renderedNodeType = ReactNodeTypes.getType(nextRenderedElement);
|
|
6471
6780
|
this._renderedComponent = this._instantiateReactComponent(nextRenderedElement);
|
|
6781
|
+
|
|
6472
6782
|
var nextMarkup = ReactReconciler.mountComponent(this._renderedComponent, transaction, this._nativeParent, this._nativeContainerInfo, this._processChildContext(context));
|
|
6473
|
-
|
|
6783
|
+
|
|
6784
|
+
if ("development" !== 'production') {
|
|
6785
|
+
if (this._debugID !== 0) {
|
|
6786
|
+
ReactInstrumentation.debugTool.onSetChildren(this._debugID, this._renderedComponent._debugID !== 0 ? [this._renderedComponent._debugID] : []);
|
|
6787
|
+
}
|
|
6788
|
+
}
|
|
6789
|
+
|
|
6790
|
+
this._replaceNodeWithMarkup(oldNativeNode, nextMarkup, prevComponentInstance);
|
|
6474
6791
|
}
|
|
6475
6792
|
},
|
|
6476
6793
|
|
|
@@ -6479,8 +6796,8 @@ var ReactCompositeComponentMixin = {
|
|
|
6479
6796
|
*
|
|
6480
6797
|
* @protected
|
|
6481
6798
|
*/
|
|
6482
|
-
_replaceNodeWithMarkup: function (oldNativeNode, nextMarkup) {
|
|
6483
|
-
ReactComponentEnvironment.replaceNodeWithMarkup(oldNativeNode, nextMarkup);
|
|
6799
|
+
_replaceNodeWithMarkup: function (oldNativeNode, nextMarkup, prevInstance) {
|
|
6800
|
+
ReactComponentEnvironment.replaceNodeWithMarkup(oldNativeNode, nextMarkup, prevInstance);
|
|
6484
6801
|
},
|
|
6485
6802
|
|
|
6486
6803
|
/**
|
|
@@ -6488,7 +6805,19 @@ var ReactCompositeComponentMixin = {
|
|
|
6488
6805
|
*/
|
|
6489
6806
|
_renderValidatedComponentWithoutOwnerOrContext: function () {
|
|
6490
6807
|
var inst = this._instance;
|
|
6808
|
+
|
|
6809
|
+
if ("development" !== 'production') {
|
|
6810
|
+
if (this._debugID !== 0) {
|
|
6811
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'render');
|
|
6812
|
+
}
|
|
6813
|
+
}
|
|
6491
6814
|
var renderedComponent = inst.render();
|
|
6815
|
+
if ("development" !== 'production') {
|
|
6816
|
+
if (this._debugID !== 0) {
|
|
6817
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'render');
|
|
6818
|
+
}
|
|
6819
|
+
}
|
|
6820
|
+
|
|
6492
6821
|
if ("development" !== 'production') {
|
|
6493
6822
|
// We allow auto-mocks to proceed as if they're returning null.
|
|
6494
6823
|
if (renderedComponent === undefined && inst.render._isMockFunction) {
|
|
@@ -6515,6 +6844,7 @@ var ReactCompositeComponentMixin = {
|
|
|
6515
6844
|
!(
|
|
6516
6845
|
// TODO: An `isValidNode` function would probably be more appropriate
|
|
6517
6846
|
renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent)) ? "development" !== 'production' ? invariant(false, '%s.render(): A valid React element (or null) must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : invariant(false) : void 0;
|
|
6847
|
+
|
|
6518
6848
|
return renderedComponent;
|
|
6519
6849
|
},
|
|
6520
6850
|
|
|
@@ -6583,12 +6913,6 @@ var ReactCompositeComponentMixin = {
|
|
|
6583
6913
|
|
|
6584
6914
|
};
|
|
6585
6915
|
|
|
6586
|
-
ReactPerf.measureMethods(ReactCompositeComponentMixin, 'ReactCompositeComponent', {
|
|
6587
|
-
mountComponent: 'mountComponent',
|
|
6588
|
-
updateComponent: 'updateComponent',
|
|
6589
|
-
_renderValidatedComponent: '_renderValidatedComponent'
|
|
6590
|
-
});
|
|
6591
|
-
|
|
6592
6916
|
var ReactCompositeComponent = {
|
|
6593
6917
|
|
|
6594
6918
|
Mixin: ReactCompositeComponentMixin
|
|
@@ -6596,7 +6920,7 @@ var ReactCompositeComponent = {
|
|
|
6596
6920
|
};
|
|
6597
6921
|
|
|
6598
6922
|
module.exports = ReactCompositeComponent;
|
|
6599
|
-
},{"103":103,"153":153,"166":166,"173":173,"183":183,"184":184,"36":36,"
|
|
6923
|
+
},{"103":103,"153":153,"166":166,"173":173,"183":183,"184":184,"36":36,"40":40,"65":65,"68":68,"75":75,"76":76,"85":85,"89":89,"90":90,"93":93}],40:[function(_dereq_,module,exports){
|
|
6600
6924
|
/**
|
|
6601
6925
|
* Copyright 2013-present, Facebook, Inc.
|
|
6602
6926
|
* All rights reserved.
|
|
@@ -6628,7 +6952,7 @@ var ReactCurrentOwner = {
|
|
|
6628
6952
|
};
|
|
6629
6953
|
|
|
6630
6954
|
module.exports = ReactCurrentOwner;
|
|
6631
|
-
},{}],
|
|
6955
|
+
},{}],41:[function(_dereq_,module,exports){
|
|
6632
6956
|
/**
|
|
6633
6957
|
* Copyright 2013-present, Facebook, Inc.
|
|
6634
6958
|
* All rights reserved.
|
|
@@ -6644,10 +6968,9 @@ module.exports = ReactCurrentOwner;
|
|
|
6644
6968
|
|
|
6645
6969
|
'use strict';
|
|
6646
6970
|
|
|
6647
|
-
var ReactDOMComponentTree = _dereq_(
|
|
6648
|
-
var ReactDefaultInjection = _dereq_(
|
|
6649
|
-
var ReactMount = _dereq_(
|
|
6650
|
-
var ReactPerf = _dereq_(88);
|
|
6971
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
6972
|
+
var ReactDefaultInjection = _dereq_(64);
|
|
6973
|
+
var ReactMount = _dereq_(80);
|
|
6651
6974
|
var ReactReconciler = _dereq_(93);
|
|
6652
6975
|
var ReactUpdates = _dereq_(104);
|
|
6653
6976
|
var ReactVersion = _dereq_(105);
|
|
@@ -6659,11 +6982,9 @@ var warning = _dereq_(183);
|
|
|
6659
6982
|
|
|
6660
6983
|
ReactDefaultInjection.inject();
|
|
6661
6984
|
|
|
6662
|
-
var render = ReactPerf.measure('React', 'render', ReactMount.render);
|
|
6663
|
-
|
|
6664
6985
|
var React = {
|
|
6665
6986
|
findDOMNode: findDOMNode,
|
|
6666
|
-
render: render,
|
|
6987
|
+
render: ReactMount.render,
|
|
6667
6988
|
unmountComponentAtNode: ReactMount.unmountComponentAtNode,
|
|
6668
6989
|
version: ReactVersion,
|
|
6669
6990
|
|
|
@@ -6733,7 +7054,7 @@ if ("development" !== 'production') {
|
|
|
6733
7054
|
}
|
|
6734
7055
|
|
|
6735
7056
|
module.exports = React;
|
|
6736
|
-
},{"104":104,"105":105,"132":132,"140":140,"149":149,"159":159,"183":183,"
|
|
7057
|
+
},{"104":104,"105":105,"132":132,"140":140,"149":149,"159":159,"183":183,"45":45,"64":64,"80":80,"93":93}],42:[function(_dereq_,module,exports){
|
|
6737
7058
|
/**
|
|
6738
7059
|
* Copyright 2013-present, Facebook, Inc.
|
|
6739
7060
|
* All rights reserved.
|
|
@@ -6758,7 +7079,7 @@ var ReactDOMButton = {
|
|
|
6758
7079
|
};
|
|
6759
7080
|
|
|
6760
7081
|
module.exports = ReactDOMButton;
|
|
6761
|
-
},{"14":14}],
|
|
7082
|
+
},{"14":14}],43:[function(_dereq_,module,exports){
|
|
6762
7083
|
/**
|
|
6763
7084
|
* Copyright 2013-present, Facebook, Inc.
|
|
6764
7085
|
* All rights reserved.
|
|
@@ -6787,17 +7108,18 @@ var EventPluginHub = _dereq_(17);
|
|
|
6787
7108
|
var EventPluginRegistry = _dereq_(18);
|
|
6788
7109
|
var ReactBrowserEventEmitter = _dereq_(28);
|
|
6789
7110
|
var ReactComponentBrowserEnvironment = _dereq_(35);
|
|
6790
|
-
var ReactDOMButton = _dereq_(
|
|
6791
|
-
var ReactDOMComponentFlags = _dereq_(
|
|
6792
|
-
var ReactDOMComponentTree = _dereq_(
|
|
6793
|
-
var ReactDOMInput = _dereq_(
|
|
6794
|
-
var ReactDOMOption = _dereq_(
|
|
6795
|
-
var ReactDOMSelect = _dereq_(
|
|
6796
|
-
var ReactDOMTextarea = _dereq_(
|
|
6797
|
-
var
|
|
6798
|
-
var
|
|
7111
|
+
var ReactDOMButton = _dereq_(42);
|
|
7112
|
+
var ReactDOMComponentFlags = _dereq_(44);
|
|
7113
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
7114
|
+
var ReactDOMInput = _dereq_(52);
|
|
7115
|
+
var ReactDOMOption = _dereq_(54);
|
|
7116
|
+
var ReactDOMSelect = _dereq_(55);
|
|
7117
|
+
var ReactDOMTextarea = _dereq_(59);
|
|
7118
|
+
var ReactInstrumentation = _dereq_(76);
|
|
7119
|
+
var ReactMultiChild = _dereq_(81);
|
|
6799
7120
|
var ReactServerRenderingTransaction = _dereq_(97);
|
|
6800
7121
|
|
|
7122
|
+
var emptyFunction = _dereq_(165);
|
|
6801
7123
|
var escapeTextContentForBrowser = _dereq_(131);
|
|
6802
7124
|
var invariant = _dereq_(173);
|
|
6803
7125
|
var isEventSupported = _dereq_(145);
|
|
@@ -6945,6 +7267,19 @@ function optionPostMount() {
|
|
|
6945
7267
|
ReactDOMOption.postMountWrapper(inst);
|
|
6946
7268
|
}
|
|
6947
7269
|
|
|
7270
|
+
var setContentChildForInstrumentation = emptyFunction;
|
|
7271
|
+
if ("development" !== 'production') {
|
|
7272
|
+
setContentChildForInstrumentation = function (contentToUse) {
|
|
7273
|
+
var debugID = this._debugID;
|
|
7274
|
+
var contentDebugID = debugID + '#text';
|
|
7275
|
+
this._contentDebugID = contentDebugID;
|
|
7276
|
+
ReactInstrumentation.debugTool.onSetDisplayName(contentDebugID, '#text');
|
|
7277
|
+
ReactInstrumentation.debugTool.onSetText(contentDebugID, '' + contentToUse);
|
|
7278
|
+
ReactInstrumentation.debugTool.onMountComponent(contentDebugID);
|
|
7279
|
+
ReactInstrumentation.debugTool.onSetChildren(debugID, [contentDebugID]);
|
|
7280
|
+
};
|
|
7281
|
+
}
|
|
7282
|
+
|
|
6948
7283
|
// There are so many media events, it makes sense to just
|
|
6949
7284
|
// maintain a list rather than create a `trapBubbledEvent` for each
|
|
6950
7285
|
var mediaEvents = {
|
|
@@ -7105,6 +7440,7 @@ function ReactDOMComponent(element) {
|
|
|
7105
7440
|
this._flags = 0;
|
|
7106
7441
|
if ("development" !== 'production') {
|
|
7107
7442
|
this._ancestorInfo = null;
|
|
7443
|
+
this._contentDebugID = null;
|
|
7108
7444
|
}
|
|
7109
7445
|
}
|
|
7110
7446
|
|
|
@@ -7350,6 +7686,9 @@ ReactDOMComponent.Mixin = {
|
|
|
7350
7686
|
if (contentToUse != null) {
|
|
7351
7687
|
// TODO: Validate that text is allowed as a child of this node
|
|
7352
7688
|
ret = escapeTextContentForBrowser(contentToUse);
|
|
7689
|
+
if ("development" !== 'production') {
|
|
7690
|
+
setContentChildForInstrumentation.call(this, contentToUse);
|
|
7691
|
+
}
|
|
7353
7692
|
} else if (childrenToUse != null) {
|
|
7354
7693
|
var mountImages = this.mountChildren(childrenToUse, transaction, context);
|
|
7355
7694
|
ret = mountImages.join('');
|
|
@@ -7384,6 +7723,9 @@ ReactDOMComponent.Mixin = {
|
|
|
7384
7723
|
var childrenToUse = contentToUse != null ? null : props.children;
|
|
7385
7724
|
if (contentToUse != null) {
|
|
7386
7725
|
// TODO: Validate that text is allowed as a child of this node
|
|
7726
|
+
if ("development" !== 'production') {
|
|
7727
|
+
setContentChildForInstrumentation.call(this, contentToUse);
|
|
7728
|
+
}
|
|
7387
7729
|
DOMLazyTree.queueText(lazyTree, contentToUse);
|
|
7388
7730
|
} else if (childrenToUse != null) {
|
|
7389
7731
|
var mountImages = this.mountChildren(childrenToUse, transaction, context);
|
|
@@ -7592,17 +7934,34 @@ ReactDOMComponent.Mixin = {
|
|
|
7592
7934
|
this.updateChildren(null, transaction, context);
|
|
7593
7935
|
} else if (lastHasContentOrHtml && !nextHasContentOrHtml) {
|
|
7594
7936
|
this.updateTextContent('');
|
|
7937
|
+
if ("development" !== 'production') {
|
|
7938
|
+
ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);
|
|
7939
|
+
}
|
|
7595
7940
|
}
|
|
7596
7941
|
|
|
7597
7942
|
if (nextContent != null) {
|
|
7598
7943
|
if (lastContent !== nextContent) {
|
|
7599
7944
|
this.updateTextContent('' + nextContent);
|
|
7945
|
+
if ("development" !== 'production') {
|
|
7946
|
+
this._contentDebugID = this._debugID + '#text';
|
|
7947
|
+
setContentChildForInstrumentation.call(this, nextContent);
|
|
7948
|
+
}
|
|
7600
7949
|
}
|
|
7601
7950
|
} else if (nextHtml != null) {
|
|
7602
7951
|
if (lastHtml !== nextHtml) {
|
|
7603
7952
|
this.updateMarkup('' + nextHtml);
|
|
7604
7953
|
}
|
|
7954
|
+
if ("development" !== 'production') {
|
|
7955
|
+
ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);
|
|
7956
|
+
}
|
|
7605
7957
|
} else if (nextChildren != null) {
|
|
7958
|
+
if ("development" !== 'production') {
|
|
7959
|
+
if (this._contentDebugID) {
|
|
7960
|
+
ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID);
|
|
7961
|
+
this._contentDebugID = null;
|
|
7962
|
+
}
|
|
7963
|
+
}
|
|
7964
|
+
|
|
7606
7965
|
this.updateChildren(nextChildren, transaction, context);
|
|
7607
7966
|
}
|
|
7608
7967
|
},
|
|
@@ -7652,6 +8011,13 @@ ReactDOMComponent.Mixin = {
|
|
|
7652
8011
|
this._rootNodeID = null;
|
|
7653
8012
|
this._domID = null;
|
|
7654
8013
|
this._wrapperState = null;
|
|
8014
|
+
|
|
8015
|
+
if ("development" !== 'production') {
|
|
8016
|
+
if (this._contentDebugID) {
|
|
8017
|
+
ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID);
|
|
8018
|
+
this._contentDebugID = null;
|
|
8019
|
+
}
|
|
8020
|
+
}
|
|
7655
8021
|
},
|
|
7656
8022
|
|
|
7657
8023
|
getPublicInstance: function () {
|
|
@@ -7660,15 +8026,10 @@ ReactDOMComponent.Mixin = {
|
|
|
7660
8026
|
|
|
7661
8027
|
};
|
|
7662
8028
|
|
|
7663
|
-
ReactPerf.measureMethods(ReactDOMComponent.Mixin, 'ReactDOMComponent', {
|
|
7664
|
-
mountComponent: 'mountComponent',
|
|
7665
|
-
receiveComponent: 'receiveComponent'
|
|
7666
|
-
});
|
|
7667
|
-
|
|
7668
8029
|
_assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);
|
|
7669
8030
|
|
|
7670
8031
|
module.exports = ReactDOMComponent;
|
|
7671
|
-
},{"1":1,"10":10,"11":11,"131":131,"145":145,"156":156,"16":16,"17":17,"173":173,"177":177,"18":18,"182":182,"183":183,"184":184,"28":28,"35":35,"4":4,"
|
|
8032
|
+
},{"1":1,"10":10,"11":11,"131":131,"145":145,"156":156,"16":16,"165":165,"17":17,"173":173,"177":177,"18":18,"182":182,"183":183,"184":184,"28":28,"35":35,"4":4,"42":42,"44":44,"45":45,"52":52,"54":54,"55":55,"59":59,"76":76,"8":8,"81":81,"9":9,"97":97}],44:[function(_dereq_,module,exports){
|
|
7672
8033
|
/**
|
|
7673
8034
|
* Copyright 2015-present, Facebook, Inc.
|
|
7674
8035
|
* All rights reserved.
|
|
@@ -7687,7 +8048,7 @@ var ReactDOMComponentFlags = {
|
|
|
7687
8048
|
};
|
|
7688
8049
|
|
|
7689
8050
|
module.exports = ReactDOMComponentFlags;
|
|
7690
|
-
},{}],
|
|
8051
|
+
},{}],45:[function(_dereq_,module,exports){
|
|
7691
8052
|
/**
|
|
7692
8053
|
* Copyright 2013-present, Facebook, Inc.
|
|
7693
8054
|
* All rights reserved.
|
|
@@ -7702,7 +8063,7 @@ module.exports = ReactDOMComponentFlags;
|
|
|
7702
8063
|
'use strict';
|
|
7703
8064
|
|
|
7704
8065
|
var DOMProperty = _dereq_(10);
|
|
7705
|
-
var ReactDOMComponentFlags = _dereq_(
|
|
8066
|
+
var ReactDOMComponentFlags = _dereq_(44);
|
|
7706
8067
|
|
|
7707
8068
|
var invariant = _dereq_(173);
|
|
7708
8069
|
|
|
@@ -7874,7 +8235,7 @@ var ReactDOMComponentTree = {
|
|
|
7874
8235
|
};
|
|
7875
8236
|
|
|
7876
8237
|
module.exports = ReactDOMComponentTree;
|
|
7877
|
-
},{"10":10,"173":173,"
|
|
8238
|
+
},{"10":10,"173":173,"44":44}],46:[function(_dereq_,module,exports){
|
|
7878
8239
|
/**
|
|
7879
8240
|
* Copyright 2013-present, Facebook, Inc.
|
|
7880
8241
|
* All rights reserved.
|
|
@@ -7908,7 +8269,7 @@ function ReactDOMContainerInfo(topLevelWrapper, node) {
|
|
|
7908
8269
|
}
|
|
7909
8270
|
|
|
7910
8271
|
module.exports = ReactDOMContainerInfo;
|
|
7911
|
-
},{"156":156}],
|
|
8272
|
+
},{"156":156}],47:[function(_dereq_,module,exports){
|
|
7912
8273
|
/**
|
|
7913
8274
|
* Copyright 2013-present, Facebook, Inc.
|
|
7914
8275
|
* All rights reserved.
|
|
@@ -7922,7 +8283,7 @@ module.exports = ReactDOMContainerInfo;
|
|
|
7922
8283
|
|
|
7923
8284
|
'use strict';
|
|
7924
8285
|
|
|
7925
|
-
var ReactDOMUnknownPropertyDevtool = _dereq_(
|
|
8286
|
+
var ReactDOMUnknownPropertyDevtool = _dereq_(61);
|
|
7926
8287
|
|
|
7927
8288
|
var warning = _dereq_(183);
|
|
7928
8289
|
|
|
@@ -7970,7 +8331,7 @@ var ReactDOMDebugTool = {
|
|
|
7970
8331
|
ReactDOMDebugTool.addDevtool(ReactDOMUnknownPropertyDevtool);
|
|
7971
8332
|
|
|
7972
8333
|
module.exports = ReactDOMDebugTool;
|
|
7973
|
-
},{"183":183,"
|
|
8334
|
+
},{"183":183,"61":61}],48:[function(_dereq_,module,exports){
|
|
7974
8335
|
/**
|
|
7975
8336
|
* Copyright 2014-present, Facebook, Inc.
|
|
7976
8337
|
* All rights reserved.
|
|
@@ -7987,7 +8348,7 @@ module.exports = ReactDOMDebugTool;
|
|
|
7987
8348
|
var _assign = _dereq_(184);
|
|
7988
8349
|
|
|
7989
8350
|
var DOMLazyTree = _dereq_(8);
|
|
7990
|
-
var ReactDOMComponentTree = _dereq_(
|
|
8351
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
7991
8352
|
|
|
7992
8353
|
var ReactDOMEmptyComponent = function (instantiate) {
|
|
7993
8354
|
// ReactCompositeComponent uses this:
|
|
@@ -8031,7 +8392,7 @@ _assign(ReactDOMEmptyComponent.prototype, {
|
|
|
8031
8392
|
});
|
|
8032
8393
|
|
|
8033
8394
|
module.exports = ReactDOMEmptyComponent;
|
|
8034
|
-
},{"184":184,"
|
|
8395
|
+
},{"184":184,"45":45,"8":8}],49:[function(_dereq_,module,exports){
|
|
8035
8396
|
/**
|
|
8036
8397
|
* Copyright 2013-present, Facebook, Inc.
|
|
8037
8398
|
* All rights reserved.
|
|
@@ -8045,8 +8406,8 @@ module.exports = ReactDOMEmptyComponent;
|
|
|
8045
8406
|
|
|
8046
8407
|
'use strict';
|
|
8047
8408
|
|
|
8048
|
-
var ReactElement = _dereq_(
|
|
8049
|
-
var ReactElementValidator = _dereq_(
|
|
8409
|
+
var ReactElement = _dereq_(65);
|
|
8410
|
+
var ReactElementValidator = _dereq_(66);
|
|
8050
8411
|
|
|
8051
8412
|
var mapObject = _dereq_(178);
|
|
8052
8413
|
|
|
@@ -8208,7 +8569,7 @@ var ReactDOMFactories = mapObject({
|
|
|
8208
8569
|
}, createDOMFactory);
|
|
8209
8570
|
|
|
8210
8571
|
module.exports = ReactDOMFactories;
|
|
8211
|
-
},{"178":178,"
|
|
8572
|
+
},{"178":178,"65":65,"66":66}],50:[function(_dereq_,module,exports){
|
|
8212
8573
|
/**
|
|
8213
8574
|
* Copyright 2013-present, Facebook, Inc.
|
|
8214
8575
|
* All rights reserved.
|
|
@@ -8227,7 +8588,7 @@ var ReactDOMFeatureFlags = {
|
|
|
8227
8588
|
};
|
|
8228
8589
|
|
|
8229
8590
|
module.exports = ReactDOMFeatureFlags;
|
|
8230
|
-
},{}],
|
|
8591
|
+
},{}],51:[function(_dereq_,module,exports){
|
|
8231
8592
|
/**
|
|
8232
8593
|
* Copyright 2013-present, Facebook, Inc.
|
|
8233
8594
|
* All rights reserved.
|
|
@@ -8242,8 +8603,7 @@ module.exports = ReactDOMFeatureFlags;
|
|
|
8242
8603
|
'use strict';
|
|
8243
8604
|
|
|
8244
8605
|
var DOMChildrenOperations = _dereq_(7);
|
|
8245
|
-
var ReactDOMComponentTree = _dereq_(
|
|
8246
|
-
var ReactPerf = _dereq_(88);
|
|
8606
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
8247
8607
|
|
|
8248
8608
|
/**
|
|
8249
8609
|
* Operations used to process updates to DOM nodes.
|
|
@@ -8262,12 +8622,8 @@ var ReactDOMIDOperations = {
|
|
|
8262
8622
|
}
|
|
8263
8623
|
};
|
|
8264
8624
|
|
|
8265
|
-
ReactPerf.measureMethods(ReactDOMIDOperations, 'ReactDOMIDOperations', {
|
|
8266
|
-
dangerouslyProcessChildrenUpdates: 'dangerouslyProcessChildrenUpdates'
|
|
8267
|
-
});
|
|
8268
|
-
|
|
8269
8625
|
module.exports = ReactDOMIDOperations;
|
|
8270
|
-
},{"
|
|
8626
|
+
},{"45":45,"7":7}],52:[function(_dereq_,module,exports){
|
|
8271
8627
|
/**
|
|
8272
8628
|
* Copyright 2013-present, Facebook, Inc.
|
|
8273
8629
|
* All rights reserved.
|
|
@@ -8286,7 +8642,7 @@ var _assign = _dereq_(184);
|
|
|
8286
8642
|
var DisabledInputUtils = _dereq_(14);
|
|
8287
8643
|
var DOMPropertyOperations = _dereq_(11);
|
|
8288
8644
|
var LinkedValueUtils = _dereq_(25);
|
|
8289
|
-
var ReactDOMComponentTree = _dereq_(
|
|
8645
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
8290
8646
|
var ReactUpdates = _dereq_(104);
|
|
8291
8647
|
|
|
8292
8648
|
var invariant = _dereq_(173);
|
|
@@ -8355,6 +8711,8 @@ var ReactDOMInput = {
|
|
|
8355
8711
|
if ("development" !== 'production') {
|
|
8356
8712
|
LinkedValueUtils.checkPropTypes('input', props, inst._currentElement._owner);
|
|
8357
8713
|
|
|
8714
|
+
var owner = inst._currentElement._owner;
|
|
8715
|
+
|
|
8358
8716
|
if (props.valueLink !== undefined && !didWarnValueLink) {
|
|
8359
8717
|
"development" !== 'production' ? warning(false, '`valueLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;
|
|
8360
8718
|
didWarnValueLink = true;
|
|
@@ -8364,11 +8722,11 @@ var ReactDOMInput = {
|
|
|
8364
8722
|
didWarnCheckedLink = true;
|
|
8365
8723
|
}
|
|
8366
8724
|
if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {
|
|
8367
|
-
"development" !== 'production' ? warning(false, 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;
|
|
8725
|
+
"development" !== 'production' ? warning(false, '%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;
|
|
8368
8726
|
didWarnCheckedDefaultChecked = true;
|
|
8369
8727
|
}
|
|
8370
8728
|
if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {
|
|
8371
|
-
"development" !== 'production' ? warning(false, 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;
|
|
8729
|
+
"development" !== 'production' ? warning(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;
|
|
8372
8730
|
didWarnValueDefaultValue = true;
|
|
8373
8731
|
}
|
|
8374
8732
|
warnIfValueIsNull(props);
|
|
@@ -8472,7 +8830,7 @@ function _handleChange(event) {
|
|
|
8472
8830
|
}
|
|
8473
8831
|
|
|
8474
8832
|
module.exports = ReactDOMInput;
|
|
8475
|
-
},{"104":104,"11":11,"14":14,"173":173,"183":183,"184":184,"25":25,"
|
|
8833
|
+
},{"104":104,"11":11,"14":14,"173":173,"183":183,"184":184,"25":25,"45":45}],53:[function(_dereq_,module,exports){
|
|
8476
8834
|
/**
|
|
8477
8835
|
* Copyright 2013-present, Facebook, Inc.
|
|
8478
8836
|
* All rights reserved.
|
|
@@ -8486,10 +8844,10 @@ module.exports = ReactDOMInput;
|
|
|
8486
8844
|
|
|
8487
8845
|
'use strict';
|
|
8488
8846
|
|
|
8489
|
-
var ReactDOMDebugTool = _dereq_(
|
|
8847
|
+
var ReactDOMDebugTool = _dereq_(47);
|
|
8490
8848
|
|
|
8491
8849
|
module.exports = { debugTool: ReactDOMDebugTool };
|
|
8492
|
-
},{"
|
|
8850
|
+
},{"47":47}],54:[function(_dereq_,module,exports){
|
|
8493
8851
|
/**
|
|
8494
8852
|
* Copyright 2013-present, Facebook, Inc.
|
|
8495
8853
|
* All rights reserved.
|
|
@@ -8506,8 +8864,8 @@ module.exports = { debugTool: ReactDOMDebugTool };
|
|
|
8506
8864
|
var _assign = _dereq_(184);
|
|
8507
8865
|
|
|
8508
8866
|
var ReactChildren = _dereq_(32);
|
|
8509
|
-
var ReactDOMComponentTree = _dereq_(
|
|
8510
|
-
var ReactDOMSelect = _dereq_(
|
|
8867
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
8868
|
+
var ReactDOMSelect = _dereq_(55);
|
|
8511
8869
|
|
|
8512
8870
|
var warning = _dereq_(183);
|
|
8513
8871
|
|
|
@@ -8599,7 +8957,7 @@ var ReactDOMOption = {
|
|
|
8599
8957
|
};
|
|
8600
8958
|
|
|
8601
8959
|
module.exports = ReactDOMOption;
|
|
8602
|
-
},{"183":183,"184":184,"32":32,"
|
|
8960
|
+
},{"183":183,"184":184,"32":32,"45":45,"55":55}],55:[function(_dereq_,module,exports){
|
|
8603
8961
|
/**
|
|
8604
8962
|
* Copyright 2013-present, Facebook, Inc.
|
|
8605
8963
|
* All rights reserved.
|
|
@@ -8617,7 +8975,7 @@ var _assign = _dereq_(184);
|
|
|
8617
8975
|
|
|
8618
8976
|
var DisabledInputUtils = _dereq_(14);
|
|
8619
8977
|
var LinkedValueUtils = _dereq_(25);
|
|
8620
|
-
var ReactDOMComponentTree = _dereq_(
|
|
8978
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
8621
8979
|
var ReactUpdates = _dereq_(104);
|
|
8622
8980
|
|
|
8623
8981
|
var warning = _dereq_(183);
|
|
@@ -8813,7 +9171,7 @@ function _handleChange(event) {
|
|
|
8813
9171
|
}
|
|
8814
9172
|
|
|
8815
9173
|
module.exports = ReactDOMSelect;
|
|
8816
|
-
},{"104":104,"14":14,"183":183,"184":184,"25":25,"
|
|
9174
|
+
},{"104":104,"14":14,"183":183,"184":184,"25":25,"45":45}],56:[function(_dereq_,module,exports){
|
|
8817
9175
|
/**
|
|
8818
9176
|
* Copyright 2013-present, Facebook, Inc.
|
|
8819
9177
|
* All rights reserved.
|
|
@@ -9026,7 +9384,7 @@ var ReactDOMSelection = {
|
|
|
9026
9384
|
};
|
|
9027
9385
|
|
|
9028
9386
|
module.exports = ReactDOMSelection;
|
|
9029
|
-
},{"141":141,"142":142,"159":159}],
|
|
9387
|
+
},{"141":141,"142":142,"159":159}],57:[function(_dereq_,module,exports){
|
|
9030
9388
|
/**
|
|
9031
9389
|
* Copyright 2013-present, Facebook, Inc.
|
|
9032
9390
|
* All rights reserved.
|
|
@@ -9040,7 +9398,7 @@ module.exports = ReactDOMSelection;
|
|
|
9040
9398
|
|
|
9041
9399
|
'use strict';
|
|
9042
9400
|
|
|
9043
|
-
var ReactDefaultInjection = _dereq_(
|
|
9401
|
+
var ReactDefaultInjection = _dereq_(64);
|
|
9044
9402
|
var ReactServerRendering = _dereq_(96);
|
|
9045
9403
|
var ReactVersion = _dereq_(105);
|
|
9046
9404
|
|
|
@@ -9053,7 +9411,7 @@ var ReactDOMServer = {
|
|
|
9053
9411
|
};
|
|
9054
9412
|
|
|
9055
9413
|
module.exports = ReactDOMServer;
|
|
9056
|
-
},{"105":105,"
|
|
9414
|
+
},{"105":105,"64":64,"96":96}],58:[function(_dereq_,module,exports){
|
|
9057
9415
|
/**
|
|
9058
9416
|
* Copyright 2013-present, Facebook, Inc.
|
|
9059
9417
|
* All rights reserved.
|
|
@@ -9071,8 +9429,8 @@ var _assign = _dereq_(184);
|
|
|
9071
9429
|
|
|
9072
9430
|
var DOMChildrenOperations = _dereq_(7);
|
|
9073
9431
|
var DOMLazyTree = _dereq_(8);
|
|
9074
|
-
var ReactDOMComponentTree = _dereq_(
|
|
9075
|
-
var
|
|
9432
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
9433
|
+
var ReactInstrumentation = _dereq_(76);
|
|
9076
9434
|
|
|
9077
9435
|
var escapeTextContentForBrowser = _dereq_(131);
|
|
9078
9436
|
var invariant = _dereq_(173);
|
|
@@ -9120,6 +9478,8 @@ _assign(ReactDOMTextComponent.prototype, {
|
|
|
9120
9478
|
*/
|
|
9121
9479
|
mountComponent: function (transaction, nativeParent, nativeContainerInfo, context) {
|
|
9122
9480
|
if ("development" !== 'production') {
|
|
9481
|
+
ReactInstrumentation.debugTool.onSetText(this._debugID, this._stringText);
|
|
9482
|
+
|
|
9123
9483
|
var parentInfo;
|
|
9124
9484
|
if (nativeParent != null) {
|
|
9125
9485
|
parentInfo = nativeParent._ancestorInfo;
|
|
@@ -9183,6 +9543,10 @@ _assign(ReactDOMTextComponent.prototype, {
|
|
|
9183
9543
|
this._stringText = nextStringText;
|
|
9184
9544
|
var commentNodes = this.getNativeNode();
|
|
9185
9545
|
DOMChildrenOperations.replaceDelimitedText(commentNodes[0], commentNodes[1], nextStringText);
|
|
9546
|
+
|
|
9547
|
+
if ("development" !== 'production') {
|
|
9548
|
+
ReactInstrumentation.debugTool.onSetText(this._debugID, nextStringText);
|
|
9549
|
+
}
|
|
9186
9550
|
}
|
|
9187
9551
|
}
|
|
9188
9552
|
},
|
|
@@ -9217,13 +9581,8 @@ _assign(ReactDOMTextComponent.prototype, {
|
|
|
9217
9581
|
|
|
9218
9582
|
});
|
|
9219
9583
|
|
|
9220
|
-
ReactPerf.measureMethods(ReactDOMTextComponent.prototype, 'ReactDOMTextComponent', {
|
|
9221
|
-
mountComponent: 'mountComponent',
|
|
9222
|
-
receiveComponent: 'receiveComponent'
|
|
9223
|
-
});
|
|
9224
|
-
|
|
9225
9584
|
module.exports = ReactDOMTextComponent;
|
|
9226
|
-
},{"131":131,"156":156,"173":173,"184":184,"
|
|
9585
|
+
},{"131":131,"156":156,"173":173,"184":184,"45":45,"7":7,"76":76,"8":8}],59:[function(_dereq_,module,exports){
|
|
9227
9586
|
/**
|
|
9228
9587
|
* Copyright 2013-present, Facebook, Inc.
|
|
9229
9588
|
* All rights reserved.
|
|
@@ -9242,7 +9601,7 @@ var _assign = _dereq_(184);
|
|
|
9242
9601
|
var DisabledInputUtils = _dereq_(14);
|
|
9243
9602
|
var DOMPropertyOperations = _dereq_(11);
|
|
9244
9603
|
var LinkedValueUtils = _dereq_(25);
|
|
9245
|
-
var ReactDOMComponentTree = _dereq_(
|
|
9604
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
9246
9605
|
var ReactUpdates = _dereq_(104);
|
|
9247
9606
|
|
|
9248
9607
|
var invariant = _dereq_(173);
|
|
@@ -9366,7 +9725,7 @@ function _handleChange(event) {
|
|
|
9366
9725
|
}
|
|
9367
9726
|
|
|
9368
9727
|
module.exports = ReactDOMTextarea;
|
|
9369
|
-
},{"104":104,"11":11,"14":14,"173":173,"183":183,"184":184,"25":25,"
|
|
9728
|
+
},{"104":104,"11":11,"14":14,"173":173,"183":183,"184":184,"25":25,"45":45}],60:[function(_dereq_,module,exports){
|
|
9370
9729
|
/**
|
|
9371
9730
|
* Copyright 2015-present, Facebook, Inc.
|
|
9372
9731
|
* All rights reserved.
|
|
@@ -9501,7 +9860,7 @@ module.exports = {
|
|
|
9501
9860
|
traverseTwoPhase: traverseTwoPhase,
|
|
9502
9861
|
traverseEnterLeave: traverseEnterLeave
|
|
9503
9862
|
};
|
|
9504
|
-
},{"173":173}],
|
|
9863
|
+
},{"173":173}],61:[function(_dereq_,module,exports){
|
|
9505
9864
|
/**
|
|
9506
9865
|
* Copyright 2013-present, Facebook, Inc.
|
|
9507
9866
|
* All rights reserved.
|
|
@@ -9566,7 +9925,7 @@ var ReactDOMUnknownPropertyDevtool = {
|
|
|
9566
9925
|
};
|
|
9567
9926
|
|
|
9568
9927
|
module.exports = ReactDOMUnknownPropertyDevtool;
|
|
9569
|
-
},{"10":10,"18":18,"183":183}],
|
|
9928
|
+
},{"10":10,"18":18,"183":183}],62:[function(_dereq_,module,exports){
|
|
9570
9929
|
/**
|
|
9571
9930
|
* Copyright 2016-present, Facebook, Inc.
|
|
9572
9931
|
* All rights reserved.
|
|
@@ -9580,7 +9939,9 @@ module.exports = ReactDOMUnknownPropertyDevtool;
|
|
|
9580
9939
|
|
|
9581
9940
|
'use strict';
|
|
9582
9941
|
|
|
9583
|
-
var
|
|
9942
|
+
var ExecutionEnvironment = _dereq_(159);
|
|
9943
|
+
|
|
9944
|
+
var performanceNow = _dereq_(181);
|
|
9584
9945
|
var warning = _dereq_(183);
|
|
9585
9946
|
|
|
9586
9947
|
var eventHandlers = [];
|
|
@@ -9601,6 +9962,57 @@ function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) {
|
|
|
9601
9962
|
}
|
|
9602
9963
|
}
|
|
9603
9964
|
|
|
9965
|
+
var isProfiling = false;
|
|
9966
|
+
var flushHistory = [];
|
|
9967
|
+
var currentFlushNesting = 0;
|
|
9968
|
+
var currentFlushMeasurements = null;
|
|
9969
|
+
var currentFlushStartTime = null;
|
|
9970
|
+
var currentTimerDebugID = null;
|
|
9971
|
+
var currentTimerStartTime = null;
|
|
9972
|
+
var currentTimerType = null;
|
|
9973
|
+
|
|
9974
|
+
function resetMeasurements() {
|
|
9975
|
+
if ("development" !== 'production') {
|
|
9976
|
+
if (!isProfiling || currentFlushNesting === 0) {
|
|
9977
|
+
currentFlushStartTime = null;
|
|
9978
|
+
currentFlushMeasurements = null;
|
|
9979
|
+
return;
|
|
9980
|
+
}
|
|
9981
|
+
|
|
9982
|
+
var previousStartTime = currentFlushStartTime;
|
|
9983
|
+
var previousMeasurements = currentFlushMeasurements || [];
|
|
9984
|
+
var previousOperations = ReactNativeOperationHistoryDevtool.getHistory();
|
|
9985
|
+
|
|
9986
|
+
if (previousMeasurements.length || previousOperations.length) {
|
|
9987
|
+
var registeredIDs = ReactComponentTreeDevtool.getRegisteredIDs();
|
|
9988
|
+
flushHistory.push({
|
|
9989
|
+
duration: performanceNow() - previousStartTime,
|
|
9990
|
+
measurements: previousMeasurements || [],
|
|
9991
|
+
operations: previousOperations || [],
|
|
9992
|
+
treeSnapshot: registeredIDs.reduce(function (tree, id) {
|
|
9993
|
+
var ownerID = ReactComponentTreeDevtool.getOwnerID(id);
|
|
9994
|
+
var parentID = ReactComponentTreeDevtool.getParentID(id);
|
|
9995
|
+
tree[id] = {
|
|
9996
|
+
displayName: ReactComponentTreeDevtool.getDisplayName(id),
|
|
9997
|
+
text: ReactComponentTreeDevtool.getText(id),
|
|
9998
|
+
updateCount: ReactComponentTreeDevtool.getUpdateCount(id),
|
|
9999
|
+
childIDs: ReactComponentTreeDevtool.getChildIDs(id),
|
|
10000
|
+
// Text nodes don't have owners but this is close enough.
|
|
10001
|
+
ownerID: ownerID || ReactComponentTreeDevtool.getOwnerID(parentID),
|
|
10002
|
+
parentID: parentID
|
|
10003
|
+
};
|
|
10004
|
+
return tree;
|
|
10005
|
+
}, {})
|
|
10006
|
+
});
|
|
10007
|
+
}
|
|
10008
|
+
|
|
10009
|
+
currentFlushStartTime = performanceNow();
|
|
10010
|
+
currentFlushMeasurements = [];
|
|
10011
|
+
ReactComponentTreeDevtool.purgeUnmountedComponents();
|
|
10012
|
+
ReactNativeOperationHistoryDevtool.clearHistory();
|
|
10013
|
+
}
|
|
10014
|
+
}
|
|
10015
|
+
|
|
9604
10016
|
var ReactDebugTool = {
|
|
9605
10017
|
addDevtool: function (devtool) {
|
|
9606
10018
|
eventHandlers.push(devtool);
|
|
@@ -9613,33 +10025,132 @@ var ReactDebugTool = {
|
|
|
9613
10025
|
}
|
|
9614
10026
|
}
|
|
9615
10027
|
},
|
|
9616
|
-
|
|
9617
|
-
|
|
9618
|
-
|
|
9619
|
-
|
|
9620
|
-
|
|
10028
|
+
beginProfiling: function () {
|
|
10029
|
+
if ("development" !== 'production') {
|
|
10030
|
+
if (isProfiling) {
|
|
10031
|
+
return;
|
|
10032
|
+
}
|
|
10033
|
+
|
|
10034
|
+
isProfiling = true;
|
|
10035
|
+
flushHistory.length = 0;
|
|
10036
|
+
resetMeasurements();
|
|
10037
|
+
}
|
|
9621
10038
|
},
|
|
9622
|
-
|
|
9623
|
-
|
|
10039
|
+
endProfiling: function () {
|
|
10040
|
+
if ("development" !== 'production') {
|
|
10041
|
+
if (!isProfiling) {
|
|
10042
|
+
return;
|
|
10043
|
+
}
|
|
10044
|
+
|
|
10045
|
+
isProfiling = false;
|
|
10046
|
+
resetMeasurements();
|
|
10047
|
+
}
|
|
10048
|
+
},
|
|
10049
|
+
getFlushHistory: function () {
|
|
10050
|
+
if ("development" !== 'production') {
|
|
10051
|
+
return flushHistory;
|
|
10052
|
+
}
|
|
10053
|
+
},
|
|
10054
|
+
onBeginFlush: function () {
|
|
10055
|
+
if ("development" !== 'production') {
|
|
10056
|
+
currentFlushNesting++;
|
|
10057
|
+
resetMeasurements();
|
|
10058
|
+
}
|
|
10059
|
+
emitEvent('onBeginFlush');
|
|
10060
|
+
},
|
|
10061
|
+
onEndFlush: function () {
|
|
10062
|
+
if ("development" !== 'production') {
|
|
10063
|
+
resetMeasurements();
|
|
10064
|
+
currentFlushNesting--;
|
|
10065
|
+
}
|
|
10066
|
+
emitEvent('onEndFlush');
|
|
10067
|
+
},
|
|
10068
|
+
onBeginLifeCycleTimer: function (debugID, timerType) {
|
|
10069
|
+
emitEvent('onBeginLifeCycleTimer', debugID, timerType);
|
|
10070
|
+
if ("development" !== 'production') {
|
|
10071
|
+
if (isProfiling && currentFlushNesting > 0) {
|
|
10072
|
+
"development" !== 'production' ? warning(!currentTimerType, 'There is an internal error in the React performance measurement code. ' + 'Did not expect %s timer to start while %s timer is still in ' + 'progress for %s instance.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0;
|
|
10073
|
+
currentTimerStartTime = performanceNow();
|
|
10074
|
+
currentTimerDebugID = debugID;
|
|
10075
|
+
currentTimerType = timerType;
|
|
10076
|
+
}
|
|
10077
|
+
}
|
|
10078
|
+
},
|
|
10079
|
+
onEndLifeCycleTimer: function (debugID, timerType) {
|
|
10080
|
+
if ("development" !== 'production') {
|
|
10081
|
+
if (isProfiling && currentFlushNesting > 0) {
|
|
10082
|
+
"development" !== 'production' ? warning(currentTimerType === timerType, 'There is an internal error in the React performance measurement code. ' + 'We did not expect %s timer to stop while %s timer is still in ' + 'progress for %s instance. Please report this as a bug in React.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0;
|
|
10083
|
+
currentFlushMeasurements.push({
|
|
10084
|
+
timerType: timerType,
|
|
10085
|
+
instanceID: debugID,
|
|
10086
|
+
duration: performanceNow() - currentTimerStartTime
|
|
10087
|
+
});
|
|
10088
|
+
currentTimerStartTime = null;
|
|
10089
|
+
currentTimerDebugID = null;
|
|
10090
|
+
currentTimerType = null;
|
|
10091
|
+
}
|
|
10092
|
+
}
|
|
10093
|
+
emitEvent('onEndLifeCycleTimer', debugID, timerType);
|
|
10094
|
+
},
|
|
10095
|
+
onBeginReconcilerTimer: function (debugID, timerType) {
|
|
10096
|
+
emitEvent('onBeginReconcilerTimer', debugID, timerType);
|
|
10097
|
+
},
|
|
10098
|
+
onEndReconcilerTimer: function (debugID, timerType) {
|
|
10099
|
+
emitEvent('onEndReconcilerTimer', debugID, timerType);
|
|
10100
|
+
},
|
|
10101
|
+
onBeginProcessingChildContext: function () {
|
|
10102
|
+
emitEvent('onBeginProcessingChildContext');
|
|
10103
|
+
},
|
|
10104
|
+
onEndProcessingChildContext: function () {
|
|
10105
|
+
emitEvent('onEndProcessingChildContext');
|
|
10106
|
+
},
|
|
10107
|
+
onNativeOperation: function (debugID, type, payload) {
|
|
10108
|
+
emitEvent('onNativeOperation', debugID, type, payload);
|
|
9624
10109
|
},
|
|
9625
|
-
|
|
9626
|
-
emitEvent('
|
|
10110
|
+
onSetState: function () {
|
|
10111
|
+
emitEvent('onSetState');
|
|
10112
|
+
},
|
|
10113
|
+
onSetDisplayName: function (debugID, displayName) {
|
|
10114
|
+
emitEvent('onSetDisplayName', debugID, displayName);
|
|
10115
|
+
},
|
|
10116
|
+
onSetChildren: function (debugID, childDebugIDs) {
|
|
10117
|
+
emitEvent('onSetChildren', debugID, childDebugIDs);
|
|
9627
10118
|
},
|
|
9628
|
-
|
|
9629
|
-
emitEvent('
|
|
10119
|
+
onSetOwner: function (debugID, ownerDebugID) {
|
|
10120
|
+
emitEvent('onSetOwner', debugID, ownerDebugID);
|
|
9630
10121
|
},
|
|
9631
|
-
|
|
9632
|
-
emitEvent('
|
|
10122
|
+
onSetText: function (debugID, text) {
|
|
10123
|
+
emitEvent('onSetText', debugID, text);
|
|
9633
10124
|
},
|
|
9634
|
-
|
|
9635
|
-
emitEvent('
|
|
10125
|
+
onMountRootComponent: function (debugID) {
|
|
10126
|
+
emitEvent('onMountRootComponent', debugID);
|
|
10127
|
+
},
|
|
10128
|
+
onMountComponent: function (debugID) {
|
|
10129
|
+
emitEvent('onMountComponent', debugID);
|
|
10130
|
+
},
|
|
10131
|
+
onUpdateComponent: function (debugID) {
|
|
10132
|
+
emitEvent('onUpdateComponent', debugID);
|
|
10133
|
+
},
|
|
10134
|
+
onUnmountComponent: function (debugID) {
|
|
10135
|
+
emitEvent('onUnmountComponent', debugID);
|
|
9636
10136
|
}
|
|
9637
10137
|
};
|
|
9638
10138
|
|
|
9639
|
-
|
|
10139
|
+
if ("development" !== 'production') {
|
|
10140
|
+
var ReactInvalidSetStateWarningDevTool = _dereq_(77);
|
|
10141
|
+
var ReactNativeOperationHistoryDevtool = _dereq_(84);
|
|
10142
|
+
var ReactComponentTreeDevtool = _dereq_(37);
|
|
10143
|
+
ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool);
|
|
10144
|
+
ReactDebugTool.addDevtool(ReactComponentTreeDevtool);
|
|
10145
|
+
ReactDebugTool.addDevtool(ReactNativeOperationHistoryDevtool);
|
|
10146
|
+
var url = ExecutionEnvironment.canUseDOM && window.location.href || '';
|
|
10147
|
+
if (/[?&]react_perf\b/.test(url)) {
|
|
10148
|
+
ReactDebugTool.beginProfiling();
|
|
10149
|
+
}
|
|
10150
|
+
}
|
|
9640
10151
|
|
|
9641
10152
|
module.exports = ReactDebugTool;
|
|
9642
|
-
},{"183":183,"
|
|
10153
|
+
},{"159":159,"181":181,"183":183,"37":37,"77":77,"84":84}],63:[function(_dereq_,module,exports){
|
|
9643
10154
|
/**
|
|
9644
10155
|
* Copyright 2013-present, Facebook, Inc.
|
|
9645
10156
|
* All rights reserved.
|
|
@@ -9708,7 +10219,7 @@ var ReactDefaultBatchingStrategy = {
|
|
|
9708
10219
|
};
|
|
9709
10220
|
|
|
9710
10221
|
module.exports = ReactDefaultBatchingStrategy;
|
|
9711
|
-
},{"104":104,"124":124,"165":165,"184":184}],
|
|
10222
|
+
},{"104":104,"124":124,"165":165,"184":184}],64:[function(_dereq_,module,exports){
|
|
9712
10223
|
/**
|
|
9713
10224
|
* Copyright 2013-present, Facebook, Inc.
|
|
9714
10225
|
* All rights reserved.
|
|
@@ -9726,17 +10237,16 @@ var BeforeInputEventPlugin = _dereq_(2);
|
|
|
9726
10237
|
var ChangeEventPlugin = _dereq_(6);
|
|
9727
10238
|
var DefaultEventPluginOrder = _dereq_(13);
|
|
9728
10239
|
var EnterLeaveEventPlugin = _dereq_(15);
|
|
9729
|
-
var ExecutionEnvironment = _dereq_(159);
|
|
9730
10240
|
var HTMLDOMPropertyConfig = _dereq_(22);
|
|
9731
10241
|
var ReactComponentBrowserEnvironment = _dereq_(35);
|
|
9732
|
-
var ReactDOMComponent = _dereq_(
|
|
9733
|
-
var ReactDOMComponentTree = _dereq_(
|
|
9734
|
-
var ReactDOMEmptyComponent = _dereq_(
|
|
9735
|
-
var ReactDOMTreeTraversal = _dereq_(
|
|
9736
|
-
var ReactDOMTextComponent = _dereq_(
|
|
9737
|
-
var ReactDefaultBatchingStrategy = _dereq_(
|
|
9738
|
-
var ReactEventListener = _dereq_(
|
|
9739
|
-
var ReactInjection = _dereq_(
|
|
10242
|
+
var ReactDOMComponent = _dereq_(43);
|
|
10243
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
10244
|
+
var ReactDOMEmptyComponent = _dereq_(48);
|
|
10245
|
+
var ReactDOMTreeTraversal = _dereq_(60);
|
|
10246
|
+
var ReactDOMTextComponent = _dereq_(58);
|
|
10247
|
+
var ReactDefaultBatchingStrategy = _dereq_(63);
|
|
10248
|
+
var ReactEventListener = _dereq_(70);
|
|
10249
|
+
var ReactInjection = _dereq_(73);
|
|
9740
10250
|
var ReactReconcileTransaction = _dereq_(92);
|
|
9741
10251
|
var SVGDOMPropertyConfig = _dereq_(108);
|
|
9742
10252
|
var SelectEventPlugin = _dereq_(109);
|
|
@@ -9789,548 +10299,12 @@ function inject() {
|
|
|
9789
10299
|
ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);
|
|
9790
10300
|
|
|
9791
10301
|
ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);
|
|
9792
|
-
|
|
9793
|
-
if ("development" !== 'production') {
|
|
9794
|
-
var url = ExecutionEnvironment.canUseDOM && window.location.href || '';
|
|
9795
|
-
if (/[?&]react_perf\b/.test(url)) {
|
|
9796
|
-
var ReactDefaultPerf = _dereq_(64);
|
|
9797
|
-
ReactDefaultPerf.start();
|
|
9798
|
-
}
|
|
9799
|
-
}
|
|
9800
10302
|
}
|
|
9801
10303
|
|
|
9802
10304
|
module.exports = {
|
|
9803
10305
|
inject: inject
|
|
9804
10306
|
};
|
|
9805
|
-
},{"108":108,"109":109,"110":110,"13":13,"15":15,"
|
|
9806
|
-
/**
|
|
9807
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
9808
|
-
* All rights reserved.
|
|
9809
|
-
*
|
|
9810
|
-
* This source code is licensed under the BSD-style license found in the
|
|
9811
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
9812
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
9813
|
-
*
|
|
9814
|
-
* @providesModule ReactDefaultPerf
|
|
9815
|
-
*/
|
|
9816
|
-
|
|
9817
|
-
'use strict';
|
|
9818
|
-
|
|
9819
|
-
var DOMProperty = _dereq_(10);
|
|
9820
|
-
var ReactDOMComponentTree = _dereq_(44);
|
|
9821
|
-
var ReactDefaultPerfAnalysis = _dereq_(65);
|
|
9822
|
-
var ReactMount = _dereq_(81);
|
|
9823
|
-
var ReactPerf = _dereq_(88);
|
|
9824
|
-
|
|
9825
|
-
var performanceNow = _dereq_(181);
|
|
9826
|
-
var warning = _dereq_(183);
|
|
9827
|
-
|
|
9828
|
-
function roundFloat(val) {
|
|
9829
|
-
return Math.floor(val * 100) / 100;
|
|
9830
|
-
}
|
|
9831
|
-
|
|
9832
|
-
function addValue(obj, key, val) {
|
|
9833
|
-
obj[key] = (obj[key] || 0) + val;
|
|
9834
|
-
}
|
|
9835
|
-
|
|
9836
|
-
// Composite/text components don't have any built-in ID: we have to make our own
|
|
9837
|
-
var compositeIDMap;
|
|
9838
|
-
var compositeIDCounter = 17000;
|
|
9839
|
-
function getIDOfComposite(inst) {
|
|
9840
|
-
if (!compositeIDMap) {
|
|
9841
|
-
compositeIDMap = new WeakMap();
|
|
9842
|
-
}
|
|
9843
|
-
if (compositeIDMap.has(inst)) {
|
|
9844
|
-
return compositeIDMap.get(inst);
|
|
9845
|
-
} else {
|
|
9846
|
-
var id = compositeIDCounter++;
|
|
9847
|
-
compositeIDMap.set(inst, id);
|
|
9848
|
-
return id;
|
|
9849
|
-
}
|
|
9850
|
-
}
|
|
9851
|
-
|
|
9852
|
-
function getID(inst) {
|
|
9853
|
-
if (inst.hasOwnProperty('_rootNodeID')) {
|
|
9854
|
-
return inst._rootNodeID;
|
|
9855
|
-
} else {
|
|
9856
|
-
return getIDOfComposite(inst);
|
|
9857
|
-
}
|
|
9858
|
-
}
|
|
9859
|
-
|
|
9860
|
-
function stripComplexValues(key, value) {
|
|
9861
|
-
if (typeof value !== 'object' || Array.isArray(value) || value == null) {
|
|
9862
|
-
return value;
|
|
9863
|
-
}
|
|
9864
|
-
var prototype = Object.getPrototypeOf(value);
|
|
9865
|
-
if (!prototype || prototype === Object.prototype) {
|
|
9866
|
-
return value;
|
|
9867
|
-
}
|
|
9868
|
-
return '<not serializable>';
|
|
9869
|
-
}
|
|
9870
|
-
|
|
9871
|
-
// This implementation of ReactPerf is going away some time mid 15.x.
|
|
9872
|
-
// While we plan to keep most of the API, the actual format of measurements
|
|
9873
|
-
// will change dramatically. To signal this, we wrap them into an opaque-ish
|
|
9874
|
-
// object to discourage reaching into it until the API stabilizes.
|
|
9875
|
-
function wrapLegacyMeasurements(measurements) {
|
|
9876
|
-
return { __unstable_this_format_will_change: measurements };
|
|
9877
|
-
}
|
|
9878
|
-
function unwrapLegacyMeasurements(measurements) {
|
|
9879
|
-
return measurements && measurements.__unstable_this_format_will_change || measurements;
|
|
9880
|
-
}
|
|
9881
|
-
|
|
9882
|
-
var warnedAboutPrintDOM = false;
|
|
9883
|
-
var warnedAboutGetMeasurementsSummaryMap = false;
|
|
9884
|
-
|
|
9885
|
-
var ReactDefaultPerf = {
|
|
9886
|
-
_allMeasurements: [], // last item in the list is the current one
|
|
9887
|
-
_mountStack: [0],
|
|
9888
|
-
_compositeStack: [],
|
|
9889
|
-
_injected: false,
|
|
9890
|
-
|
|
9891
|
-
start: function () {
|
|
9892
|
-
if (!ReactDefaultPerf._injected) {
|
|
9893
|
-
ReactPerf.injection.injectMeasure(ReactDefaultPerf.measure);
|
|
9894
|
-
}
|
|
9895
|
-
|
|
9896
|
-
ReactDefaultPerf._allMeasurements.length = 0;
|
|
9897
|
-
ReactPerf.enableMeasure = true;
|
|
9898
|
-
},
|
|
9899
|
-
|
|
9900
|
-
stop: function () {
|
|
9901
|
-
ReactPerf.enableMeasure = false;
|
|
9902
|
-
},
|
|
9903
|
-
|
|
9904
|
-
getLastMeasurements: function () {
|
|
9905
|
-
return wrapLegacyMeasurements(ReactDefaultPerf._allMeasurements);
|
|
9906
|
-
},
|
|
9907
|
-
|
|
9908
|
-
printExclusive: function (measurements) {
|
|
9909
|
-
measurements = unwrapLegacyMeasurements(measurements || ReactDefaultPerf._allMeasurements);
|
|
9910
|
-
var summary = ReactDefaultPerfAnalysis.getExclusiveSummary(measurements);
|
|
9911
|
-
console.table(summary.map(function (item) {
|
|
9912
|
-
return {
|
|
9913
|
-
'Component class name': item.componentName,
|
|
9914
|
-
'Total inclusive time (ms)': roundFloat(item.inclusive),
|
|
9915
|
-
'Exclusive mount time (ms)': roundFloat(item.exclusive),
|
|
9916
|
-
'Exclusive render time (ms)': roundFloat(item.render),
|
|
9917
|
-
'Mount time per instance (ms)': roundFloat(item.exclusive / item.count),
|
|
9918
|
-
'Render time per instance (ms)': roundFloat(item.render / item.count),
|
|
9919
|
-
'Instances': item.count
|
|
9920
|
-
};
|
|
9921
|
-
}));
|
|
9922
|
-
// TODO: ReactDefaultPerfAnalysis.getTotalTime() does not return the correct
|
|
9923
|
-
// number.
|
|
9924
|
-
},
|
|
9925
|
-
|
|
9926
|
-
printInclusive: function (measurements) {
|
|
9927
|
-
measurements = unwrapLegacyMeasurements(measurements || ReactDefaultPerf._allMeasurements);
|
|
9928
|
-
var summary = ReactDefaultPerfAnalysis.getInclusiveSummary(measurements);
|
|
9929
|
-
console.table(summary.map(function (item) {
|
|
9930
|
-
return {
|
|
9931
|
-
'Owner > component': item.componentName,
|
|
9932
|
-
'Inclusive time (ms)': roundFloat(item.time),
|
|
9933
|
-
'Instances': item.count
|
|
9934
|
-
};
|
|
9935
|
-
}));
|
|
9936
|
-
console.log('Total time:', ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2) + ' ms');
|
|
9937
|
-
},
|
|
9938
|
-
|
|
9939
|
-
getMeasurementsSummaryMap: function (measurements) {
|
|
9940
|
-
"development" !== 'production' ? warning(warnedAboutGetMeasurementsSummaryMap, '`ReactPerf.getMeasurementsSummaryMap(...)` is deprecated. Use ' + '`ReactPerf.getWasted(...)` instead.') : void 0;
|
|
9941
|
-
warnedAboutGetMeasurementsSummaryMap = true;
|
|
9942
|
-
return ReactDefaultPerf.getWasted(measurements);
|
|
9943
|
-
},
|
|
9944
|
-
|
|
9945
|
-
getWasted: function (measurements) {
|
|
9946
|
-
measurements = unwrapLegacyMeasurements(measurements);
|
|
9947
|
-
var summary = ReactDefaultPerfAnalysis.getInclusiveSummary(measurements, true);
|
|
9948
|
-
return summary.map(function (item) {
|
|
9949
|
-
return {
|
|
9950
|
-
'Owner > component': item.componentName,
|
|
9951
|
-
'Wasted time (ms)': item.time,
|
|
9952
|
-
'Instances': item.count
|
|
9953
|
-
};
|
|
9954
|
-
});
|
|
9955
|
-
},
|
|
9956
|
-
|
|
9957
|
-
printWasted: function (measurements) {
|
|
9958
|
-
measurements = unwrapLegacyMeasurements(measurements || ReactDefaultPerf._allMeasurements);
|
|
9959
|
-
console.table(ReactDefaultPerf.getWasted(measurements));
|
|
9960
|
-
console.log('Total time:', ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2) + ' ms');
|
|
9961
|
-
},
|
|
9962
|
-
|
|
9963
|
-
printDOM: function (measurements) {
|
|
9964
|
-
"development" !== 'production' ? warning(warnedAboutPrintDOM, '`ReactPerf.printDOM(...)` is deprecated. Use ' + '`ReactPerf.printOperations(...)` instead.') : void 0;
|
|
9965
|
-
warnedAboutPrintDOM = true;
|
|
9966
|
-
return ReactDefaultPerf.printOperations(measurements);
|
|
9967
|
-
},
|
|
9968
|
-
|
|
9969
|
-
printOperations: function (measurements) {
|
|
9970
|
-
measurements = unwrapLegacyMeasurements(measurements || ReactDefaultPerf._allMeasurements);
|
|
9971
|
-
var summary = ReactDefaultPerfAnalysis.getDOMSummary(measurements);
|
|
9972
|
-
console.table(summary.map(function (item) {
|
|
9973
|
-
var result = {};
|
|
9974
|
-
result[DOMProperty.ID_ATTRIBUTE_NAME] = item.id;
|
|
9975
|
-
result.type = item.type;
|
|
9976
|
-
result.args = JSON.stringify(item.args, stripComplexValues);
|
|
9977
|
-
return result;
|
|
9978
|
-
}));
|
|
9979
|
-
console.log('Total time:', ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2) + ' ms');
|
|
9980
|
-
},
|
|
9981
|
-
|
|
9982
|
-
_recordWrite: function (id, fnName, totalTime, args) {
|
|
9983
|
-
// TODO: totalTime isn't that useful since it doesn't count paints/reflows
|
|
9984
|
-
var entry = ReactDefaultPerf._allMeasurements[ReactDefaultPerf._allMeasurements.length - 1];
|
|
9985
|
-
var writes = entry.writes;
|
|
9986
|
-
writes[id] = writes[id] || [];
|
|
9987
|
-
writes[id].push({
|
|
9988
|
-
type: fnName,
|
|
9989
|
-
time: totalTime,
|
|
9990
|
-
args: args
|
|
9991
|
-
});
|
|
9992
|
-
},
|
|
9993
|
-
|
|
9994
|
-
measure: function (moduleName, fnName, func) {
|
|
9995
|
-
return function () {
|
|
9996
|
-
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|
9997
|
-
args[_key] = arguments[_key];
|
|
9998
|
-
}
|
|
9999
|
-
|
|
10000
|
-
var totalTime;
|
|
10001
|
-
var rv;
|
|
10002
|
-
var start;
|
|
10003
|
-
|
|
10004
|
-
var entry = ReactDefaultPerf._allMeasurements[ReactDefaultPerf._allMeasurements.length - 1];
|
|
10005
|
-
|
|
10006
|
-
if (fnName === '_renderNewRootComponent' || fnName === 'flushBatchedUpdates') {
|
|
10007
|
-
// A "measurement" is a set of metrics recorded for each flush. We want
|
|
10008
|
-
// to group the metrics for a given flush together so we can look at the
|
|
10009
|
-
// components that rendered and the DOM operations that actually
|
|
10010
|
-
// happened to determine the amount of "wasted work" performed.
|
|
10011
|
-
ReactDefaultPerf._allMeasurements.push(entry = {
|
|
10012
|
-
exclusive: {},
|
|
10013
|
-
inclusive: {},
|
|
10014
|
-
render: {},
|
|
10015
|
-
counts: {},
|
|
10016
|
-
writes: {},
|
|
10017
|
-
displayNames: {},
|
|
10018
|
-
hierarchy: {},
|
|
10019
|
-
totalTime: 0,
|
|
10020
|
-
created: {}
|
|
10021
|
-
});
|
|
10022
|
-
start = performanceNow();
|
|
10023
|
-
rv = func.apply(this, args);
|
|
10024
|
-
entry.totalTime = performanceNow() - start;
|
|
10025
|
-
return rv;
|
|
10026
|
-
} else if (fnName === '_mountImageIntoNode' || moduleName === 'ReactDOMIDOperations' || moduleName === 'CSSPropertyOperations' || moduleName === 'DOMChildrenOperations' || moduleName === 'DOMPropertyOperations' || moduleName === 'ReactComponentBrowserEnvironment') {
|
|
10027
|
-
start = performanceNow();
|
|
10028
|
-
rv = func.apply(this, args);
|
|
10029
|
-
totalTime = performanceNow() - start;
|
|
10030
|
-
|
|
10031
|
-
if (fnName === '_mountImageIntoNode') {
|
|
10032
|
-
ReactDefaultPerf._recordWrite('', fnName, totalTime, args[0]);
|
|
10033
|
-
} else if (fnName === 'dangerouslyProcessChildrenUpdates') {
|
|
10034
|
-
// special format
|
|
10035
|
-
args[1].forEach(function (update) {
|
|
10036
|
-
var writeArgs = {};
|
|
10037
|
-
if (update.fromIndex !== null) {
|
|
10038
|
-
writeArgs.fromIndex = update.fromIndex;
|
|
10039
|
-
}
|
|
10040
|
-
if (update.toIndex !== null) {
|
|
10041
|
-
writeArgs.toIndex = update.toIndex;
|
|
10042
|
-
}
|
|
10043
|
-
if (update.content !== null) {
|
|
10044
|
-
writeArgs.content = update.content;
|
|
10045
|
-
}
|
|
10046
|
-
ReactDefaultPerf._recordWrite(args[0]._rootNodeID, update.type, totalTime, writeArgs);
|
|
10047
|
-
});
|
|
10048
|
-
} else {
|
|
10049
|
-
// basic format
|
|
10050
|
-
var id = args[0];
|
|
10051
|
-
if (moduleName === 'EventPluginHub') {
|
|
10052
|
-
id = id._rootNodeID;
|
|
10053
|
-
} else if (fnName === 'replaceNodeWithMarkup') {
|
|
10054
|
-
// Old node is already unmounted; can't get its instance
|
|
10055
|
-
id = ReactDOMComponentTree.getInstanceFromNode(args[1].node)._rootNodeID;
|
|
10056
|
-
} else if (fnName === 'replaceDelimitedText') {
|
|
10057
|
-
id = getID(ReactDOMComponentTree.getInstanceFromNode(args[0]));
|
|
10058
|
-
} else if (typeof id === 'object') {
|
|
10059
|
-
id = getID(ReactDOMComponentTree.getInstanceFromNode(args[0]));
|
|
10060
|
-
}
|
|
10061
|
-
ReactDefaultPerf._recordWrite(id, fnName, totalTime, Array.prototype.slice.call(args, 1));
|
|
10062
|
-
}
|
|
10063
|
-
return rv;
|
|
10064
|
-
} else if (moduleName === 'ReactCompositeComponent' && (fnName === 'mountComponent' || fnName === 'updateComponent' || // TODO: receiveComponent()?
|
|
10065
|
-
fnName === '_renderValidatedComponent')) {
|
|
10066
|
-
|
|
10067
|
-
if (this._currentElement.type === ReactMount.TopLevelWrapper) {
|
|
10068
|
-
return func.apply(this, args);
|
|
10069
|
-
}
|
|
10070
|
-
|
|
10071
|
-
var rootNodeID = getIDOfComposite(this);
|
|
10072
|
-
var isRender = fnName === '_renderValidatedComponent';
|
|
10073
|
-
var isMount = fnName === 'mountComponent';
|
|
10074
|
-
|
|
10075
|
-
var mountStack = ReactDefaultPerf._mountStack;
|
|
10076
|
-
|
|
10077
|
-
if (isRender) {
|
|
10078
|
-
addValue(entry.counts, rootNodeID, 1);
|
|
10079
|
-
} else if (isMount) {
|
|
10080
|
-
entry.created[rootNodeID] = true;
|
|
10081
|
-
mountStack.push(0);
|
|
10082
|
-
}
|
|
10083
|
-
|
|
10084
|
-
ReactDefaultPerf._compositeStack.push(rootNodeID);
|
|
10085
|
-
|
|
10086
|
-
start = performanceNow();
|
|
10087
|
-
rv = func.apply(this, args);
|
|
10088
|
-
totalTime = performanceNow() - start;
|
|
10089
|
-
|
|
10090
|
-
ReactDefaultPerf._compositeStack.pop();
|
|
10091
|
-
|
|
10092
|
-
if (isRender) {
|
|
10093
|
-
addValue(entry.render, rootNodeID, totalTime);
|
|
10094
|
-
} else if (isMount) {
|
|
10095
|
-
var subMountTime = mountStack.pop();
|
|
10096
|
-
mountStack[mountStack.length - 1] += totalTime;
|
|
10097
|
-
addValue(entry.exclusive, rootNodeID, totalTime - subMountTime);
|
|
10098
|
-
addValue(entry.inclusive, rootNodeID, totalTime);
|
|
10099
|
-
} else {
|
|
10100
|
-
addValue(entry.inclusive, rootNodeID, totalTime);
|
|
10101
|
-
}
|
|
10102
|
-
|
|
10103
|
-
entry.displayNames[rootNodeID] = {
|
|
10104
|
-
current: this.getName(),
|
|
10105
|
-
owner: this._currentElement._owner ? this._currentElement._owner.getName() : '<root>'
|
|
10106
|
-
};
|
|
10107
|
-
|
|
10108
|
-
return rv;
|
|
10109
|
-
} else if ((moduleName === 'ReactDOMComponent' || moduleName === 'ReactDOMTextComponent') && (fnName === 'mountComponent' || fnName === 'receiveComponent')) {
|
|
10110
|
-
|
|
10111
|
-
rv = func.apply(this, args);
|
|
10112
|
-
entry.hierarchy[getID(this)] = ReactDefaultPerf._compositeStack.slice();
|
|
10113
|
-
return rv;
|
|
10114
|
-
} else {
|
|
10115
|
-
return func.apply(this, args);
|
|
10116
|
-
}
|
|
10117
|
-
};
|
|
10118
|
-
}
|
|
10119
|
-
};
|
|
10120
|
-
|
|
10121
|
-
module.exports = ReactDefaultPerf;
|
|
10122
|
-
},{"10":10,"181":181,"183":183,"44":44,"65":65,"81":81,"88":88}],65:[function(_dereq_,module,exports){
|
|
10123
|
-
/**
|
|
10124
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
10125
|
-
* All rights reserved.
|
|
10126
|
-
*
|
|
10127
|
-
* This source code is licensed under the BSD-style license found in the
|
|
10128
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
10129
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
10130
|
-
*
|
|
10131
|
-
* @providesModule ReactDefaultPerfAnalysis
|
|
10132
|
-
*/
|
|
10133
|
-
|
|
10134
|
-
'use strict';
|
|
10135
|
-
|
|
10136
|
-
// Don't try to save users less than 1.2ms (a number I made up)
|
|
10137
|
-
|
|
10138
|
-
var _assign = _dereq_(184);
|
|
10139
|
-
|
|
10140
|
-
var DONT_CARE_THRESHOLD = 1.2;
|
|
10141
|
-
var DOM_OPERATION_TYPES = {
|
|
10142
|
-
'_mountImageIntoNode': 'set innerHTML',
|
|
10143
|
-
INSERT_MARKUP: 'set innerHTML',
|
|
10144
|
-
MOVE_EXISTING: 'move',
|
|
10145
|
-
REMOVE_NODE: 'remove',
|
|
10146
|
-
SET_MARKUP: 'set innerHTML',
|
|
10147
|
-
TEXT_CONTENT: 'set textContent',
|
|
10148
|
-
'setValueForProperty': 'update attribute',
|
|
10149
|
-
'setValueForAttribute': 'update attribute',
|
|
10150
|
-
'deleteValueForProperty': 'remove attribute',
|
|
10151
|
-
'setValueForStyles': 'update styles',
|
|
10152
|
-
'replaceNodeWithMarkup': 'replace',
|
|
10153
|
-
'replaceDelimitedText': 'replace'
|
|
10154
|
-
};
|
|
10155
|
-
|
|
10156
|
-
function getTotalTime(measurements) {
|
|
10157
|
-
// TODO: return number of DOM ops? could be misleading.
|
|
10158
|
-
// TODO: measure dropped frames after reconcile?
|
|
10159
|
-
// TODO: log total time of each reconcile and the top-level component
|
|
10160
|
-
// class that triggered it.
|
|
10161
|
-
var totalTime = 0;
|
|
10162
|
-
for (var i = 0; i < measurements.length; i++) {
|
|
10163
|
-
var measurement = measurements[i];
|
|
10164
|
-
totalTime += measurement.totalTime;
|
|
10165
|
-
}
|
|
10166
|
-
return totalTime;
|
|
10167
|
-
}
|
|
10168
|
-
|
|
10169
|
-
function getDOMSummary(measurements) {
|
|
10170
|
-
var items = [];
|
|
10171
|
-
measurements.forEach(function (measurement) {
|
|
10172
|
-
Object.keys(measurement.writes).forEach(function (id) {
|
|
10173
|
-
measurement.writes[id].forEach(function (write) {
|
|
10174
|
-
items.push({
|
|
10175
|
-
id: id,
|
|
10176
|
-
type: DOM_OPERATION_TYPES[write.type] || write.type,
|
|
10177
|
-
args: write.args
|
|
10178
|
-
});
|
|
10179
|
-
});
|
|
10180
|
-
});
|
|
10181
|
-
});
|
|
10182
|
-
return items;
|
|
10183
|
-
}
|
|
10184
|
-
|
|
10185
|
-
function getExclusiveSummary(measurements) {
|
|
10186
|
-
var candidates = {};
|
|
10187
|
-
var displayName;
|
|
10188
|
-
|
|
10189
|
-
for (var i = 0; i < measurements.length; i++) {
|
|
10190
|
-
var measurement = measurements[i];
|
|
10191
|
-
var allIDs = _assign({}, measurement.exclusive, measurement.inclusive);
|
|
10192
|
-
|
|
10193
|
-
for (var id in allIDs) {
|
|
10194
|
-
displayName = measurement.displayNames[id].current;
|
|
10195
|
-
|
|
10196
|
-
candidates[displayName] = candidates[displayName] || {
|
|
10197
|
-
componentName: displayName,
|
|
10198
|
-
inclusive: 0,
|
|
10199
|
-
exclusive: 0,
|
|
10200
|
-
render: 0,
|
|
10201
|
-
count: 0
|
|
10202
|
-
};
|
|
10203
|
-
if (measurement.render[id]) {
|
|
10204
|
-
candidates[displayName].render += measurement.render[id];
|
|
10205
|
-
}
|
|
10206
|
-
if (measurement.exclusive[id]) {
|
|
10207
|
-
candidates[displayName].exclusive += measurement.exclusive[id];
|
|
10208
|
-
}
|
|
10209
|
-
if (measurement.inclusive[id]) {
|
|
10210
|
-
candidates[displayName].inclusive += measurement.inclusive[id];
|
|
10211
|
-
}
|
|
10212
|
-
if (measurement.counts[id]) {
|
|
10213
|
-
candidates[displayName].count += measurement.counts[id];
|
|
10214
|
-
}
|
|
10215
|
-
}
|
|
10216
|
-
}
|
|
10217
|
-
|
|
10218
|
-
// Now make a sorted array with the results.
|
|
10219
|
-
var arr = [];
|
|
10220
|
-
for (displayName in candidates) {
|
|
10221
|
-
if (candidates[displayName].exclusive >= DONT_CARE_THRESHOLD) {
|
|
10222
|
-
arr.push(candidates[displayName]);
|
|
10223
|
-
}
|
|
10224
|
-
}
|
|
10225
|
-
|
|
10226
|
-
arr.sort(function (a, b) {
|
|
10227
|
-
return b.exclusive - a.exclusive;
|
|
10228
|
-
});
|
|
10229
|
-
|
|
10230
|
-
return arr;
|
|
10231
|
-
}
|
|
10232
|
-
|
|
10233
|
-
function getInclusiveSummary(measurements, onlyClean) {
|
|
10234
|
-
var candidates = {};
|
|
10235
|
-
var inclusiveKey;
|
|
10236
|
-
|
|
10237
|
-
for (var i = 0; i < measurements.length; i++) {
|
|
10238
|
-
var measurement = measurements[i];
|
|
10239
|
-
var allIDs = _assign({}, measurement.exclusive, measurement.inclusive);
|
|
10240
|
-
var cleanComponents;
|
|
10241
|
-
|
|
10242
|
-
if (onlyClean) {
|
|
10243
|
-
cleanComponents = getUnchangedComponents(measurement);
|
|
10244
|
-
}
|
|
10245
|
-
|
|
10246
|
-
for (var id in allIDs) {
|
|
10247
|
-
if (onlyClean && !cleanComponents[id]) {
|
|
10248
|
-
continue;
|
|
10249
|
-
}
|
|
10250
|
-
|
|
10251
|
-
var displayName = measurement.displayNames[id];
|
|
10252
|
-
|
|
10253
|
-
// Inclusive time is not useful for many components without knowing where
|
|
10254
|
-
// they are instantiated. So we aggregate inclusive time with both the
|
|
10255
|
-
// owner and current displayName as the key.
|
|
10256
|
-
inclusiveKey = displayName.owner + ' > ' + displayName.current;
|
|
10257
|
-
|
|
10258
|
-
candidates[inclusiveKey] = candidates[inclusiveKey] || {
|
|
10259
|
-
componentName: inclusiveKey,
|
|
10260
|
-
time: 0,
|
|
10261
|
-
count: 0
|
|
10262
|
-
};
|
|
10263
|
-
|
|
10264
|
-
if (measurement.inclusive[id]) {
|
|
10265
|
-
candidates[inclusiveKey].time += measurement.inclusive[id];
|
|
10266
|
-
}
|
|
10267
|
-
if (measurement.counts[id]) {
|
|
10268
|
-
candidates[inclusiveKey].count += measurement.counts[id];
|
|
10269
|
-
}
|
|
10270
|
-
}
|
|
10271
|
-
}
|
|
10272
|
-
|
|
10273
|
-
// Now make a sorted array with the results.
|
|
10274
|
-
var arr = [];
|
|
10275
|
-
for (inclusiveKey in candidates) {
|
|
10276
|
-
if (candidates[inclusiveKey].time >= DONT_CARE_THRESHOLD) {
|
|
10277
|
-
arr.push(candidates[inclusiveKey]);
|
|
10278
|
-
}
|
|
10279
|
-
}
|
|
10280
|
-
|
|
10281
|
-
arr.sort(function (a, b) {
|
|
10282
|
-
return b.time - a.time;
|
|
10283
|
-
});
|
|
10284
|
-
|
|
10285
|
-
return arr;
|
|
10286
|
-
}
|
|
10287
|
-
|
|
10288
|
-
function getUnchangedComponents(measurement) {
|
|
10289
|
-
// For a given reconcile, look at which components did not actually
|
|
10290
|
-
// render anything to the DOM and return a mapping of their ID to
|
|
10291
|
-
// the amount of time it took to render the entire subtree.
|
|
10292
|
-
var cleanComponents = {};
|
|
10293
|
-
var writes = measurement.writes;
|
|
10294
|
-
var hierarchy = measurement.hierarchy;
|
|
10295
|
-
var dirtyComposites = {};
|
|
10296
|
-
Object.keys(writes).forEach(function (id) {
|
|
10297
|
-
writes[id].forEach(function (write) {
|
|
10298
|
-
// Root mounting (innerHTML set) is recorded with an ID of ''
|
|
10299
|
-
if (id !== '' && hierarchy.hasOwnProperty(id)) {
|
|
10300
|
-
hierarchy[id].forEach(function (c) {
|
|
10301
|
-
return dirtyComposites[c] = true;
|
|
10302
|
-
});
|
|
10303
|
-
}
|
|
10304
|
-
});
|
|
10305
|
-
});
|
|
10306
|
-
var allIDs = _assign({}, measurement.exclusive, measurement.inclusive);
|
|
10307
|
-
|
|
10308
|
-
for (var id in allIDs) {
|
|
10309
|
-
var isDirty = false;
|
|
10310
|
-
// See if any of the DOM operations applied to this component's subtree.
|
|
10311
|
-
if (dirtyComposites[id]) {
|
|
10312
|
-
isDirty = true;
|
|
10313
|
-
}
|
|
10314
|
-
// check if component newly created
|
|
10315
|
-
if (measurement.created[id]) {
|
|
10316
|
-
isDirty = true;
|
|
10317
|
-
}
|
|
10318
|
-
if (!isDirty && measurement.counts[id] > 0) {
|
|
10319
|
-
cleanComponents[id] = true;
|
|
10320
|
-
}
|
|
10321
|
-
}
|
|
10322
|
-
return cleanComponents;
|
|
10323
|
-
}
|
|
10324
|
-
|
|
10325
|
-
var ReactDefaultPerfAnalysis = {
|
|
10326
|
-
getExclusiveSummary: getExclusiveSummary,
|
|
10327
|
-
getInclusiveSummary: getInclusiveSummary,
|
|
10328
|
-
getDOMSummary: getDOMSummary,
|
|
10329
|
-
getTotalTime: getTotalTime
|
|
10330
|
-
};
|
|
10331
|
-
|
|
10332
|
-
module.exports = ReactDefaultPerfAnalysis;
|
|
10333
|
-
},{"184":184}],66:[function(_dereq_,module,exports){
|
|
10307
|
+
},{"108":108,"109":109,"110":110,"13":13,"15":15,"2":2,"22":22,"35":35,"43":43,"45":45,"48":48,"58":58,"6":6,"60":60,"63":63,"70":70,"73":73,"92":92}],65:[function(_dereq_,module,exports){
|
|
10334
10308
|
/**
|
|
10335
10309
|
* Copyright 2014-present, Facebook, Inc.
|
|
10336
10310
|
* All rights reserved.
|
|
@@ -10346,7 +10320,7 @@ module.exports = ReactDefaultPerfAnalysis;
|
|
|
10346
10320
|
|
|
10347
10321
|
var _assign = _dereq_(184);
|
|
10348
10322
|
|
|
10349
|
-
var ReactCurrentOwner = _dereq_(
|
|
10323
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
10350
10324
|
|
|
10351
10325
|
var warning = _dereq_(183);
|
|
10352
10326
|
var canDefineProperty = _dereq_(128);
|
|
@@ -10446,6 +10420,10 @@ var ReactElement = function (type, key, ref, self, source, owner, props) {
|
|
|
10446
10420
|
return element;
|
|
10447
10421
|
};
|
|
10448
10422
|
|
|
10423
|
+
/**
|
|
10424
|
+
* Create and return a new ReactElement of the given type.
|
|
10425
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.createelement
|
|
10426
|
+
*/
|
|
10449
10427
|
ReactElement.createElement = function (type, config, children) {
|
|
10450
10428
|
var propName;
|
|
10451
10429
|
|
|
@@ -10459,6 +10437,11 @@ ReactElement.createElement = function (type, config, children) {
|
|
|
10459
10437
|
|
|
10460
10438
|
if (config != null) {
|
|
10461
10439
|
if ("development" !== 'production') {
|
|
10440
|
+
"development" !== 'production' ? warning(
|
|
10441
|
+
/* eslint-disable no-proto */
|
|
10442
|
+
config.__proto__ == null || config.__proto__ === Object.prototype,
|
|
10443
|
+
/* eslint-enable no-proto */
|
|
10444
|
+
'React.createElement(...): Expected props argument to be a plain object. ' + 'Properties defined in its prototype chain will be ignored.') : void 0;
|
|
10462
10445
|
ref = !config.hasOwnProperty('ref') || Object.getOwnPropertyDescriptor(config, 'ref').get ? null : config.ref;
|
|
10463
10446
|
key = !config.hasOwnProperty('key') || Object.getOwnPropertyDescriptor(config, 'key').get ? null : '' + config.key;
|
|
10464
10447
|
} else {
|
|
@@ -10530,6 +10513,10 @@ ReactElement.createElement = function (type, config, children) {
|
|
|
10530
10513
|
return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
|
10531
10514
|
};
|
|
10532
10515
|
|
|
10516
|
+
/**
|
|
10517
|
+
* Return a function that produces ReactElements of a given type.
|
|
10518
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory
|
|
10519
|
+
*/
|
|
10533
10520
|
ReactElement.createFactory = function (type) {
|
|
10534
10521
|
var factory = ReactElement.createElement.bind(null, type);
|
|
10535
10522
|
// Expose the type on the factory and the prototype so that it can be
|
|
@@ -10547,6 +10534,10 @@ ReactElement.cloneAndReplaceKey = function (oldElement, newKey) {
|
|
|
10547
10534
|
return newElement;
|
|
10548
10535
|
};
|
|
10549
10536
|
|
|
10537
|
+
/**
|
|
10538
|
+
* Clone and return a new ReactElement using element as the starting point.
|
|
10539
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement
|
|
10540
|
+
*/
|
|
10550
10541
|
ReactElement.cloneElement = function (element, config, children) {
|
|
10551
10542
|
var propName;
|
|
10552
10543
|
|
|
@@ -10567,6 +10558,13 @@ ReactElement.cloneElement = function (element, config, children) {
|
|
|
10567
10558
|
var owner = element._owner;
|
|
10568
10559
|
|
|
10569
10560
|
if (config != null) {
|
|
10561
|
+
if ("development" !== 'production') {
|
|
10562
|
+
"development" !== 'production' ? warning(
|
|
10563
|
+
/* eslint-disable no-proto */
|
|
10564
|
+
config.__proto__ == null || config.__proto__ === Object.prototype,
|
|
10565
|
+
/* eslint-enable no-proto */
|
|
10566
|
+
'React.cloneElement(...): Expected props argument to be a plain object. ' + 'Properties defined in its prototype chain will be ignored.') : void 0;
|
|
10567
|
+
}
|
|
10570
10568
|
if (config.ref !== undefined) {
|
|
10571
10569
|
// Silently steal the ref from the parent.
|
|
10572
10570
|
ref = config.ref;
|
|
@@ -10609,6 +10607,8 @@ ReactElement.cloneElement = function (element, config, children) {
|
|
|
10609
10607
|
};
|
|
10610
10608
|
|
|
10611
10609
|
/**
|
|
10610
|
+
* Verifies the object is a ReactElement.
|
|
10611
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement
|
|
10612
10612
|
* @param {?object} object
|
|
10613
10613
|
* @return {boolean} True if `object` is a valid component.
|
|
10614
10614
|
* @final
|
|
@@ -10618,7 +10618,7 @@ ReactElement.isValidElement = function (object) {
|
|
|
10618
10618
|
};
|
|
10619
10619
|
|
|
10620
10620
|
module.exports = ReactElement;
|
|
10621
|
-
},{"128":128,"183":183,"184":184,"
|
|
10621
|
+
},{"128":128,"183":183,"184":184,"40":40}],66:[function(_dereq_,module,exports){
|
|
10622
10622
|
/**
|
|
10623
10623
|
* Copyright 2014-present, Facebook, Inc.
|
|
10624
10624
|
* All rights reserved.
|
|
@@ -10639,10 +10639,10 @@ module.exports = ReactElement;
|
|
|
10639
10639
|
|
|
10640
10640
|
'use strict';
|
|
10641
10641
|
|
|
10642
|
-
var ReactElement = _dereq_(
|
|
10642
|
+
var ReactElement = _dereq_(65);
|
|
10643
10643
|
var ReactPropTypeLocations = _dereq_(90);
|
|
10644
10644
|
var ReactPropTypeLocationNames = _dereq_(89);
|
|
10645
|
-
var ReactCurrentOwner = _dereq_(
|
|
10645
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
10646
10646
|
|
|
10647
10647
|
var canDefineProperty = _dereq_(128);
|
|
10648
10648
|
var getIteratorFn = _dereq_(139);
|
|
@@ -10900,7 +10900,7 @@ var ReactElementValidator = {
|
|
|
10900
10900
|
};
|
|
10901
10901
|
|
|
10902
10902
|
module.exports = ReactElementValidator;
|
|
10903
|
-
},{"128":128,"139":139,"173":173,"183":183,"
|
|
10903
|
+
},{"128":128,"139":139,"173":173,"183":183,"40":40,"65":65,"89":89,"90":90}],67:[function(_dereq_,module,exports){
|
|
10904
10904
|
/**
|
|
10905
10905
|
* Copyright 2014-present, Facebook, Inc.
|
|
10906
10906
|
* All rights reserved.
|
|
@@ -10931,7 +10931,7 @@ var ReactEmptyComponent = {
|
|
|
10931
10931
|
ReactEmptyComponent.injection = ReactEmptyComponentInjection;
|
|
10932
10932
|
|
|
10933
10933
|
module.exports = ReactEmptyComponent;
|
|
10934
|
-
},{}],
|
|
10934
|
+
},{}],68:[function(_dereq_,module,exports){
|
|
10935
10935
|
/**
|
|
10936
10936
|
* Copyright 2013-present, Facebook, Inc.
|
|
10937
10937
|
* All rights reserved.
|
|
@@ -10945,6 +10945,8 @@ module.exports = ReactEmptyComponent;
|
|
|
10945
10945
|
|
|
10946
10946
|
'use strict';
|
|
10947
10947
|
|
|
10948
|
+
var SyntheticDragEvent = _dereq_(114);
|
|
10949
|
+
|
|
10948
10950
|
var caughtError = null;
|
|
10949
10951
|
|
|
10950
10952
|
/**
|
|
@@ -10989,26 +10991,74 @@ var ReactErrorUtils = {
|
|
|
10989
10991
|
};
|
|
10990
10992
|
|
|
10991
10993
|
if ("development" !== 'production') {
|
|
10992
|
-
|
|
10993
|
-
|
|
10994
|
-
|
|
10995
|
-
|
|
10996
|
-
|
|
10997
|
-
|
|
10998
|
-
|
|
10999
|
-
|
|
11000
|
-
|
|
11001
|
-
|
|
11002
|
-
|
|
11003
|
-
|
|
11004
|
-
|
|
11005
|
-
|
|
10994
|
+
var fakeNode;
|
|
10995
|
+
var cacheCanWrapEvent;
|
|
10996
|
+
|
|
10997
|
+
(function () {
|
|
10998
|
+
|
|
10999
|
+
/**
|
|
11000
|
+
* IE and Edge don't allow access to the DataTransfer.dropEffect property when
|
|
11001
|
+
* it's wrapped in another event. This function detects whether we're in an
|
|
11002
|
+
* environment that behaves this way.
|
|
11003
|
+
*
|
|
11004
|
+
* @param {*} ev Event that is being tested
|
|
11005
|
+
*/
|
|
11006
|
+
|
|
11007
|
+
var canWrapEvent = function (ev) {
|
|
11008
|
+
if (!(ev instanceof SyntheticDragEvent)) {
|
|
11009
|
+
return true;
|
|
11010
|
+
} else if (cacheCanWrapEvent !== null) {
|
|
11011
|
+
return cacheCanWrapEvent;
|
|
11012
|
+
}
|
|
11013
|
+
|
|
11014
|
+
var canAccessDropEffect = false;
|
|
11015
|
+
function handleWrappedEvent() {
|
|
11016
|
+
try {
|
|
11017
|
+
ev.dataTransfer.dropEffect; // eslint-disable-line no-unused-expressions
|
|
11018
|
+
canAccessDropEffect = true;
|
|
11019
|
+
} catch (e) {}
|
|
11020
|
+
}
|
|
11021
|
+
|
|
11022
|
+
var wrappedEventName = 'react-wrappeddragevent';
|
|
11023
|
+
var wrappedEvent = document.createEvent('Event');
|
|
11024
|
+
wrappedEvent.initEvent(wrappedEventName, false, false);
|
|
11025
|
+
fakeNode.addEventListener(wrappedEventName, handleWrappedEvent, false);
|
|
11026
|
+
fakeNode.dispatchEvent(wrappedEvent);
|
|
11027
|
+
fakeNode.removeEventListener(wrappedEventName, handleWrappedEvent, false);
|
|
11028
|
+
|
|
11029
|
+
cacheCanWrapEvent = canAccessDropEffect;
|
|
11030
|
+
return canAccessDropEffect;
|
|
11006
11031
|
};
|
|
11007
|
-
|
|
11032
|
+
|
|
11033
|
+
/**
|
|
11034
|
+
* To help development we can get better devtools integration by simulating a
|
|
11035
|
+
* real browser event.
|
|
11036
|
+
*/
|
|
11037
|
+
if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {
|
|
11038
|
+
fakeNode = document.createElement('react');
|
|
11039
|
+
|
|
11040
|
+
ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) {
|
|
11041
|
+
if (!canWrapEvent(a)) {
|
|
11042
|
+
invokeGuardedCallback(name, func, a, b);
|
|
11043
|
+
return;
|
|
11044
|
+
}
|
|
11045
|
+
|
|
11046
|
+
var boundFunc = func.bind(null, a, b);
|
|
11047
|
+
var evtType = 'react-' + name;
|
|
11048
|
+
fakeNode.addEventListener(evtType, boundFunc, false);
|
|
11049
|
+
var evt = document.createEvent('Event');
|
|
11050
|
+
evt.initEvent(evtType, false, false);
|
|
11051
|
+
fakeNode.dispatchEvent(evt);
|
|
11052
|
+
fakeNode.removeEventListener(evtType, boundFunc, false);
|
|
11053
|
+
};
|
|
11054
|
+
}
|
|
11055
|
+
|
|
11056
|
+
cacheCanWrapEvent = null;
|
|
11057
|
+
})();
|
|
11008
11058
|
}
|
|
11009
11059
|
|
|
11010
11060
|
module.exports = ReactErrorUtils;
|
|
11011
|
-
},{}],
|
|
11061
|
+
},{"114":114}],69:[function(_dereq_,module,exports){
|
|
11012
11062
|
/**
|
|
11013
11063
|
* Copyright 2013-present, Facebook, Inc.
|
|
11014
11064
|
* All rights reserved.
|
|
@@ -11042,7 +11092,7 @@ var ReactEventEmitterMixin = {
|
|
|
11042
11092
|
};
|
|
11043
11093
|
|
|
11044
11094
|
module.exports = ReactEventEmitterMixin;
|
|
11045
|
-
},{"17":17}],
|
|
11095
|
+
},{"17":17}],70:[function(_dereq_,module,exports){
|
|
11046
11096
|
/**
|
|
11047
11097
|
* Copyright 2013-present, Facebook, Inc.
|
|
11048
11098
|
* All rights reserved.
|
|
@@ -11061,7 +11111,7 @@ var _assign = _dereq_(184);
|
|
|
11061
11111
|
var EventListener = _dereq_(158);
|
|
11062
11112
|
var ExecutionEnvironment = _dereq_(159);
|
|
11063
11113
|
var PooledClass = _dereq_(26);
|
|
11064
|
-
var ReactDOMComponentTree = _dereq_(
|
|
11114
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
11065
11115
|
var ReactUpdates = _dereq_(104);
|
|
11066
11116
|
|
|
11067
11117
|
var getEventTarget = _dereq_(138);
|
|
@@ -11200,7 +11250,7 @@ var ReactEventListener = {
|
|
|
11200
11250
|
};
|
|
11201
11251
|
|
|
11202
11252
|
module.exports = ReactEventListener;
|
|
11203
|
-
},{"104":104,"138":138,"158":158,"159":159,"170":170,"184":184,"26":26,"
|
|
11253
|
+
},{"104":104,"138":138,"158":158,"159":159,"170":170,"184":184,"26":26,"45":45}],71:[function(_dereq_,module,exports){
|
|
11204
11254
|
/**
|
|
11205
11255
|
* Copyright 2013-present, Facebook, Inc.
|
|
11206
11256
|
* All rights reserved.
|
|
@@ -11222,7 +11272,7 @@ var ReactFeatureFlags = {
|
|
|
11222
11272
|
};
|
|
11223
11273
|
|
|
11224
11274
|
module.exports = ReactFeatureFlags;
|
|
11225
|
-
},{}],
|
|
11275
|
+
},{}],72:[function(_dereq_,module,exports){
|
|
11226
11276
|
/**
|
|
11227
11277
|
* Copyright 2015-present, Facebook, Inc.
|
|
11228
11278
|
* All rights reserved.
|
|
@@ -11237,7 +11287,7 @@ module.exports = ReactFeatureFlags;
|
|
|
11237
11287
|
'use strict';
|
|
11238
11288
|
|
|
11239
11289
|
var ReactChildren = _dereq_(32);
|
|
11240
|
-
var ReactElement = _dereq_(
|
|
11290
|
+
var ReactElement = _dereq_(65);
|
|
11241
11291
|
|
|
11242
11292
|
var emptyFunction = _dereq_(165);
|
|
11243
11293
|
var invariant = _dereq_(173);
|
|
@@ -11256,8 +11306,11 @@ var numericPropertyRegex = /^\d+$/;
|
|
|
11256
11306
|
var warnedAboutNumeric = false;
|
|
11257
11307
|
|
|
11258
11308
|
var ReactFragment = {
|
|
11259
|
-
|
|
11260
|
-
|
|
11309
|
+
/**
|
|
11310
|
+
* Wrap a keyed object in an opaque proxy that warns you if you access any
|
|
11311
|
+
* of its properties.
|
|
11312
|
+
* See https://facebook.github.io/react/docs/create-fragment.html
|
|
11313
|
+
*/
|
|
11261
11314
|
create: function (object) {
|
|
11262
11315
|
if (typeof object !== 'object' || !object || Array.isArray(object)) {
|
|
11263
11316
|
"development" !== 'production' ? warning(false, 'React.addons.createFragment only accepts a single object. Got: %s', object) : void 0;
|
|
@@ -11287,7 +11340,7 @@ var ReactFragment = {
|
|
|
11287
11340
|
};
|
|
11288
11341
|
|
|
11289
11342
|
module.exports = ReactFragment;
|
|
11290
|
-
},{"165":165,"173":173,"183":183,"32":32,"
|
|
11343
|
+
},{"165":165,"173":173,"183":183,"32":32,"65":65}],73:[function(_dereq_,module,exports){
|
|
11291
11344
|
/**
|
|
11292
11345
|
* Copyright 2013-present, Facebook, Inc.
|
|
11293
11346
|
* All rights reserved.
|
|
@@ -11306,10 +11359,9 @@ var EventPluginHub = _dereq_(17);
|
|
|
11306
11359
|
var EventPluginUtils = _dereq_(19);
|
|
11307
11360
|
var ReactComponentEnvironment = _dereq_(36);
|
|
11308
11361
|
var ReactClass = _dereq_(33);
|
|
11309
|
-
var ReactEmptyComponent = _dereq_(
|
|
11362
|
+
var ReactEmptyComponent = _dereq_(67);
|
|
11310
11363
|
var ReactBrowserEventEmitter = _dereq_(28);
|
|
11311
|
-
var ReactNativeComponent = _dereq_(
|
|
11312
|
-
var ReactPerf = _dereq_(88);
|
|
11364
|
+
var ReactNativeComponent = _dereq_(83);
|
|
11313
11365
|
var ReactUpdates = _dereq_(104);
|
|
11314
11366
|
|
|
11315
11367
|
var ReactInjection = {
|
|
@@ -11321,12 +11373,11 @@ var ReactInjection = {
|
|
|
11321
11373
|
EventPluginUtils: EventPluginUtils.injection,
|
|
11322
11374
|
EventEmitter: ReactBrowserEventEmitter.injection,
|
|
11323
11375
|
NativeComponent: ReactNativeComponent.injection,
|
|
11324
|
-
Perf: ReactPerf.injection,
|
|
11325
11376
|
Updates: ReactUpdates.injection
|
|
11326
11377
|
};
|
|
11327
11378
|
|
|
11328
11379
|
module.exports = ReactInjection;
|
|
11329
|
-
},{"10":10,"104":104,"17":17,"19":19,"28":28,"33":33,"36":36,"
|
|
11380
|
+
},{"10":10,"104":104,"17":17,"19":19,"28":28,"33":33,"36":36,"67":67,"83":83}],74:[function(_dereq_,module,exports){
|
|
11330
11381
|
/**
|
|
11331
11382
|
* Copyright 2013-present, Facebook, Inc.
|
|
11332
11383
|
* All rights reserved.
|
|
@@ -11340,7 +11391,7 @@ module.exports = ReactInjection;
|
|
|
11340
11391
|
|
|
11341
11392
|
'use strict';
|
|
11342
11393
|
|
|
11343
|
-
var ReactDOMSelection = _dereq_(
|
|
11394
|
+
var ReactDOMSelection = _dereq_(56);
|
|
11344
11395
|
|
|
11345
11396
|
var containsNode = _dereq_(162);
|
|
11346
11397
|
var focusNode = _dereq_(167);
|
|
@@ -11451,7 +11502,7 @@ var ReactInputSelection = {
|
|
|
11451
11502
|
};
|
|
11452
11503
|
|
|
11453
11504
|
module.exports = ReactInputSelection;
|
|
11454
|
-
},{"162":162,"167":167,"168":168,"
|
|
11505
|
+
},{"162":162,"167":167,"168":168,"56":56}],75:[function(_dereq_,module,exports){
|
|
11455
11506
|
/**
|
|
11456
11507
|
* Copyright 2013-present, Facebook, Inc.
|
|
11457
11508
|
* All rights reserved.
|
|
@@ -11500,7 +11551,7 @@ var ReactInstanceMap = {
|
|
|
11500
11551
|
};
|
|
11501
11552
|
|
|
11502
11553
|
module.exports = ReactInstanceMap;
|
|
11503
|
-
},{}],
|
|
11554
|
+
},{}],76:[function(_dereq_,module,exports){
|
|
11504
11555
|
/**
|
|
11505
11556
|
* Copyright 2016-present, Facebook, Inc.
|
|
11506
11557
|
* All rights reserved.
|
|
@@ -11514,10 +11565,10 @@ module.exports = ReactInstanceMap;
|
|
|
11514
11565
|
|
|
11515
11566
|
'use strict';
|
|
11516
11567
|
|
|
11517
|
-
var ReactDebugTool = _dereq_(
|
|
11568
|
+
var ReactDebugTool = _dereq_(62);
|
|
11518
11569
|
|
|
11519
11570
|
module.exports = { debugTool: ReactDebugTool };
|
|
11520
|
-
},{"
|
|
11571
|
+
},{"62":62}],77:[function(_dereq_,module,exports){
|
|
11521
11572
|
/**
|
|
11522
11573
|
* Copyright 2016-present, Facebook, Inc.
|
|
11523
11574
|
* All rights reserved.
|
|
@@ -11554,7 +11605,7 @@ var ReactInvalidSetStateWarningDevTool = {
|
|
|
11554
11605
|
};
|
|
11555
11606
|
|
|
11556
11607
|
module.exports = ReactInvalidSetStateWarningDevTool;
|
|
11557
|
-
},{"183":183}],
|
|
11608
|
+
},{"183":183}],78:[function(_dereq_,module,exports){
|
|
11558
11609
|
/**
|
|
11559
11610
|
* Copyright 2013-present, Facebook, Inc.
|
|
11560
11611
|
* All rights reserved.
|
|
@@ -11594,6 +11645,9 @@ module.exports = ReactInvalidSetStateWarningDevTool;
|
|
|
11594
11645
|
var React = _dereq_(27);
|
|
11595
11646
|
|
|
11596
11647
|
/**
|
|
11648
|
+
* Deprecated: An an easy way to express two-way binding with React.
|
|
11649
|
+
* See https://facebook.github.io/react/docs/two-way-binding-helpers.html
|
|
11650
|
+
*
|
|
11597
11651
|
* @param {*} value current value of the link
|
|
11598
11652
|
* @param {function} requestChange callback to request a change
|
|
11599
11653
|
*/
|
|
@@ -11623,7 +11677,7 @@ ReactLink.PropTypes = {
|
|
|
11623
11677
|
};
|
|
11624
11678
|
|
|
11625
11679
|
module.exports = ReactLink;
|
|
11626
|
-
},{"27":27}],
|
|
11680
|
+
},{"27":27}],79:[function(_dereq_,module,exports){
|
|
11627
11681
|
/**
|
|
11628
11682
|
* Copyright 2013-present, Facebook, Inc.
|
|
11629
11683
|
* All rights reserved.
|
|
@@ -11674,7 +11728,7 @@ var ReactMarkupChecksum = {
|
|
|
11674
11728
|
};
|
|
11675
11729
|
|
|
11676
11730
|
module.exports = ReactMarkupChecksum;
|
|
11677
|
-
},{"127":127}],
|
|
11731
|
+
},{"127":127}],80:[function(_dereq_,module,exports){
|
|
11678
11732
|
/**
|
|
11679
11733
|
* Copyright 2013-present, Facebook, Inc.
|
|
11680
11734
|
* All rights reserved.
|
|
@@ -11691,15 +11745,14 @@ module.exports = ReactMarkupChecksum;
|
|
|
11691
11745
|
var DOMLazyTree = _dereq_(8);
|
|
11692
11746
|
var DOMProperty = _dereq_(10);
|
|
11693
11747
|
var ReactBrowserEventEmitter = _dereq_(28);
|
|
11694
|
-
var ReactCurrentOwner = _dereq_(
|
|
11695
|
-
var ReactDOMComponentTree = _dereq_(
|
|
11696
|
-
var ReactDOMContainerInfo = _dereq_(
|
|
11697
|
-
var ReactDOMFeatureFlags = _dereq_(
|
|
11698
|
-
var ReactElement = _dereq_(
|
|
11699
|
-
var ReactFeatureFlags = _dereq_(
|
|
11700
|
-
var ReactInstrumentation = _dereq_(
|
|
11701
|
-
var ReactMarkupChecksum = _dereq_(
|
|
11702
|
-
var ReactPerf = _dereq_(88);
|
|
11748
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
11749
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
11750
|
+
var ReactDOMContainerInfo = _dereq_(46);
|
|
11751
|
+
var ReactDOMFeatureFlags = _dereq_(50);
|
|
11752
|
+
var ReactElement = _dereq_(65);
|
|
11753
|
+
var ReactFeatureFlags = _dereq_(71);
|
|
11754
|
+
var ReactInstrumentation = _dereq_(76);
|
|
11755
|
+
var ReactMarkupChecksum = _dereq_(79);
|
|
11703
11756
|
var ReactReconciler = _dereq_(93);
|
|
11704
11757
|
var ReactUpdateQueue = _dereq_(103);
|
|
11705
11758
|
var ReactUpdates = _dereq_(104);
|
|
@@ -11937,6 +11990,10 @@ var ReactMount = {
|
|
|
11937
11990
|
* @return {ReactComponent} nextComponent
|
|
11938
11991
|
*/
|
|
11939
11992
|
_renderNewRootComponent: function (nextElement, container, shouldReuseMarkup, context) {
|
|
11993
|
+
if ("development" !== 'production') {
|
|
11994
|
+
ReactInstrumentation.debugTool.onBeginFlush();
|
|
11995
|
+
}
|
|
11996
|
+
|
|
11940
11997
|
// Various parts of our code (such as ReactCompositeComponent's
|
|
11941
11998
|
// _renderValidatedComponent) assume that calls to render aren't nested;
|
|
11942
11999
|
// verify that that's the case.
|
|
@@ -11947,6 +12004,12 @@ var ReactMount = {
|
|
|
11947
12004
|
ReactBrowserEventEmitter.ensureScrollValueMonitoring();
|
|
11948
12005
|
var componentInstance = instantiateReactComponent(nextElement);
|
|
11949
12006
|
|
|
12007
|
+
if ("development" !== 'production') {
|
|
12008
|
+
// Mute future events from the top level wrapper.
|
|
12009
|
+
// It is an implementation detail that devtools should not know about.
|
|
12010
|
+
componentInstance._debugID = 0;
|
|
12011
|
+
}
|
|
12012
|
+
|
|
11950
12013
|
// The initial render is synchronous but any updates that happen during
|
|
11951
12014
|
// rendering, in componentWillMount or componentDidMount, will be batched
|
|
11952
12015
|
// according to the current batching strategy.
|
|
@@ -11957,7 +12020,9 @@ var ReactMount = {
|
|
|
11957
12020
|
instancesByReactRootID[wrapperID] = componentInstance;
|
|
11958
12021
|
|
|
11959
12022
|
if ("development" !== 'production') {
|
|
11960
|
-
|
|
12023
|
+
// The instance here is TopLevelWrapper so we report mount for its child.
|
|
12024
|
+
ReactInstrumentation.debugTool.onMountRootComponent(componentInstance._renderedComponent._debugID);
|
|
12025
|
+
ReactInstrumentation.debugTool.onEndFlush();
|
|
11961
12026
|
}
|
|
11962
12027
|
|
|
11963
12028
|
return componentInstance;
|
|
@@ -12037,6 +12102,7 @@ var ReactMount = {
|
|
|
12037
12102
|
|
|
12038
12103
|
/**
|
|
12039
12104
|
* Renders a React component into the DOM in the supplied `container`.
|
|
12105
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#reactdom.render
|
|
12040
12106
|
*
|
|
12041
12107
|
* If the React component was previously rendered into `container`, this will
|
|
12042
12108
|
* perform an update on it and only mutate the DOM as necessary to reflect the
|
|
@@ -12053,6 +12119,7 @@ var ReactMount = {
|
|
|
12053
12119
|
|
|
12054
12120
|
/**
|
|
12055
12121
|
* Unmounts and destroys the React component rendered in the `container`.
|
|
12122
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#reactdom.unmountcomponentatnode
|
|
12056
12123
|
*
|
|
12057
12124
|
* @param {DOMElement} container DOM element containing a React component.
|
|
12058
12125
|
* @return {boolean} True if a component was found in and unmounted from
|
|
@@ -12144,16 +12211,15 @@ var ReactMount = {
|
|
|
12144
12211
|
setInnerHTML(container, markup);
|
|
12145
12212
|
ReactDOMComponentTree.precacheNode(instance, container.firstChild);
|
|
12146
12213
|
}
|
|
12214
|
+
|
|
12215
|
+
if ("development" !== 'production') {
|
|
12216
|
+
ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(container.firstChild)._debugID, 'mount', markup.toString());
|
|
12217
|
+
}
|
|
12147
12218
|
}
|
|
12148
12219
|
};
|
|
12149
12220
|
|
|
12150
|
-
ReactPerf.measureMethods(ReactMount, 'ReactMount', {
|
|
12151
|
-
_renderNewRootComponent: '_renderNewRootComponent',
|
|
12152
|
-
_mountImageIntoNode: '_mountImageIntoNode'
|
|
12153
|
-
});
|
|
12154
|
-
|
|
12155
12221
|
module.exports = ReactMount;
|
|
12156
|
-
},{"10":10,"103":103,"104":104,"144":144,"150":150,"153":153,"166":166,"173":173,"183":183,"28":28,"
|
|
12222
|
+
},{"10":10,"103":103,"104":104,"144":144,"150":150,"153":153,"166":166,"173":173,"183":183,"28":28,"40":40,"45":45,"46":46,"50":50,"65":65,"71":71,"76":76,"79":79,"8":8,"93":93}],81:[function(_dereq_,module,exports){
|
|
12157
12223
|
/**
|
|
12158
12224
|
* Copyright 2013-present, Facebook, Inc.
|
|
12159
12225
|
* All rights reserved.
|
|
@@ -12168,12 +12234,14 @@ module.exports = ReactMount;
|
|
|
12168
12234
|
'use strict';
|
|
12169
12235
|
|
|
12170
12236
|
var ReactComponentEnvironment = _dereq_(36);
|
|
12171
|
-
var
|
|
12237
|
+
var ReactInstrumentation = _dereq_(76);
|
|
12238
|
+
var ReactMultiChildUpdateTypes = _dereq_(82);
|
|
12172
12239
|
|
|
12173
|
-
var ReactCurrentOwner = _dereq_(
|
|
12240
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
12174
12241
|
var ReactReconciler = _dereq_(93);
|
|
12175
12242
|
var ReactChildReconciler = _dereq_(31);
|
|
12176
12243
|
|
|
12244
|
+
var emptyFunction = _dereq_(165);
|
|
12177
12245
|
var flattenChildren = _dereq_(133);
|
|
12178
12246
|
var invariant = _dereq_(173);
|
|
12179
12247
|
|
|
@@ -12290,6 +12358,15 @@ function processQueue(inst, updateQueue) {
|
|
|
12290
12358
|
ReactComponentEnvironment.processChildrenUpdates(inst, updateQueue);
|
|
12291
12359
|
}
|
|
12292
12360
|
|
|
12361
|
+
var setChildrenForInstrumentation = emptyFunction;
|
|
12362
|
+
if ("development" !== 'production') {
|
|
12363
|
+
setChildrenForInstrumentation = function (children) {
|
|
12364
|
+
ReactInstrumentation.debugTool.onSetChildren(this._debugID, children ? Object.keys(children).map(function (key) {
|
|
12365
|
+
return children[key]._debugID;
|
|
12366
|
+
}) : []);
|
|
12367
|
+
};
|
|
12368
|
+
}
|
|
12369
|
+
|
|
12293
12370
|
/**
|
|
12294
12371
|
* ReactMultiChild are capable of reconciling multiple children.
|
|
12295
12372
|
*
|
|
@@ -12351,6 +12428,7 @@ var ReactMultiChild = {
|
|
|
12351
12428
|
mountChildren: function (nestedChildren, transaction, context) {
|
|
12352
12429
|
var children = this._reconcilerInstantiateChildren(nestedChildren, transaction, context);
|
|
12353
12430
|
this._renderedChildren = children;
|
|
12431
|
+
|
|
12354
12432
|
var mountImages = [];
|
|
12355
12433
|
var index = 0;
|
|
12356
12434
|
for (var name in children) {
|
|
@@ -12361,6 +12439,11 @@ var ReactMultiChild = {
|
|
|
12361
12439
|
mountImages.push(mountImage);
|
|
12362
12440
|
}
|
|
12363
12441
|
}
|
|
12442
|
+
|
|
12443
|
+
if ("development" !== 'production') {
|
|
12444
|
+
setChildrenForInstrumentation.call(this, children);
|
|
12445
|
+
}
|
|
12446
|
+
|
|
12364
12447
|
return mountImages;
|
|
12365
12448
|
},
|
|
12366
12449
|
|
|
@@ -12467,6 +12550,10 @@ var ReactMultiChild = {
|
|
|
12467
12550
|
processQueue(this, updates);
|
|
12468
12551
|
}
|
|
12469
12552
|
this._renderedChildren = nextChildren;
|
|
12553
|
+
|
|
12554
|
+
if ("development" !== 'production') {
|
|
12555
|
+
setChildrenForInstrumentation.call(this, nextChildren);
|
|
12556
|
+
}
|
|
12470
12557
|
},
|
|
12471
12558
|
|
|
12472
12559
|
/**
|
|
@@ -12556,7 +12643,7 @@ var ReactMultiChild = {
|
|
|
12556
12643
|
};
|
|
12557
12644
|
|
|
12558
12645
|
module.exports = ReactMultiChild;
|
|
12559
|
-
},{"133":133,"173":173,"31":31,"36":36,"
|
|
12646
|
+
},{"133":133,"165":165,"173":173,"31":31,"36":36,"40":40,"76":76,"82":82,"93":93}],82:[function(_dereq_,module,exports){
|
|
12560
12647
|
/**
|
|
12561
12648
|
* Copyright 2013-present, Facebook, Inc.
|
|
12562
12649
|
* All rights reserved.
|
|
@@ -12589,7 +12676,7 @@ var ReactMultiChildUpdateTypes = keyMirror({
|
|
|
12589
12676
|
});
|
|
12590
12677
|
|
|
12591
12678
|
module.exports = ReactMultiChildUpdateTypes;
|
|
12592
|
-
},{"176":176}],
|
|
12679
|
+
},{"176":176}],83:[function(_dereq_,module,exports){
|
|
12593
12680
|
/**
|
|
12594
12681
|
* Copyright 2014-present, Facebook, Inc.
|
|
12595
12682
|
* All rights reserved.
|
|
@@ -12685,7 +12772,40 @@ var ReactNativeComponent = {
|
|
|
12685
12772
|
};
|
|
12686
12773
|
|
|
12687
12774
|
module.exports = ReactNativeComponent;
|
|
12688
|
-
},{"173":173,"184":184}],
|
|
12775
|
+
},{"173":173,"184":184}],84:[function(_dereq_,module,exports){
|
|
12776
|
+
/**
|
|
12777
|
+
* Copyright 2016-present, Facebook, Inc.
|
|
12778
|
+
* All rights reserved.
|
|
12779
|
+
*
|
|
12780
|
+
* This source code is licensed under the BSD-style license found in the
|
|
12781
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
|
12782
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
|
12783
|
+
*
|
|
12784
|
+
* @providesModule ReactNativeOperationHistoryDevtool
|
|
12785
|
+
*/
|
|
12786
|
+
|
|
12787
|
+
'use strict';
|
|
12788
|
+
|
|
12789
|
+
var history = [];
|
|
12790
|
+
|
|
12791
|
+
var ReactNativeOperationHistoryDevtool = {
|
|
12792
|
+
onNativeOperation: function (debugID, type, payload) {
|
|
12793
|
+
history.push({
|
|
12794
|
+
instanceID: debugID,
|
|
12795
|
+
type: type,
|
|
12796
|
+
payload: payload
|
|
12797
|
+
});
|
|
12798
|
+
},
|
|
12799
|
+
clearHistory: function () {
|
|
12800
|
+
history = [];
|
|
12801
|
+
},
|
|
12802
|
+
getHistory: function () {
|
|
12803
|
+
return history;
|
|
12804
|
+
}
|
|
12805
|
+
};
|
|
12806
|
+
|
|
12807
|
+
module.exports = ReactNativeOperationHistoryDevtool;
|
|
12808
|
+
},{}],85:[function(_dereq_,module,exports){
|
|
12689
12809
|
/**
|
|
12690
12810
|
* Copyright 2013-present, Facebook, Inc.
|
|
12691
12811
|
* All rights reserved.
|
|
@@ -12699,7 +12819,7 @@ module.exports = ReactNativeComponent;
|
|
|
12699
12819
|
|
|
12700
12820
|
'use strict';
|
|
12701
12821
|
|
|
12702
|
-
var ReactElement = _dereq_(
|
|
12822
|
+
var ReactElement = _dereq_(65);
|
|
12703
12823
|
|
|
12704
12824
|
var invariant = _dereq_(173);
|
|
12705
12825
|
|
|
@@ -12723,7 +12843,7 @@ var ReactNodeTypes = {
|
|
|
12723
12843
|
};
|
|
12724
12844
|
|
|
12725
12845
|
module.exports = ReactNodeTypes;
|
|
12726
|
-
},{"173":173,"
|
|
12846
|
+
},{"173":173,"65":65}],86:[function(_dereq_,module,exports){
|
|
12727
12847
|
/**
|
|
12728
12848
|
* Copyright 2015-present, Facebook, Inc.
|
|
12729
12849
|
* All rights reserved.
|
|
@@ -12914,7 +13034,7 @@ var ReactOwner = {
|
|
|
12914
13034
|
module.exports = ReactOwner;
|
|
12915
13035
|
},{"173":173}],88:[function(_dereq_,module,exports){
|
|
12916
13036
|
/**
|
|
12917
|
-
* Copyright
|
|
13037
|
+
* Copyright 2016-present, Facebook, Inc.
|
|
12918
13038
|
* All rights reserved.
|
|
12919
13039
|
*
|
|
12920
13040
|
* This source code is licensed under the BSD-style license found in the
|
|
@@ -12926,90 +13046,412 @@ module.exports = ReactOwner;
|
|
|
12926
13046
|
|
|
12927
13047
|
'use strict';
|
|
12928
13048
|
|
|
12929
|
-
|
|
12930
|
-
* ReactPerf is a general AOP system designed to measure performance. This
|
|
12931
|
-
* module only has the hooks: see ReactDefaultPerf for the analysis tool.
|
|
12932
|
-
*/
|
|
13049
|
+
var _assign = _dereq_(184);
|
|
12933
13050
|
|
|
12934
|
-
var
|
|
12935
|
-
/**
|
|
12936
|
-
* Boolean to enable/disable measurement. Set to false by default to prevent
|
|
12937
|
-
* accidental logging and perf loss.
|
|
12938
|
-
*/
|
|
12939
|
-
enableMeasure: false,
|
|
13051
|
+
var _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
12940
13052
|
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
* anything, but we'll override this if we inject a measure function.
|
|
12944
|
-
*/
|
|
12945
|
-
storedMeasure: _noMeasure,
|
|
13053
|
+
var ReactDebugTool = _dereq_(62);
|
|
13054
|
+
var warning = _dereq_(183);
|
|
12946
13055
|
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12952
|
-
|
|
12953
|
-
|
|
12954
|
-
|
|
12955
|
-
|
|
12956
|
-
|
|
12957
|
-
|
|
12958
|
-
|
|
12959
|
-
|
|
13056
|
+
function roundFloat(val) {
|
|
13057
|
+
var base = arguments.length <= 1 || arguments[1] === undefined ? 2 : arguments[1];
|
|
13058
|
+
|
|
13059
|
+
var n = Math.pow(10, base);
|
|
13060
|
+
return Math.floor(val * n) / n;
|
|
13061
|
+
}
|
|
13062
|
+
|
|
13063
|
+
function getFlushHistory() {
|
|
13064
|
+
return ReactDebugTool.getFlushHistory();
|
|
13065
|
+
}
|
|
13066
|
+
|
|
13067
|
+
function getExclusive() {
|
|
13068
|
+
var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getFlushHistory() : arguments[0];
|
|
13069
|
+
|
|
13070
|
+
var aggregatedStats = {};
|
|
13071
|
+
var affectedIDs = {};
|
|
13072
|
+
|
|
13073
|
+
function updateAggregatedStats(treeSnapshot, instanceID, timerType, applyUpdate) {
|
|
13074
|
+
var displayName = treeSnapshot[instanceID].displayName;
|
|
13075
|
+
|
|
13076
|
+
var key = displayName;
|
|
13077
|
+
var stats = aggregatedStats[key];
|
|
13078
|
+
if (!stats) {
|
|
13079
|
+
affectedIDs[key] = {};
|
|
13080
|
+
stats = aggregatedStats[key] = {
|
|
13081
|
+
key: key,
|
|
13082
|
+
instanceCount: 0,
|
|
13083
|
+
counts: {},
|
|
13084
|
+
durations: {},
|
|
13085
|
+
totalDuration: 0
|
|
13086
|
+
};
|
|
12960
13087
|
}
|
|
12961
|
-
|
|
13088
|
+
if (!stats.durations[timerType]) {
|
|
13089
|
+
stats.durations[timerType] = 0;
|
|
13090
|
+
}
|
|
13091
|
+
if (!stats.counts[timerType]) {
|
|
13092
|
+
stats.counts[timerType] = 0;
|
|
13093
|
+
}
|
|
13094
|
+
affectedIDs[key][instanceID] = true;
|
|
13095
|
+
applyUpdate(stats);
|
|
13096
|
+
}
|
|
12962
13097
|
|
|
12963
|
-
|
|
12964
|
-
|
|
12965
|
-
|
|
12966
|
-
|
|
12967
|
-
|
|
12968
|
-
|
|
12969
|
-
|
|
12970
|
-
|
|
12971
|
-
|
|
12972
|
-
|
|
12973
|
-
|
|
12974
|
-
|
|
12975
|
-
|
|
12976
|
-
|
|
12977
|
-
|
|
12978
|
-
|
|
12979
|
-
|
|
12980
|
-
|
|
12981
|
-
|
|
13098
|
+
flushHistory.forEach(function (flush) {
|
|
13099
|
+
var measurements = flush.measurements;
|
|
13100
|
+
var treeSnapshot = flush.treeSnapshot;
|
|
13101
|
+
|
|
13102
|
+
measurements.forEach(function (measurement) {
|
|
13103
|
+
var duration = measurement.duration;
|
|
13104
|
+
var instanceID = measurement.instanceID;
|
|
13105
|
+
var timerType = measurement.timerType;
|
|
13106
|
+
|
|
13107
|
+
updateAggregatedStats(treeSnapshot, instanceID, timerType, function (stats) {
|
|
13108
|
+
stats.totalDuration += duration;
|
|
13109
|
+
stats.durations[timerType] += duration;
|
|
13110
|
+
stats.counts[timerType]++;
|
|
13111
|
+
});
|
|
13112
|
+
});
|
|
13113
|
+
});
|
|
13114
|
+
|
|
13115
|
+
return Object.keys(aggregatedStats).map(function (key) {
|
|
13116
|
+
return _extends({}, aggregatedStats[key], {
|
|
13117
|
+
instanceCount: Object.keys(affectedIDs[key]).length
|
|
13118
|
+
});
|
|
13119
|
+
}).sort(function (a, b) {
|
|
13120
|
+
return b.totalDuration - a.totalDuration;
|
|
13121
|
+
});
|
|
13122
|
+
}
|
|
13123
|
+
|
|
13124
|
+
function getInclusive() {
|
|
13125
|
+
var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getFlushHistory() : arguments[0];
|
|
13126
|
+
|
|
13127
|
+
var aggregatedStats = {};
|
|
13128
|
+
var affectedIDs = {};
|
|
13129
|
+
|
|
13130
|
+
function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {
|
|
13131
|
+
var _treeSnapshot$instanc = treeSnapshot[instanceID];
|
|
13132
|
+
var displayName = _treeSnapshot$instanc.displayName;
|
|
13133
|
+
var ownerID = _treeSnapshot$instanc.ownerID;
|
|
13134
|
+
|
|
13135
|
+
var owner = treeSnapshot[ownerID];
|
|
13136
|
+
var key = (owner ? owner.displayName + ' > ' : '') + displayName;
|
|
13137
|
+
var stats = aggregatedStats[key];
|
|
13138
|
+
if (!stats) {
|
|
13139
|
+
affectedIDs[key] = {};
|
|
13140
|
+
stats = aggregatedStats[key] = {
|
|
13141
|
+
key: key,
|
|
13142
|
+
instanceCount: 0,
|
|
13143
|
+
inclusiveRenderDuration: 0,
|
|
13144
|
+
renderCount: 0
|
|
12982
13145
|
};
|
|
12983
|
-
wrapper.displayName = objName + '_' + fnName;
|
|
12984
|
-
return wrapper;
|
|
12985
13146
|
}
|
|
12986
|
-
|
|
12987
|
-
|
|
13147
|
+
affectedIDs[key][instanceID] = true;
|
|
13148
|
+
applyUpdate(stats);
|
|
13149
|
+
}
|
|
12988
13150
|
|
|
12989
|
-
|
|
12990
|
-
|
|
12991
|
-
|
|
12992
|
-
|
|
12993
|
-
|
|
12994
|
-
|
|
13151
|
+
var isCompositeByID = {};
|
|
13152
|
+
flushHistory.forEach(function (flush) {
|
|
13153
|
+
var measurements = flush.measurements;
|
|
13154
|
+
|
|
13155
|
+
measurements.forEach(function (measurement) {
|
|
13156
|
+
var instanceID = measurement.instanceID;
|
|
13157
|
+
var timerType = measurement.timerType;
|
|
13158
|
+
|
|
13159
|
+
if (timerType !== 'render') {
|
|
13160
|
+
return;
|
|
13161
|
+
}
|
|
13162
|
+
isCompositeByID[instanceID] = true;
|
|
13163
|
+
});
|
|
13164
|
+
});
|
|
13165
|
+
|
|
13166
|
+
flushHistory.forEach(function (flush) {
|
|
13167
|
+
var measurements = flush.measurements;
|
|
13168
|
+
var treeSnapshot = flush.treeSnapshot;
|
|
13169
|
+
|
|
13170
|
+
measurements.forEach(function (measurement) {
|
|
13171
|
+
var duration = measurement.duration;
|
|
13172
|
+
var instanceID = measurement.instanceID;
|
|
13173
|
+
var timerType = measurement.timerType;
|
|
13174
|
+
|
|
13175
|
+
if (timerType !== 'render') {
|
|
13176
|
+
return;
|
|
13177
|
+
}
|
|
13178
|
+
updateAggregatedStats(treeSnapshot, instanceID, function (stats) {
|
|
13179
|
+
stats.renderCount++;
|
|
13180
|
+
});
|
|
13181
|
+
var nextParentID = instanceID;
|
|
13182
|
+
while (nextParentID) {
|
|
13183
|
+
// As we traverse parents, only count inclusive time towards composites.
|
|
13184
|
+
// We know something is a composite if its render() was called.
|
|
13185
|
+
if (isCompositeByID[nextParentID]) {
|
|
13186
|
+
updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {
|
|
13187
|
+
stats.inclusiveRenderDuration += duration;
|
|
13188
|
+
});
|
|
13189
|
+
}
|
|
13190
|
+
nextParentID = treeSnapshot[nextParentID].parentID;
|
|
13191
|
+
}
|
|
13192
|
+
});
|
|
13193
|
+
});
|
|
13194
|
+
|
|
13195
|
+
return Object.keys(aggregatedStats).map(function (key) {
|
|
13196
|
+
return _extends({}, aggregatedStats[key], {
|
|
13197
|
+
instanceCount: Object.keys(affectedIDs[key]).length
|
|
13198
|
+
});
|
|
13199
|
+
}).sort(function (a, b) {
|
|
13200
|
+
return b.inclusiveRenderDuration - a.inclusiveRenderDuration;
|
|
13201
|
+
});
|
|
13202
|
+
}
|
|
13203
|
+
|
|
13204
|
+
function getWasted() {
|
|
13205
|
+
var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getFlushHistory() : arguments[0];
|
|
13206
|
+
|
|
13207
|
+
var aggregatedStats = {};
|
|
13208
|
+
var affectedIDs = {};
|
|
13209
|
+
|
|
13210
|
+
function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {
|
|
13211
|
+
var _treeSnapshot$instanc2 = treeSnapshot[instanceID];
|
|
13212
|
+
var displayName = _treeSnapshot$instanc2.displayName;
|
|
13213
|
+
var ownerID = _treeSnapshot$instanc2.ownerID;
|
|
13214
|
+
|
|
13215
|
+
var owner = treeSnapshot[ownerID];
|
|
13216
|
+
var key = (owner ? owner.displayName + ' > ' : '') + displayName;
|
|
13217
|
+
var stats = aggregatedStats[key];
|
|
13218
|
+
if (!stats) {
|
|
13219
|
+
affectedIDs[key] = {};
|
|
13220
|
+
stats = aggregatedStats[key] = {
|
|
13221
|
+
key: key,
|
|
13222
|
+
instanceCount: 0,
|
|
13223
|
+
inclusiveRenderDuration: 0,
|
|
13224
|
+
renderCount: 0
|
|
13225
|
+
};
|
|
12995
13226
|
}
|
|
13227
|
+
affectedIDs[key][instanceID] = true;
|
|
13228
|
+
applyUpdate(stats);
|
|
12996
13229
|
}
|
|
12997
|
-
};
|
|
12998
13230
|
|
|
12999
|
-
|
|
13000
|
-
|
|
13001
|
-
|
|
13002
|
-
|
|
13003
|
-
|
|
13004
|
-
|
|
13005
|
-
|
|
13006
|
-
|
|
13007
|
-
|
|
13008
|
-
|
|
13231
|
+
flushHistory.forEach(function (flush) {
|
|
13232
|
+
var measurements = flush.measurements;
|
|
13233
|
+
var treeSnapshot = flush.treeSnapshot;
|
|
13234
|
+
var operations = flush.operations;
|
|
13235
|
+
|
|
13236
|
+
var isDefinitelyNotWastedByID = {};
|
|
13237
|
+
|
|
13238
|
+
// Find native components associated with an operation in this batch.
|
|
13239
|
+
// Mark all components in their parent tree as definitely not wasted.
|
|
13240
|
+
operations.forEach(function (operation) {
|
|
13241
|
+
var instanceID = operation.instanceID;
|
|
13242
|
+
|
|
13243
|
+
var nextParentID = instanceID;
|
|
13244
|
+
while (nextParentID) {
|
|
13245
|
+
isDefinitelyNotWastedByID[nextParentID] = true;
|
|
13246
|
+
nextParentID = treeSnapshot[nextParentID].parentID;
|
|
13247
|
+
}
|
|
13248
|
+
});
|
|
13249
|
+
|
|
13250
|
+
// Find composite components that rendered in this batch.
|
|
13251
|
+
// These are potential candidates for being wasted renders.
|
|
13252
|
+
var renderedCompositeIDs = {};
|
|
13253
|
+
measurements.forEach(function (measurement) {
|
|
13254
|
+
var instanceID = measurement.instanceID;
|
|
13255
|
+
var timerType = measurement.timerType;
|
|
13256
|
+
|
|
13257
|
+
if (timerType !== 'render') {
|
|
13258
|
+
return;
|
|
13259
|
+
}
|
|
13260
|
+
renderedCompositeIDs[instanceID] = true;
|
|
13261
|
+
});
|
|
13262
|
+
|
|
13263
|
+
measurements.forEach(function (measurement) {
|
|
13264
|
+
var duration = measurement.duration;
|
|
13265
|
+
var instanceID = measurement.instanceID;
|
|
13266
|
+
var timerType = measurement.timerType;
|
|
13267
|
+
|
|
13268
|
+
if (timerType !== 'render') {
|
|
13269
|
+
return;
|
|
13270
|
+
}
|
|
13271
|
+
|
|
13272
|
+
// If there was a DOM update below this component, or it has just been
|
|
13273
|
+
// mounted, its render() is not considered wasted.
|
|
13274
|
+
var updateCount = treeSnapshot[instanceID].updateCount;
|
|
13275
|
+
|
|
13276
|
+
if (isDefinitelyNotWastedByID[instanceID] || updateCount === 0) {
|
|
13277
|
+
return;
|
|
13278
|
+
}
|
|
13279
|
+
|
|
13280
|
+
// We consider this render() wasted.
|
|
13281
|
+
updateAggregatedStats(treeSnapshot, instanceID, function (stats) {
|
|
13282
|
+
stats.renderCount++;
|
|
13283
|
+
});
|
|
13284
|
+
|
|
13285
|
+
var nextParentID = instanceID;
|
|
13286
|
+
while (nextParentID) {
|
|
13287
|
+
// Any parents rendered during this batch are considered wasted
|
|
13288
|
+
// unless we previously marked them as dirty.
|
|
13289
|
+
var isWasted = renderedCompositeIDs[nextParentID] && !isDefinitelyNotWastedByID[nextParentID];
|
|
13290
|
+
if (isWasted) {
|
|
13291
|
+
updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {
|
|
13292
|
+
stats.inclusiveRenderDuration += duration;
|
|
13293
|
+
});
|
|
13294
|
+
}
|
|
13295
|
+
nextParentID = treeSnapshot[nextParentID].parentID;
|
|
13296
|
+
}
|
|
13297
|
+
});
|
|
13298
|
+
});
|
|
13299
|
+
|
|
13300
|
+
return Object.keys(aggregatedStats).map(function (key) {
|
|
13301
|
+
return _extends({}, aggregatedStats[key], {
|
|
13302
|
+
instanceCount: Object.keys(affectedIDs[key]).length
|
|
13303
|
+
});
|
|
13304
|
+
}).sort(function (a, b) {
|
|
13305
|
+
return b.inclusiveRenderDuration - a.inclusiveRenderDuration;
|
|
13306
|
+
});
|
|
13307
|
+
}
|
|
13308
|
+
|
|
13309
|
+
function getOperations() {
|
|
13310
|
+
var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getFlushHistory() : arguments[0];
|
|
13311
|
+
|
|
13312
|
+
var stats = [];
|
|
13313
|
+
flushHistory.forEach(function (flush, flushIndex) {
|
|
13314
|
+
var operations = flush.operations;
|
|
13315
|
+
var treeSnapshot = flush.treeSnapshot;
|
|
13316
|
+
|
|
13317
|
+
operations.forEach(function (operation) {
|
|
13318
|
+
var instanceID = operation.instanceID;
|
|
13319
|
+
var type = operation.type;
|
|
13320
|
+
var payload = operation.payload;
|
|
13321
|
+
var _treeSnapshot$instanc3 = treeSnapshot[instanceID];
|
|
13322
|
+
var displayName = _treeSnapshot$instanc3.displayName;
|
|
13323
|
+
var ownerID = _treeSnapshot$instanc3.ownerID;
|
|
13324
|
+
|
|
13325
|
+
var owner = treeSnapshot[ownerID];
|
|
13326
|
+
var key = (owner ? owner.displayName + ' > ' : '') + displayName;
|
|
13327
|
+
|
|
13328
|
+
stats.push({
|
|
13329
|
+
flushIndex: flushIndex,
|
|
13330
|
+
instanceID: instanceID,
|
|
13331
|
+
key: key,
|
|
13332
|
+
type: type,
|
|
13333
|
+
ownerID: ownerID,
|
|
13334
|
+
payload: payload
|
|
13335
|
+
});
|
|
13336
|
+
});
|
|
13337
|
+
});
|
|
13338
|
+
return stats;
|
|
13339
|
+
}
|
|
13340
|
+
|
|
13341
|
+
function printExclusive(flushHistory) {
|
|
13342
|
+
var stats = getExclusive(flushHistory);
|
|
13343
|
+
var table = stats.map(function (item) {
|
|
13344
|
+
var key = item.key;
|
|
13345
|
+
var instanceCount = item.instanceCount;
|
|
13346
|
+
var totalDuration = item.totalDuration;
|
|
13347
|
+
|
|
13348
|
+
var renderCount = item.counts.render || 0;
|
|
13349
|
+
var renderDuration = item.durations.render || 0;
|
|
13350
|
+
return {
|
|
13351
|
+
'Component': key,
|
|
13352
|
+
'Total time (ms)': roundFloat(totalDuration),
|
|
13353
|
+
'Instance count': instanceCount,
|
|
13354
|
+
'Total render time (ms)': roundFloat(renderDuration),
|
|
13355
|
+
'Average render time (ms)': renderCount ? roundFloat(renderDuration / renderCount) : undefined,
|
|
13356
|
+
'Render count': renderCount,
|
|
13357
|
+
'Total lifecycle time (ms)': roundFloat(totalDuration - renderDuration)
|
|
13358
|
+
};
|
|
13359
|
+
});
|
|
13360
|
+
console.table(table);
|
|
13361
|
+
}
|
|
13362
|
+
|
|
13363
|
+
function printInclusive(flushHistory) {
|
|
13364
|
+
var stats = getInclusive(flushHistory);
|
|
13365
|
+
var table = stats.map(function (item) {
|
|
13366
|
+
var key = item.key;
|
|
13367
|
+
var instanceCount = item.instanceCount;
|
|
13368
|
+
var inclusiveRenderDuration = item.inclusiveRenderDuration;
|
|
13369
|
+
var renderCount = item.renderCount;
|
|
13370
|
+
|
|
13371
|
+
return {
|
|
13372
|
+
'Owner > Component': key,
|
|
13373
|
+
'Inclusive render time (ms)': roundFloat(inclusiveRenderDuration),
|
|
13374
|
+
'Instance count': instanceCount,
|
|
13375
|
+
'Render count': renderCount
|
|
13376
|
+
};
|
|
13377
|
+
});
|
|
13378
|
+
console.table(table);
|
|
13379
|
+
}
|
|
13380
|
+
|
|
13381
|
+
function printWasted(flushHistory) {
|
|
13382
|
+
var stats = getWasted(flushHistory);
|
|
13383
|
+
var table = stats.map(function (item) {
|
|
13384
|
+
var key = item.key;
|
|
13385
|
+
var instanceCount = item.instanceCount;
|
|
13386
|
+
var inclusiveRenderDuration = item.inclusiveRenderDuration;
|
|
13387
|
+
var renderCount = item.renderCount;
|
|
13388
|
+
|
|
13389
|
+
return {
|
|
13390
|
+
'Owner > Component': key,
|
|
13391
|
+
'Inclusive wasted time (ms)': roundFloat(inclusiveRenderDuration),
|
|
13392
|
+
'Instance count': instanceCount,
|
|
13393
|
+
'Render count': renderCount
|
|
13394
|
+
};
|
|
13395
|
+
});
|
|
13396
|
+
console.table(table);
|
|
13397
|
+
}
|
|
13398
|
+
|
|
13399
|
+
function printOperations(flushHistory) {
|
|
13400
|
+
var stats = getOperations(flushHistory);
|
|
13401
|
+
var table = stats.map(function (stat) {
|
|
13402
|
+
return {
|
|
13403
|
+
'Owner > Node': stat.key,
|
|
13404
|
+
'Operation': stat.type,
|
|
13405
|
+
'Payload': typeof stat.payload === 'object' ? JSON.stringify(stat.payload) : stat.payload,
|
|
13406
|
+
'Flush index': stat.flushIndex,
|
|
13407
|
+
'Owner Component ID': stat.ownerID,
|
|
13408
|
+
'DOM Component ID': stat.instanceID
|
|
13409
|
+
};
|
|
13410
|
+
});
|
|
13411
|
+
console.table(table);
|
|
13009
13412
|
}
|
|
13010
13413
|
|
|
13011
|
-
|
|
13012
|
-
|
|
13414
|
+
var warnedAboutPrintDOM = false;
|
|
13415
|
+
function printDOM(measurements) {
|
|
13416
|
+
"development" !== 'production' ? warning(warnedAboutPrintDOM, '`ReactPerf.printDOM(...)` is deprecated. Use ' + '`ReactPerf.printOperations(...)` instead.') : void 0;
|
|
13417
|
+
warnedAboutPrintDOM = true;
|
|
13418
|
+
return printOperations(measurements);
|
|
13419
|
+
}
|
|
13420
|
+
|
|
13421
|
+
var warnedAboutGetMeasurementsSummaryMap = false;
|
|
13422
|
+
function getMeasurementsSummaryMap(measurements) {
|
|
13423
|
+
"development" !== 'production' ? warning(warnedAboutGetMeasurementsSummaryMap, '`ReactPerf.getMeasurementsSummaryMap(...)` is deprecated. Use ' + '`ReactPerf.getWasted(...)` instead.') : void 0;
|
|
13424
|
+
warnedAboutGetMeasurementsSummaryMap = true;
|
|
13425
|
+
return getWasted(measurements);
|
|
13426
|
+
}
|
|
13427
|
+
|
|
13428
|
+
function start() {
|
|
13429
|
+
ReactDebugTool.beginProfiling();
|
|
13430
|
+
}
|
|
13431
|
+
|
|
13432
|
+
function stop() {
|
|
13433
|
+
ReactDebugTool.endProfiling();
|
|
13434
|
+
}
|
|
13435
|
+
|
|
13436
|
+
var ReactPerfAnalysis = {
|
|
13437
|
+
getLastMeasurements: getFlushHistory,
|
|
13438
|
+
getExclusive: getExclusive,
|
|
13439
|
+
getInclusive: getInclusive,
|
|
13440
|
+
getWasted: getWasted,
|
|
13441
|
+
getOperations: getOperations,
|
|
13442
|
+
printExclusive: printExclusive,
|
|
13443
|
+
printInclusive: printInclusive,
|
|
13444
|
+
printWasted: printWasted,
|
|
13445
|
+
printOperations: printOperations,
|
|
13446
|
+
start: start,
|
|
13447
|
+
stop: stop,
|
|
13448
|
+
// Deprecated:
|
|
13449
|
+
printDOM: printDOM,
|
|
13450
|
+
getMeasurementsSummaryMap: getMeasurementsSummaryMap
|
|
13451
|
+
};
|
|
13452
|
+
|
|
13453
|
+
module.exports = ReactPerfAnalysis;
|
|
13454
|
+
},{"183":183,"184":184,"62":62}],89:[function(_dereq_,module,exports){
|
|
13013
13455
|
/**
|
|
13014
13456
|
* Copyright 2013-present, Facebook, Inc.
|
|
13015
13457
|
* All rights reserved.
|
|
@@ -13071,7 +13513,7 @@ module.exports = ReactPropTypeLocations;
|
|
|
13071
13513
|
|
|
13072
13514
|
'use strict';
|
|
13073
13515
|
|
|
13074
|
-
var ReactElement = _dereq_(
|
|
13516
|
+
var ReactElement = _dereq_(65);
|
|
13075
13517
|
var ReactPropTypeLocationNames = _dereq_(89);
|
|
13076
13518
|
|
|
13077
13519
|
var emptyFunction = _dereq_(165);
|
|
@@ -13438,7 +13880,7 @@ function getClassName(propValue) {
|
|
|
13438
13880
|
}
|
|
13439
13881
|
|
|
13440
13882
|
module.exports = ReactPropTypes;
|
|
13441
|
-
},{"139":139,"165":165,"
|
|
13883
|
+
},{"139":139,"165":165,"65":65,"89":89}],92:[function(_dereq_,module,exports){
|
|
13442
13884
|
/**
|
|
13443
13885
|
* Copyright 2013-present, Facebook, Inc.
|
|
13444
13886
|
* All rights reserved.
|
|
@@ -13457,7 +13899,7 @@ var _assign = _dereq_(184);
|
|
|
13457
13899
|
var CallbackQueue = _dereq_(5);
|
|
13458
13900
|
var PooledClass = _dereq_(26);
|
|
13459
13901
|
var ReactBrowserEventEmitter = _dereq_(28);
|
|
13460
|
-
var ReactInputSelection = _dereq_(
|
|
13902
|
+
var ReactInputSelection = _dereq_(74);
|
|
13461
13903
|
var Transaction = _dereq_(124);
|
|
13462
13904
|
|
|
13463
13905
|
/**
|
|
@@ -13601,7 +14043,7 @@ _assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin);
|
|
|
13601
14043
|
PooledClass.addPoolingTo(ReactReconcileTransaction);
|
|
13602
14044
|
|
|
13603
14045
|
module.exports = ReactReconcileTransaction;
|
|
13604
|
-
},{"124":124,"184":184,"26":26,"28":28,"5":5,"
|
|
14046
|
+
},{"124":124,"184":184,"26":26,"28":28,"5":5,"74":74}],93:[function(_dereq_,module,exports){
|
|
13605
14047
|
/**
|
|
13606
14048
|
* Copyright 2013-present, Facebook, Inc.
|
|
13607
14049
|
* All rights reserved.
|
|
@@ -13616,7 +14058,9 @@ module.exports = ReactReconcileTransaction;
|
|
|
13616
14058
|
'use strict';
|
|
13617
14059
|
|
|
13618
14060
|
var ReactRef = _dereq_(94);
|
|
13619
|
-
var ReactInstrumentation = _dereq_(
|
|
14061
|
+
var ReactInstrumentation = _dereq_(76);
|
|
14062
|
+
|
|
14063
|
+
var invariant = _dereq_(173);
|
|
13620
14064
|
|
|
13621
14065
|
/**
|
|
13622
14066
|
* Helper to call ReactRef.attachRefs with this composite component, split out
|
|
@@ -13640,12 +14084,20 @@ var ReactReconciler = {
|
|
|
13640
14084
|
* @internal
|
|
13641
14085
|
*/
|
|
13642
14086
|
mountComponent: function (internalInstance, transaction, nativeParent, nativeContainerInfo, context) {
|
|
14087
|
+
if ("development" !== 'production') {
|
|
14088
|
+
if (internalInstance._debugID !== 0) {
|
|
14089
|
+
ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'mountComponent');
|
|
14090
|
+
}
|
|
14091
|
+
}
|
|
13643
14092
|
var markup = internalInstance.mountComponent(transaction, nativeParent, nativeContainerInfo, context);
|
|
13644
14093
|
if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {
|
|
13645
14094
|
transaction.getReactMountReady().enqueue(attachRefs, internalInstance);
|
|
13646
14095
|
}
|
|
13647
14096
|
if ("development" !== 'production') {
|
|
13648
|
-
|
|
14097
|
+
if (internalInstance._debugID !== 0) {
|
|
14098
|
+
ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'mountComponent');
|
|
14099
|
+
ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);
|
|
14100
|
+
}
|
|
13649
14101
|
}
|
|
13650
14102
|
return markup;
|
|
13651
14103
|
},
|
|
@@ -13665,10 +14117,18 @@ var ReactReconciler = {
|
|
|
13665
14117
|
* @internal
|
|
13666
14118
|
*/
|
|
13667
14119
|
unmountComponent: function (internalInstance, safely) {
|
|
14120
|
+
if ("development" !== 'production') {
|
|
14121
|
+
if (internalInstance._debugID !== 0) {
|
|
14122
|
+
ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'unmountComponent');
|
|
14123
|
+
}
|
|
14124
|
+
}
|
|
13668
14125
|
ReactRef.detachRefs(internalInstance, internalInstance._currentElement);
|
|
13669
14126
|
internalInstance.unmountComponent(safely);
|
|
13670
14127
|
if ("development" !== 'production') {
|
|
13671
|
-
|
|
14128
|
+
if (internalInstance._debugID !== 0) {
|
|
14129
|
+
ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'unmountComponent');
|
|
14130
|
+
ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);
|
|
14131
|
+
}
|
|
13672
14132
|
}
|
|
13673
14133
|
},
|
|
13674
14134
|
|
|
@@ -13698,6 +14158,12 @@ var ReactReconciler = {
|
|
|
13698
14158
|
return;
|
|
13699
14159
|
}
|
|
13700
14160
|
|
|
14161
|
+
if ("development" !== 'production') {
|
|
14162
|
+
if (internalInstance._debugID !== 0) {
|
|
14163
|
+
ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'receiveComponent');
|
|
14164
|
+
}
|
|
14165
|
+
}
|
|
14166
|
+
|
|
13701
14167
|
var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement);
|
|
13702
14168
|
|
|
13703
14169
|
if (refsChanged) {
|
|
@@ -13711,7 +14177,10 @@ var ReactReconciler = {
|
|
|
13711
14177
|
}
|
|
13712
14178
|
|
|
13713
14179
|
if ("development" !== 'production') {
|
|
13714
|
-
|
|
14180
|
+
if (internalInstance._debugID !== 0) {
|
|
14181
|
+
ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'receiveComponent');
|
|
14182
|
+
ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);
|
|
14183
|
+
}
|
|
13715
14184
|
}
|
|
13716
14185
|
},
|
|
13717
14186
|
|
|
@@ -13722,17 +14191,31 @@ var ReactReconciler = {
|
|
|
13722
14191
|
* @param {ReactReconcileTransaction} transaction
|
|
13723
14192
|
* @internal
|
|
13724
14193
|
*/
|
|
13725
|
-
performUpdateIfNecessary: function (internalInstance, transaction) {
|
|
14194
|
+
performUpdateIfNecessary: function (internalInstance, transaction, updateBatchNumber) {
|
|
14195
|
+
if (internalInstance._updateBatchNumber !== updateBatchNumber) {
|
|
14196
|
+
// The component's enqueued batch number should always be the current
|
|
14197
|
+
// batch or the following one.
|
|
14198
|
+
!(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1) ? "development" !== 'production' ? invariant(false, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : invariant(false) : void 0;
|
|
14199
|
+
return;
|
|
14200
|
+
}
|
|
14201
|
+
if ("development" !== 'production') {
|
|
14202
|
+
if (internalInstance._debugID !== 0) {
|
|
14203
|
+
ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary');
|
|
14204
|
+
}
|
|
14205
|
+
}
|
|
13726
14206
|
internalInstance.performUpdateIfNecessary(transaction);
|
|
13727
14207
|
if ("development" !== 'production') {
|
|
13728
|
-
|
|
14208
|
+
if (internalInstance._debugID !== 0) {
|
|
14209
|
+
ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary');
|
|
14210
|
+
ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);
|
|
14211
|
+
}
|
|
13729
14212
|
}
|
|
13730
14213
|
}
|
|
13731
14214
|
|
|
13732
14215
|
};
|
|
13733
14216
|
|
|
13734
14217
|
module.exports = ReactReconciler;
|
|
13735
|
-
},{"
|
|
14218
|
+
},{"173":173,"76":76,"94":94}],94:[function(_dereq_,module,exports){
|
|
13736
14219
|
/**
|
|
13737
14220
|
* Copyright 2013-present, Facebook, Inc.
|
|
13738
14221
|
* All rights reserved.
|
|
@@ -13847,10 +14330,12 @@ module.exports = ReactServerBatchingStrategy;
|
|
|
13847
14330
|
*/
|
|
13848
14331
|
'use strict';
|
|
13849
14332
|
|
|
13850
|
-
var ReactDOMContainerInfo = _dereq_(
|
|
13851
|
-
var ReactDefaultBatchingStrategy = _dereq_(
|
|
13852
|
-
var ReactElement = _dereq_(
|
|
13853
|
-
var
|
|
14333
|
+
var ReactDOMContainerInfo = _dereq_(46);
|
|
14334
|
+
var ReactDefaultBatchingStrategy = _dereq_(63);
|
|
14335
|
+
var ReactElement = _dereq_(65);
|
|
14336
|
+
var ReactInstrumentation = _dereq_(76);
|
|
14337
|
+
var ReactMarkupChecksum = _dereq_(79);
|
|
14338
|
+
var ReactReconciler = _dereq_(93);
|
|
13854
14339
|
var ReactServerBatchingStrategy = _dereq_(95);
|
|
13855
14340
|
var ReactServerRenderingTransaction = _dereq_(97);
|
|
13856
14341
|
var ReactUpdates = _dereq_(104);
|
|
@@ -13872,7 +14357,10 @@ function renderToStringImpl(element, makeStaticMarkup) {
|
|
|
13872
14357
|
|
|
13873
14358
|
return transaction.perform(function () {
|
|
13874
14359
|
var componentInstance = instantiateReactComponent(element);
|
|
13875
|
-
var markup =
|
|
14360
|
+
var markup = ReactReconciler.mountComponent(componentInstance, transaction, null, ReactDOMContainerInfo(), emptyObject);
|
|
14361
|
+
if ("development" !== 'production') {
|
|
14362
|
+
ReactInstrumentation.debugTool.onUnmountComponent(componentInstance._debugID);
|
|
14363
|
+
}
|
|
13876
14364
|
if (!makeStaticMarkup) {
|
|
13877
14365
|
markup = ReactMarkupChecksum.addChecksumToMarkup(markup);
|
|
13878
14366
|
}
|
|
@@ -13886,11 +14374,21 @@ function renderToStringImpl(element, makeStaticMarkup) {
|
|
|
13886
14374
|
}
|
|
13887
14375
|
}
|
|
13888
14376
|
|
|
14377
|
+
/**
|
|
14378
|
+
* Render a ReactElement to its initial HTML. This should only be used on the
|
|
14379
|
+
* server.
|
|
14380
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#reactdomserver.rendertostring
|
|
14381
|
+
*/
|
|
13889
14382
|
function renderToString(element) {
|
|
13890
14383
|
!ReactElement.isValidElement(element) ? "development" !== 'production' ? invariant(false, 'renderToString(): You must pass a valid ReactElement.') : invariant(false) : void 0;
|
|
13891
14384
|
return renderToStringImpl(element, false);
|
|
13892
14385
|
}
|
|
13893
14386
|
|
|
14387
|
+
/**
|
|
14388
|
+
* Similar to renderToString, except this doesn't create extra DOM attributes
|
|
14389
|
+
* such as data-react-id that React uses internally.
|
|
14390
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#reactdomserver.rendertostaticmarkup
|
|
14391
|
+
*/
|
|
13894
14392
|
function renderToStaticMarkup(element) {
|
|
13895
14393
|
!ReactElement.isValidElement(element) ? "development" !== 'production' ? invariant(false, 'renderToStaticMarkup(): You must pass a valid ReactElement.') : invariant(false) : void 0;
|
|
13896
14394
|
return renderToStringImpl(element, true);
|
|
@@ -13900,7 +14398,7 @@ module.exports = {
|
|
|
13900
14398
|
renderToString: renderToString,
|
|
13901
14399
|
renderToStaticMarkup: renderToStaticMarkup
|
|
13902
14400
|
};
|
|
13903
|
-
},{"104":104,"144":144,"166":166,"173":173,"
|
|
14401
|
+
},{"104":104,"144":144,"166":166,"173":173,"46":46,"63":63,"65":65,"76":76,"79":79,"93":93,"95":95,"97":97}],97:[function(_dereq_,module,exports){
|
|
13904
14402
|
/**
|
|
13905
14403
|
* Copyright 2014-present, Facebook, Inc.
|
|
13906
14404
|
* All rights reserved.
|
|
@@ -14100,13 +14598,13 @@ var EventPluginHub = _dereq_(17);
|
|
|
14100
14598
|
var EventPluginRegistry = _dereq_(18);
|
|
14101
14599
|
var EventPropagators = _dereq_(20);
|
|
14102
14600
|
var React = _dereq_(27);
|
|
14103
|
-
var ReactDefaultInjection = _dereq_(
|
|
14104
|
-
var ReactDOM = _dereq_(
|
|
14105
|
-
var ReactDOMComponentTree = _dereq_(
|
|
14106
|
-
var ReactElement = _dereq_(
|
|
14601
|
+
var ReactDefaultInjection = _dereq_(64);
|
|
14602
|
+
var ReactDOM = _dereq_(41);
|
|
14603
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
14604
|
+
var ReactElement = _dereq_(65);
|
|
14107
14605
|
var ReactBrowserEventEmitter = _dereq_(28);
|
|
14108
|
-
var ReactCompositeComponent = _dereq_(
|
|
14109
|
-
var ReactInstanceMap = _dereq_(
|
|
14606
|
+
var ReactCompositeComponent = _dereq_(39);
|
|
14607
|
+
var ReactInstanceMap = _dereq_(75);
|
|
14110
14608
|
var ReactUpdates = _dereq_(104);
|
|
14111
14609
|
var SyntheticEvent = _dereq_(115);
|
|
14112
14610
|
|
|
@@ -14145,6 +14643,10 @@ function findAllInRenderedTreeInternal(inst, test) {
|
|
|
14145
14643
|
}
|
|
14146
14644
|
|
|
14147
14645
|
/**
|
|
14646
|
+
* Utilities for making it easy to test React components.
|
|
14647
|
+
*
|
|
14648
|
+
* See https://facebook.github.io/react/docs/test-utils.html
|
|
14649
|
+
*
|
|
14148
14650
|
* Todo: Support the entire DOM.scry query syntax. For now, these simple
|
|
14149
14651
|
* utilities will suffice for testing purposes.
|
|
14150
14652
|
* @lends ReactTestUtils
|
|
@@ -14579,7 +15081,7 @@ Object.keys(topLevelTypes).forEach(function (eventType) {
|
|
|
14579
15081
|
});
|
|
14580
15082
|
|
|
14581
15083
|
module.exports = ReactTestUtils;
|
|
14582
|
-
},{"104":104,"115":115,"132":132,"16":16,"166":166,"17":17,"173":173,"18":18,"184":184,"20":20,"27":27,"28":28,"
|
|
15084
|
+
},{"104":104,"115":115,"132":132,"16":16,"166":166,"17":17,"173":173,"18":18,"184":184,"20":20,"27":27,"28":28,"39":39,"41":41,"45":45,"64":64,"65":65,"75":75}],100:[function(_dereq_,module,exports){
|
|
14583
15085
|
/**
|
|
14584
15086
|
* Copyright 2013-present, Facebook, Inc.
|
|
14585
15087
|
* All rights reserved.
|
|
@@ -14772,6 +15274,11 @@ var ReactTransitionChildMapping = _dereq_(100);
|
|
|
14772
15274
|
|
|
14773
15275
|
var emptyFunction = _dereq_(165);
|
|
14774
15276
|
|
|
15277
|
+
/**
|
|
15278
|
+
* A basis for animatins. When children are declaratively added or removed,
|
|
15279
|
+
* special lifecycle hooks are called.
|
|
15280
|
+
* See https://facebook.github.io/react/docs/animation.html#low-level-api-reacttransitiongroup
|
|
15281
|
+
*/
|
|
14775
15282
|
var ReactTransitionGroup = React.createClass({
|
|
14776
15283
|
displayName: 'ReactTransitionGroup',
|
|
14777
15284
|
|
|
@@ -14972,8 +15479,8 @@ module.exports = ReactTransitionGroup;
|
|
|
14972
15479
|
|
|
14973
15480
|
'use strict';
|
|
14974
15481
|
|
|
14975
|
-
var ReactCurrentOwner = _dereq_(
|
|
14976
|
-
var ReactInstanceMap = _dereq_(
|
|
15482
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
15483
|
+
var ReactInstanceMap = _dereq_(75);
|
|
14977
15484
|
var ReactUpdates = _dereq_(104);
|
|
14978
15485
|
|
|
14979
15486
|
var invariant = _dereq_(173);
|
|
@@ -15174,7 +15681,7 @@ var ReactUpdateQueue = {
|
|
|
15174
15681
|
};
|
|
15175
15682
|
|
|
15176
15683
|
module.exports = ReactUpdateQueue;
|
|
15177
|
-
},{"104":104,"173":173,"183":183,"
|
|
15684
|
+
},{"104":104,"173":173,"183":183,"40":40,"75":75}],104:[function(_dereq_,module,exports){
|
|
15178
15685
|
/**
|
|
15179
15686
|
* Copyright 2013-present, Facebook, Inc.
|
|
15180
15687
|
* All rights reserved.
|
|
@@ -15192,14 +15699,15 @@ var _assign = _dereq_(184);
|
|
|
15192
15699
|
|
|
15193
15700
|
var CallbackQueue = _dereq_(5);
|
|
15194
15701
|
var PooledClass = _dereq_(26);
|
|
15195
|
-
var ReactFeatureFlags = _dereq_(
|
|
15196
|
-
var
|
|
15702
|
+
var ReactFeatureFlags = _dereq_(71);
|
|
15703
|
+
var ReactInstrumentation = _dereq_(76);
|
|
15197
15704
|
var ReactReconciler = _dereq_(93);
|
|
15198
15705
|
var Transaction = _dereq_(124);
|
|
15199
15706
|
|
|
15200
15707
|
var invariant = _dereq_(173);
|
|
15201
15708
|
|
|
15202
15709
|
var dirtyComponents = [];
|
|
15710
|
+
var updateBatchNumber = 0;
|
|
15203
15711
|
var asapCallbackQueue = CallbackQueue.getPooled();
|
|
15204
15712
|
var asapEnqueued = false;
|
|
15205
15713
|
|
|
@@ -15294,6 +15802,13 @@ function runBatchedUpdates(transaction) {
|
|
|
15294
15802
|
// them before their children by sorting the array.
|
|
15295
15803
|
dirtyComponents.sort(mountOrderComparator);
|
|
15296
15804
|
|
|
15805
|
+
// Any updates enqueued while reconciling must be performed after this entire
|
|
15806
|
+
// batch. Otherwise, if dirtyComponents is [A, B] where A has children B and
|
|
15807
|
+
// C, B could update twice in a single batch if C's render enqueues an update
|
|
15808
|
+
// to B (since B would have already updated, we should skip it, and the only
|
|
15809
|
+
// way we can know to do so is by checking the batch counter).
|
|
15810
|
+
updateBatchNumber++;
|
|
15811
|
+
|
|
15297
15812
|
for (var i = 0; i < len; i++) {
|
|
15298
15813
|
// If a component is unmounted before pending changes apply, it will still
|
|
15299
15814
|
// be here, but we assume that it has cleared its _pendingCallbacks and
|
|
@@ -15317,7 +15832,7 @@ function runBatchedUpdates(transaction) {
|
|
|
15317
15832
|
console.time(markerName);
|
|
15318
15833
|
}
|
|
15319
15834
|
|
|
15320
|
-
ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction);
|
|
15835
|
+
ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber);
|
|
15321
15836
|
|
|
15322
15837
|
if (markerName) {
|
|
15323
15838
|
console.timeEnd(markerName);
|
|
@@ -15332,6 +15847,10 @@ function runBatchedUpdates(transaction) {
|
|
|
15332
15847
|
}
|
|
15333
15848
|
|
|
15334
15849
|
var flushBatchedUpdates = function () {
|
|
15850
|
+
if ("development" !== 'production') {
|
|
15851
|
+
ReactInstrumentation.debugTool.onBeginFlush();
|
|
15852
|
+
}
|
|
15853
|
+
|
|
15335
15854
|
// ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents
|
|
15336
15855
|
// array and perform any updates enqueued by mount-ready handlers (i.e.,
|
|
15337
15856
|
// componentDidUpdate) but we need to check here too in order to catch
|
|
@@ -15351,8 +15870,11 @@ var flushBatchedUpdates = function () {
|
|
|
15351
15870
|
CallbackQueue.release(queue);
|
|
15352
15871
|
}
|
|
15353
15872
|
}
|
|
15873
|
+
|
|
15874
|
+
if ("development" !== 'production') {
|
|
15875
|
+
ReactInstrumentation.debugTool.onEndFlush();
|
|
15876
|
+
}
|
|
15354
15877
|
};
|
|
15355
|
-
flushBatchedUpdates = ReactPerf.measure('ReactUpdates', 'flushBatchedUpdates', flushBatchedUpdates);
|
|
15356
15878
|
|
|
15357
15879
|
/**
|
|
15358
15880
|
* Mark a component as needing a rerender, adding an optional callback to a
|
|
@@ -15373,6 +15895,9 @@ function enqueueUpdate(component) {
|
|
|
15373
15895
|
}
|
|
15374
15896
|
|
|
15375
15897
|
dirtyComponents.push(component);
|
|
15898
|
+
if (component._updateBatchNumber == null) {
|
|
15899
|
+
component._updateBatchNumber = updateBatchNumber + 1;
|
|
15900
|
+
}
|
|
15376
15901
|
}
|
|
15377
15902
|
|
|
15378
15903
|
/**
|
|
@@ -15416,7 +15941,7 @@ var ReactUpdates = {
|
|
|
15416
15941
|
};
|
|
15417
15942
|
|
|
15418
15943
|
module.exports = ReactUpdates;
|
|
15419
|
-
},{"124":124,"173":173,"184":184,"26":26,"5":5,"
|
|
15944
|
+
},{"124":124,"173":173,"184":184,"26":26,"5":5,"71":71,"76":76,"93":93}],105:[function(_dereq_,module,exports){
|
|
15420
15945
|
/**
|
|
15421
15946
|
* Copyright 2013-present, Facebook, Inc.
|
|
15422
15947
|
* All rights reserved.
|
|
@@ -15430,7 +15955,7 @@ module.exports = ReactUpdates;
|
|
|
15430
15955
|
|
|
15431
15956
|
'use strict';
|
|
15432
15957
|
|
|
15433
|
-
module.exports = '15.0
|
|
15958
|
+
module.exports = '15.1.0-alpha.1';
|
|
15434
15959
|
},{}],106:[function(_dereq_,module,exports){
|
|
15435
15960
|
/**
|
|
15436
15961
|
* Copyright 2013-present, Facebook, Inc.
|
|
@@ -15447,9 +15972,9 @@ module.exports = '15.0.3-alpha.2';
|
|
|
15447
15972
|
|
|
15448
15973
|
var LinkedStateMixin = _dereq_(24);
|
|
15449
15974
|
var React = _dereq_(27);
|
|
15450
|
-
var ReactComponentWithPureRenderMixin = _dereq_(
|
|
15975
|
+
var ReactComponentWithPureRenderMixin = _dereq_(38);
|
|
15451
15976
|
var ReactCSSTransitionGroup = _dereq_(29);
|
|
15452
|
-
var ReactFragment = _dereq_(
|
|
15977
|
+
var ReactFragment = _dereq_(72);
|
|
15453
15978
|
var ReactTransitionGroup = _dereq_(102);
|
|
15454
15979
|
|
|
15455
15980
|
var shallowCompare = _dereq_(152);
|
|
@@ -15467,12 +15992,12 @@ React.addons = {
|
|
|
15467
15992
|
};
|
|
15468
15993
|
|
|
15469
15994
|
if ("development" !== 'production') {
|
|
15470
|
-
React.addons.Perf = _dereq_(
|
|
15995
|
+
React.addons.Perf = _dereq_(88);
|
|
15471
15996
|
React.addons.TestUtils = _dereq_(99);
|
|
15472
15997
|
}
|
|
15473
15998
|
|
|
15474
15999
|
module.exports = React;
|
|
15475
|
-
},{"102":102,"152":152,"155":155,"24":24,"27":27,"29":29,"
|
|
16000
|
+
},{"102":102,"152":152,"155":155,"24":24,"27":27,"29":29,"38":38,"72":72,"88":88,"99":99}],107:[function(_dereq_,module,exports){
|
|
15476
16001
|
/**
|
|
15477
16002
|
* Copyright 2013-present, Facebook, Inc.
|
|
15478
16003
|
* All rights reserved.
|
|
@@ -15488,8 +16013,8 @@ module.exports = React;
|
|
|
15488
16013
|
|
|
15489
16014
|
var _assign = _dereq_(184);
|
|
15490
16015
|
|
|
15491
|
-
var ReactDOM = _dereq_(
|
|
15492
|
-
var ReactDOMServer = _dereq_(
|
|
16016
|
+
var ReactDOM = _dereq_(41);
|
|
16017
|
+
var ReactDOMServer = _dereq_(57);
|
|
15493
16018
|
var ReactWithAddons = _dereq_(106);
|
|
15494
16019
|
|
|
15495
16020
|
// `version` will be added here by ReactIsomorphic.
|
|
@@ -15499,7 +16024,7 @@ var ReactWithAddonsUMDEntry = _assign({
|
|
|
15499
16024
|
}, ReactWithAddons);
|
|
15500
16025
|
|
|
15501
16026
|
module.exports = ReactWithAddonsUMDEntry;
|
|
15502
|
-
},{"106":106,"184":184,"
|
|
16027
|
+
},{"106":106,"184":184,"41":41,"57":57}],108:[function(_dereq_,module,exports){
|
|
15503
16028
|
/**
|
|
15504
16029
|
* Copyright 2013-present, Facebook, Inc.
|
|
15505
16030
|
* All rights reserved.
|
|
@@ -15817,8 +16342,8 @@ module.exports = SVGDOMPropertyConfig;
|
|
|
15817
16342
|
var EventConstants = _dereq_(16);
|
|
15818
16343
|
var EventPropagators = _dereq_(20);
|
|
15819
16344
|
var ExecutionEnvironment = _dereq_(159);
|
|
15820
|
-
var ReactDOMComponentTree = _dereq_(
|
|
15821
|
-
var ReactInputSelection = _dereq_(
|
|
16345
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
16346
|
+
var ReactInputSelection = _dereq_(74);
|
|
15822
16347
|
var SyntheticEvent = _dereq_(115);
|
|
15823
16348
|
|
|
15824
16349
|
var getActiveElement = _dereq_(168);
|
|
@@ -15997,7 +16522,7 @@ var SelectEventPlugin = {
|
|
|
15997
16522
|
};
|
|
15998
16523
|
|
|
15999
16524
|
module.exports = SelectEventPlugin;
|
|
16000
|
-
},{"115":115,"146":146,"159":159,"16":16,"168":168,"177":177,"182":182,"20":20,"
|
|
16525
|
+
},{"115":115,"146":146,"159":159,"16":16,"168":168,"177":177,"182":182,"20":20,"45":45,"74":74}],110:[function(_dereq_,module,exports){
|
|
16001
16526
|
/**
|
|
16002
16527
|
* Copyright 2013-present, Facebook, Inc.
|
|
16003
16528
|
* All rights reserved.
|
|
@@ -16014,7 +16539,7 @@ module.exports = SelectEventPlugin;
|
|
|
16014
16539
|
var EventConstants = _dereq_(16);
|
|
16015
16540
|
var EventListener = _dereq_(158);
|
|
16016
16541
|
var EventPropagators = _dereq_(20);
|
|
16017
|
-
var ReactDOMComponentTree = _dereq_(
|
|
16542
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
16018
16543
|
var SyntheticAnimationEvent = _dereq_(111);
|
|
16019
16544
|
var SyntheticClipboardEvent = _dereq_(112);
|
|
16020
16545
|
var SyntheticEvent = _dereq_(115);
|
|
@@ -16625,7 +17150,7 @@ var SimpleEventPlugin = {
|
|
|
16625
17150
|
};
|
|
16626
17151
|
|
|
16627
17152
|
module.exports = SimpleEventPlugin;
|
|
16628
|
-
},{"111":111,"112":112,"114":114,"115":115,"116":116,"118":118,"119":119,"120":120,"121":121,"122":122,"123":123,"135":135,"158":158,"16":16,"165":165,"173":173,"177":177,"20":20,"
|
|
17153
|
+
},{"111":111,"112":112,"114":114,"115":115,"116":116,"118":118,"119":119,"120":120,"121":121,"122":122,"123":123,"135":135,"158":158,"16":16,"165":165,"173":173,"177":177,"20":20,"45":45}],111:[function(_dereq_,module,exports){
|
|
16629
17154
|
/**
|
|
16630
17155
|
* Copyright 2013-present, Facebook, Inc.
|
|
16631
17156
|
* All rights reserved.
|
|
@@ -18027,9 +18552,9 @@ module.exports = escapeTextContentForBrowser;
|
|
|
18027
18552
|
|
|
18028
18553
|
'use strict';
|
|
18029
18554
|
|
|
18030
|
-
var ReactCurrentOwner = _dereq_(
|
|
18031
|
-
var ReactDOMComponentTree = _dereq_(
|
|
18032
|
-
var ReactInstanceMap = _dereq_(
|
|
18555
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
18556
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
18557
|
+
var ReactInstanceMap = _dereq_(75);
|
|
18033
18558
|
|
|
18034
18559
|
var getNativeComponentFromComposite = _dereq_(140);
|
|
18035
18560
|
var invariant = _dereq_(173);
|
|
@@ -18038,6 +18563,8 @@ var warning = _dereq_(183);
|
|
|
18038
18563
|
/**
|
|
18039
18564
|
* Returns the DOM node rendered by this element.
|
|
18040
18565
|
*
|
|
18566
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnode
|
|
18567
|
+
*
|
|
18041
18568
|
* @param {ReactComponent|DOMElement} componentOrElement
|
|
18042
18569
|
* @return {?DOMElement} The root node of this element.
|
|
18043
18570
|
*/
|
|
@@ -18070,7 +18597,7 @@ function findDOMNode(componentOrElement) {
|
|
|
18070
18597
|
}
|
|
18071
18598
|
|
|
18072
18599
|
module.exports = findDOMNode;
|
|
18073
|
-
},{"140":140,"173":173,"183":183,"
|
|
18600
|
+
},{"140":140,"173":173,"183":183,"40":40,"45":45,"75":75}],133:[function(_dereq_,module,exports){
|
|
18074
18601
|
/**
|
|
18075
18602
|
* Copyright 2013-present, Facebook, Inc.
|
|
18076
18603
|
* All rights reserved.
|
|
@@ -18684,9 +19211,10 @@ module.exports = getVendorPrefixedEventName;
|
|
|
18684
19211
|
|
|
18685
19212
|
var _assign = _dereq_(184);
|
|
18686
19213
|
|
|
18687
|
-
var ReactCompositeComponent = _dereq_(
|
|
18688
|
-
var ReactEmptyComponent = _dereq_(
|
|
18689
|
-
var ReactNativeComponent = _dereq_(
|
|
19214
|
+
var ReactCompositeComponent = _dereq_(39);
|
|
19215
|
+
var ReactEmptyComponent = _dereq_(67);
|
|
19216
|
+
var ReactNativeComponent = _dereq_(83);
|
|
19217
|
+
var ReactInstrumentation = _dereq_(76);
|
|
18690
19218
|
|
|
18691
19219
|
var invariant = _dereq_(173);
|
|
18692
19220
|
var warning = _dereq_(183);
|
|
@@ -18709,6 +19237,21 @@ function getDeclarationErrorAddendum(owner) {
|
|
|
18709
19237
|
return '';
|
|
18710
19238
|
}
|
|
18711
19239
|
|
|
19240
|
+
function getDisplayName(instance) {
|
|
19241
|
+
var element = instance._currentElement;
|
|
19242
|
+
if (element == null) {
|
|
19243
|
+
return '#empty';
|
|
19244
|
+
} else if (typeof element === 'string' || typeof element === 'number') {
|
|
19245
|
+
return '#text';
|
|
19246
|
+
} else if (typeof element.type === 'string') {
|
|
19247
|
+
return element.type;
|
|
19248
|
+
} else if (instance.getName) {
|
|
19249
|
+
return instance.getName() || 'Unknown';
|
|
19250
|
+
} else {
|
|
19251
|
+
return element.type.displayName || element.type.name || 'Unknown';
|
|
19252
|
+
}
|
|
19253
|
+
}
|
|
19254
|
+
|
|
18712
19255
|
/**
|
|
18713
19256
|
* Check if the type reference is a known internal type. I.e. not a user
|
|
18714
19257
|
* provided composite type.
|
|
@@ -18720,6 +19263,8 @@ function isInternalComponentType(type) {
|
|
|
18720
19263
|
return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function';
|
|
18721
19264
|
}
|
|
18722
19265
|
|
|
19266
|
+
var nextDebugID = 1;
|
|
19267
|
+
|
|
18723
19268
|
/**
|
|
18724
19269
|
* Given a ReactNode, create an instance that will actually be mounted.
|
|
18725
19270
|
*
|
|
@@ -18730,7 +19275,8 @@ function isInternalComponentType(type) {
|
|
|
18730
19275
|
function instantiateReactComponent(node) {
|
|
18731
19276
|
var instance;
|
|
18732
19277
|
|
|
18733
|
-
|
|
19278
|
+
var isEmpty = node === null || node === false;
|
|
19279
|
+
if (isEmpty) {
|
|
18734
19280
|
instance = ReactEmptyComponent.create(instantiateReactComponent);
|
|
18735
19281
|
} else if (typeof node === 'object') {
|
|
18736
19282
|
var element = node;
|
|
@@ -18768,6 +19314,18 @@ function instantiateReactComponent(node) {
|
|
|
18768
19314
|
instance._warnedAboutRefsInRender = false;
|
|
18769
19315
|
}
|
|
18770
19316
|
|
|
19317
|
+
if ("development" !== 'production') {
|
|
19318
|
+
var debugID = isEmpty ? 0 : nextDebugID++;
|
|
19319
|
+
instance._debugID = debugID;
|
|
19320
|
+
|
|
19321
|
+
var displayName = getDisplayName(instance);
|
|
19322
|
+
ReactInstrumentation.debugTool.onSetDisplayName(debugID, displayName);
|
|
19323
|
+
var owner = node && node._owner;
|
|
19324
|
+
if (owner) {
|
|
19325
|
+
ReactInstrumentation.debugTool.onSetOwner(debugID, owner._debugID);
|
|
19326
|
+
}
|
|
19327
|
+
}
|
|
19328
|
+
|
|
18771
19329
|
// Internal instances should fully constructed at this point, so they should
|
|
18772
19330
|
// not get any new fields added to them at this point.
|
|
18773
19331
|
if ("development" !== 'production') {
|
|
@@ -18780,7 +19338,7 @@ function instantiateReactComponent(node) {
|
|
|
18780
19338
|
}
|
|
18781
19339
|
|
|
18782
19340
|
module.exports = instantiateReactComponent;
|
|
18783
|
-
},{"173":173,"183":183,"184":184,"
|
|
19341
|
+
},{"173":173,"183":183,"184":184,"39":39,"67":67,"76":76,"83":83}],145:[function(_dereq_,module,exports){
|
|
18784
19342
|
/**
|
|
18785
19343
|
* Copyright 2013-present, Facebook, Inc.
|
|
18786
19344
|
* All rights reserved.
|
|
@@ -18896,16 +19454,19 @@ module.exports = isTextInputElement;
|
|
|
18896
19454
|
*/
|
|
18897
19455
|
'use strict';
|
|
18898
19456
|
|
|
18899
|
-
var ReactElement = _dereq_(
|
|
19457
|
+
var ReactElement = _dereq_(65);
|
|
18900
19458
|
|
|
18901
19459
|
var invariant = _dereq_(173);
|
|
18902
19460
|
|
|
18903
19461
|
/**
|
|
18904
19462
|
* Returns the first child in a collection of children and verifies that there
|
|
18905
|
-
* is only one child in the collection.
|
|
18906
|
-
*
|
|
18907
|
-
*
|
|
18908
|
-
*
|
|
19463
|
+
* is only one child in the collection.
|
|
19464
|
+
*
|
|
19465
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.only
|
|
19466
|
+
*
|
|
19467
|
+
* The current implementation of this function assumes that a single child gets
|
|
19468
|
+
* passed without a wrapper, but the purpose of this helper function is to
|
|
19469
|
+
* abstract away the particular structure of children.
|
|
18909
19470
|
*
|
|
18910
19471
|
* @param {?object} children Child collection structure.
|
|
18911
19472
|
* @return {ReactElement} The first and only `ReactElement` contained in the
|
|
@@ -18917,7 +19478,7 @@ function onlyChild(children) {
|
|
|
18917
19478
|
}
|
|
18918
19479
|
|
|
18919
19480
|
module.exports = onlyChild;
|
|
18920
|
-
},{"173":173,"
|
|
19481
|
+
},{"173":173,"65":65}],148:[function(_dereq_,module,exports){
|
|
18921
19482
|
/**
|
|
18922
19483
|
* Copyright 2013-present, Facebook, Inc.
|
|
18923
19484
|
* All rights reserved.
|
|
@@ -18958,10 +19519,10 @@ module.exports = quoteAttributeValueForBrowser;
|
|
|
18958
19519
|
|
|
18959
19520
|
'use strict';
|
|
18960
19521
|
|
|
18961
|
-
var ReactMount = _dereq_(
|
|
19522
|
+
var ReactMount = _dereq_(80);
|
|
18962
19523
|
|
|
18963
19524
|
module.exports = ReactMount.renderSubtreeIntoContainer;
|
|
18964
|
-
},{"
|
|
19525
|
+
},{"80":80}],150:[function(_dereq_,module,exports){
|
|
18965
19526
|
/**
|
|
18966
19527
|
* Copyright 2013-present, Facebook, Inc.
|
|
18967
19528
|
* All rights reserved.
|
|
@@ -19104,6 +19665,7 @@ var shallowEqual = _dereq_(182);
|
|
|
19104
19665
|
/**
|
|
19105
19666
|
* Does a shallow comparison for props and state.
|
|
19106
19667
|
* See ReactComponentWithPureRenderMixin
|
|
19668
|
+
* See also https://facebook.github.io/react/docs/shallow-compare.html
|
|
19107
19669
|
*/
|
|
19108
19670
|
function shallowCompare(instance, nextProps, nextState) {
|
|
19109
19671
|
return !shallowEqual(instance.props, nextProps) || !shallowEqual(instance.state, nextState);
|
|
@@ -19167,8 +19729,8 @@ module.exports = shouldUpdateReactComponent;
|
|
|
19167
19729
|
|
|
19168
19730
|
'use strict';
|
|
19169
19731
|
|
|
19170
|
-
var ReactCurrentOwner = _dereq_(
|
|
19171
|
-
var ReactElement = _dereq_(
|
|
19732
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
19733
|
+
var ReactElement = _dereq_(65);
|
|
19172
19734
|
|
|
19173
19735
|
var getIteratorFn = _dereq_(139);
|
|
19174
19736
|
var invariant = _dereq_(173);
|
|
@@ -19312,7 +19874,7 @@ function traverseAllChildren(children, callback, traverseContext) {
|
|
|
19312
19874
|
}
|
|
19313
19875
|
|
|
19314
19876
|
module.exports = traverseAllChildren;
|
|
19315
|
-
},{"139":139,"173":173,"183":183,"23":23,"
|
|
19877
|
+
},{"139":139,"173":173,"183":183,"23":23,"40":40,"65":65}],155:[function(_dereq_,module,exports){
|
|
19316
19878
|
/**
|
|
19317
19879
|
* Copyright 2013-present, Facebook, Inc.
|
|
19318
19880
|
* All rights reserved.
|
|
@@ -19365,6 +19927,10 @@ function invariantArrayCase(value, spec, command) {
|
|
|
19365
19927
|
!Array.isArray(specValue) ? "development" !== 'production' ? invariant(false, 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, specValue) : invariant(false) : void 0;
|
|
19366
19928
|
}
|
|
19367
19929
|
|
|
19930
|
+
/**
|
|
19931
|
+
* Returns a updated shallow copy of an object without mutating the original.
|
|
19932
|
+
* See https://facebook.github.io/react/docs/update.html for details.
|
|
19933
|
+
*/
|
|
19368
19934
|
function update(value, spec) {
|
|
19369
19935
|
!(typeof spec === 'object') ? "development" !== 'production' ? invariant(false, 'update(): You provided a key path to update() that did not contain one ' + 'of %s. Did you forget to include {%s: ...}?', ALL_COMMANDS_LIST.join(', '), COMMAND_SET) : invariant(false) : void 0;
|
|
19370
19936
|
|