apeman-react-mixins
Version:
React mixin set of apeman.
92 lines (69 loc) • 5.07 kB
JavaScript
/**
* Mixin for scroll.
* @mixin ApScrollMixin
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** @lends ApScrollMixin */
var ApScrollMixin = {
// --------------------
// Custom
// --------------------
$apScrollMixed: true,
// --------------------
// Specs
// --------------------
/**
* Refresh iscroll size.
* @param {number} [delay=0]
*/
refreshIScroll: function refreshIScroll(delay) {
var s = this;
clearTimeout(s._iScrollRefreshTimer);
s._iScrollRefreshTimer = setTimeout(function () {
var iScroll = s._iScroll;
if (iScroll) {
iScroll.refresh();
}
}, delay || 0);
},
/**
* Handle iscroll init callback.
* @param {Event} e - Init event.
*/
handleIScrollInit: function handleIScrollInit(e) {
console.warn('[ApScrollMixin] registerIscroll is now deprecated. Use registerIscroll instead.');
var s = this;
s.registerIScroll(e.iScroll);
},
registerIScroll: function registerIScroll(iScroll) {
var s = this;
s._iScroll = iScroll;
},
/**
* Get i scroll instance.
* @returns {?Object}
*/
getIScroll: function getIScroll() {
var s = this;
return s._iScroll;
},
// --------------------
// Lifecycle
// --------------------
componentWillUnmount: function componentWillUnmount() {
var s = this;
clearTimeout(s._iScrollRefreshTimer);
},
// --------------------
// Private
// --------------------
_iScrollRefreshTimer: -1
};
exports.default = Object.freeze(ApScrollMixin);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX3Njcm9sbF9taXhpbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQTs7Ozs7O0FBRUE7Ozs7Ozs7QUFHQSxJQUFJLGdCQUFnQjs7Ozs7QUFLbEIsa0JBQWdCLElBTEU7Ozs7Ozs7Ozs7QUFlbEIsZ0JBZmtCLDBCQWVGLEtBZkUsRUFlSztBQUNyQixRQUFNLElBQUksSUFBVjtBQUNBLGlCQUFhLEVBQUUsb0JBQWY7QUFDQSxNQUFFLG9CQUFGLEdBQXlCLFdBQVcsWUFBTTtBQUN4QyxVQUFJLFVBQVUsRUFBRSxRQUFoQjs7QUFFQSxVQUFJLE9BQUosRUFBYTtBQUNYLGdCQUFRLE9BQVI7QUFDRDtBQUNGLEtBTndCLEVBTXRCLFNBQVMsQ0FOYSxDQUF6QjtBQU9ELEdBekJpQjs7Ozs7OztBQStCbEIsbUJBL0JrQiw2QkErQkMsQ0EvQkQsRUErQkk7QUFDcEIsWUFBUSxJQUFSLENBQWEsaUZBQWI7QUFDQSxRQUFNLElBQUksSUFBVjtBQUNBLE1BQUUsZUFBRixDQUFrQixFQUFFLE9BQXBCO0FBQ0QsR0FuQ2lCO0FBcUNsQixpQkFyQ2tCLDJCQXFDRCxPQXJDQyxFQXFDUTtBQUN4QixRQUFNLElBQUksSUFBVjtBQUNBLE1BQUUsUUFBRixHQUFhLE9BQWI7QUFDRCxHQXhDaUI7Ozs7Ozs7QUE4Q2xCLFlBOUNrQix3QkE4Q0o7QUFDWixRQUFNLElBQUksSUFBVjtBQUNBLFdBQU8sRUFBRSxRQUFUO0FBQ0QsR0FqRGlCOzs7Ozs7O0FBdURsQixzQkF2RGtCLGtDQXVETTtBQUN0QixRQUFNLElBQUksSUFBVjs7QUFFQSxpQkFBYSxFQUFFLG9CQUFmO0FBQ0QsR0EzRGlCOzs7Ozs7O0FBaUVsQix3QkFBc0IsQ0FBQzs7QUFqRUwsQ0FBcEI7O2tCQXFFZSxPQUFPLE1BQVAsQ0FBYyxhQUFkLEMiLCJmaWxlIjoiYXBfc2Nyb2xsX21peGluLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9va3VuaXNoaW5pc2hpL1Byb2plY3RzL2FwZW1hbi1wcm9qZWN0cy9hcGVtYW4tcmVhY3QtbWl4aW5zL2xpYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWl4aW4gZm9yIHNjcm9sbC5cbiAqIEBtaXhpbiBBcFNjcm9sbE1peGluXG4gKi9cblxuJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCBSZWFjdCwge1Byb3BUeXBlcyBhcyB0eXBlc30gZnJvbSAncmVhY3QnXG5cbi8qKiBAbGVuZHMgQXBTY3JvbGxNaXhpbiAqL1xubGV0IEFwU2Nyb2xsTWl4aW4gPSB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQ3VzdG9tXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICRhcFNjcm9sbE1peGVkOiB0cnVlLFxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNwZWNzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIFJlZnJlc2ggaXNjcm9sbCBzaXplLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW2RlbGF5PTBdXG4gICAqL1xuICByZWZyZXNoSVNjcm9sbCAoZGVsYXkpIHtcbiAgICBjb25zdCBzID0gdGhpc1xuICAgIGNsZWFyVGltZW91dChzLl9pU2Nyb2xsUmVmcmVzaFRpbWVyKVxuICAgIHMuX2lTY3JvbGxSZWZyZXNoVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGxldCBpU2Nyb2xsID0gcy5faVNjcm9sbFxuXG4gICAgICBpZiAoaVNjcm9sbCkge1xuICAgICAgICBpU2Nyb2xsLnJlZnJlc2goKVxuICAgICAgfVxuICAgIH0sIGRlbGF5IHx8IDApXG4gIH0sXG5cbiAgLyoqXG4gICAqIEhhbmRsZSBpc2Nyb2xsIGluaXQgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7RXZlbnR9IGUgLSBJbml0IGV2ZW50LlxuICAgKi9cbiAgaGFuZGxlSVNjcm9sbEluaXQgKGUpIHtcbiAgICBjb25zb2xlLndhcm4oJ1tBcFNjcm9sbE1peGluXSByZWdpc3RlcklzY3JvbGwgaXMgbm93IGRlcHJlY2F0ZWQuIFVzZSByZWdpc3RlcklzY3JvbGwgaW5zdGVhZC4nKVxuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgcy5yZWdpc3RlcklTY3JvbGwoZS5pU2Nyb2xsKVxuICB9LFxuXG4gIHJlZ2lzdGVySVNjcm9sbCAoaVNjcm9sbCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgcy5faVNjcm9sbCA9IGlTY3JvbGxcbiAgfSxcblxuICAvKipcbiAgICogR2V0IGkgc2Nyb2xsIGluc3RhbmNlLlxuICAgKiBAcmV0dXJucyB7P09iamVjdH1cbiAgICovXG4gIGdldElTY3JvbGwgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgcmV0dXJuIHMuX2lTY3JvbGxcbiAgfSxcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBMaWZlY3ljbGVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCAoKSB7XG4gICAgY29uc3QgcyA9IHRoaXNcblxuICAgIGNsZWFyVGltZW91dChzLl9pU2Nyb2xsUmVmcmVzaFRpbWVyKVxuICB9LFxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFByaXZhdGVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBfaVNjcm9sbFJlZnJlc2hUaW1lcjogLTFcblxufVxuXG5leHBvcnQgZGVmYXVsdCBPYmplY3QuZnJlZXplKEFwU2Nyb2xsTWl4aW4pXG4iXX0=