|
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