| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import { Container } from 'unstated';
- import loggerFactory from '@alias/logger';
- import { toastError } from '../util/apiNotification';
- const logger = loggerFactory('growi:loginForm');
- /**
- * Service container for login form (LoginForm.jsx)
- * @extends {Container} unstated Container
- */
- export default class LoginForm extends Container {
- constructor(appContainer) {
- super();
- this.appContainer = appContainer;
- this.state = {
- retrieveError: null,
- isRegistrationEnabled: false,
- registrationMode: 'Closed',
- registrationWhiteList: [],
- isLocalStrategySetup: false,
- isLdapStrategySetup: false,
- objOfIsExternalAuthEnableds: {},
- };
- this.retrieveData = this.retrieveData.bind(this);
- }
- /**
- * Workaround for the mangling in production build to break constructor.name
- */
- static getClassName() {
- return 'LoginContainer';
- }
- /**
- * retrieve app sttings data
- */
- async retrieveData() {
- try {
- const response = await this.appContainer.apiv3.get('/login/');
- const { data } = response.data;
- this.setState({
- isRegistrationEnabled: data.isRegistrationEnabled,
- registrationMode: data.registrationMode,
- registrationWhiteList: data.registrationWhiteList,
- isLocalStrategySetup: data.isLocalStrategySetup,
- isLdapStrategySetup: data.isLdapStrategySetup,
- objOfIsExternalAuthEnableds: data.objOfIsExternalAuthEnableds,
- });
- }
- catch (err) {
- logger.error(err);
- toastError(new Error('Failed to fetch data'));
- }
- }
- }
|