Skip to content

Commit 4429b18

Browse files
committed
Make external settings optional
Signed-off-by: Zvonimir Fras <zvonimir@zvonimirfras.com>
1 parent b81bbb9 commit 4429b18

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

sdk/react/src/lib/components/settings-context-pane.tsx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import React, { useEffect, useState } from 'react';
22
import {
33
Button,
44
Checkbox,
@@ -162,12 +162,14 @@ const throttledSetFragment = throttle((fragment: any) => proxySetFragment(fragme
162162
export const SettingsContextPane = ({
163163
fragment,
164164
setFragment,
165-
settings,
166-
setSettings,
165+
settings: externalSettings,
166+
setSettings: setExternalSettings,
167167
styleClasses,
168168
customComponentsCollections
169169
}: any) => {
170170
const selectedComponent = getSelectedComponent(fragment);
171+
const [settings, setSettings] = useState(externalSettings || {} as any);
172+
171173
const updateContextPaneSettings = (s: any) => {
172174
setSettings({
173175
...settings,
@@ -196,6 +198,16 @@ export const SettingsContextPane = ({
196198

197199
proxySetFragment = setFragment;
198200

201+
useEffect(() => {
202+
setSettings(externalSettings);
203+
}, [externalSettings]);
204+
205+
useEffect(() => {
206+
if (setExternalSettings) {
207+
setExternalSettings(settings);
208+
}
209+
}, [settings]);
210+
199211
return (
200212
<div className={cx(styleContextPaneStyle, 'context-pane-content')}>
201213
{

0 commit comments

Comments
 (0)