+ setSelectedPanel(idx);
+ };
+ const hideFn = (idx: number) => () => {
+ setPreviousPanelVisibility(initialVisibility);
+ setPanelVisibility([
+ ...panelVisibility.slice(0, idx),
+ false,
+ ...panelVisibility.slice(idx+1)
+ ])
+ };
+ const maximizeFn = (idx: number) => () => {
+ setPreviousPanelVisibility(panelVisibility);
+ // Maximize X == hide all but X
+ setPanelVisibility([
+ ...panelVisibility.slice(0, idx).map(() => false),
+ true,
+ ...panelVisibility.slice(idx+1).map(() => false),
+ ]);
+ };
+ const unMaximizeFn = (idx: number) => () => {
+ setPanelVisibility(previousPanelVisibility);
+ setSelectedPanel(idx);
+ }
+ for (let idx = 0; idx < children.length; idx++) {