Skip to content

Commit b0cf956

Browse files
authored
Merge branch 'develop' into develop
2 parents 81d904e + cf8190d commit b0cf956

30 files changed

+664
-351
lines changed

components.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// @ts-nocheck
33
// Generated by unplugin-vue-components
44
// Read more: https://github.com/vuejs/core/pull/3399
5+
// biome-ignore lint: disable
56
export {}
67

78
/* prettier-ignore */
@@ -15,6 +16,7 @@ declare module 'vue' {
1516
AppBtnCollapse: typeof import('./src/components/ui/AppBtnCollapse.vue')['default']
1617
AppBtnCollapseGroup: typeof import('./src/components/ui/AppBtnCollapseGroup.vue')['default']
1718
AppBtnGroup: typeof import('./src/components/ui/AppBtnGroup.vue')['default']
19+
AppBtnToggle: typeof import('./src/components/ui/AppBtnToggle.vue')['default']
1820
AppBtnToolheadMove: typeof import('./src/components/ui/AppBtnToolheadMove.vue')['default']
1921
AppChart: typeof import('./src/components/ui/AppChart.vue')['default']
2022
AppColorPicker: typeof import('./src/components/ui/AppColorPicker.vue')['default']

src/api/socketActions.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,9 @@ export const SocketActions = {
779779
async serverSensorsList () {
780780
baseEmit(
781781
'server.sensors.list', {
782+
params: {
783+
extended: true
784+
},
782785
dispatch: 'sensors/onSensorsList'
783786
}
784787
)

src/components/ui/AppBtnToggle.vue

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<template>
2+
<v-btn-toggle
3+
v-bind="$attrs"
4+
:class="{
5+
'elevation-2': !disabled
6+
}"
7+
v-on="$listeners"
8+
>
9+
<slot />
10+
</v-btn-toggle>
11+
</template>
12+
13+
<script lang="ts">
14+
import { Component, Prop, Vue } from 'vue-property-decorator'
15+
16+
@Component({
17+
inheritAttrs: false
18+
})
19+
export default class AppBtn extends Vue {
20+
@Prop({ type: Boolean })
21+
disabled?: boolean
22+
}
23+
</script>

src/components/ui/AppColorPicker.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
</v-layout>
7979

8080
<div class="text-right mt-4 mr-1">
81-
<v-btn-toggle
81+
<app-btn-toggle
8282
v-model="valueRange"
8383
mandatory
8484
>
@@ -94,7 +94,7 @@
9494
>
9595
0..1
9696
</app-btn>
97-
</v-btn-toggle>
97+
</app-btn-toggle>
9898
</div>
9999

100100
<v-layout

src/components/ui/AppColumnPicker.vue

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<v-list-item-title>{{ header.text }}</v-list-item-title>
4848
</v-list-item-content>
4949
<v-list-item-action class="my-0">
50-
<v-checkbox :input-value="header.visible" />
50+
<v-checkbox :input-value="header.visible !== false" />
5151
</v-list-item-action>
5252
</v-list-item>
5353
</template>
@@ -58,33 +58,37 @@
5858

5959
<script lang="ts">
6060
import { Component, Vue, Prop } from 'vue-property-decorator'
61-
import type { AppTableHeader } from '@/types'
62-
import type { AppTablePartialHeader } from '@/types/tableheaders'
61+
import type { AppDataTableHeader } from '@/types'
62+
import type { ConfiguredTableHeader } from '@/store/config/types'
6363
6464
@Component({})
6565
export default class AppColumnPicker extends Vue {
6666
@Prop({ type: String, required: true })
6767
readonly keyName!: string
6868
69-
@Prop({ type: Array<AppTableHeader>, required: true })
70-
readonly headers!: AppTableHeader[]
69+
@Prop({ type: Array<AppDataTableHeader>, required: true })
70+
readonly headers!: AppDataTableHeader[]
7171
72-
get configurableHeaders (): AppTableHeader[] {
72+
get configurableHeaders (): AppDataTableHeader[] {
7373
return this.headers
7474
}
7575
76-
set configurableHeaders (value: AppTableHeader[]) {
76+
set configurableHeaders (value: AppDataTableHeader[]) {
7777
const headers = value
78-
.map(({ value, visible }): AppTablePartialHeader => ({
78+
.map(({ value, visible }): ConfiguredTableHeader => ({
7979
value,
8080
visible
8181
}))
8282
8383
this.$store.dispatch('config/updateHeaders', { name: this.keyName, headers })
8484
}
8585
86-
handleToggleHeader (header: AppTablePartialHeader) {
87-
header.visible = !header.visible
86+
handleToggleHeader (value: AppDataTableHeader) {
87+
const header : ConfiguredTableHeader = {
88+
value: value.value,
89+
visible: !(value.visible !== false)
90+
}
91+
8892
this.$store.dispatch('config/updateHeader', { name: this.keyName, header })
8993
}
9094
}

src/components/ui/AppDataTableRow.vue

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,13 @@
2222
:header="header"
2323
:value="getValue(header)"
2424
>
25-
{{ getValue(header) ?? '--' }}
25+
<slot
26+
name="item.data-table-default"
27+
:header="header"
28+
:value="getValue(header)"
29+
>
30+
{{ formatValue(getValue(header)) }}
31+
</slot>
2632
</slot>
2733
</td>
2834
</template>
@@ -50,5 +56,11 @@ export default class AppDataTableRow extends Vue {
5056
getValue (header: DataTableHeader) {
5157
return get(this.item, header.value)
5258
}
59+
60+
formatValue (value: unknown) {
61+
return value == null || value === ''
62+
? '--'
63+
: value
64+
}
5365
}
5466
</script>

0 commit comments

Comments
 (0)