Update content/scheme icons properly
This commit is contained in:
parent
c2f8f5cfab
commit
4b4b3c341f
|
@ -46,7 +46,8 @@
|
|||
props: ['item'],
|
||||
data() {
|
||||
return {
|
||||
iconURL: undefined
|
||||
iconURL: undefined,
|
||||
updatingIcon: false
|
||||
};
|
||||
},
|
||||
components: {
|
||||
|
@ -68,10 +69,27 @@
|
|||
} catch (err) {
|
||||
Logger.err('ContentCard', ['Invalid icon URL', this.item]);
|
||||
}
|
||||
},
|
||||
async refreshIcon() {
|
||||
if (this.updatingIcon) return;
|
||||
this.updatingIcon = true;
|
||||
this.iconURL = await this.getIconURL();
|
||||
this.updatingIcon = false;
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.iconURL = await this.getIconURL();
|
||||
watch: {
|
||||
'item.contentPath'() {
|
||||
this.refreshIcon();
|
||||
},
|
||||
'item.icon'() {
|
||||
this.refreshIcon();
|
||||
},
|
||||
'item.info.icon_type'() {
|
||||
this.refreshIcon();
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.refreshIcon();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -24,7 +24,8 @@
|
|||
props: ['scheme', 'is-active'],
|
||||
data() {
|
||||
return {
|
||||
iconURL: undefined
|
||||
iconURL: undefined,
|
||||
updatingIcon: false
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
@ -38,10 +39,27 @@
|
|||
} catch (err) {
|
||||
Logger.err('SettingsScheme', ['Invalid icon URL', this.scheme, err]);
|
||||
}
|
||||
},
|
||||
async refreshIcon() {
|
||||
if (this.updatingIcon) return;
|
||||
this.updatingIcon = true;
|
||||
this.iconURL = this.scheme.icon_url || await this.getIconURLFromPath();
|
||||
this.updatingIcon = false;
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.iconURL = this.scheme.icon_url || await this.getIconURLFromPath();
|
||||
watch: {
|
||||
'scheme.path'() {
|
||||
this.refreshIcon();
|
||||
},
|
||||
'scheme.icon_path'() {
|
||||
this.refreshIcon();
|
||||
},
|
||||
'scheme.icon_type'() {
|
||||
this.refreshIcon();
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.refreshIcon();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue