Skip to content

Commit 4a41d41

Browse files
committed
fixes necessitated by vue-tsc bump that increased strictness
1 parent 2ec0b95 commit 4a41d41

2 files changed

Lines changed: 32 additions & 29 deletions

File tree

IntelPresentMon/AppCef/ipm-ui-vue/src/components/LoadoutLine.vue

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
<script setup lang="ts">
2-
import { ref, computed } from 'vue';
1+
<script setup lang="ts">
2+
import { computed } from 'vue';
33
import { type Widget, WidgetType } from '@/core/widget';
44
import type { Metric } from '@/core/metric';
55
import type { MetricOption } from '@/core/metric-option';
@@ -123,6 +123,9 @@ const findMetricById = (metricId: number) => {
123123
};
124124
125125
const widgetTypeToString = (t: WidgetType) => WidgetType[t];
126+
const metricOptionFromItem = (item: ListItem<unknown>) => item.raw as MetricOption;
127+
const statFromItem = (item: ListItem<unknown>) => item.raw as Stat;
128+
const widgetTypeFromItem = (item: ListItem<unknown>) => item.raw as WidgetType;
126129
127130
const metricOptionsFiltered = computed(() => {
128131
return props.lineIdx === 0
@@ -161,10 +164,10 @@ const isReadoutWidget = computed(() => widgetType.value === WidgetType.Readout);
161164
return-object
162165
:density="isMaster ? 'default' : 'compact'"
163166
>
164-
<template v-slot:item="{item, props: itemProps}: {item:ListItem<MetricOption>, props:any}">
165-
<v-tooltip :text="findMetricById(item.raw.metricId).description">
167+
<template v-slot:item="{ item, props: itemProps }">
168+
<v-tooltip :text="findMetricById(metricOptionFromItem(item).metricId).description">
166169
<template v-slot:activator="{props: tooltipProps}">
167-
<v-list-item v-bind="{...itemProps, ...tooltipProps}" :title="item.raw.name"/>
170+
<v-list-item v-bind="{...itemProps, ...tooltipProps}" :title="metricOptionFromItem(item).name"/>
168171
</template>
169172
</v-tooltip>
170173
</template>
@@ -179,10 +182,10 @@ const isReadoutWidget = computed(() => widgetType.value === WidgetType.Readout);
179182
return-object
180183
:density="isMaster ? 'default' : 'compact'"
181184
>
182-
<template v-slot:item="{item, props: itemProps}: {item:ListItem<Stat>, props:any}">
183-
<v-tooltip :text="`${item.raw.name}: ${item.raw.description}`">
185+
<template v-slot:item="{ item, props: itemProps }">
186+
<v-tooltip :text="`${statFromItem(item).name}: ${statFromItem(item).description}`">
184187
<template v-slot:activator="{props: tooltipProps}">
185-
<v-list-item v-bind="{...itemProps, ...tooltipProps}" :title="item.raw.shortName"/>
188+
<v-list-item v-bind="{...itemProps, ...tooltipProps}" :title="statFromItem(item).shortName"/>
186189
</template>
187190
</v-tooltip>
188191
</template>
@@ -196,11 +199,11 @@ const isReadoutWidget = computed(() => widgetType.value === WidgetType.Readout);
196199
:disabled="locked || widgetTypeOptions.length < 2"
197200
:density="isMaster ? 'default' : 'compact'"
198201
>
199-
<template v-slot:selection="{item, index}: {item:ListItem<WidgetType>, index:number}">
200-
{{ widgetTypeToString(item.raw) }}
202+
<template v-slot:selection="{ item }">
203+
{{ widgetTypeToString(widgetTypeFromItem(item)) }}
201204
</template>
202-
<template v-slot:item="{item, props, index}: {item:ListItem<WidgetType>, props:any, index:number}">
203-
<v-list-item v-bind="props" :title="widgetTypeToString(item.raw)">
205+
<template v-slot:item="{ item, props }">
206+
<v-list-item v-bind="props" :title="widgetTypeToString(widgetTypeFromItem(item))">
204207
</v-list-item>
205208
</template>
206209
</v-select>
@@ -271,4 +274,4 @@ const isReadoutWidget = computed(() => widgetType.value === WidgetType.Readout);
271274
</template>
272275

273276
<style scoped lang="scss">
274-
</style>
277+
</style>

IntelPresentMon/AppCef/ipm-ui-vue/src/views/MainView.vue

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<script lang="ts" setup>
1+
<script lang="ts" setup>
22
import { computed, ref, watchEffect } from 'vue'
33
import { type ListItem } from 'vuetify/lib/composables/list-items.mjs';
44
import { type Process } from '@/core/process';
@@ -85,6 +85,8 @@ watchEffect(async () => {
8585
}
8686
}
8787
})
88+
89+
const processFromItem = (item: ListItem<unknown>) => item.raw as Process;
8890
</script>
8991

9092

@@ -110,36 +112,36 @@ watchEffect(async () => {
110112
:disabled="prefs.preferences.enableAutotargetting"
111113
clearable
112114
>
113-
<template v-slot:selection="{item, index}: {item:ListItem<Process>, index:number}">
114-
<template v-if="item.raw.windowName">
115-
{{ makeSelectorName(item.raw.windowName) }}
116-
<span class="pid-node-inline">[{{ item.raw.pid }}]</span>
115+
<template v-slot:selection="{ item }">
116+
<template v-if="processFromItem(item).windowName">
117+
{{ makeSelectorName(processFromItem(item).windowName ?? '') }}
118+
<span class="pid-node-inline">[{{ processFromItem(item).pid }}]</span>
117119
</template>
118120
<template v-else>
119121
<div>
120-
{{ item.raw.name }}
121-
<span class="pid-node-inline">[{{ item.raw.pid }}]</span>
122+
{{ processFromItem(item).name }}
123+
<span class="pid-node-inline">[{{ processFromItem(item).pid }}]</span>
122124
</div>
123125
</template>
124126
</template>
125-
<template v-slot:item="{item, props, index}: {item:ListItem<Process>, props:any, index:number}">
126-
<v-list-item v-if="item.raw.windowName" v-bind="props" :title="makeSelectorName(item.raw.windowName)">
127+
<template v-slot:item="{ item, props }">
128+
<v-list-item v-if="processFromItem(item).windowName" v-bind="props" :title="makeSelectorName(processFromItem(item).windowName ?? '')">
127129
<v-list-item-subtitle>
128-
{{ item.raw.name }}
129-
<span class="pid-node">[{{ item.raw.pid }}]</span>
130+
{{ processFromItem(item).name }}
131+
<span class="pid-node">[{{ processFromItem(item).pid }}]</span>
130132
</v-list-item-subtitle>
131133
</v-list-item>
132134
<v-list-item v-else v-bind="props" :title="undefined">
133135
<v-list-item-title>
134-
{{ makeSelectorName(item.raw.name) }}
135-
<span class="pid-node-inline">[{{ item.raw.pid }}]</span>
136+
{{ makeSelectorName(processFromItem(item).name) }}
137+
<span class="pid-node-inline">[{{ processFromItem(item).pid }}]</span>
136138
</v-list-item-title>
137139
</v-list-item>
138140
</template>
139141
</v-autocomplete>
140142
</v-col>
141143
</v-row>
142-
144+
143145
<v-row dense>
144146
<v-col cols="3">
145147
Auto-target
@@ -312,5 +314,3 @@ watchEffect(async () => {
312314
}
313315
}
314316
</style>
315-
316-

0 commit comments

Comments
 (0)