orb-ui-firebase
Version:
Firebase with redux
125 lines (117 loc) • 6.08 kB
JavaScript
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
import React from 'react';
import FirebaseContext from './FirebaseContext';
import { clearInitialization as _clearInitialization } from './store/initialization/actions';
import { initConnection, unsubscribeConnection } from './store/connection/actions';
import { initMessaging as _initMessaging, clearMessage as _clearMessage } from './store/messaging/actions';
import { watchAuth as _watchAuth, authStateChanged as _authStateChanged, authError as _authError } from './store/auth/actions';
import { watchCol as _watchCol, unwatchCol as _unwatchCol, destroyCol as _destroyCol, unwatchAllCols as _unwatchAllCols } from './store/collections/actions';
import { watchDoc as _watchDoc, unwatchDoc as _unwatchDoc, destroyDoc as _destroyDoc, unwatchAllDocs as _unwatchAllDocs } from './store/docs/actions';
import { watchList as _watchList, unwatchList as _unwatchList, destroyList as _destroyList, unwatchAllLists as _unwatchAllLists } from './store/lists/actions';
import { watchPath as _watchPath, unwatchPath as _unwatchPath, destroyPath as _destroyPath, unwatchAllPaths as _unwatchAllPaths } from './store/paths/actions';
var withFirebase = function withFirebase(Component) {
var ChildComponent = function ChildComponent(props) {
return React.createElement(
FirebaseContext.Consumer,
null,
function (value) {
var firebaseApp = value.firebaseApp,
ReactReduxContext = value.context;
return React.createElement(
ReactReduxContext.Consumer,
null,
function () {
var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var _v$store = v.store,
store = _v$store === undefined ? {} : _v$store;
var dispatch = store.dispatch;
return React.createElement(Component, _extends({
firebaseApp: firebaseApp,
watchAuth: function watchAuth(onAuthStateChanged, onAuthError) {
dispatch(_watchAuth(firebaseApp, onAuthStateChanged, onAuthError));
},
clearInitialization: function clearInitialization() {
dispatch(_clearInitialization());
},
authStateChanged: function authStateChanged(user) {
dispatch(_authStateChanged(user));
},
authError: function authError(error) {
dispatch(_authError(error));
},
watchConnection: function watchConnection(onChange) {
dispatch(initConnection(firebaseApp, onChange));
},
unwatchConnection: function unwatchConnection() {
dispatch(unsubscribeConnection(firebaseApp));
},
watchList: function watchList(path, alias, append) {
dispatch(_watchList(firebaseApp, path, alias, append));
},
unwatchList: function unwatchList(path, alias) {
dispatch(_unwatchList(firebaseApp, path, alias));
},
destroyList: function destroyList(path, alias) {
dispatch(_destroyList(firebaseApp, path, alias));
},
unwatchAllLists: function unwatchAllLists() {
dispatch(_unwatchAllLists(firebaseApp));
},
watchCol: function watchCol(path, alias, append) {
dispatch(_watchCol(firebaseApp, path, alias, append));
},
unwatchCol: function unwatchCol(path, alias) {
dispatch(_unwatchCol(firebaseApp, path, alias));
},
destroyCol: function destroyCol(path, alias) {
dispatch(_destroyCol(firebaseApp, path, alias));
},
unwatchAllCols: function unwatchAllCols() {
dispatch(_unwatchAllCols(firebaseApp));
},
watchPath: function watchPath(path, alias, logLoading) {
dispatch(_watchPath(firebaseApp, path, alias, logLoading));
},
unwatchPath: function unwatchPath(path, alias) {
dispatch(_unwatchPath(firebaseApp, path, alias));
},
destroyPath: function destroyPath(path, alias) {
dispatch(_destroyPath(firebaseApp, path, alias));
},
unwatchAllPaths: function unwatchAllPaths() {
dispatch(_unwatchAllPaths(firebaseApp));
},
watchDoc: function watchDoc(path, alias) {
dispatch(_watchDoc(firebaseApp, path, alias));
},
unwatchDoc: function unwatchDoc(path, alias) {
dispatch(_unwatchDoc(firebaseApp, path, alias));
},
destroyDoc: function destroyDoc(path, alias) {
dispatch(_destroyDoc(firebaseApp, path, alias));
},
unwatchAllDocs: function unwatchAllDocs() {
dispatch(_unwatchAllDocs(firebaseApp));
},
clearApp: function clearApp() {
dispatch(_unwatchAllLists(firebaseApp));
dispatch(_unwatchAllPaths(firebaseApp));
dispatch(_unwatchAllDocs(firebaseApp));
dispatch(_unwatchAllCols(firebaseApp));
dispatch(unsubscribeConnection(firebaseApp));
},
initMessaging: function initMessaging(handleTokenChange, onMessageReceieved) {
dispatch(_initMessaging(firebaseApp, handleTokenChange, onMessageReceieved));
},
clearMessage: function clearMessage() {
dispatch(_clearMessage());
}
}, props));
}
);
}
);
};
return ChildComponent;
};
export default withFirebase;