| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import { Container } from 'unstated';
- import loggerFactory from '@alias/logger';
- import { toastError } from '../util/apiNotification';
- const logger = loggerFactory('growi:PageHistoryContainer');
- /**
- * Service container for personal settings page (RevisionCompare.jsx)
- * @extends {Container} unstated Container
- */
- export default class RevisionCompareContainer extends Container {
- constructor(appContainer, pageContainer) {
- super();
- this.appContainer = appContainer;
- this.pageContainer = pageContainer;
- this.state = {
- errMessage: null,
- fromRevision: null,
- toRevision: null,
- };
- this.handleFromRevisionChange = this.handleFromRevisionChange.bind(this);
- this.handleToRevisionChange = this.handleToRevisionChange.bind(this);
- }
- /**
- * Workaround for the mangling in production build to break constructor.name
- */
- static getClassName() {
- return 'RevisionCompareContainer';
- }
- async handleFromRevisionChange(revision) {
- this.setState({ fromRevision: revision });
- }
- async handleToRevisionChange(revision) {
- this.setState({ toRevision: revision });
- }
- get compareRevisionIds() {
- const searchParams = {};
- for (const param of window.location.search?.substr(1)?.split('&')) {
- const [k,v] = param.split('=');
- searchParams[k] = v;
- }
- if (!searchParams['compare']) {
- return [];
- }
- return searchParams['compare'].split('...') || [];
- }
- }
|