inventor-view-react-redux
Version:
84 lines (64 loc) • 3.84 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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _redux = require("redux");
var _connectedReactRouter = require("connected-react-router");
var _history = require("history");
var _Root = _interopRequireDefault(require("./Root"));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var Engine = /*#__PURE__*/function () {
function Engine() {
(0, _classCallCheck2["default"])(this, Engine);
(0, _defineProperty2["default"])(this, "_appEntryTpl", "\n import Kernel from 'inventor/web'\n import ViewEngine from 'inventor-view-react-redux/web'\n import App from '<-appPath->/App'\n import reducers from '<-appPath->/redux'\n import appConfig from '<-webPath->/config/app'\n\n const kernel = new Kernel({ appConfig })\n const engine = new ViewEngine()\n kernel.run(() => {\n engine.render({ App, reducers })\n })\n ");
}
(0, _createClass2["default"])(Engine, [{
key: "render",
value: function render(_ref) {
var App = _ref.App,
reducers = _ref.reducers;
var initialState = window.__INITIAL_STATE__;
var ssr = window.__SSR__;
var appName = window.__APP_NAME__;
var rootDomId = window.__ROOT_DOM_ID__;
var _constants = window.__CONSTANTS__;
var history = (0, _history.createBrowserHistory)();
var rootReducer = (0, _redux.combineReducers)(_objectSpread(_objectSpread({}, reducers), {}, {
constants: function constants() {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants;
return state;
},
router: (0, _connectedReactRouter.connectRouter)(history)
}));
var store = (0, _redux.createStore)(rootReducer, initialState);
var render = _reactDom["default"].render;
if (ssr) {
render = _reactDom["default"].hydrate;
}
var rootState = {
store: store,
history: history,
App: App
};
render( /*#__PURE__*/_react["default"].createElement(_Root["default"], rootState), document.getElementById(rootDomId));
}
}, {
key: "getEntryTpl",
value: function getEntryTpl(_ref2) {
var appPath = _ref2.appPath,
webPath = _ref2.webPath;
var tplContent = this._appEntryTpl.replace(/<-appPath->/g, appPath).replace(/<-webPath->/g, webPath);
return tplContent;
}
}]);
return Engine;
}();
exports["default"] = Engine;