aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/EditableView.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/EditableView.tsx')
-rw-r--r--src/client/views/EditableView.tsx14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/client/views/EditableView.tsx b/src/client/views/EditableView.tsx
index 3db77be71..836a184eb 100644
--- a/src/client/views/EditableView.tsx
+++ b/src/client/views/EditableView.tsx
@@ -1,13 +1,13 @@
-import * as React from 'react';
import { action, IReactionDisposer, makeObservable, observable, reaction } from 'mobx';
import { observer } from 'mobx-react';
+import * as React from 'react';
import * as Autosuggest from 'react-autosuggest';
import { ObjectField } from '../../fields/ObjectField';
import './EditableView.scss';
import { DocumentIconContainer } from './nodes/DocumentIcon';
-import { OverlayView } from './OverlayView';
-import { copyProps } from '../../Utils';
import { FieldView, FieldViewProps } from './nodes/FieldView';
+import { ObservableReactComponent } from './ObservableReactComponent';
+import { OverlayView } from './OverlayView';
export interface EditableProps {
/**
@@ -60,18 +60,15 @@ export interface EditableProps {
* of the content, and set the value based on the entered string.
*/
@observer
-export class EditableView extends React.Component<EditableProps> {
+export class EditableView extends ObservableReactComponent<EditableProps> {
private _ref = React.createRef<HTMLDivElement>();
private _inputref: HTMLInputElement | HTMLTextAreaElement | null = null;
_overlayDisposer?: () => void;
_editingDisposer?: IReactionDisposer;
@observable _editing: boolean = false;
- _prevProps: EditableProps;
- @observable _props: EditableProps;
constructor(props: EditableProps) {
super(props);
- this._props = this._prevProps = props;
makeObservable(this);
this._editing = this._props.editing ? true : false;
}
@@ -96,8 +93,7 @@ export class EditableView extends React.Component<EditableProps> {
);
}
- componentDidUpdate() {
- copyProps(this);
+ componentDidUpdate(prevProps: Readonly<EditableProps>) {
if (this._editing && this._props.editing === false) {
this._inputref?.value && this.finalizeEdit(this._inputref.value, false, true, false);
} else if (this._props.editing !== undefined) {