diff --git a/CHANGELOG.md b/CHANGELOG.md index e3de459f2e6d705653c9f7b88e289565859242c7..ae05abb51ae48b596525bbb267797a132c186c40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ Note that since we don't clearly distinguish between a public and private interf - Add interior cylinder caps - Add per-pixel object clipping - Fix `QualityAssessment` assignment bug for structures with different auth vs label sequence numbering +- Refresh `ApplyActionControl`'s param definition when toggling expanded state ## [v3.26.0] - 2022-12-04 diff --git a/src/mol-plugin-ui/state/apply-action.tsx b/src/mol-plugin-ui/state/apply-action.tsx index 6bdf1ab406c412d53fd6a497d984e566b94fa512..61d1ca99d60cf45d37d85c4552233f8f49ab483a 100644 --- a/src/mol-plugin-ui/state/apply-action.tsx +++ b/src/mol-plugin-ui/state/apply-action.tsx @@ -28,7 +28,8 @@ namespace ApplyActionControl { params: any, error?: string, busy: boolean, - isInitial: boolean + isInitial: boolean, + isCollapsed?: boolean, } } @@ -40,7 +41,7 @@ class ApplyActionControl extends TransformControlBase<ApplyActionControl.Props, ref: this.props.nodeRef }); } - getInfo() { return this._getInfo(this.props.nodeRef, this.props.state.transforms.get(this.props.nodeRef).version); } + getInfo() { return this._getInfo(this.props.nodeRef, this.props.state.transforms.get(this.props.nodeRef).version, this.state?.isCollapsed); } getTransformerId() { return this.props.state.transforms.get(this.props.nodeRef).transformer.id; } getHeader() { return this.props.hideHeader ? 'none' : this.props.action.definition.display; } canApply() { return !this.state.error && !this.state.busy; } @@ -49,9 +50,9 @@ class ApplyActionControl extends TransformControlBase<ApplyActionControl.Props, isUpdate() { return false; } getSourceAndTarget() { return { a: this.props.state.cells.get(this.props.nodeRef)!.obj }; } - private _getInfo = memoizeLatest((t: StateTransform.Ref, v: string) => StateTransformParameters.infoFromAction(this.plugin, this.props.state, this.props.action, this.props.nodeRef)); + private _getInfo = memoizeLatest((t: StateTransform.Ref, v: string, collapsed?: boolean) => StateTransformParameters.infoFromAction(this.plugin, this.props.state, this.props.action, this.props.nodeRef)); - state = { plugin: this.plugin, ref: this.props.nodeRef, version: this.props.state.transforms.get(this.props.nodeRef).version, error: void 0, isInitial: true, params: this.getInfo().initialValues, busy: false, isCollapsed: this.props.initiallyCollapsed }; + state: ApplyActionControl.ComponentState = { plugin: this.plugin, ref: this.props.nodeRef, version: this.props.state.transforms.get(this.props.nodeRef).version, error: void 0, isInitial: true, params: this.getInfo().initialValues, busy: false, isCollapsed: this.props.initiallyCollapsed }; static getDerivedStateFromProps(props: ApplyActionControl.Props, state: ApplyActionControl.ComponentState) { const version = props.state.transforms.get(props.nodeRef).version;