From 99fa7d098621010a9ea4fe330818e5df69846b6e Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 19 Jul 2018 08:50:38 +0000 Subject: [PATCH] CCM NG: PageModelsEditor bugfixes git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@5612 8810af33-2d31-482b-a856-94f89814c4df Former-commit-id: 964d762df204ff267eef31311751e0b95d2519e2 --- .../ccm-cms/ccm-cms-pagemodelseditor.tsx | 21 ++++++----- .../ccm-pagemodelseditor/PageModelsEditor.tsx | 35 +++++++++++++++---- 2 files changed, 42 insertions(+), 14 deletions(-) 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 e5b15ff5f..6098ebfde 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 @@ -113,12 +113,15 @@ class ItemListComponentEditor descending: false, limitToType: "", pageSize: 30, - listOrder: [ "objectId", ], + listOrder: [], }); } public renderPropertyList(): React.ReactFragment { + console.log("Rendering properties list for ItemListComponent..."); + console.log(`listOrder = ${this.props.component.listOrder}`); + return
descending
{this.props.component.descending}
@@ -128,13 +131,15 @@ class ItemListComponentEditor
{this.props.component.pageSize}
listOrder
-
    - {this.props.component.listOrder.map((order) => { -
  • - {order} -
  • - })} -
+ {Array.isArray(this.props.component.listOrder) ? + ( + this.props.component.listOrder.map((order) => { +
  • + {order} +
  • + }) + ) : ("No order set") + }
    } diff --git a/ccm-pagemodelseditor/src/main/typescript/ccm-pagemodelseditor/PageModelsEditor.tsx b/ccm-pagemodelseditor/src/main/typescript/ccm-pagemodelseditor/PageModelsEditor.tsx index f460d8ccd..635b80f47 100644 --- a/ccm-pagemodelseditor/src/main/typescript/ccm-pagemodelseditor/PageModelsEditor.tsx +++ b/ccm-pagemodelseditor/src/main/typescript/ccm-pagemodelseditor/PageModelsEditor.tsx @@ -878,11 +878,20 @@ class ContainerModelComponent private getComponentModelEditor( component: ComponentModel): React.ReactNode { + console.log(`Trying to find editor for ${component.type}`); + // console.log("Available editors:"); + // for(let key of Object.keys(PageModelEditor.getAvailableComponents())) { + // + // console.log(`${key} -> ${PageModelEditor.getAvailableComponents()[key]}`); + // } + if (PageModelEditor.getAvailableComponents()[component.type]) { - console.log(`Found editor generator: ${PageModelEditor.getAvailableComponents()[component.type]}`); + console.log(`Found a editor generator for ${component.type} `); return PageModelEditor .getAvailableComponents()[component.type](component); } else { + console.warn(`No editor for type ${component.type} found. ` + + `Using default editor.`); return ; } } @@ -936,13 +945,13 @@ abstract class AbstractComponentModelEditor<
    {this.props.component.key}
    Type
    {this.props.component.type}
    - {this.renderPropertyList} + {this.renderPropertyList()} - {this.renderEditorDialog} + {this.renderEditorDialog()} ; } @@ -1026,7 +1035,10 @@ class PageModelEditor [type: string]: (component: ComponentModel) => React.ReactFragment} { console.log("Available editors:"); - console.log(PageModelEditor.componentModelEditors.toString()); + for(let key of Object.keys(PageModelEditor.componentModelEditors)) { + + console.log(`${key} -> ${PageModelEditor.componentModelEditors}`); + } return { ...PageModelEditor.componentModelEditors, @@ -1037,10 +1049,21 @@ class PageModelEditor type: string, generator: ((component: ComponentModel) => React.ReactFragment)): void { - PageModelEditor.componentModelEditors = { + console.log(`Registering editor for type ${type}...`); + + const editors = { ...PageModelEditor.componentModelEditors, - type: generator, }; + + editors[type] = generator; + PageModelEditor.componentModelEditors = editors; + + console.log("The following editors are now available:"); + for(let key of Object.keys(PageModelEditor.componentModelEditors)) { + + console.log(`${key} -> ${PageModelEditor.componentModelEditors}`); + } + console.log("-----------------------"); } private static componentModelEditors: {