UNPKG

cluedin-widget

Version:

This is the project for creating and managing widgets in CluedIn.

52 lines (41 loc) 1.3 kB
var __cluedIn = window.__cluedIn || {}; import React from 'react' import ReactDOM from 'react-dom' import { createStore, applyMiddleware, combineReducers } from 'redux' import { Provider } from 'react-redux' import reducers from '../reducers/index' import thunkMiddleware from 'redux-thunk' import createLogger from 'redux-logger' import CluedInApp from './cluedinapp.jsx' const loggerMiddleware = createLogger(); import cookie from '../helpers/cookie'; let timeOut; const createStoreWithMiddleware = applyMiddleware( thunkMiddleware, loggerMiddleware )( createStore ); const initialState = { core: { token: __cluedIn.token || '', widgets: __cluedIn.widgets || [], org: __cluedIn.org } }; const reducer = combineReducers( Object.assign( {}, reducers ) ); const store = createStoreWithMiddleware( reducer, initialState ); var inject = ( DOMElement ) => { DOMElement.__injected = true; ReactDOM.render( <Provider store={store}> <CluedInApp></CluedInApp> </Provider>, DOMElement ); }; var checkIfCluedInPresent = () => { var cluedIn = document.querySelector( 'cluedin' ); if ( cluedIn && !cluedIn.__injected ) { inject( cluedIn ); } }; timeOut = setInterval( checkIfCluedInPresent, 50 );