Del: SafeMutationObserver

This commit is contained in:
surunzi
2018-04-09 23:57:30 +08:00
parent 92d4530a2b
commit a15360838b
6 changed files with 606 additions and 611 deletions

View File

@@ -446,7 +446,7 @@ Logging methods.
TRACE, DEBUG, INFO, WARN, ERROR and SILENT.
```javascript
var logger = new Logger('eris', logger.level.ERROR);
var logger = new Logger('eris', Logger.level.ERROR);
logger.trace('test');
// Format output.
@@ -468,12 +468,12 @@ logger.on('debug', function (argList)
});
```
## SafeMutationObserver
## MutationObserver
Safe MutationObserver, does nothing if MutationObserver is not supported.
```javascript
var observer = new DomObserver(function (mutations)
var observer = new MutationObserver(function (mutations)
{
// Do something.
});
@@ -678,15 +678,16 @@ Perform an asynchronous HTTP request.
Available options:
|Name |Type |Desc |
|-------------|-------------|------------------------|
|url |string |Request url |
|data |string object|Request data |
|dataType=json|string |Response type(json, xml)|
|success |function |Success callback |
|error |function |Error callback |
|complete |function |Callback after request |
|timeout |number |Request timeout |
|Name |Type |Desc |
|---------------------------------------------|-------------|---------------------------|
|url |string |Request url |
|data |string object|Request data |
|dataType=json |string |Response type(json, xml) |
|contentType=application/x-www-form-urlencoded|string |Request header Content-Type|
|success |function |Success callback |
|error |function |Error callback |
|complete |function |Callback after request |
|timeout |number |Request timeout |
### get
@@ -792,10 +793,10 @@ castPath('a.b.c', {'a.b.c': true}); // -> ['a.b.c']
Split array into groups the length of given size.
|Name |Type |Desc |
|--------|------|--------------------|
|arr |array |Array to process |
|[size=1]|number|Length of each chunk|
|Name |Type |Desc |
|------|------|--------------------|
|arr |array |Array to process |
|size=1|number|Length of each chunk|
```javascript
chunk([1, 2, 3, 4], 2); // -> [[1, 2], [3, 4]]
@@ -1257,11 +1258,11 @@ identity('a'); // -> 'a'
Get the index at which the first occurrence of value.
|Name |Type |Desc |
|-----------|------|--------------------|
|arr |array |Array to search |
|val |* |Value to search for |
|[fromIdx=0]|number|Index to search from|
|Name |Type |Desc |
|---------|------|--------------------|
|arr |array |Array to search |
|val |* |Value to search for |
|fromIdx=0|number|Index to search from|
```javascript
idxOf([1, 2, 1, 2], 2, 2); // -> 3
@@ -1996,7 +1997,7 @@ This accumulates the arguments passed into an array, after a given index.
|return |function|Generated function with rest parameters|
```javascript
var paramArr = _.restArgs(function (rest) { return rest });
var paramArr = restArgs(function (rest) { return rest });
paramArr(1, 2, 3, 4); // -> [1, 2, 3, 4]
```

View File

@@ -1,23 +0,0 @@
/* Safe MutationObserver, does nothing if MutationObserver is not supported.
*
* ```javascript
* var observer = new DomObserver(function (mutations)
* {
* // Do something.
* });
* observer.observe(document.htmlElement);
* observer.disconnect();
* ```
*/
exports = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
if (!exports)
{
exports = class MutationObserver {
constructor() {}
observe() {}
disconnect() {}
takeRecords() {}
};
}

View File

@@ -8,7 +8,7 @@ import {
evalCss,
$,
keys,
SafeMutationObserver,
MutationObserver,
each,
isErudaEl,
toStr,
@@ -350,7 +350,7 @@ export default class Elements extends Tool
}
_initObserver()
{
this._observer = new SafeMutationObserver(mutations =>
this._observer = new MutationObserver(mutations =>
{
each(mutations, mutation => this._handleMutation(mutation));
});

View File

@@ -12,7 +12,7 @@ import {
orientation,
isCrossOrig,
ajax,
SafeMutationObserver,
MutationObserver,
isErudaEl,
toArr,
concat,
@@ -408,7 +408,7 @@ export default class Resources extends Tool
}
_initObserver()
{
this._observer = new SafeMutationObserver(mutations =>
this._observer = new MutationObserver(mutations =>
{
let needToRender = false;
each(mutations, mutation =>

View File

@@ -359,37 +359,6 @@ export var freeze = _.freeze = (function ()
return exports;
})();
/* ------------------------------ SafeMutationObserver ------------------------------ */
export var SafeMutationObserver = _.SafeMutationObserver = (function (exports)
{
/* Safe MutationObserver, does nothing if MutationObserver is not supported.
*
* ```javascript
* var observer = new DomObserver(function (mutations)
* {
* // Do something.
* });
* observer.observe(document.htmlElement);
* observer.disconnect();
* ```
*/
exports = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
if (!exports)
{
exports = class MutationObserver {
constructor() {}
observe() {}
disconnect() {}
takeRecords() {}
};
}
return exports;
})({});
/* ------------------------------ noop ------------------------------ */
export var noop = _.noop = (function ()
@@ -626,10 +595,10 @@ export var chunk = _.chunk = (function ()
{
/* Split array into groups the length of given size.
*
* |Name |Type |Desc |
* |--------|------|--------------------|
* |arr |array |Array to process |
* |[size=1]|number|Length of each chunk|
* |Name |Type |Desc |
* |------|------|--------------------|
* |arr |array |Array to process |
* |size=1|number|Length of each chunk|
*
* ```javascript
* chunk([1, 2, 3, 4], 2); // -> [[1, 2], [3, 4]]
@@ -718,11 +687,11 @@ export var idxOf = _.idxOf = (function ()
{
/* Get the index at which the first occurrence of value.
*
* |Name |Type |Desc |
* |-----------|------|--------------------|
* |arr |array |Array to search |
* |val |* |Value to search for |
* |[fromIdx=0]|number|Index to search from|
* |Name |Type |Desc |
* |---------|------|--------------------|
* |arr |array |Array to search |
* |val |* |Value to search for |
* |fromIdx=0|number|Index to search from|
*
* ```javascript
* idxOf([1, 2, 1, 2], 2, 2); // -> 3
@@ -3826,6 +3795,46 @@ export var Enum = _.Enum = (function (exports)
return exports;
})({});
/* ------------------------------ MutationObserver ------------------------------ */
export var MutationObserver = _.MutationObserver = (function (exports)
{
/* Safe MutationObserver, does nothing if MutationObserver is not supported.
*
* ```javascript
* var observer = new MutationObserver(function (mutations)
* {
* // Do something.
* });
* observer.observe(document.htmlElement);
* observer.disconnect();
* ```
*/
/* module
* env: browser
* test: browser
*/
/* dependencies
* Class
*/
exports = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
if (!exports)
{
exports = Class({
initialize: function MutationObserver() {},
observe: function () {},
disconnect: function () {},
takeRecords: function () {}
});
}
return exports;
})({});
/* ------------------------------ Select ------------------------------ */
export var Select = _.Select = (function (exports)
@@ -5525,7 +5534,7 @@ export var restArgs = _.restArgs = (function ()
* |return |function|Generated function with rest parameters|
*
* ```javascript
* var paramArr = _.restArgs(function (rest) { return rest });
* var paramArr = restArgs(function (rest) { return rest });
* paramArr(1, 2, 3, 4); // -> [1, 2, 3, 4]
* ```
*/
@@ -5787,7 +5796,7 @@ export var Logger = _.Logger = (function (exports)
* TRACE, DEBUG, INFO, WARN, ERROR and SILENT.
*
* ```javascript
* var logger = new Logger('eris', logger.level.ERROR);
* var logger = new Logger('eris', Logger.level.ERROR);
* logger.trace('test');
*
* // Format output.
@@ -6928,15 +6937,16 @@ export var ajax = _.ajax = (function ()
*
* Available options:
*
* |Name |Type |Desc |
* |-------------|-------------|------------------------|
* |url |string |Request url |
* |data |string object|Request data |
* |dataType=json|string |Response type(json, xml)|
* |success |function |Success callback |
* |error |function |Error callback |
* |complete |function |Callback after request |
* |timeout |number |Request timeout |
* |Name |Type |Desc |
* |---------------------------------------------|-------------|---------------------------|
* |url |string |Request url |
* |data |string object|Request data |
* |dataType=json |string |Response type(json, xml) |
* |contentType=application/x-www-form-urlencoded|string |Request header Content-Type|
* |success |function |Success callback |
* |error |function |Error callback |
* |complete |function |Callback after request |
* |timeout |number |Request timeout |
*
* ### get
*
@@ -7026,13 +7036,15 @@ export var ajax = _.ajax = (function ()
{
data = query.stringify(data);
url += url.indexOf('?') > -1 ? '&' + data : '?' + data;
} else
} else if (options.contentType === 'application/x-www-form-urlencoded')
{
if(isObj(data)) data = query.stringify(data);
} else if (options.contentType === 'application/json') {
if(isObj(data)) data = JSON.stringify(data);
}
xhr.open(type, url, true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.setRequestHeader('Content-Type', options.contentType);
if (timeout > 0)
{
@@ -7055,6 +7067,7 @@ export var ajax = _.ajax = (function ()
error: noop,
complete: noop,
dataType: 'json',
contentType: 'application/x-www-form-urlencoded',
data: {},
xhr: function () { return new XMLHttpRequest() },
timeout: 0

View File

@@ -1802,15 +1802,16 @@
*
* Available options:
*
* |Name |Type |Desc |
* |-------------|-------------|------------------------|
* |url |string |Request url |
* |data |string object|Request data |
* |dataType=json|string |Response type(json, xml)|
* |success |function |Success callback |
* |error |function |Error callback |
* |complete |function |Callback after request |
* |timeout |number |Request timeout |
* |Name |Type |Desc |
* |---------------------------------------------|-------------|---------------------------|
* |url |string |Request url |
* |data |string object|Request data |
* |dataType=json |string |Response type(json, xml) |
* |contentType=application/x-www-form-urlencoded|string |Request header Content-Type|
* |success |function |Success callback |
* |error |function |Error callback |
* |complete |function |Callback after request |
* |timeout |number |Request timeout |
*
* ### get
*
@@ -1900,13 +1901,15 @@
{
data = query.stringify(data);
url += url.indexOf('?') > -1 ? '&' + data : '?' + data;
} else
} else if (options.contentType === 'application/x-www-form-urlencoded')
{
if(isObj(data)) data = query.stringify(data);
} else if (options.contentType === 'application/json') {
if(isObj(data)) data = JSON.stringify(data);
}
xhr.open(type, url, true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.setRequestHeader('Content-Type', options.contentType);
if (timeout > 0)
{
@@ -1929,6 +1932,7 @@
error: noop,
complete: noop,
dataType: 'json',
contentType: 'application/x-www-form-urlencoded',
data: {},
xhr: function () { return new XMLHttpRequest() },
timeout: 0