CCM NG: PageModelsEditor: Selecting PageModel to edit now works
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@5466 8810af33-2d31-482b-a856-94f89814c4df
parent
affbd8614d
commit
dcf681a834
|
|
@ -24,6 +24,7 @@ export {
|
||||||
|
|
||||||
interface PageModelEditorContext {
|
interface PageModelEditorContext {
|
||||||
|
|
||||||
|
pageModelSelected: boolean;
|
||||||
selectedPageModel: PageModel;
|
selectedPageModel: PageModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -158,7 +159,10 @@ class PageModelListItem
|
||||||
<a data-pagemodel-id="{this.props.pageModel.pageModelId}"
|
<a data-pagemodel-id="{this.props.pageModel.pageModelId}"
|
||||||
href="#"
|
href="#"
|
||||||
onClick={
|
onClick={
|
||||||
(event) => this.props.selectPageModel(this.props.pageModel)
|
(event) => {
|
||||||
|
console.log("A PageModel has been selected");
|
||||||
|
this.props.selectPageModel(this.props.pageModel)
|
||||||
|
}
|
||||||
}>
|
}>
|
||||||
{this.props.pageModel.title}
|
{this.props.pageModel.title}
|
||||||
</a>
|
</a>
|
||||||
|
|
@ -184,14 +188,18 @@ class PageModelEditor
|
||||||
super(props);
|
super(props);
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
|
// selectedPageModel: newPageModel,
|
||||||
|
context: {
|
||||||
|
pageModelSelected: false,
|
||||||
selectedPageModel: newPageModel,
|
selectedPageModel: newPageModel,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public render() {
|
public render() {
|
||||||
|
|
||||||
return <React.Fragment>
|
return <React.Fragment>
|
||||||
<pageModelEditorContext.Provider value={this.state.selectedPageModel}>
|
<pageModelEditorContext.Provider value={this.state.context}>
|
||||||
<div id="left">
|
<div id="left">
|
||||||
<div className="column-head"></div>
|
<div className="column-head"></div>
|
||||||
<div className="column-content">
|
<div className="column-content">
|
||||||
|
|
@ -211,9 +219,13 @@ class PageModelEditor
|
||||||
dispatcherPrefix={this.getDispatcherPrefix()}
|
dispatcherPrefix={this.getDispatcherPrefix()}
|
||||||
selectPageModel={(pageModel: PageModel) => {
|
selectPageModel={(pageModel: PageModel) => {
|
||||||
this.setState((state: any) => {
|
this.setState((state: any) => {
|
||||||
|
console.log("Updating state for selectedPageModel");
|
||||||
return {
|
return {
|
||||||
...state,
|
// ...state,
|
||||||
|
context: {
|
||||||
|
pageModelSelected: true,
|
||||||
selectedPageModel: pageModel,
|
selectedPageModel: pageModel,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}} />
|
}} />
|
||||||
|
|
@ -233,11 +245,16 @@ class PageModelEditor
|
||||||
PageModelEditor Placeholder
|
PageModelEditor Placeholder
|
||||||
<pageModelEditorContext.Consumer>
|
<pageModelEditorContext.Consumer>
|
||||||
{(context) =>
|
{(context) =>
|
||||||
|
<React.Fragment>
|
||||||
<pre>
|
<pre>
|
||||||
{context.pageModelSelected &&
|
pageModelSelected: {context.pageModelSelected ? "true" : "false" }
|
||||||
context.selectedPageModel.name
|
|
||||||
}
|
|
||||||
</pre>
|
</pre>
|
||||||
|
{context.pageModelSelected && <pre>
|
||||||
|
|
||||||
|
{context.selectedPageModel.name}
|
||||||
|
</pre>
|
||||||
|
}
|
||||||
|
</React.Fragment>
|
||||||
}
|
}
|
||||||
</pageModelEditorContext.Consumer>
|
</pageModelEditorContext.Consumer>
|
||||||
<pre>
|
<pre>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue