diff --git a/ccm-cms-js/src/main/typescript/ccm-cms/ccm-cms-pagemodelseditor.tsx b/ccm-cms-js/src/main/typescript/ccm-cms/ccm-cms-pagemodelseditor.tsx
index 6098ebfde..5d52fd1df 100644
--- a/ccm-cms-js/src/main/typescript/ccm-cms/ccm-cms-pagemodelseditor.tsx
+++ b/ccm-cms-js/src/main/typescript/ccm-cms/ccm-cms-pagemodelseditor.tsx
@@ -146,6 +146,32 @@ class ItemListComponentEditor
public renderEditorDialog(): React.ReactFragment {
- return ;
+ return
+
+
+
+
+
+
+
+
+ ;
}
}
diff --git a/ccm-pagemodelseditor/src/main/typescript/ccm-pagemodelseditor/PageModelsEditor.tsx b/ccm-pagemodelseditor/src/main/typescript/ccm-pagemodelseditor/PageModelsEditor.tsx
index 635b80f47..bc1293403 100644
--- a/ccm-pagemodelseditor/src/main/typescript/ccm-pagemodelseditor/PageModelsEditor.tsx
+++ b/ccm-pagemodelseditor/src/main/typescript/ccm-pagemodelseditor/PageModelsEditor.tsx
@@ -914,6 +914,8 @@ interface ComponentModelEditorProps {
interface ComponentModelEditorState {
dialogExpanded: string;
+ dialogOpened: boolean | undefined;
+ componentKey: string;
}
abstract class AbstractComponentModelEditor<
@@ -927,10 +929,33 @@ abstract class AbstractComponentModelEditor<
super(props as any);
- this.setState({
+ this.state = {
...this.state as any,
dialogExpanded: "dialogClosed",
- });
+ dialogOpened: false,
+ };
+
+ this.handleChange = this.handleChange.bind(this);
+ this.handleSubmit = this.handleSubmit.bind(this);
+ }
+
+ public handleChange(event: React.ChangeEvent): void {
+
+ if (event.currentTarget.id === this.props.component.key + "_componentKey") {
+
+ const target: HTMLInputElement
+ = event.currentTarget as HTMLInputElement;
+
+ this.setState({
+ ...this.state as any,
+ componentKey: target.value,
+ });
+ }
+
+ }
+
+ public handleSubmit(event: React.FormEvent): void {
+
}
public abstract renderPropertyList(): React.ReactFragment;
@@ -947,27 +972,65 @@ abstract class AbstractComponentModelEditor<
{this.props.component.type}
{this.renderPropertyList()}
-