refire-react
Version:
React components and helpers for Refire
54 lines • 2.23 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var PropTypes = require("prop-types");
var React = require("react");
var react_1 = require("react");
var react_redux_1 = require("react-redux");
var refire_1 = require("refire");
var oAuthLogin = refire_1.firebaseActions.oAuthLogin;
var validProviders = ["facebook", "google", "twitter", "github"];
var validFlows = ["popup", "redirect"];
var FirebaseOAuth = /** @class */ (function (_super) {
__extends(FirebaseOAuth, _super);
function FirebaseOAuth() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.authenticate = function () {
var flow = _this.props.flow || "popup";
_this.props.dispatch(oAuthLogin(flow, _this.props.provider, _this.props.scopes)).catch(function (error) {
if (typeof _this.props.onError === "function") {
_this.props.onError(error);
}
});
if (typeof _this.props.onClick === "function") {
_this.props.onClick();
}
};
return _this;
}
FirebaseOAuth.prototype.render = function () {
return React.Children.only(React.cloneElement(this.props.children, {
onClick: this.authenticate
}));
};
FirebaseOAuth.propTypes = {
flow: PropTypes.oneOf(validFlows),
onClick: PropTypes.func,
onError: PropTypes.func,
provider: PropTypes.oneOf(validProviders),
scopes: PropTypes.array
};
return FirebaseOAuth;
}(react_1.Component));
exports.FirebaseOAuth = FirebaseOAuth;
exports.default = react_redux_1.connect()(FirebaseOAuth);
//# sourceMappingURL=FirebaseOAuth.js.map