UNPKG

lml-main

Version:

This is now a mono repository published into many standalone packages.

79 lines 3.61 kB
"use strict"; var _this = this; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var React = require("react"); var ReactDOM = require("react-dom"); var redux_1 = require("redux"); var react_redux_1 = require("react-redux"); var react_router_redux_1 = require("react-router-redux"); var redux_observable_1 = require("redux-observable"); require("rxjs"); // lml dependencies var cosmo_redux_store_1 = require("@lml/cosmo-redux-store"); var cosmo_redux_api_1 = require("@lml/cosmo-redux-api"); // pusher stuff var config_1 = require("./config"); var actions_1 = require("./actions"); var epics_1 = require("./epics"); var reducers_1 = require("./reducers"); var rootReducer = redux_1.combineReducers((_a = {}, _a[cosmo_redux_api_1.API_REDUCER_KEY] = cosmo_redux_api_1.cosmoApiReducers, _a.router = react_router_redux_1.routerReducer, _a[reducers_1.PUSHER_REDUCER_KEY] = reducers_1.pusherReducers, _a)); exports.epicDependencies = {}; exports.rootEpic = redux_observable_1.combineEpics( // external cosmo_redux_api_1.cosmoApiEpics, epics_1.cosmoPusherEpics); var StartButton = /** @class */ (function (_super) { tslib_1.__extends(StartButton, _super); function StartButton() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.startPusher = function () { return _this.props.pusherConnect(config_1.config.PUSHER_KEY, config_1.config.PUSHER_CLUSTER); }; return _this; } StartButton.prototype.render = function () { return (React.createElement("button", { onClick: this.startPusher }, "start pusher")); }; return StartButton; }(React.Component)); var mapStateToProps = function () { return ({}); }; var mapDispatchToProps = { pusherConnect: actions_1.pusherConnect }; var ConnectedStartButton = react_redux_1.connect(mapStateToProps, mapDispatchToProps)(StartButton); /** * Boot up procedure */ var initialize = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { var localStoragePaths, storeConfig, store, App; return tslib_1.__generator(this, function (_a) { localStoragePaths = ['auth']; storeConfig = { storage: window.localStorage, rootReducer: rootReducer, rootEpic: exports.rootEpic, epicDependencies: exports.epicDependencies, localStoragePaths: localStoragePaths, localStorageKey: config_1.config.APP_VERSION || 'cosmo', disableReduxLogger: config_1.config.DISABLE_REDUX_LOGGER === 'true', }; store = cosmo_redux_store_1.createCosmoReduxStore(storeConfig); App = function () { return (React.createElement(react_redux_1.Provider, { store: store }, React.createElement(react_router_redux_1.ConnectedRouter, { history: cosmo_redux_store_1.history }, React.createElement("div", { style: { margin: '25px' } }, React.createElement("h2", null, "Cosmo pusher demo"), React.createElement("p", null, "Click start and check the console to see the pusher system in action"), React.createElement("p", null, "You may wish to login to pusher.com and use their interface to fire some demo events"), React.createElement(ConnectedStartButton, null))))); }; /** * Render app */ ReactDOM.render(React.createElement(App, null), document.getElementById('mount')); return [2 /*return*/]; }); }); }; initialize(); var _a; //# sourceMappingURL=app.js.map