@prisma-cms/front-editor
Version:
68 lines • 2.96 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
// import PropTypes from 'prop-types';
const EditorComponent_1 = __importDefault(require("../../EditorComponent"));
// import Icon from "material-ui-icons/SettingsOverscan";
const Typography_1 = __importDefault(require("material-ui/Typography"));
const Button_1 = __importDefault(require("material-ui/Button"));
const Grid_1 = __importDefault(require("../../common/Grid"));
class Login extends EditorComponent_1.default {
constructor() {
super(...arguments);
this.openLoginForm = () => {
const { openLoginForm } = this.context;
openLoginForm && openLoginForm();
};
this.logout = () => {
const { logout } = this.context;
logout && logout();
};
}
renderPanelView(content) {
return super.renderPanelView(content || react_1.default.createElement("div", { className: "editor-component--panel-icon" }, "Login"));
}
initLocales(locales) {
if (locales) {
Object.assign(locales.ru.values, {
Signin: 'Вход',
Signout: 'Выход',
});
}
return super.initLocales(locales);
}
renderChildren() {
const { user } = this.context;
return user ? this.renderAuthorized() : this.renderUnauthorized();
}
renderAuthorized() {
const { user, UserLink } = this.context;
if (!UserLink) {
console.error('UserLink not defined');
return null;
}
const {
// id: userId,
username, fullname, } = user;
return (react_1.default.createElement(Grid_1.default, { container: true, alignItems: "center", style: {
flexWrap: 'nowrap',
} },
react_1.default.createElement(Grid_1.default, { item: true },
react_1.default.createElement(UserLink, { user: user, style: {
marginLeft: 5,
}, variant: null },
react_1.default.createElement(Typography_1.default, { color: "inherit" }, fullname || username))),
react_1.default.createElement(Grid_1.default, { item: true },
react_1.default.createElement(Button_1.default, { onClick: this.logout, color: "inherit" }, this.lexicon('Signout')))));
}
renderUnauthorized() {
return (react_1.default.createElement(Button_1.default, { onClick: this.openLoginForm, color: "inherit" }, this.lexicon('Signin')));
}
}
Login.defaultProps = Object.assign(Object.assign({}, EditorComponent_1.default.defaultProps), { hide_wrapper_in_default_mode: true });
Login.Name = 'Login';
exports.default = Login;
//# sourceMappingURL=index.js.map