- Detect kiosk mode (localhost / ?kiosk=1) and add html.kiosk-mode - Suppress 3D path-viewer in kiosk mode (Pi 3B too slow) - Compact 1366x768 layout: 56px header, smaller jog grid, 4-col macros 2-col status, 540px jog column - Flex-gap fallbacks for Chromium 72 (header tabs, sys-btn, state-badge, ktab, sp-row, etc.) using "> * + *" margin-* rules - Path-viewer: opaque WebGL canvas, ResizeObserver-gated render loop, no first-frame size flash - Path-viewer renderer cleared properly on component teardown - W axis row: W- | W+ | Probe XYZ | Probe Z (was W-|HomeW|W+|Probe) - Running panel only for actual program execution (not jogging) - Settings sectioned (Display+Units / Probing / G-code+Motion) - Routed component now keep-alive across tab swaps - FA4 -> FA6 webfonts
68 lines
2.8 KiB
Plaintext
68 lines
2.8 KiB
Plaintext
script#console-view-template(type="text/x-template")
|
|
.console-page
|
|
.console-card
|
|
.ptab-bar
|
|
button.ptab(:class="{active: sub === 'mdi'}", @click="select_sub('mdi')")
|
|
.fa.fa-keyboard
|
|
| MDI
|
|
button.ptab(:class="{active: sub === 'messages'}", @click="select_sub('messages')")
|
|
.fa.fa-comment-dots
|
|
| Messages
|
|
span.ptab-badge(v-if="unread_messages") {{unread_messages}}
|
|
button.ptab(:class="{active: sub === 'indicators'}", @click="select_sub('indicators')")
|
|
.fa.fa-bell
|
|
| Indicators
|
|
|
|
// ----- MDI -----
|
|
.mdi-pane(v-show="sub === 'mdi'")
|
|
.mdi-input
|
|
span.prompt G>
|
|
input(type="text", v-model="mdi", :disabled="!can_mdi",
|
|
@keyup.enter="submit_mdi", placeholder="enter a G-code command…")
|
|
button.mdi-send(:disabled="!can_mdi || !mdi", @click="submit_mdi")
|
|
.fa.fa-paper-plane
|
|
| SEND
|
|
.mdi-keys
|
|
button.mkey(@click="prepend('G0 ')") G0
|
|
button.mkey(@click="prepend('G1 ')") G1
|
|
button.mkey(@click="prepend('G2 ')") G2
|
|
button.mkey(@click="prepend('G3 ')") G3
|
|
button.mkey(@click="prepend('G28 ')") G28
|
|
button.mkey(@click="prepend('G92 ')") G92
|
|
button.mkey(@click="prepend('M3 ')") M3
|
|
button.mkey(@click="prepend('M5 ')") M5
|
|
button.mkey(@click="append('X')") X
|
|
button.mkey(@click="append('Y')") Y
|
|
button.mkey(@click="append('Z')") Z
|
|
button.mkey(@click="append('W')") W
|
|
button.mkey(@click="append('F')") F
|
|
button.mkey(@click="append('S')") S
|
|
button.mkey.clear(@click="mdi = ''") CLEAR
|
|
button.mkey.send(:disabled="!can_mdi || !mdi", @click="submit_mdi") SEND ↵
|
|
|
|
em Machine units: #[strong {{mach_units}}]. G20/G21 to switch.
|
|
|
|
.mdi-history(:class="{placeholder: !history.length}")
|
|
span.mdi-empty(v-if="!history.length") MDI history will display here.
|
|
.h-row(v-for="item in history", @click="load_history($index)",
|
|
track-by="$index")
|
|
span.h-cmd {{item}}
|
|
span.h-status ↻
|
|
|
|
// ----- Messages -----
|
|
.messages-pane(v-show="sub === 'messages'")
|
|
.msg-empty(v-if="!$root.messages_log.length")
|
|
.fa.fa-circle-check
|
|
| No messages.
|
|
.msg(v-for="m in $root.messages_log",
|
|
:class="m.level === 'warning' ? 'warn' : 'info'", track-by="$index")
|
|
.mi
|
|
.fa(:class="m.level === 'warning' ? 'fa-triangle-exclamation' : 'fa-circle-info'")
|
|
div
|
|
.mtitle {{m.text}}
|
|
.mtime ID {{m.id}}
|
|
|
|
// ----- Indicators -----
|
|
.indicators-pane(v-show="sub === 'indicators'")
|
|
indicators(:state="state", :template="template")
|