Skip to content

Commit 702098d

Browse files
committed
Merge branch 'develop' of github.com:fluidd-core/fluidd into my_develop
Signed-off-by: vajonam <[email protected]>
2 parents a5c2cd2 + de2d15c commit 702098d

File tree

9 files changed

+84
-57
lines changed

9 files changed

+84
-57
lines changed

src/components/widgets/toolhead/ToolheadControlCross.vue

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -196,59 +196,60 @@ type Axis = 'X' | 'Y' | 'Z'
196196
197197
@Component({})
198198
export default class ToolheadControlCross extends Mixins(StateMixin, ToolheadMixin) {
199-
moveLength = ''
200-
fab = false
199+
moveLength: number | null = null
201200
202-
get forceMove () {
203-
return this.$store.state.config.uiSettings.toolhead.forceMove
201+
get forceMove (): boolean {
202+
return this.$store.state.config.uiSettings.toolhead.forceMove as boolean
204203
}
205204
206-
get canHomeXY () {
207-
const hasRoundBed = this.$store.getters['printer/getHasRoundBed'] as boolean
205+
get hasRoundBed (): boolean {
206+
return this.$store.getters['printer/getHasRoundBed'] as boolean
207+
}
208208
209-
return !hasRoundBed
209+
get canHomeXY (): boolean {
210+
return !this.hasRoundBed
210211
}
211212
212-
get toolheadMoveDistances () {
213-
const distances = this.$store.state.config.uiSettings.general.toolheadMoveDistances
213+
get toolheadMoveDistances (): number[] {
214+
const distances = this.$store.state.config.uiSettings.general.toolheadMoveDistances as number[]
215+
214216
if (distances.includes(this.toolheadMoveLength)) {
215217
return distances
216218
}
217219
218220
// safety for when no valid move length is present
219-
return [this.toolheadMoveLength, ...distances].sort((a, b) => a - b)
221+
return [this.toolheadMoveLength, ...distances]
222+
.sort((a, b) => a - b)
220223
}
221224
222-
get toolheadMoveLength () {
223-
return (this.moveLength === '')
224-
? this.$store.state.config.uiSettings.general.defaultToolheadMoveLength
225-
: this.moveLength
225+
get toolheadMoveLength (): number {
226+
return this.moveLength ?? this.$store.state.config.uiSettings.general.defaultToolheadMoveLength as number
226227
}
227228
228-
set toolheadMoveLength (val: string) {
229+
set toolheadMoveLength (val: number) {
229230
this.moveLength = val
230231
}
231232
232-
axisButtonColor (axisHomed: boolean) {
233+
axisButtonColor (axisHomed: boolean): string | undefined {
233234
if (this.forceMove) return 'error'
234235
235236
return axisHomed ? 'primary' : undefined
236237
}
237238
238-
axisButtonDisabled (axisHomed: boolean, axisMultipleSteppers: boolean) {
239+
axisButtonDisabled (axisHomed: boolean, axisMultipleSteppers: boolean): boolean {
239240
return !this.klippyReady || (!axisHomed && !(this.forceMove && !axisMultipleSteppers))
240241
}
241242
242243
/**
243244
* Send a move gcode script.
244245
*/
245-
sendMoveGcode (axis: Axis, distance: string, negative = false) {
246+
sendMoveGcode (axis: Axis, distance: number, negative = false) {
246247
const rate = axis === 'Z'
247248
? this.$store.state.config.uiSettings.general.defaultToolheadZSpeed
248249
: this.$store.state.config.uiSettings.general.defaultToolheadXYSpeed
249250
const inverted = this.$store.state.config.uiSettings.general.axis[axis.toLowerCase()].inverted || false
250251
distance = negative !== inverted
251-
? '-' + distance
252+
? -distance
252253
: distance
253254
254255
if (this.forceMove) {

src/mixins/browser.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
1+
import isUserAgentDataMobileSupported from '@/util/is-user-agent-data-mobile-supported'
12
import { Vue, Component } from 'vue-property-decorator'
23

34
@Component
45
export default class BrowserMixin extends Vue {
5-
get isMobileViewport () {
6+
get isMobileViewport (): boolean {
67
return this.$vuetify.breakpoint.mobile
78
}
89

9-
get isMobileUserAgent () {
10-
const mobileUARegex = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i
10+
get isMobileUserAgent (): boolean {
11+
if (isUserAgentDataMobileSupported(navigator)) {
12+
return navigator.userAgentData.mobile
13+
}
1114

12-
return (navigator as any).userAgentData?.mobile ?? mobileUARegex.test(navigator.userAgent)
15+
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i
16+
.test(navigator.userAgent)
1317
}
1418
}

src/mixins/camera.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ export default class CameraMixin extends Vue {
2222
this.checkPlayback()
2323
}
2424

25-
get apiUrl () {
26-
return this.$store.state.config.apiUrl
25+
get apiUrl (): string {
26+
return this.$store.state.config.apiUrl as string
2727
}
2828

2929
get cameraStyle () {
@@ -32,7 +32,7 @@ export default class CameraMixin extends Vue {
3232
}
3333
}
3434

35-
createTransform () {
35+
createTransform (): string {
3636
const element = this.streamingElement
3737
const { rotation, flipX, flipY } = this.camera
3838
const transformsArray: string[] = []

src/mixins/files.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import type { FileWithPath } from '@/types'
77

88
@Component
99
export default class FilesMixin extends Vue {
10-
get apiUrl () {
11-
return this.$store.state.config.apiUrl
10+
get apiUrl (): string {
11+
return this.$store.state.config.apiUrl as string
1212
}
1313

14-
get isTrustedUser () {
14+
get isTrustedUser (): boolean {
1515
const forceLogins = this.$store.getters['server/getConfig'].authorization.force_logins
1616

1717
return forceLogins === false || this.$store.getters['auth/getCurrentUser']?.username === '_TRUSTED_USER_'

src/mixins/services.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import { Component } from 'vue-property-decorator'
44

55
@Component
66
export default class ServicesMixin extends Vue {
7-
get moonrakerServiceName () {
8-
return this.$store.state.server.system_info?.instance_ids?.moonraker || 'moonraker'
7+
get moonrakerServiceName (): string {
8+
return this.$store.state.server.system_info?.instance_ids?.moonraker as string || 'moonraker'
99
}
1010

1111
/**

src/mixins/state.ts

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,51 @@
11
import Vue from 'vue'
22
import { SocketActions } from '@/api/socketActions'
33
import { Component } from 'vue-property-decorator'
4+
import type { ServerInfo } from '@/store/server/types'
45

56
@Component
67
export default class StateMixin extends Vue {
7-
get authenticated () {
8-
const auth = this.$store.getters['auth/getAuthenticated']
9-
return auth
8+
get authenticated (): boolean {
9+
return this.$store.getters['auth/getAuthenticated'] as boolean
1010
}
1111

12-
get socketConnected () {
13-
return this.$store.getters['socket/getConnectionState']
12+
get socketConnected (): boolean {
13+
return this.$store.getters['socket/getConnectionState'] as boolean
1414
}
1515

16-
get apiConnected () {
17-
return this.$store.getters['socket/getApiConnected']
16+
get apiConnected (): boolean {
17+
return this.$store.getters['socket/getApiConnected'] as boolean
1818
}
1919

20-
get socketConnecting () {
21-
return this.$store.getters['socket/getConnectingState']
20+
get socketConnecting (): boolean {
21+
return this.$store.getters['socket/getConnectingState'] as boolean
2222
}
2323

24-
get klippyReady () {
25-
return this.$store.getters['printer/getklippyReady']
24+
get klippyReady (): boolean {
25+
return this.$store.getters['printer/getklippyReady'] as boolean
2626
}
2727

28-
get klippyConnected () {
29-
const server = this.$store.getters['server/getInfo']
28+
get klippyConnected (): boolean {
29+
const server = this.$store.getters['server/getInfo'] as ServerInfo
30+
3031
return server.klippy_connected
3132
}
3233

33-
get hasWarnings () {
34-
return this.$store.getters['printer/getHasWarnings']
34+
get hasWarnings (): boolean {
35+
return this.$store.getters['printer/getHasWarnings'] as boolean
3536
}
3637

37-
get klippyState () {
38-
return this.$store.getters['printer/getKlippyState']
38+
get klippyState (): string {
39+
return this.$store.getters['printer/getKlippyState'] as string
3940
}
4041

41-
get klippyStateMessage () {
42-
return this.$store.getters['printer/getKlippyStateMessage']
42+
get klippyStateMessage (): string {
43+
return this.$store.getters['printer/getKlippyStateMessage'] as string
4344
}
4445

4546
// Return the printer state
46-
get printerState () {
47-
return this.$store.getters['printer/getPrinterState']
47+
get printerState (): string {
48+
return this.$store.getters['printer/getPrinterState'] as string
4849
}
4950

5051
// Returns a boolean indicating if the printer is busy.
@@ -59,15 +60,15 @@ export default class StateMixin extends Vue {
5960
}
6061

6162
// Returns a boolean indicating if the printer is paused.
62-
get printerPaused () {
63+
get printerPaused (): boolean {
6364
return this.printerState.toLowerCase() === 'paused'
6465
}
6566

6667
/**
6768
* Returns a boolean indicating of the printer is printing.
6869
* (versus busy in some other way...)
6970
*/
70-
get printerPrinting () {
71+
get printerPrinting (): boolean {
7172
return this.printerState.toLowerCase() === 'printing'
7273
}
7374

src/store/printer/state.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,6 @@ export const defaultState = (): PrinterState => {
121121
accepted_screws: 0
122122
},
123123
screws_tilt_adjust: {},
124-
fan: {
125-
speed: 0
126-
},
127124
webhooks: {
128125
state: '',
129126
state_message: ''
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
type NavigatorWithUserAgentDataMobile = Navigator & {
2+
userAgentData: {
3+
mobile: boolean
4+
}
5+
}
6+
7+
const isUserAgentDataMobileSupported = (navigator: Navigator): navigator is NavigatorWithUserAgentDataMobile => {
8+
return (
9+
navigator.userAgentData != null &&
10+
'mobile' in navigator.userAgentData &&
11+
typeof navigator.userAgentData.mobile === 'boolean'
12+
)
13+
}
14+
15+
export default isUserAgentDataMobileSupported

src/views/Dashboard.vue

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,14 @@ export default class Dashboard extends Mixins(StateMixin) {
150150
return this.$store.getters['macros/getVisibleMacros'].length > 0
151151
}
152152
153+
get hasOutputs () {
154+
return (
155+
this.$store.getters['printer/getAllFans'].length > 0 ||
156+
this.$store.getters['printer/getPins'].length > 0 ||
157+
this.$store.getters['printer/getAllLeds'].length > 0
158+
)
159+
}
160+
153161
get inLayout (): boolean {
154162
return (this.$store.state.config.layoutMode)
155163
}
@@ -203,6 +211,7 @@ export default class Dashboard extends Mixins(StateMixin) {
203211
if (this.inLayout) return false
204212
if (item.id === 'camera-card' && !this.hasCameras) return true
205213
if (item.id === 'macros-card' && !this.hasMacros) return true
214+
if (item.id === 'outputs-card' && !this.hasOutputs) return true
206215
if (item.id === 'printer-status-card' && !this.klippyReady) return true
207216
if (item.id === 'job-queue-card' && !this.supportsJobQueue) return true
208217
if (item.id === 'retract-card' && !this.firmwareRetractionEnabled) return true

0 commit comments

Comments
 (0)