muban-transition-component
Version:
Javascript transitions for Muban components
57 lines (41 loc) • 1.8 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _transitionController = _interopRequireDefault(require("transition-controller"));
var _getComponentForElement = _interopRequireDefault(require("muban-core/lib/utils/getComponentForElement"));
var _isElement = _interopRequireDefault(require("lodash/isElement"));
var _isString = _interopRequireDefault(require("lodash/isString"));
var MubanTransitionController =
/*#__PURE__*/
function (_AbstractTransitionCo) {
(0, _inheritsLoose2.default)(MubanTransitionController, _AbstractTransitionCo);
function MubanTransitionController() {
return _AbstractTransitionCo.apply(this, arguments) || this;
}
var _proto = MubanTransitionController.prototype;
/**
* This method finds a component based on a string, a html element or the instance.
*
* @protected
* @param {string | HTMLElement | IMubanTransitionMixin} component
* @returns {IMubanTransitionMixin}
*/
_proto.getComponent = function getComponent(component) {
var instance;
if ((0, _isElement.default)(component)) {
instance = (0, _getComponentForElement.default)(component);
} else if ((0, _isString.default)(component)) {
instance = (0, _getComponentForElement.default)(this.parentController.getElement(component));
} else {
instance = component;
}
if (instance === undefined) {
throw new Error("The requested component [" + component + "] does not exist");
}
return instance;
};
return MubanTransitionController;
}(_transitionController.default);
exports.default = MubanTransitionController;