apeman-react-mixins
Version:
React mixin set of apeman.
62 lines (47 loc) • 3.43 kB
JavaScript
/**
* Mixin for history.
* @mixin ApHistoryMixin
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _apemanBrwsHistory = require('apeman-brws-history');
var _apemanBrwsHistory2 = _interopRequireDefault(_apemanBrwsHistory);
var _defaults = require('defaults');
var _defaults2 = _interopRequireDefault(_defaults);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** @lends ApHistoryMixin */
var ApHistoryMixin = {
// --------------------
// Custom
// --------------------
$apHistoryMixed: true,
// --------------------
// Specs
// --------------------
// --------------------
// Lifecycle
// --------------------
componentWillMount: function componentWillMount() {
var s = this;
var noop = function noop() {
return undefined;
};
(0, _defaults2.default)(s, {
historyDidPop: noop
});
},
componentDidMount: function componentDidMount() {
var s = this;
_apemanBrwsHistory2.default.onPop(s.historyDidPop);
},
componentWillUnmount: function componentWillUnmount() {
var s = this;
_apemanBrwsHistory2.default.offPop(s.historyDidPop);
}
};
exports.default = Object.freeze(ApHistoryMixin);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX2hpc3RvcnlfbWl4aW4uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0E7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7OztBQUdBLElBQUksaUJBQWlCOzs7OztBQUtuQixtQkFBaUIsSUFMRTs7Ozs7Ozs7OztBQWVuQixvQkFmbUIsZ0NBZUc7QUFDcEIsUUFBTSxJQUFJLElBQVY7QUFDQSxRQUFJLE9BQU8sU0FBUCxJQUFPO0FBQUEsYUFBTSxTQUFOO0FBQUEsS0FBWDtBQUNBLDRCQUFTLENBQVQsRUFBWTtBQUNWLHFCQUFlO0FBREwsS0FBWjtBQUdELEdBckJrQjtBQXVCbkIsbUJBdkJtQiwrQkF1QkU7QUFDbkIsUUFBTSxJQUFJLElBQVY7QUFDQSxnQ0FBVSxLQUFWLENBQWdCLEVBQUUsYUFBbEI7QUFDRCxHQTFCa0I7QUE0Qm5CLHNCQTVCbUIsa0NBNEJLO0FBQ3RCLFFBQU0sSUFBSSxJQUFWO0FBQ0EsZ0NBQVUsTUFBVixDQUFpQixFQUFFLGFBQW5CO0FBQ0Q7QUEvQmtCLENBQXJCOztrQkFtQ2UsT0FBTyxNQUFQLENBQWMsY0FBZCxDIiwiZmlsZSI6ImFwX2hpc3RvcnlfbWl4aW4uanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL29rdW5pc2hpbmlzaGkvUHJvamVjdHMvYXBlbWFuLXByb2plY3RzL2FwZW1hbi1yZWFjdC1taXhpbnMvbGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNaXhpbiBmb3IgaGlzdG9yeS5cbiAqIEBtaXhpbiBBcEhpc3RvcnlNaXhpblxuICovXG5cbid1c2Ugc3RyaWN0J1xuXG5pbXBvcnQgUmVhY3QsIHtQcm9wVHlwZXMgYXMgdHlwZXN9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGFwSGlzdG9yeSBmcm9tICdhcGVtYW4tYnJ3cy1oaXN0b3J5J1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJ2RlZmF1bHRzJ1xuXG4vKiogQGxlbmRzIEFwSGlzdG9yeU1peGluICovXG5sZXQgQXBIaXN0b3J5TWl4aW4gPSB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQ3VzdG9tXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICRhcEhpc3RvcnlNaXhlZDogdHJ1ZSxcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTcGVjc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIExpZmVjeWNsZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGNvbXBvbmVudFdpbGxNb3VudCAoKSB7XG4gICAgY29uc3QgcyA9IHRoaXNcbiAgICBsZXQgbm9vcCA9ICgpID0+IHVuZGVmaW5lZFxuICAgIGRlZmF1bHRzKHMsIHtcbiAgICAgIGhpc3RvcnlEaWRQb3A6IG5vb3BcbiAgICB9KVxuICB9LFxuXG4gIGNvbXBvbmVudERpZE1vdW50ICgpIHtcbiAgICBjb25zdCBzID0gdGhpc1xuICAgIGFwSGlzdG9yeS5vblBvcChzLmhpc3RvcnlEaWRQb3ApXG4gIH0sXG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgYXBIaXN0b3J5Lm9mZlBvcChzLmhpc3RvcnlEaWRQb3ApXG4gIH1cblxufVxuXG5leHBvcnQgZGVmYXVsdCBPYmplY3QuZnJlZXplKEFwSGlzdG9yeU1peGluKVxuIl19