This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git

commit 7fc5e4f0d8ab3120a522608d558af03c7cff9187
Author: Marat Gubaidullin <marat.gubaidul...@gmail.com>
AuthorDate: Wed Sep 21 20:00:20 2022 -0400

    Set theme for Expression editor
---
 .../src/designer/rest/RestDesigner.tsx             |  2 +-
 .../src/designer/route/DslProperties.tsx           |  7 +++++--
 .../src/designer/route/RouteDesigner.tsx           |  2 +-
 .../designer/route/property/DataFormatField.tsx    |  2 ++
 .../designer/route/property/DslPropertyField.tsx   | 22 ++++++++++++++++------
 .../designer/route/property/ExpressionField.tsx    |  2 ++
 .../src/designer/route/property/ObjectField.tsx    |  4 +++-
 7 files changed, 30 insertions(+), 11 deletions(-)

diff --git a/karavan-designer/src/designer/rest/RestDesigner.tsx 
b/karavan-designer/src/designer/rest/RestDesigner.tsx
index 5f733a8..bc32cc9 100644
--- a/karavan-designer/src/designer/rest/RestDesigner.tsx
+++ b/karavan-designer/src/designer/rest/RestDesigner.tsx
@@ -243,7 +243,7 @@ export class RestDesigner extends React.Component<Props, 
State> {
                     clipboardStep={undefined}
                     isRouteDesigner={false}
                     onClone={this.cloneRest}
-                />
+                    dark={this.props.dark}/>
             </DrawerPanelContent>
         )
     }
diff --git a/karavan-designer/src/designer/route/DslProperties.tsx 
b/karavan-designer/src/designer/route/DslProperties.tsx
index 38b7db8..71e15f1 100644
--- a/karavan-designer/src/designer/route/DslProperties.tsx
+++ b/karavan-designer/src/designer/route/DslProperties.tsx
@@ -49,6 +49,7 @@ interface Props {
     onSaveClipboardStep?: (element?: CamelElement) => void
     onClone?: (element: CamelElement) => void
     isRouteDesigner: boolean
+    dark: boolean
 }
 
 interface State {
@@ -193,7 +194,8 @@ export class DslProperties extends React.Component<Props, 
State> {
                                   onExpressionChange={this.expressionChanged}
                                   onParameterChange={this.parametersChanged}
                                   onDataFormatChange={this.dataFormatChanged}
-                                  onChange={this.propertyChanged}/>
+                                  onChange={this.propertyChanged}
+                                  dark={this.props.dark}/>
             )}
         </>)
     }
@@ -224,7 +226,8 @@ export class DslProperties extends React.Component<Props, 
State> {
                             integration={this.props.integration}
                             dslName={this.state.step.dslName}
                             value={this.state.step}
-                            onDataFormatChange={this.dataFormatChanged}/>
+                            onDataFormatChange={this.dataFormatChanged}
+                            dark={this.props.dark}/>
                     }
                 </Form>
             </div>
diff --git a/karavan-designer/src/designer/route/RouteDesigner.tsx 
b/karavan-designer/src/designer/route/RouteDesigner.tsx
index 77bed14..80a03e4 100644
--- a/karavan-designer/src/designer/route/RouteDesigner.tsx
+++ b/karavan-designer/src/designer/route/RouteDesigner.tsx
@@ -356,7 +356,7 @@ export class RouteDesigner extends React.Component<Props, 
State> {
                                clipboardStep={this.state.clipboardStep}
                                isRouteDesigner={true}
                                onSaveClipboardStep={this.saveToClipboard}
-                />
+                               dark={this.props.dark}/>
             </DrawerPanelContent>
         )
     }
diff --git a/karavan-designer/src/designer/route/property/DataFormatField.tsx 
b/karavan-designer/src/designer/route/property/DataFormatField.tsx
index ba27c3f..8eac5c0 100644
--- a/karavan-designer/src/designer/route/property/DataFormatField.tsx
+++ b/karavan-designer/src/designer/route/property/DataFormatField.tsx
@@ -37,6 +37,7 @@ interface Props {
     value: CamelElement,
     onDataFormatChange?: (value: DataFormatDefinition) => void
     integration: Integration,
+    dark: boolean,
 }
 
 interface State {
@@ -109,6 +110,7 @@ export class DataFormatField extends React.Component<Props, 
State> {
                                   onDataFormatChange={dataFormat => {
                                       console.log(dataFormat)
                                   }}
+                                  dark={this.props.dark}
                                   onChange={this.propertyChanged}/>
             )}
         </>)
diff --git a/karavan-designer/src/designer/route/property/DslPropertyField.tsx 
b/karavan-designer/src/designer/route/property/DslPropertyField.tsx
index a47d824..37cadab 100644
--- a/karavan-designer/src/designer/route/property/DslPropertyField.tsx
+++ b/karavan-designer/src/designer/route/property/DslPropertyField.tsx
@@ -77,7 +77,8 @@ interface Props {
     element?: CamelElement
     integration: Integration,
     hideLabel?: boolean,
-    dslLanguage?: string
+    dslLanguage?: string,
+    dark: boolean
 }
 
 interface State {
@@ -243,7 +244,7 @@ export class DslPropertyField extends 
React.Component<Props, State> {
     }
 
     getTextArea = (property: PropertyMeta, value: any) => {
-        const lang = this.props.dslLanguage;
+        const {dslLanguage, dark} = this.props;
         const showEditor = this.state.showEditor;
         return (
             <InputGroup>
@@ -275,7 +276,7 @@ export class DslPropertyField extends 
React.Component<Props, State> {
                         width="100%"
                         defaultLanguage={'java'}
                         language={'java'}
-                        theme={'light'}
+                        theme={dark ? 'vs-dark' : 'light'}
                         options={{lineNumbers:"off", folding:false, 
lineNumbersMinChars:10, showUnused:false, fontSize:12, minimap:{enabled:false}}}
                         value={value?.toString()}
                         className={'code-editor'}
@@ -293,7 +294,11 @@ export class DslPropertyField extends 
React.Component<Props, State> {
     getExpressionField = (property: PropertyMeta, value: any) => {
         return (
             <div className="expression">
-                <ExpressionField property={property} value={value} 
onExpressionChange={this.props.onExpressionChange} 
integration={this.props.integration}/>
+                <ExpressionField property={property}
+                                 value={value}
+                                 
onExpressionChange={this.props.onExpressionChange}
+                                 integration={this.props.integration}
+                                 dark={this.props.dark}/>
             </div>
         )
     }
@@ -301,7 +306,11 @@ export class DslPropertyField extends 
React.Component<Props, State> {
     getObjectField = (property: PropertyMeta, value: any) => {
         return (
             <div className="object">
-                {value && <ObjectField property={property} value={value} 
onPropertyUpdate={this.props.onChange} integration={this.props.integration}/>}
+                {value && <ObjectField property={property}
+                                       value={value}
+                                       onPropertyUpdate={this.props.onChange}
+                                       integration={this.props.integration}
+                                       dark={this.props.dark}/>}
             </div>
         )
     }
@@ -471,7 +480,8 @@ export class DslPropertyField extends 
React.Component<Props, State> {
                                        hideLabel={hideLabel}
                                        value={v}
                                        onPropertyUpdate={(f, v) => 
this.onMultiValueObjectUpdate(index, f, v)}
-                                       integration={this.props.integration}/>}
+                                       integration={this.props.integration}
+                                       dark={this.props.dark}/>}
             </div>
             <Button variant="link" className="delete-button" onClick={e => {
                 const v = Array.from(value);
diff --git a/karavan-designer/src/designer/route/property/ExpressionField.tsx 
b/karavan-designer/src/designer/route/property/ExpressionField.tsx
index 5f6d0dc..79e0177 100644
--- a/karavan-designer/src/designer/route/property/ExpressionField.tsx
+++ b/karavan-designer/src/designer/route/property/ExpressionField.tsx
@@ -39,6 +39,7 @@ interface Props {
     value: CamelElement,
     onExpressionChange?: (propertyName: string, exp: ExpressionDefinition) => 
void
     integration: Integration,
+    dark: boolean,
 }
 
 interface State {
@@ -154,6 +155,7 @@ export class ExpressionField extends React.Component<Props, 
State> {
                                           onParameterChange={parameter => 
{console.log(parameter)}}
                                           onDataFormatChange={dataFormat => 
{console.log(dataFormat)}}
                                           onChange={this.propertyChanged}
+                                          dark={this.props.dark}
                                           dslLanguage={dslLanguage?.[0]}/>
                     )}
                 </FormGroup>
diff --git a/karavan-designer/src/designer/route/property/ObjectField.tsx 
b/karavan-designer/src/designer/route/property/ObjectField.tsx
index 28918b2..a72019b 100644
--- a/karavan-designer/src/designer/route/property/ObjectField.tsx
+++ b/karavan-designer/src/designer/route/property/ObjectField.tsx
@@ -32,6 +32,7 @@ interface Props {
     onPropertyUpdate?: (fieldId: string, value: CamelElement) => void
     integration: Integration,
     hideLabel?: boolean
+    dark: boolean
 }
 
 interface State {
@@ -84,7 +85,8 @@ export class ObjectField extends React.Component<Props, 
State> {
                                           
onExpressionChange={this.expressionChanged}
                                           onParameterChange={(parameter, 
value) => this.propertyChanged(property.name, value)}
                                           onDataFormatChange={value1 => {}}
-                                          onChange={(fieldId, value) => 
this.propertyChanged(property.name, value)} />
+                                          onChange={(fieldId, value) => 
this.propertyChanged(property.name, value)}
+                                          dark={this.props.dark}/>
                     )}
                 </div>
         )

Reply via email to