diff --git a/src/dashboard/dashboard.js b/src/dashboard/dashboard.js index fc60d2b..073c5fe 100644 --- a/src/dashboard/dashboard.js +++ b/src/dashboard/dashboard.js @@ -298,6 +298,11 @@ class Dashboard extends Component { return; } + if(data.type === "Image") + { + data.customProperties.update = true; + } + AppDispatcher.dispatch({ type: 'widgets/start-edit', token: this.state.sessionToken, diff --git a/src/widget/widget-factory.js b/src/widget/widget-factory.js index 59ebedf..b13255e 100644 --- a/src/widget/widget-factory.js +++ b/src/widget/widget-factory.js @@ -115,6 +115,7 @@ class WidgetFactory { widget.height = 200; widget.customProperties.lockAspect = true; widget.customProperties.file = -1; // ID of image file, -1 means non selected + widget.customProperties.update = false; break; case 'Button': widget.minWidth = 100; diff --git a/src/widget/widgets/image.js b/src/widget/widgets/image.js index 1c2ba75..f289324 100644 --- a/src/widget/widgets/image.js +++ b/src/widget/widgets/image.js @@ -26,7 +26,6 @@ class WidgetImage extends React.Component { this.state = { file: undefined, - fileDate: null } } @@ -44,24 +43,23 @@ class WidgetImage extends React.Component { componentDidUpdate(prevProps: Readonly

, prevState: Readonly, snapshot: SS) { + if(this.props.widget.customProperties.file === -1){ + this.props.widget.customProperties.update = false; + if(this.state.file !== undefined) this.setState({ file: undefined }) + } let file = this.props.files.find(file => file.id === parseInt(this.props.widget.customProperties.file, 10)); - if (file !== undefined) { - if (this.state.file === undefined || (this.state.file.id !== file.id) || this.state.fileDate !== file.date) { - + if (this.props.widget.customProperties.update) { + this.props.widget.customProperties.update = false; AppDispatcher.dispatch({ type: 'files/start-download', data: file.id, token: this.props.token }); - - this.setState({ file: file, fileDate: file.date }); + this.setState({ file: file }) } - } else if (this.setState.file !== undefined) { - console.log("file undefined", file) - this.setState({file:undefined}) } }