CCM NG: PageModelsEditor bugfixes
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@5612 8810af33-2d31-482b-a856-94f89814c4df
parent
0af2170d81
commit
964d762df2
|
|
@ -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 <React.Fragment>
|
||||
<dt>descending</dt>
|
||||
<dd>{this.props.component.descending}</dd>
|
||||
|
|
@ -128,13 +131,15 @@ class ItemListComponentEditor
|
|||
<dd>{this.props.component.pageSize}</dd>
|
||||
<dt>listOrder</dt>
|
||||
<dd>
|
||||
<ul>
|
||||
{this.props.component.listOrder.map((order) => {
|
||||
{Array.isArray(this.props.component.listOrder) ?
|
||||
(
|
||||
this.props.component.listOrder.map((order) => {
|
||||
<li>
|
||||
{order}
|
||||
</li>
|
||||
})}
|
||||
</ul>
|
||||
})
|
||||
) : ("No order set")
|
||||
}
|
||||
</dd>
|
||||
</React.Fragment>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 <DefaultComponentModelEditor component={component} />;
|
||||
}
|
||||
}
|
||||
|
|
@ -936,13 +945,13 @@ abstract class AbstractComponentModelEditor<
|
|||
<dd>{this.props.component.key}</dd>
|
||||
<dt>Type</dt>
|
||||
<dd>{this.props.component.type}</dd>
|
||||
{this.renderPropertyList}
|
||||
{this.renderPropertyList()}
|
||||
</dl>
|
||||
<button onClick={this.toggleEditorDialog}>
|
||||
Edit
|
||||
</button>
|
||||
<dialog className="{this.state.dialogExpanded}">
|
||||
{this.renderEditorDialog}
|
||||
{this.renderEditorDialog()}
|
||||
</dialog>
|
||||
</li>;
|
||||
}
|
||||
|
|
@ -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: {
|
||||
|
|
|
|||
Loading…
Reference in New Issue