diff --git a/src/components/Widgets/ImageWidget.vue b/src/components/Widgets/ImageWidget.vue index a556810f..2634b1d2 100644 --- a/src/components/Widgets/ImageWidget.vue +++ b/src/components/Widgets/ImageWidget.vue @@ -9,10 +9,24 @@ import WidgetMixin from '@/mixins/WidgetMixin'; export default { mixins: [WidgetMixin], + data: () => ({ + updateCount: 0, + }), computed: { + /* The path to image to render */ imagePath() { if (!this.options.imagePath) this.error('You must specify an imagePath'); - return this.options.imagePath; + return `${this.options.imagePath}${this.updatePathParam}`; + }, + /* Generate a URL param, to be updated in order to re-fetch image */ + updatePathParam() { + return this.updateCount ? `#dashy-update-${this.updateCount}` : ''; + }, + }, + methods: { + /* In order to re-fetch the image, we much update the URL with an arbitrary hash */ + update() { + this.updateCount += 1; }, }, };