Skip to content

Commit 7cc2f0a

Browse files
committed
release v2.1.0
1 parent 2e69c63 commit 7cc2f0a

81 files changed

Lines changed: 145319 additions & 109187 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintrc.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ module.exports = {
2323
"rules": {
2424
"indent": [
2525
"error",
26-
2
26+
2,
27+
{
28+
"SwitchCase": 1
29+
}
2730
],
2831
"linebreak-style": [
2932
"error",

build/ReactSelection.js

Lines changed: 58 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,13 @@ import { PureComponent } from "../src/PureComponent";
1010
import { createElement } from "../src/createElement";
1111
import { createPortal } from "../src/createPortal";
1212

13-
import { render, findDOMNode, isValidElement, unmountComponentAtNode, unstable_renderSubtreeIntoContainer } from "../src/diff";
14-
13+
import {
14+
render,
15+
findDOMNode,
16+
isValidElement,
17+
unmountComponentAtNode,
18+
unstable_renderSubtreeIntoContainer
19+
} from "../src/diff";
1520

1621
var React = {
1722
version: "VERSION",
@@ -20,7 +25,7 @@ var React = {
2025
options,
2126
PropTypes,
2227
createPortal,
23-
Children,
28+
Children,
2429
Component,
2530
eventSystem,
2631
findDOMNode,
@@ -33,15 +38,13 @@ var React = {
3338
unstable_renderSubtreeIntoContainer,
3439

3540
createFactory(type) {
36-
console.warn("createFactory is deprecated"); // eslint-disable-line
41+
console.warn("createFactory is deprecated"); // eslint-disable-line
3742
var factory = createElement.bind(null, type);
3843
factory.type = type;
3944
return factory;
4045
}
4146
};
4247

43-
44-
4548
function isInDocument(node) {
4649
if (!inBrowser) {
4750
return false;
@@ -69,17 +72,11 @@ function focusNode(node) {
6972
}
7073

7174
function getNodeTag(node) {
72-
return node.nodeName
73-
? node
74-
.nodeName
75-
.toLowerCase()
76-
: "";
75+
return node.nodeName ? node.nodeName.toLowerCase() : "";
7776
}
7877

7978
function getActiveElement(doc) {
80-
doc = doc || (inBrowser
81-
? document
82-
: undefined);
79+
doc = doc || (inBrowser ? document : undefined);
8380
if (typeof doc === "undefined") {
8481
return null;
8582
}
@@ -96,19 +93,26 @@ function getActiveElement(doc) {
9693
* Input selection module for React.
9794
*/
9895
var ReactInputSelection = {
99-
hasSelectionCapabilities: function (elem) {
96+
hasSelectionCapabilities: function(elem) {
10097
var nodeName = getNodeTag(elem || {});
101-
return nodeName && (nodeName === "input" && elem.type === "text" || nodeName === "textarea" || elem.contentEditable === "true");
98+
return (
99+
nodeName &&
100+
((nodeName === "input" && elem.type === "text") ||
101+
nodeName === "textarea" ||
102+
elem.contentEditable === "true")
103+
);
102104
},
103105

104-
getSelectionInformation: function () {
106+
getSelectionInformation: function() {
105107
let focusedElem = getActiveElement();
106-
var selectionRange = ReactInputSelection.hasSelectionCapabilities(focusedElem)
108+
var selectionRange = ReactInputSelection.hasSelectionCapabilities(
109+
focusedElem
110+
)
107111
? ReactInputSelection.getSelection(focusedElem)
108112
: null;
109113
return { focusedElem, selectionRange };
110114
},
111-
restoreSelection: function (lastInformation) {
115+
restoreSelection: function(lastInformation) {
112116
var curFocusedElem = getActiveElement();
113117
var priorFocusedElem = lastInformation.focusedElem;
114118
var priorSelectionRange = lastInformation.selectionRange;
@@ -120,7 +124,7 @@ var ReactInputSelection = {
120124
focusNode(priorFocusedElem);
121125
}
122126
},
123-
getSelection: function (input) {
127+
getSelection: function(input) {
124128
var selection;
125129

126130
if ("selectionStart" in input) {
@@ -131,9 +135,7 @@ var ReactInputSelection = {
131135
};
132136
} else if (document.selection && getNodeTag(input) === "input") {
133137
// IE8 input.
134-
var range = document
135-
.selection
136-
.createRange();
138+
var range = document.selection.createRange();
137139
// There can only be one selection per document in IE, so it must be in our
138140
// element.
139141
if (range.parentElement() === input) {
@@ -147,13 +149,15 @@ var ReactInputSelection = {
147149
selection = ReactDOMSelection.getOffsets(input);
148150
}
149151

150-
return selection || {
151-
start: 0,
152-
end: 0
153-
};
152+
return (
153+
selection || {
154+
start: 0,
155+
end: 0
156+
}
157+
);
154158
},
155159

156-
setSelection: function (input, offsets) {
160+
setSelection: function(input, offsets) {
157161
var start = offsets.start;
158162
var end = offsets.end;
159163
if (end === undefined) {
@@ -232,25 +236,27 @@ function getModernOffsets(node) {
232236
// If the node and offset values are the same, the selection is collapsed.
233237
// `Selection.isCollapsed` is available natively, but IE sometimes gets this
234238
// value wrong.
235-
var isSelectionCollapsed = isCollapsed(selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);
239+
var isSelectionCollapsed = isCollapsed(
240+
selection.anchorNode,
241+
selection.anchorOffset,
242+
selection.focusNode,
243+
selection.focusOffset
244+
);
236245

237-
var rangeLength = isSelectionCollapsed
238-
? 0
239-
: currentRange
240-
.toString()
241-
.length;
246+
var rangeLength = isSelectionCollapsed ? 0 : currentRange.toString().length;
242247

243248
var tempRange = currentRange.cloneRange();
244249
tempRange.selectNodeContents(node);
245250
tempRange.setEnd(currentRange.startContainer, currentRange.startOffset);
246251

247-
var isTempRangeCollapsed = isCollapsed(tempRange.startContainer, tempRange.startOffset, tempRange.endContainer, tempRange.endOffset);
252+
var isTempRangeCollapsed = isCollapsed(
253+
tempRange.startContainer,
254+
tempRange.startOffset,
255+
tempRange.endContainer,
256+
tempRange.endOffset
257+
);
248258

249-
var start = isTempRangeCollapsed
250-
? 0
251-
: tempRange
252-
.toString()
253-
.length;
259+
var start = isTempRangeCollapsed ? 0 : tempRange.toString().length;
254260
var end = start + rangeLength;
255261

256262
// Detect whether the selection is backward.
@@ -260,12 +266,8 @@ function getModernOffsets(node) {
260266
var isBackward = detectionRange.collapsed;
261267

262268
return {
263-
start: isBackward
264-
? end
265-
: start,
266-
end: isBackward
267-
? start
268-
: end
269+
start: isBackward ? end : start,
270+
end: isBackward ? start : end
269271
};
270272
}
271273

@@ -274,12 +276,8 @@ function getModernOffsets(node) {
274276
* @param {object} offsets
275277
*/
276278
function setIEOffsets(node, offsets) {
277-
var range = document
278-
.selection
279-
.createRange()
280-
.duplicate();
281-
var start,
282-
end;
279+
var range = document.selection.createRange().duplicate();
280+
var start, end;
283281

284282
if (offsets.end === undefined) {
285283
start = offsets.start;
@@ -319,12 +317,10 @@ function setModernOffsets(node, offsets) {
319317
var selection = window.getSelection();
320318
var length = node.textContent.length;
321319
var start = Math.min(offsets.start, length);
322-
var end = offsets.end === undefined
323-
? start
324-
: Math.min(offsets.end, length);
320+
var end = offsets.end === undefined ? start : Math.min(offsets.end, length);
325321

326-
// IE 11 uses modern selection, but doesn"t support the extend method. Flip
327-
// backward selections, so we can set with a single range.
322+
// IE 11 uses modern selection, but doesn"t support the extend method. Flip
323+
// backward selections, so we can set with a single range.
328324
if (!selection.extend && start > end) {
329325
var temp = end;
330326
end = start;
@@ -349,14 +345,11 @@ function setModernOffsets(node, offsets) {
349345
}
350346
}
351347

352-
var useIEOffsets = inBrowser && "selection" in document && !("getSelection" in window);
348+
var useIEOffsets =
349+
inBrowser && "selection" in document && !("getSelection" in window);
353350
var ReactDOMSelection = {
354-
getOffsets: useIEOffsets
355-
? getIEOffsets
356-
: getModernOffsets,
357-
setOffsets: useIEOffsets
358-
? setIEOffsets
359-
: setModernOffsets
351+
getOffsets: useIEOffsets ? getIEOffsets : getModernOffsets,
352+
setOffsets: useIEOffsets ? setIEOffsets : setModernOffsets
360353
};
361354

362355
function getLeafNode(node) {
@@ -413,7 +406,7 @@ var newOptions = {
413406
};
414407
function fixOptions(obj, name, oldFn, fn) {
415408
if (oldFn) {
416-
obj[name] = function (a) {
409+
obj[name] = function(a) {
417410
fn(a);
418411
oldFn(a);
419412
};
@@ -426,7 +419,6 @@ for (let i in newOptions) {
426419
fixOptions(options, i, options[i], newOptions[i]);
427420
}
428421

429-
430422
window.React = window.ReactDOM = React;
431423

432424
export default React;

build/rollup.ie.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export default {
1111
exports: "default",
1212
dest: "./dist/ReactIE.js",
1313
plugins: [
14-
1514
babel({
1615
// plugins: ['external-helpers'],
1716
// externalHelpers: true,
@@ -27,9 +26,9 @@ export default {
2726
}),
2827

2928
license({
30-
banner: `Maintained by YMFE Copyright ${JSON.stringify(
29+
banner: `IE6+,有问题请加QQ 370262116 by 司徒正美 Copyright ${JSON.stringify(
3130
new Date()
32-
).replace(/T.*|"/g,"")}`
31+
).replace(/T.*|"/g, "")}`
3332
}),
3433

3534
replace({
@@ -38,7 +37,6 @@ export default {
3837
test: "VERSION",
3938
replace: json.version
4039
}
41-
4240
]
4341
}),
4442
filesize()

build/rollup.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export default {
1111
exports: "default",
1212
dest: "./dist/React.js",
1313
plugins: [
14-
1514
babel({
1615
// plugins: ['external-helpers'],
1716
// externalHelpers: true,
@@ -27,7 +26,10 @@ export default {
2726
}),
2827

2928
license({
30-
banner: `Maintained by YMFE Copyright ${JSON.stringify(new Date()).replace(/T.*|"/g,"")}
29+
banner: `by 司徒正美 Copyright ${JSON.stringify(new Date()).replace(
30+
/T.*|"/g,
31+
""
32+
)}
3133
IE9+
3234
`
3335
}),
@@ -36,7 +38,7 @@ export default {
3638
// ... do replace before commonjs
3739
patterns: [
3840
{
39-
test: "VERSION",
41+
test: "VERSION",
4042
// string or function to replaced with
4143
replace: json.version
4244
}

build/rollup.selection.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ export default {
1010
exports: "default",
1111
dest: "./dist/ReactSelection.js",
1212
plugins: [
13-
1413
babel({
1514
// plugins: ['external-helpers'],
1615
// externalHelpers: true,
@@ -26,7 +25,9 @@ export default {
2625
}),
2726

2827
license({
29-
banner: `Maintained by YMFE Copyright ${JSON.stringify(new Date()).replace(/T.*|"/g,"")}
28+
banner: `此版本带有selection by 司徒正美 Copyright ${JSON.stringify(
29+
new Date()
30+
).replace(/T.*|"/g, "")}
3031
IE9+
3132
`
3233
}),
@@ -35,7 +36,7 @@ export default {
3536
// ... do replace before commonjs
3637
patterns: [
3738
{
38-
test: "VERSION",
39+
test: "VERSION",
3940
// string or function to replaced with
4041
replace: json.version
4142
}

build/rollup.shim.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,12 @@ export default {
2626
}),
2727

2828
license({
29-
banner: `Maintained by YMFE Copyright ${JSON.stringify(
30-
new Date()
31-
).replace(/T.*|"/g, "")}`
29+
banner: `此版本要求浏览器没有createClass, createFactory, PropTypes, isValidElement,
30+
unmountComponentAtNode,unstable_renderSubtreeIntoContainer
31+
QQ 370262116 by 司徒正美 Copyright ${JSON.stringify(new Date()).replace(
32+
/T.*|"/g,
33+
""
34+
)}`
3235
}),
3336

3437
replace({

0 commit comments

Comments
 (0)