opds-web-client
Version:
46 lines (45 loc) • 2.77 kB
JavaScript
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var React = require("react");
var AuthProviderSelectionForm = (function (_super) {
__extends(AuthProviderSelectionForm, _super);
function AuthProviderSelectionForm(props) {
var _this = _super.call(this, props) || this;
_this.state = { selectedProvider: null };
_this.selectProvider = _this.selectProvider.bind(_this);
return _this;
}
AuthProviderSelectionForm.prototype.render = function () {
var _this = this;
var AuthForm = this.state.selectedProvider && this.state.selectedProvider.plugin.formComponent;
return (React.createElement("div", { className: "auth-form", role: "dialog", "aria-labelledby": "auth-form-title" },
React.createElement("div", null,
React.createElement("h3", { id: "auth-form-title" },
this.props.title ? this.props.title + " " : "",
"Login"),
this.state.selectedProvider &&
React.createElement(AuthForm, { hide: this.props.hide, saveCredentials: this.props.saveCredentials, callback: this.props.callback, cancel: this.props.cancel, error: this.props.error, provider: this.state.selectedProvider }),
!this.state.selectedProvider && this.props.providers && this.props.providers.length > 0 &&
React.createElement("div", null,
React.createElement("ul", { className: "subtle-list", "aria-label": "authentication options" }, this.props.providers.map(function (provider) {
return React.createElement("li", { onClick: function () { return _this.selectProvider(provider); }, key: provider.name },
React.createElement(provider.plugin.buttonComponent, { provider: provider }));
})),
React.createElement("button", { className: "btn btn-default", onClick: this.props.cancel }, "Cancel")))));
};
AuthProviderSelectionForm.prototype.componentWillMount = function () {
if (this.props.providers && this.props.providers.length === 1) {
this.setState({ selectedProvider: this.props.providers[0] });
}
};
AuthProviderSelectionForm.prototype.selectProvider = function (provider) {
this.setState({ selectedProvider: provider });
};
return AuthProviderSelectionForm;
}(React.Component));
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = AuthProviderSelectionForm;