aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx
diff options
context:
space:
mode:
authoralinayejin <alina_kim@brown.edu>2023-12-06 23:40:54 -0500
committeralinayejin <alina_kim@brown.edu>2023-12-06 23:40:54 -0500
commit04d6da65b5e75b9a67c0f5722b1af9b9ea9500d1 (patch)
tree4cc82071a7932fa606519b600d5ce92f7bea7115 /src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx
parent41d5ef99eaa30afe59b15e0c8c7f3f3bed57d33d (diff)
parent94cefea3f6c3999b0364b22a81ade49e28135011 (diff)
Merge branch 'info-ui' of https://github.com/brown-dash/Dash-Web into info-ui
Diffstat (limited to 'src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx')
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx
index 3c19ef4e9..9090d0ea5 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx
@@ -3,10 +3,13 @@ import { observer } from 'mobx-react';
import './CollectionFreeFormView.scss';
import React = require('react');
+export type infoArc = {
+ events: () => any;
+ actions: (arg?: any) => any;
+};
export type infoState = {
Message: string;
- Events: () => any;
- Actions: (arg?: any) => any;
+ Arcs: infoArc[];
};
export interface CollectionFreeFormInfoStateProps {
@@ -15,10 +18,10 @@ export interface CollectionFreeFormInfoStateProps {
@observer
export class CollectionFreeFormInfoState extends React.Component<CollectionFreeFormInfoStateProps> {
- _disposer: IReactionDisposer | undefined;
+ _disposers: IReactionDisposer[] = [];
- clearState = () => this._disposer?.();
- initState = () => (this._disposer = reaction(this.props.state.Events, this.props.state.Actions, { fireImmediately: true }));
+ clearState = () => this._disposers.map(disposer => disposer());
+ initState = () => (this._disposers = this.props.state.Arcs.map(arc => reaction(arc.events, arc.actions, { fireImmediately: true })));
componentDidMount(): void {
this.initState();