abb-core
Version:
Application Build Butler Core
49 lines (48 loc) • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var React = require("react");
var __1 = require("../..");
var react_redux_1 = require("react-redux");
var react_router_config_1 = require("react-router-config");
var react_router_1 = require("react-router");
var history_1 = require("history");
var ABBRouter = /** @class */ (function (_super) {
tslib_1.__extends(ABBRouter, _super);
function ABBRouter(props) {
var _this = _super.call(this, props) || this;
_this.routerInitialized = __1.ABBTimedPromiseFactory.create();
_this._history = history_1.createMemoryHistory();
_this.state = {};
return _this;
}
Object.defineProperty(ABBRouter.prototype, "History", {
get: function () {
return this._history;
},
enumerable: true,
configurable: true
});
ABBRouter.prototype.render = function () {
var _this = this;
var Header = this.props.Header;
return (React.createElement(react_router_1.Router, { history: this._history, ref: function (routerComp) {
if (routerComp) {
_this.routerInitialized.resolve(routerComp);
}
} },
React.createElement(__1.ABBContainer, null,
React.createElement(Header, { CoreAPI: this.props.CoreAPI }),
React.createElement(__1.ABBContainer, null, react_router_config_1.renderRoutes(this.props.routes.toArray())))));
};
return ABBRouter;
}(React.Component));
exports.ABBRouter = ABBRouter;
// connect Redux
var RCABBRouter = react_redux_1.connect(function (state) {
return {
headerLogoURL: state.settings.headerLogoURL,
routes: state.routes
};
}, undefined, undefined, { forwardRef: true })(ABBRouter);
exports.RCABBRouter = RCABBRouter;