diff --git a/src/components/inputs/FirmwareRetractionSettingsInput.vue b/src/components/inputs/FirmwareRetractionSettingsInput.vue new file mode 100644 index 000000000..4ac91ded1 --- /dev/null +++ b/src/components/inputs/FirmwareRetractionSettingsInput.vue @@ -0,0 +1,58 @@ + + + \ No newline at end of file diff --git a/src/components/inputs/MachineLimitsInput.vue b/src/components/inputs/MotionSettingsInput.vue similarity index 92% rename from src/components/inputs/MachineLimitsInput.vue rename to src/components/inputs/MotionSettingsInput.vue index 8b835b2c6..27b7148dc 100644 --- a/src/components/inputs/MachineLimitsInput.vue +++ b/src/components/inputs/MotionSettingsInput.vue @@ -12,7 +12,8 @@ outlined dense :append-icon="this.value !== this.defaultValue ? 'mdi-refresh' : ''" - :error="this.value > this.defaultValue" + :error="this.value <= 0" + min="1" @click:append="resetLimit" hide-details > @@ -25,7 +26,7 @@ import {Mixins, Prop, Watch} from 'vue-property-decorator' import BaseMixin from '@/components/mixins/base' @Component -export default class MachineLimitsInput extends Mixins(BaseMixin) { +export default class MotionSettingsInput extends Mixins(BaseMixin) { private value: any = 0 @Prop({ type: String, required: true }) readonly label!: string diff --git a/src/components/mixins/dashboard.ts b/src/components/mixins/dashboard.ts index 2ce02768b..0f7804422 100644 --- a/src/components/mixins/dashboard.ts +++ b/src/components/mixins/dashboard.ts @@ -82,6 +82,13 @@ export default class DashboardMixin extends BaseMixin { return (group) ? group.name : 'Macrogroup' } - return this.$t('Panels.'+capitalize(name)+'Panel.Headline') + if (name.includes('-')) { + let panelName = '' + const subStrings = name.split('-') + subStrings.forEach((subStr) => {panelName += capitalize(subStr)}) + return this.$t('Panels.' + panelName + 'Panel.Headline') + } + + return this.$t('Panels.' + capitalize(name) + 'Panel.Headline') } } \ No newline at end of file diff --git a/src/components/panels/Machine/LimitsPanel.vue b/src/components/panels/Machine/LimitsPanel.vue deleted file mode 100644 index 2ee1bb41b..000000000 --- a/src/components/panels/Machine/LimitsPanel.vue +++ /dev/null @@ -1,91 +0,0 @@ - - - diff --git a/src/components/panels/MachineSettings/FirmwareRetractionSettings.vue b/src/components/panels/MachineSettings/FirmwareRetractionSettings.vue new file mode 100644 index 000000000..5164f4f0f --- /dev/null +++ b/src/components/panels/MachineSettings/FirmwareRetractionSettings.vue @@ -0,0 +1,91 @@ + + + diff --git a/src/components/panels/MachineSettings/MachineSettingsPanel.vue b/src/components/panels/MachineSettings/MachineSettingsPanel.vue new file mode 100644 index 000000000..0c7e82380 --- /dev/null +++ b/src/components/panels/MachineSettings/MachineSettingsPanel.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/components/panels/MachineSettings/MotionSettings.vue b/src/components/panels/MachineSettings/MotionSettings.vue new file mode 100644 index 000000000..7b250cdff --- /dev/null +++ b/src/components/panels/MachineSettings/MotionSettings.vue @@ -0,0 +1,93 @@ + + + diff --git a/src/components/ui/SubPanel.vue b/src/components/ui/SubPanel.vue new file mode 100644 index 000000000..fc5eb8ac2 --- /dev/null +++ b/src/components/ui/SubPanel.vue @@ -0,0 +1,56 @@ + + + + + \ No newline at end of file diff --git a/src/locales/en.json b/src/locales/en.json index 02ab18256..a2eee2e88 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -367,6 +367,23 @@ "DeprecatedOption": "Option '{option}' in section '{section}' is deprecated and will be removed in a future release.", "DeprecatedValue": "Value '{value}' in option '{option}' in section '{section}' is deprecated and will be removed in a future release." }, + "MachineSettingsPanel": { + "Headline": "Machine Settings", + "MotionSettings": { + "Motion": "Motion", + "Velocity": "Velocity", + "Acceleration": "Acceleration", + "Deceleration": "Deceleration", + "SquareCornerVelocity": "Square Corner Velocity" + }, + "FirmwareRetractionSettings": { + "FirmwareRetraction": "Firmware Retraction", + "RetractLength": "Retract Length", + "RetractSpeed": "Retract Speed", + "UnretractExtraLength": "Unretract Extra Length", + "UnretractSpeed": "Unretract Speed" + } + }, "MiniconsolePanel": { "Headline": "Console", "SetupConsole": "Setup Console", @@ -528,13 +545,6 @@ "open": "OPEN", "EndstopInfo": "Press the sync-button on the right-bottom to load the current endstop status." }, - "LimitsPanel": { - "MachineLimits": "Machine Limits", - "Velocity": "Velocity", - "Acceleration": "Acceleration", - "Deceleration": "Deceleration", - "SquareCornerVelocity": "Square corner velocity" - }, "LogfilesPanel": { "Logfiles": "Logfiles" }, diff --git a/src/pages/Dashboard.vue b/src/pages/Dashboard.vue index 99d984915..8466afd05 100644 --- a/src/pages/Dashboard.vue +++ b/src/pages/Dashboard.vue @@ -59,36 +59,38 @@ import Component from 'vue-class-component' import {Mixins} from 'vue-property-decorator' -import MinSettingsPanel from '@/components/panels/MinSettingsPanel.vue' +import ControlPanel from '@/components/panels/ControlPanel.vue' +import DashboardMixin from '@/components/mixins/dashboard' import KlippyStatePanel from '@/components/panels/KlippyStatePanel.vue' +import MachineSettingsPanel from '@/components/panels/MachineSettings/MachineSettingsPanel.vue' +import MacrogroupPanel from '@/components/panels/MacrogroupPanel.vue' +import MacrosPanel from '@/components/panels/MacrosPanel.vue' +import MiniconsolePanel from '@/components/panels/MiniconsolePanel.vue' +import MinSettingsPanel from '@/components/panels/MinSettingsPanel.vue' +import MiscellaneousPanel from '@/components/panels/MiscellaneousPanel.vue' import MoonrakerStatePanel from '@/components/panels/MoonrakerStatePanel.vue' +import PrintsettingsPanel from '@/components/panels/PrintsettingsPanel.vue' import StatusPanel from '@/components/panels/StatusPanel.vue' import ToolsPanel from '@/components/panels/ToolsPanel.vue' import WebcamPanel from '@/components/panels/WebcamPanel.vue' import ZoffsetPanel from '@/components/panels/ZoffsetPanel.vue' -import ControlPanel from '@/components/panels/ControlPanel.vue' -import MacrosPanel from '@/components/panels/MacrosPanel.vue' -import MacrogroupPanel from '@/components/panels/MacrogroupPanel.vue' -import MiscellaneousPanel from '@/components/panels/MiscellaneousPanel.vue' -import MiniconsolePanel from '@/components/panels/MiniconsolePanel.vue' -import PrintsettingsPanel from '@/components/panels/PrintsettingsPanel.vue' -import DashboardMixin from '@/components/mixins/dashboard' @Component({ components: { - PrintsettingsPanel, - MiniconsolePanel, - MiscellaneousPanel, ControlPanel, - MacrosPanel, + KlippyStatePanel, + MachineSettingsPanel, MacrogroupPanel, - ZoffsetPanel, - WebcamPanel, - ToolsPanel, - StatusPanel, + MacrosPanel, + MiniconsolePanel, + MinSettingsPanel, + MiscellaneousPanel, MoonrakerStatePanel, - KlippyStatePanel, - MinSettingsPanel + PrintsettingsPanel, + StatusPanel, + ToolsPanel, + WebcamPanel, + ZoffsetPanel } }) export default class PageDashboard extends Mixins(DashboardMixin) { diff --git a/src/pages/Machine.vue b/src/pages/Machine.vue index dde575417..a1b02028a 100644 --- a/src/pages/Machine.vue +++ b/src/pages/Machine.vue @@ -6,7 +6,6 @@ - @@ -26,14 +25,20 @@ import {Component, Mixins} from 'vue-property-decorator' import BaseMixin from '@/components/mixins/base' import KlippyStatePanel from '@/components/panels/KlippyStatePanel.vue' -import LimitsPanel from '@/components/panels/Machine/LimitsPanel.vue' import UpdatePanel from '@/components/panels/Machine/UpdatePanel.vue' import LogfilesPanel from '@/components/panels/Machine/LogfilesPanel.vue' import EndstopPanel from '@/components/panels/Machine/EndstopPanel.vue' import ConfigFilesPanel from '@/components/panels/Machine/ConfigFilesPanel.vue' import SystemPanel from '@/components/panels/Machine/SystemPanel.vue' @Component({ - components: {SystemPanel, ConfigFilesPanel, EndstopPanel, LogfilesPanel, UpdatePanel, LimitsPanel, KlippyStatePanel} + components: { + SystemPanel, + ConfigFilesPanel, + EndstopPanel, + LogfilesPanel, + UpdatePanel, + KlippyStatePanel + } }) export default class PageMachine extends Mixins(BaseMixin) { diff --git a/src/plugins/helpers.ts b/src/plugins/helpers.ts index e36ab7856..cc64bb33a 100644 --- a/src/plugins/helpers.ts +++ b/src/plugins/helpers.ts @@ -46,6 +46,7 @@ export const convertPanelnameToIcon = (name: string): string => { case 'miscellaneous': return 'mdi-dip-switch' case 'tools': return 'mdi-thermometer-lines' case 'miniconsole': return 'mdi-console-line' + case 'machine-settings': return 'mdi-engine' default: return 'mdi-information' } diff --git a/src/store/gui/index.ts b/src/store/gui/index.ts index e85d3fad0..534c06844 100644 --- a/src/store/gui/index.ts +++ b/src/store/gui/index.ts @@ -64,6 +64,7 @@ export const getDefaultState = (): GuiState => { { 'name': 'control', visable: true }, { 'name': 'macros', visable: true }, { 'name': 'printsettings', visable: true }, + { 'name': 'machine-settings', visable: true }, { 'name': 'miscellaneous', visable: true }, { 'name': 'tools', visable: true }, { 'name': 'miniconsole', visable: false }, @@ -74,6 +75,7 @@ export const getDefaultState = (): GuiState => { { 'name': 'control', visable: true }, { 'name': 'macros', visable: true }, { 'name': 'printsettings', visable: true }, + { 'name': 'machine-settings', visable: true }, { 'name': 'miscellaneous', visable: true }, ], tabletLayout2: [ @@ -86,6 +88,7 @@ export const getDefaultState = (): GuiState => { { 'name': 'control', visable: true }, { 'name': 'macros', visable: true }, { 'name': 'printsettings', visable: true }, + { 'name': 'machine-settings', visable: true }, { 'name': 'miscellaneous', visable: true }, ], desktopLayout2: [ @@ -101,6 +104,7 @@ export const getDefaultState = (): GuiState => { widescreenLayout2: [ { 'name': 'tools', visable: true }, { 'name': 'printsettings', visable: true }, + { 'name': 'machine-settings', visable: true }, ], widescreenLayout3: [ { 'name': 'webcam', visable: true }, diff --git a/src/store/variables.ts b/src/store/variables.ts index 1f59edd44..7a3ac5476 100644 --- a/src/store/variables.ts +++ b/src/store/variables.ts @@ -83,6 +83,7 @@ export const maxEventHistory = 500 export const allDashboardPanels = [ 'control', 'macros', + 'machine-settings', 'miniconsole', 'miscellaneous', 'printsettings',