apeman-react-mixins
Version:
React mixin set of apeman.
53 lines (41 loc) • 3.32 kB
JavaScript
/**
* Mixin to handle resize.
* @mixin ApResizeMixin
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var HANDLER_NOT_IMPLEMENTED_WARNING = '[ApResizeMixin] Should implement windowDidResize method.';
/** @lends ApResizeMixin */
var ApResizeMixin = {
// --------------------
// Custom
// --------------------
$apResizeMixed: true,
// --------------------
// Specs
// --------------------
// --------------------
// Lifecycle
// --------------------
componentDidMount: function componentDidMount() {
var s = this;
if (s.windowDidResize) {
window.addEventListener('resize', s.windowDidResize);
} else {
console.warn(HANDLER_NOT_IMPLEMENTED_WARNING);
}
},
componentWillUnmount: function componentWillUnmount() {
var s = this;
if (s.windowDidResize) {
window.removeEventListener('resize', s.windowDidResize);
}
}
};
exports.default = Object.freeze(ApResizeMixin);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX3Jlc2l6ZV9taXhpbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQTs7Ozs7O0FBRUE7Ozs7OztBQUVBLElBQU0sa0NBQWtDLDBEQUF4Qzs7O0FBR0EsSUFBSSxnQkFBZ0I7Ozs7O0FBS2xCLGtCQUFnQixJQUxFOzs7Ozs7Ozs7O0FBZWxCLG1CQWZrQiwrQkFlRztBQUNuQixRQUFNLElBQUksSUFBVjtBQUNBLFFBQUksRUFBRSxlQUFOLEVBQXVCO0FBQ3JCLGFBQU8sZ0JBQVAsQ0FBd0IsUUFBeEIsRUFBa0MsRUFBRSxlQUFwQztBQUNELEtBRkQsTUFFTztBQUNMLGNBQVEsSUFBUixDQUFhLCtCQUFiO0FBQ0Q7QUFDRixHQXRCaUI7QUF3QmxCLHNCQXhCa0Isa0NBd0JNO0FBQ3RCLFFBQU0sSUFBSSxJQUFWO0FBQ0EsUUFBSSxFQUFFLGVBQU4sRUFBdUI7QUFDckIsYUFBTyxtQkFBUCxDQUEyQixRQUEzQixFQUFxQyxFQUFFLGVBQXZDO0FBQ0Q7QUFDRjtBQTdCaUIsQ0FBcEI7O2tCQWlDZSxPQUFPLE1BQVAsQ0FBYyxhQUFkLEMiLCJmaWxlIjoiYXBfcmVzaXplX21peGluLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9va3VuaXNoaW5pc2hpL1Byb2plY3RzL2FwZW1hbi1wcm9qZWN0cy9hcGVtYW4tcmVhY3QtbWl4aW5zL2xpYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWl4aW4gdG8gaGFuZGxlIHJlc2l6ZS5cbiAqIEBtaXhpbiBBcFJlc2l6ZU1peGluXG4gKi9cblxuJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCBSZWFjdCwge1Byb3BUeXBlcyBhcyB0eXBlc30gZnJvbSAncmVhY3QnXG5cbmNvbnN0IEhBTkRMRVJfTk9UX0lNUExFTUVOVEVEX1dBUk5JTkcgPSAnW0FwUmVzaXplTWl4aW5dIFNob3VsZCBpbXBsZW1lbnQgd2luZG93RGlkUmVzaXplIG1ldGhvZC4nXG5cbi8qKiBAbGVuZHMgQXBSZXNpemVNaXhpbiAqL1xubGV0IEFwUmVzaXplTWl4aW4gPSB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQ3VzdG9tXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICRhcFJlc2l6ZU1peGVkOiB0cnVlLFxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNwZWNzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTGlmZWN5Y2xlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgY29tcG9uZW50RGlkTW91bnQgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgaWYgKHMud2luZG93RGlkUmVzaXplKSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgcy53aW5kb3dEaWRSZXNpemUpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybihIQU5ETEVSX05PVF9JTVBMRU1FTlRFRF9XQVJOSU5HKVxuICAgIH1cbiAgfSxcblxuICBjb21wb25lbnRXaWxsVW5tb3VudCAoKSB7XG4gICAgY29uc3QgcyA9IHRoaXNcbiAgICBpZiAocy53aW5kb3dEaWRSZXNpemUpIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBzLndpbmRvd0RpZFJlc2l6ZSlcbiAgICB9XG4gIH1cblxufVxuXG5leHBvcnQgZGVmYXVsdCBPYmplY3QuZnJlZXplKEFwUmVzaXplTWl4aW4pXG4iXX0=