Skip to content

Commit d4b56ad

Browse files
committed
Add 'toggle' as an option to the existing setter
1 parent d971e14 commit d4b56ad

File tree

3 files changed

+9
-16
lines changed

3 files changed

+9
-16
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -371,9 +371,10 @@ export interface MosaicWindowActions {
371371
*/
372372
replaceWithNew: () => Promise<void>;
373373
/**
374-
* Sets the open state for the tray that holds additional controls
374+
* Sets the open state for the tray that holds additional controls.
375+
* Pass 'toggle' to invert the current state.
375376
*/
376-
setAdditionalControlsOpen: (open: boolean) => void;
377+
setAdditionalControlsOpen: (open: boolean | 'toggle') => void;
377378
/**
378379
* Returns the path to this window
379380
*/

src/MosaicWindow.tsx

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -230,13 +230,9 @@ export class InternalMosaicWindow<T extends MosaicKey> extends React.Component<
230230
return Promise.resolve(createNode!(...args)).then((node) => mosaicActions.replaceWith(path, node));
231231
};
232232

233-
private setAdditionalControlsOpen = (additionalControlsOpen: boolean) => {
234-
this.setState({ additionalControlsOpen });
235-
this.props.onAdditionalControlsToggle?.(additionalControlsOpen);
236-
};
237-
238-
private toggleAdditionalControlsOpen = () => {
239-
const additionalControlsOpen = !this.state.additionalControlsOpen;
233+
private setAdditionalControlsOpen = (additionalControlsOpenOption: boolean | 'toggle') => {
234+
const additionalControlsOpen =
235+
additionalControlsOpenOption === 'toggle' ? !this.state.additionalControlsOpen : additionalControlsOpenOption;
240236
this.setState({ additionalControlsOpen });
241237
this.props.onAdditionalControlsToggle?.(additionalControlsOpen);
242238
};
@@ -254,7 +250,6 @@ export class InternalMosaicWindow<T extends MosaicKey> extends React.Component<
254250
split: this.split,
255251
replaceWithNew: this.swap,
256252
setAdditionalControlsOpen: this.setAdditionalControlsOpen,
257-
toggleAdditionalControlsOpen: this.toggleAdditionalControlsOpen,
258253
getPath: this.getPath,
259254
connectDragSource: this.connectDragSource,
260255
},

src/contextTypes.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,10 @@ export interface MosaicWindowActions {
7676
*/
7777
replaceWithNew: (...args: any[]) => Promise<void>;
7878
/**
79-
* Sets the open state for the tray that holds additional controls
79+
* Sets the open state for the tray that holds additional controls.
80+
* Pass 'toggle' to invert the current state.
8081
*/
81-
setAdditionalControlsOpen: (open: boolean) => void;
82-
/**
83-
* Sets the open state for the tray that holds additional controls
84-
*/
85-
toggleAdditionalControlsOpen: () => void;
82+
setAdditionalControlsOpen: (open: boolean | 'toggle') => void;
8683
/**
8784
* Returns the path to this window
8885
*/

0 commit comments

Comments
 (0)