Skip to content

Commit 3e52ba3

Browse files
committed
feat(spoolman): allow selecting more fields
Signed-off-by: Mathis Mensing <[email protected]>
1 parent 4470ee9 commit 3e52ba3

File tree

4 files changed

+35
-3
lines changed

4 files changed

+35
-3
lines changed

src/components/settings/SpoolmanSettings.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,14 @@ export default class SpoolmanSettings extends Mixins(StateMixin) {
244244
'vendor',
245245
'filament_name',
246246
'remaining_weight',
247+
'used_weight',
247248
'location',
248249
'material',
249250
'lot_nr',
251+
'price',
252+
'density',
253+
'extruder_temp',
254+
'bed_temp',
250255
'first_used',
251256
'last_used',
252257
'comment'

src/components/widgets/spoolman/SpoolmanCard.vue

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,17 @@
122122
</span>
123123
</template>
124124

125+
<template v-else-if="field === 'used_weight'">
126+
<span v-if="remainingFilamentUnit === 'weight'">
127+
{{ $filters.getReadableWeightString(activeSpool.used_weight) }}
128+
<small>/ {{ $filters.getReadableWeightString(activeSpool.filament.weight) }}</small>
129+
</span>
130+
<span v-else-if="remainingFilamentUnit === 'length'">
131+
{{ $filters.getReadableLengthString(activeSpool.used_length) }}
132+
<small>/ {{ $filters.getReadableLengthString($filters.convertFilamentWeightToLength(activeSpool.filament.weight ?? 0, activeSpool.filament.density, activeSpool.filament.diameter)) }}</small>
133+
</span>
134+
</template>
135+
125136
<span v-else>{{ formatField(field) }}</span>
126137
</status-label>
127138
</template>
@@ -197,9 +208,9 @@ export default class SpoolmanCard extends Mixins(StateMixin) {
197208
198209
get selectedCardFields (): string[] {
199210
const fields = this.$store.state.config.uiSettings.spoolman.selectedCardFields
200-
const NUM_COLUMNS = fields.length > 1 ? 2 : 1
201-
const elementsPerColumn = Math.ceil(fields.length / NUM_COLUMNS)
202-
return new Array(NUM_COLUMNS).fill(undefined).map((_, i) => fields.slice(i * elementsPerColumn, (i + 1) * elementsPerColumn))
211+
const columnCount = fields.length > 1 ? 2 : 1
212+
const elementsPerColumn = Math.ceil(fields.length / columnCount)
213+
return new Array(columnCount).fill(undefined).map((_, i) => fields.slice(i * elementsPerColumn, (i + 1) * elementsPerColumn))
203214
}
204215
205216
get activeSpool (): Spool | null {
@@ -239,6 +250,7 @@ export default class SpoolmanCard extends Mixins(StateMixin) {
239250
if (!this.activeSpool) return '-'
240251
241252
switch (field) {
253+
case 'id': return this.activeSpool.id
242254
case 'vendor': return this.activeSpool.filament.vendor?.name || '-'
243255
case 'filament_name': return this.activeSpool.filament.name
244256
case 'location': return this.activeSpool.location || '-'
@@ -247,6 +259,11 @@ export default class SpoolmanCard extends Mixins(StateMixin) {
247259
case 'first_used': return this.activeSpool.first_used ? this.$filters.formatRelativeTimeToNow(this.activeSpool.first_used) : this.$tc('app.setting.label.never')
248260
case 'last_used': return this.activeSpool.last_used ? this.$filters.formatRelativeTimeToNow(this.activeSpool.last_used) : this.$tc('app.setting.label.never')
249261
case 'comment': return this.activeSpool.comment || '-'
262+
case 'price': return this.activeSpool.filament.price || '-'
263+
case 'density': return this.activeSpool.filament.density || '-'
264+
case 'extruder_temp': return this.activeSpool.filament.settings_extruder_temp || '-'
265+
case 'bed_temp': return this.activeSpool.filament.settings_bed_temp || '-'
266+
250267
default:
251268
return field
252269
}

src/locales/de.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -932,16 +932,21 @@ app:
932932
spoolman: Spoolman
933933
label:
934934
active_spool: Aktive Spule
935+
bed_temp: Betttemp.
935936
change_spool: Spule wechseln
936937
comment: Kommentar
938+
density: Dichte
937939
device_camera: Gerät
940+
extruder_temp: Extrudertemp.
938941
filament_name: Filament
939942
first_used: Zuerst genutzt
940943
last_used: Zuletzt genutzt
941944
location: Ort
942945
lot_nr: Charge
943946
material: Material
947+
price: Preis
944948
remaining_weight: Verbleibend
949+
used_weight: Verbraucht
945950
vendor: Hersteller
946951
id: ID
947952
weight: Gewicht

src/locales/en.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -891,17 +891,22 @@ app:
891891
scan_spool: Scan Spool
892892
label:
893893
active_spool: Active Spool
894+
bed_temp: Bed Temp
894895
change_spool: Change Spool
895896
comment: Comment
897+
density: Density
896898
device_camera: Device
899+
extruder_temp: Extruder Temp
897900
filament_name: Filament
898901
first_used: First Used
899902
id: ID
900903
last_used: Last Used
901904
location: Location
902905
lot_nr: Lot Nr
903906
material: Material
907+
price: Price
904908
remaining_weight: Remaining
909+
used_weight: Used
905910
vendor: Vendor
906911
weight: Weight
907912
length: Length

0 commit comments

Comments
 (0)