quiz-interactions
Version:
A React UI component Library for quiz interaction types.
72 lines (53 loc) • 2.42 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _react = _interopRequireDefault(require("react"));
var _uiElements = require("@instructure/ui-elements");
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/lib/format-message"));
var _default = function _default(depsAreLoaded, loadDeps) {
return function (WrappedComponent) {
var _class, _temp;
return _temp = _class =
/*#__PURE__*/
function (_WrappedComponent) {
(0, _inherits2.default)(Wrapper, _WrappedComponent);
function Wrapper(props) {
var _this;
(0, _classCallCheck2.default)(this, Wrapper);
_this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Wrapper).call(this, props));
var depsLoaded = depsAreLoaded();
_this.state = Object.assign({}, _this.state, {
depsLoaded: depsLoaded
});
if (!depsLoaded) {
loadDeps().then(function () {
_this.setState({
depsLoaded: true
});
});
}
return _this;
}
(0, _createClass2.default)(Wrapper, [{
key: "render",
value: function render() {
return this.state.depsLoaded ? (0, _get2.default)((0, _getPrototypeOf2.default)(Wrapper.prototype), "render", this).call(this) : _react.default.createElement(_uiElements.Spinner, {
renderTitle: (0, _formatMessage.default)('loading')
});
}
}]);
Wrapper.displayName = "Wrapper";
return Wrapper;
}(WrappedComponent), _class.displayName = "".concat(_class.name, "(").concat(WrappedComponent.displayName, ")"), _temp;
};
};
exports.default = _default;