AdminTwitterSecurityContainer.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { Container } from 'unstated';
  2. import loggerFactory from '@alias/logger';
  3. // eslint-disable-next-line no-unused-vars
  4. const logger = loggerFactory('growi:security:AdminTwitterSecurityContainer');
  5. /**
  6. * Service container for admin security page (TwitterSecurityManagement.jsx)
  7. * @extends {Container} unstated Container
  8. */
  9. export default class AdminTwitterSecurityContainer extends Container {
  10. constructor(appContainer) {
  11. super();
  12. this.appContainer = appContainer;
  13. this.state = {
  14. // TODO GW-583 set value
  15. appSiteUrl: '',
  16. TwitterConsumerId: '',
  17. TwitterConsumerSecret: '',
  18. isSameUsernameTreatedAsIdenticalUser: true,
  19. };
  20. this.init();
  21. }
  22. init() {
  23. // TODO GW-583 fetch config value with api
  24. }
  25. /**
  26. * Workaround for the mangling in production build to break constructor.name
  27. */
  28. static getClassName() {
  29. return 'AdminTwitterSecurityContainer';
  30. }
  31. /**
  32. * Change TwitterConsumerId
  33. */
  34. changeTwitterConsumerId(value) {
  35. this.setState({ TwitterConsumerId: value });
  36. }
  37. /**
  38. * Change TwitterConsumerSecret
  39. */
  40. changeTwitterConsumerSecret(value) {
  41. this.setState({ TwitterConsumerSecret: value });
  42. }
  43. /**
  44. * Switch isSameUsernameTreatedAsIdenticalUser
  45. */
  46. switchIsSameUsernameTreatedAsIdenticalUser() {
  47. this.setState({ isSameUsernameTreatedAsIdenticalUser: !this.state.isSameUsernameTreatedAsIdenticalUser });
  48. }
  49. }