base.jsx 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import React from 'react';
  2. import AppContainer from '~/client/services/AppContainer';
  3. import SocketIoContainer from '~/client/services/SocketIoContainer';
  4. import { DescendantsPageListModal } from '~/components/DescendantsPageListModal';
  5. import PutbackPageModal from '~/components/PutbackPageModal';
  6. import Xss from '~/services/xss';
  7. import loggerFactory from '~/utils/logger';
  8. import EmptyTrashModal from '../components/EmptyTrashModal';
  9. import HotkeysManager from '../components/Hotkeys/HotkeysManager';
  10. import GrowiNavbar from '../components/Navbar/GrowiNavbar';
  11. import GrowiNavbarBottom from '../components/Navbar/GrowiNavbarBottom';
  12. import PageAccessoriesModal from '../components/PageAccessoriesModal';
  13. import PageCreateModal from '../components/PageCreateModal';
  14. import PageDeleteModal from '../components/PageDeleteModal';
  15. import PageDuplicateModal from '../components/PageDuplicateModal';
  16. import PagePresentationModal from '../components/PagePresentationModal';
  17. import PageRenameModal from '../components/PageRenameModal';
  18. const logger = loggerFactory('growi:cli:app');
  19. if (!window) {
  20. window = {};
  21. }
  22. // setup xss library
  23. const xss = new Xss();
  24. window.xss = xss;
  25. // create unstated container instance
  26. const appContainer = new AppContainer();
  27. // eslint-disable-next-line no-unused-vars
  28. const socketIoContainer = new SocketIoContainer(appContainer);
  29. appContainer.initApp();
  30. logger.info('AppContainer has been initialized');
  31. /**
  32. * define components
  33. * key: id of element
  34. * value: React Element
  35. */
  36. const componentMappings = {
  37. 'grw-navbar': <GrowiNavbar />,
  38. 'grw-navbar-bottom-container': <GrowiNavbarBottom />,
  39. 'page-create-modal': <PageCreateModal />,
  40. 'page-delete-modal': <PageDeleteModal />,
  41. 'empty-trash-modal': <EmptyTrashModal />,
  42. 'page-duplicate-modal': <PageDuplicateModal />,
  43. 'page-rename-modal': <PageRenameModal />,
  44. 'page-presentation-modal': <PagePresentationModal />,
  45. 'page-accessories-modal': <PageAccessoriesModal />,
  46. 'descendants-page-list-modal': <DescendantsPageListModal />,
  47. 'page-put-back-modal': <PutbackPageModal />,
  48. 'grw-hotkeys-manager': <HotkeysManager />,
  49. };
  50. export { appContainer, componentMappings };