mirror of
https://gitee.com/baidu/amis.git
synced 2024-11-29 18:48:45 +08:00
polyfills 换成 core-js;IE 11 下文档和 sdk 基本可用 (#1081)
This commit is contained in:
parent
6d607f7521
commit
ce7e2d2291
@ -89,7 +89,7 @@ class BackTop extends React.PureComponent {
|
||||
|
||||
handleScroll(e) {
|
||||
this.setState({
|
||||
show: e.target.scrollingElement.scrollTop > 350
|
||||
show: e.target.scrollingElement?.scrollTop > 350
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -138,7 +138,6 @@ class Preview extends React.Component {
|
||||
{...this.props}
|
||||
height={height}
|
||||
container={() => ReactDOM.findDOMNode(this)}
|
||||
height={height}
|
||||
component={CodePreview}
|
||||
code={script.innerText}
|
||||
scope={props.scope}
|
||||
|
@ -2,6 +2,7 @@
|
||||
* @file entry of this example.
|
||||
* @author liaoxuezhi@cloud.com
|
||||
*/
|
||||
import './polyfills/index';
|
||||
import React from 'react';
|
||||
import {render} from 'react-dom';
|
||||
import App from './components/App';
|
||||
|
@ -1,46 +0,0 @@
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.find
|
||||
if (!Array.prototype.find) {
|
||||
Object.defineProperty(Array.prototype, 'find', {
|
||||
value: function(predicate) {
|
||||
// 1. Let O be ? ToObject(this value).
|
||||
if (this == null) {
|
||||
throw new TypeError('"this" is null or not defined');
|
||||
}
|
||||
|
||||
var o = Object(this);
|
||||
|
||||
// 2. Let len be ? ToLength(? Get(O, "length")).
|
||||
var len = o.length >>> 0;
|
||||
|
||||
// 3. If IsCallable(predicate) is false, throw a TypeError exception.
|
||||
if (typeof predicate !== 'function') {
|
||||
throw new TypeError('predicate must be a function');
|
||||
}
|
||||
|
||||
// 4. If thisArg was supplied, let T be thisArg; else let T be undefined.
|
||||
var thisArg = arguments[1];
|
||||
|
||||
// 5. Let k be 0.
|
||||
var k = 0;
|
||||
|
||||
// 6. Repeat, while k < len
|
||||
while (k < len) {
|
||||
// a. Let Pk be ! ToString(k).
|
||||
// b. Let kValue be ? Get(O, Pk).
|
||||
// c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).
|
||||
// d. If testResult is true, return kValue.
|
||||
var kValue = o[k];
|
||||
if (predicate.call(thisArg, kValue, k, o)) {
|
||||
return kValue;
|
||||
}
|
||||
// e. Increase k by 1.
|
||||
k++;
|
||||
}
|
||||
|
||||
// 7. Return undefined.
|
||||
return undefined;
|
||||
},
|
||||
configurable: true,
|
||||
writable: true
|
||||
});
|
||||
}
|
@ -1,88 +0,0 @@
|
||||
if (!Array.from) {
|
||||
Array.from = (function() {
|
||||
var toStr = Object.prototype.toString;
|
||||
var isCallable = function(fn) {
|
||||
return typeof fn === 'function' || toStr.call(fn) === '[object Function]';
|
||||
};
|
||||
var toInteger = function(value) {
|
||||
var number = Number(value);
|
||||
if (isNaN(number)) {
|
||||
return 0;
|
||||
}
|
||||
if (number === 0 || !isFinite(number)) {
|
||||
return number;
|
||||
}
|
||||
return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
|
||||
};
|
||||
var maxSafeInteger = Math.pow(2, 53) - 1;
|
||||
var toLength = function(value) {
|
||||
var len = toInteger(value);
|
||||
return Math.min(Math.max(len, 0), maxSafeInteger);
|
||||
};
|
||||
|
||||
// The length property of the from method is 1.
|
||||
return function from(arrayLike /*, mapFn, thisArg */) {
|
||||
// 1. Let C be the this value.
|
||||
var C = this;
|
||||
|
||||
// 2. Let items be ToObject(arrayLike).
|
||||
var items = Object(arrayLike);
|
||||
|
||||
// 3. ReturnIfAbrupt(items).
|
||||
if (arrayLike == null) {
|
||||
throw new TypeError(
|
||||
'Array.from requires an array-like object - not null or undefined'
|
||||
);
|
||||
}
|
||||
|
||||
// 4. If mapfn is undefined, then let mapping be false.
|
||||
var mapFn = arguments.length > 1 ? arguments[1] : void undefined;
|
||||
var T;
|
||||
if (typeof mapFn !== 'undefined') {
|
||||
// 5. else
|
||||
// 5. a If IsCallable(mapfn) is false, throw a TypeError exception.
|
||||
if (!isCallable(mapFn)) {
|
||||
throw new TypeError(
|
||||
'Array.from: when provided, the second argument must be a function'
|
||||
);
|
||||
}
|
||||
|
||||
// 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.
|
||||
if (arguments.length > 2) {
|
||||
T = arguments[2];
|
||||
}
|
||||
}
|
||||
|
||||
// 10. Let lenValue be Get(items, "length").
|
||||
// 11. Let len be ToLength(lenValue).
|
||||
var len = toLength(items.length);
|
||||
|
||||
// 13. If IsConstructor(C) is true, then
|
||||
// 13. a. Let A be the result of calling the [[Construct]] internal method
|
||||
// of C with an argument list containing the single item len.
|
||||
// 14. a. Else, Let A be ArrayCreate(len).
|
||||
var A = isCallable(C) ? Object(new C(len)) : new Array(len);
|
||||
|
||||
// 16. Let k be 0.
|
||||
var k = 0;
|
||||
// 17. Repeat, while k < len… (also steps a - h)
|
||||
var kValue;
|
||||
while (k < len) {
|
||||
kValue = items[k];
|
||||
if (mapFn) {
|
||||
A[k] =
|
||||
typeof T === 'undefined'
|
||||
? mapFn(kValue, k)
|
||||
: mapFn.call(T, kValue, k);
|
||||
} else {
|
||||
A[k] = kValue;
|
||||
}
|
||||
k += 1;
|
||||
}
|
||||
// 18. Let putStatus be Put(A, "length", len, true).
|
||||
A.length = len;
|
||||
// 20. Return A.
|
||||
return A;
|
||||
};
|
||||
})();
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
if (typeof Object.assign != 'function') {
|
||||
// Must be writable: true, enumerable: false, configurable: true
|
||||
Object.defineProperty(Object, 'assign', {
|
||||
value: function assign(target, varArgs) {
|
||||
// .length of function is 2
|
||||
'use strict';
|
||||
if (target == null) {
|
||||
// TypeError if undefined or null
|
||||
throw new TypeError('Cannot convert undefined or null to object');
|
||||
}
|
||||
|
||||
var to = Object(target);
|
||||
|
||||
for (var index = 1; index < arguments.length; index++) {
|
||||
var nextSource = arguments[index];
|
||||
|
||||
if (nextSource != null) {
|
||||
// Skip over if undefined or null
|
||||
for (var nextKey in nextSource) {
|
||||
// Avoid bugs when hasOwnProperty is shadowed
|
||||
if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
|
||||
to[nextKey] = nextSource[nextKey];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return to;
|
||||
},
|
||||
writable: true,
|
||||
configurable: true
|
||||
});
|
||||
}
|
@ -1,7 +1,11 @@
|
||||
import './Object.assign';
|
||||
import './Array.from';
|
||||
import './Array.find';
|
||||
import './cloest';
|
||||
import 'core-js/es/array/find';
|
||||
import 'core-js/es/array/from';
|
||||
import 'core-js/es/array/find-index';
|
||||
import 'core-js/es/string/starts-with';
|
||||
import 'core-js/es/promise';
|
||||
import 'core-js/es/object/assign';
|
||||
import 'core-js/es/object/keys';
|
||||
import 'core-js/es/map';
|
||||
import 'core-js/es/set';
|
||||
|
||||
import 'promise/polyfill';
|
||||
import 'es6-symbol/implement';
|
||||
import './cloest';
|
||||
|
@ -124,8 +124,8 @@
|
||||
"bce-sdk-js": "^0.2.9",
|
||||
"bootstrap": "3.4.1",
|
||||
"copy-to-clipboard": "3.0.8",
|
||||
"core-js": "^3.7.0",
|
||||
"css": "2.2.1",
|
||||
"es6-symbol": "3.1.1",
|
||||
"faker": "^4.1.0",
|
||||
"fis-parser-sass": "^1.0.1",
|
||||
"fis-parser-svgr": "^1.0.0",
|
||||
|
@ -3,7 +3,7 @@
|
||||
"outDir": "output/",
|
||||
"module": "commonjs",
|
||||
"target": "es5",
|
||||
"lib": ["es6", "dom"],
|
||||
"lib": ["es6", "dom", "ES2015"],
|
||||
"sourceMap": true,
|
||||
"jsx": "react",
|
||||
"moduleResolution": "node",
|
||||
|
Loading…
Reference in New Issue
Block a user