Переглянути джерело

fix: Dont rely on icon DOM text for ExecutionView

jamesread 1 місяць тому
батько
коміт
3e414564e5

+ 9 - 0
frontend/resources/vue/ActionButton.vue

@@ -79,6 +79,7 @@ const showNavigateOnStartIcons = computed(() => {
 })
 
 const actionGlyph = computed(() => props.actionData?.icon ?? '')
+const glyph = ref('')
 
 // Combined classes including custom cssClass
 const combinedClasses = computed(() => {
@@ -112,6 +113,7 @@ function constructFromJson(json) {
 
   isDisabled.value = !json.canExec
   displayTitle.value = title.value
+  glyph.value = json.icon ?? ''
   // Initialize rate limit from action data (parse datetime string)
   if (json.datetimeRateLimitExpires) {
 	const date = new Date(json.datetimeRateLimitExpires.replace(' ', 'T'))
@@ -313,10 +315,17 @@ watch(
   () => props.actionData,
   (newData) => {
 	updateFromJson(newData)
+	if (newData?.icon !== undefined) {
+	  glyph.value = newData.icon ?? ''
+	}
   },
   { deep: true }
 )
 
+defineExpose({
+  glyph
+})
+
 </script>
 
 <style>

+ 1 - 1
frontend/resources/vue/views/ExecutionView.vue

@@ -152,7 +152,7 @@ async function reset() {
 
 function show(actionButton) {
   if (actionButton) {
-	icon.value = actionButton.domIcon.innerText
+	icon.value = actionButton.glyph ?? ''
   }
 
   canKill.value = true