|
47 | 47 | <v-list-item-title>{{ header.text }}</v-list-item-title> |
48 | 48 | </v-list-item-content> |
49 | 49 | <v-list-item-action class="my-0"> |
50 | | - <v-checkbox :input-value="header.visible" /> |
| 50 | + <v-checkbox :input-value="header.visible !== false" /> |
51 | 51 | </v-list-item-action> |
52 | 52 | </v-list-item> |
53 | 53 | </template> |
|
58 | 58 |
|
59 | 59 | <script lang="ts"> |
60 | 60 | 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' |
63 | 63 |
|
64 | 64 | @Component({}) |
65 | 65 | export default class AppColumnPicker extends Vue { |
66 | 66 | @Prop({ type: String, required: true }) |
67 | 67 | readonly keyName!: string |
68 | 68 |
|
69 | | - @Prop({ type: Array<AppTableHeader>, required: true }) |
70 | | - readonly headers!: AppTableHeader[] |
| 69 | + @Prop({ type: Array<AppDataTableHeader>, required: true }) |
| 70 | + readonly headers!: AppDataTableHeader[] |
71 | 71 |
|
72 | | - get configurableHeaders (): AppTableHeader[] { |
| 72 | + get configurableHeaders (): AppDataTableHeader[] { |
73 | 73 | return this.headers |
74 | 74 | } |
75 | 75 |
|
76 | | - set configurableHeaders (value: AppTableHeader[]) { |
| 76 | + set configurableHeaders (value: AppDataTableHeader[]) { |
77 | 77 | const headers = value |
78 | | - .map(({ value, visible }): AppTablePartialHeader => ({ |
| 78 | + .map(({ value, visible }): ConfiguredTableHeader => ({ |
79 | 79 | value, |
80 | 80 | visible |
81 | 81 | })) |
82 | 82 |
|
83 | 83 | this.$store.dispatch('config/updateHeaders', { name: this.keyName, headers }) |
84 | 84 | } |
85 | 85 |
|
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 | +
|
88 | 92 | this.$store.dispatch('config/updateHeader', { name: this.keyName, header }) |
89 | 93 | } |
90 | 94 | } |
|
0 commit comments