Skip to content

Commit a771871

Browse files
committed
Put presentation mode toggle in options
1 parent 7bb5d8c commit a771871

File tree

6 files changed

+25
-15
lines changed

6 files changed

+25
-15
lines changed

packages/base/src/panelview/leftpanel.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ export const LeftPanel: React.FC<ILeftPanelProps> = (
3535
props: ILeftPanelProps,
3636
) => {
3737
const [settings, setSettings] = React.useState(props.model.jgisSettings);
38+
const [options, setOptions] = React.useState(props.model.getOptions());
39+
const storyMapPresentation = options.storyMapPresentation ?? false;
3840
const [layerTree, setLayerTree] = React.useState<IJGISLayerTree>(
3941
props.model.getLayerTree(),
4042
);
@@ -43,17 +45,22 @@ export const LeftPanel: React.FC<ILeftPanelProps> = (
4345
const onSettingsChanged = () => {
4446
setSettings({ ...props.model.jgisSettings });
4547
};
48+
const onOptionsChanged = () => {
49+
setOptions({ ...props.model.getOptions() });
50+
};
4651
const updateLayerTree = () => {
4752
setLayerTree(props.model.getLayerTree() || []);
4853
};
4954

5055
props.model.settingsChanged.connect(onSettingsChanged);
56+
props.model.sharedOptionsChanged.connect(onOptionsChanged);
5157
props.model.sharedModel.layersChanged.connect(updateLayerTree);
5258
props.model.sharedModel.layerTreeChanged.connect(updateLayerTree);
5359

5460
updateLayerTree();
5561
return () => {
5662
props.model.settingsChanged.disconnect(onSettingsChanged);
63+
props.model.sharedOptionsChanged.disconnect(onOptionsChanged);
5764
props.model.sharedModel.layersChanged.disconnect(updateLayerTree);
5865
props.model.sharedModel.layerTreeChanged.disconnect(updateLayerTree);
5966
};
@@ -147,10 +154,10 @@ export const LeftPanel: React.FC<ILeftPanelProps> = (
147154

148155
const tabInfo = [
149156
!settings.layersDisabled ? { name: 'layers', title: 'Layers' } : false,
150-
!settings.stacBrowserDisabled && settings.storyMapPresentationDisabled
157+
!settings.stacBrowserDisabled && !storyMapPresentation
151158
? { name: 'stac', title: 'Stac Browser' }
152159
: false,
153-
!settings.filtersDisabled && settings.storyMapPresentationDisabled
160+
!settings.filtersDisabled && !storyMapPresentation
154161
? { name: 'filters', title: 'Filters' }
155162
: false,
156163
{ name: 'segments', title: 'Segments' },

packages/base/src/panelview/rightpanel.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ interface IRightPanelProps {
2828
export const RightPanel: React.FC<IRightPanelProps> = props => {
2929
const [displayEditor, setDisplayEditor] = React.useState(true);
3030
const [settings, setSettings] = React.useState(props.model.jgisSettings);
31+
const [options, setOptions] = React.useState(props.model.getOptions());
32+
const storyMapPresentation = options.storyMapPresentation ?? false;
3133
const tabInfo = [
32-
!settings.objectPropertiesDisabled && settings.storyMapPresentationDisabled
34+
!settings.objectPropertiesDisabled && !storyMapPresentation
3335
? { name: 'objectProperties', title: 'Object Properties' }
3436
: false,
3537
{
@@ -45,7 +47,7 @@ export const RightPanel: React.FC<IRightPanelProps> = props => {
4547
].filter(Boolean) as { name: string; title: string }[];
4648

4749
const [curTab, setCurTab] = React.useState<string>(() => {
48-
if (!settings.storyMapPresentationDisabled) {
50+
if (storyMapPresentation) {
4951
return 'storyPanel';
5052
}
5153
return tabInfo.length > 0 ? tabInfo[0].name : '';
@@ -55,6 +57,9 @@ export const RightPanel: React.FC<IRightPanelProps> = props => {
5557
const onSettingsChanged = () => {
5658
setSettings({ ...props.model.jgisSettings });
5759
};
60+
const onOptionsChanged = () => {
61+
setOptions({ ...props.model.getOptions() });
62+
};
5863
let currentlyIdentifiedFeatures: any = undefined;
5964
const onAwerenessChanged = (
6065
_: IJupyterGISModel,
@@ -74,10 +79,12 @@ export const RightPanel: React.FC<IRightPanelProps> = props => {
7479
};
7580

7681
props.model.settingsChanged.connect(onSettingsChanged);
82+
props.model.sharedOptionsChanged.connect(onOptionsChanged);
7783
props.model.clientStateChanged.connect(onAwerenessChanged);
7884

7985
return () => {
8086
props.model.settingsChanged.disconnect(onSettingsChanged);
87+
props.model.sharedOptionsChanged.disconnect(onOptionsChanged);
8188
props.model.clientStateChanged.disconnect(onAwerenessChanged);
8289
};
8390
}, [props.model]);
@@ -142,13 +149,13 @@ export const RightPanel: React.FC<IRightPanelProps> = props => {
142149
style={{ paddingTop: 0 }}
143150
>
144151
<div style={{ padding: '0 0.5rem 0.5rem 0.5rem' }}>
145-
{settings.storyMapPresentationDisabled && (
152+
{!storyMapPresentation && (
146153
<PreviewModeSwitch
147154
checked={!displayEditor}
148155
onCheckedChange={toggleEditor}
149156
/>
150157
)}
151-
{!settings.storyMapPresentationDisabled || !displayEditor ? (
158+
{storyMapPresentation || !displayEditor ? (
152159
<StoryViewerPanel model={props.model} />
153160
) : (
154161
<StoryEditorPanel model={props.model} />

packages/schema/src/interfaces.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,4 @@ export interface IJupyterGISSettings {
422422
objectPropertiesDisabled?: boolean;
423423
annotationsDisabled?: boolean;
424424
identifyDisabled?: boolean;
425-
426-
// Story maps
427-
storyMapPresentationDisabled: boolean;
428425
}

packages/schema/src/model.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ const DEFAULT_SETTINGS: IJupyterGISSettings = {
5454
objectPropertiesDisabled: false,
5555
annotationsDisabled: false,
5656
identifyDisabled: false,
57-
storyMapPresentationDisabled: true,
5857
};
5958

6059
export class JupyterGISModel implements IJupyterGISModel {

packages/schema/src/schema/project/jgis.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,11 @@
226226
"useExtent": {
227227
"type": "boolean",
228228
"default": false
229+
},
230+
"storyMapPresentation": {
231+
"type": "boolean",
232+
"title": "Enable Story Map Presentations",
233+
"default": false
229234
}
230235
}
231236
},

python/jupytergis_core/schema/jupytergis-settings.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,6 @@
4343
"type": "boolean",
4444
"title": "Disable Right Panel",
4545
"default": false
46-
},
47-
"storyMapPresentationDisabled": {
48-
"type": "boolean",
49-
"title": "Disable Story Map Presentations",
50-
"default": true
5146
}
5247
}
5348
}

0 commit comments

Comments
 (0)