webapp: create interface for MqttStatus

This commit is contained in:
Thomas Basler 2022-10-17 20:46:35 +02:00
parent 2aad0cbe70
commit 2682ca8dec
2 changed files with 21 additions and 19 deletions

View File

@ -0,0 +1,17 @@
export interface MqttStatus {
mqtt_enabled: boolean,
mqtt_hostname: string,
mqtt_port: number,
mqtt_username: string,
mqtt_topic: string,
mqtt_publish_interval: number,
mqtt_retain: boolean,
mqtt_tls: boolean,
mqtt_root_ca_cert_info: string,
mqtt_connected: boolean,
mqtt_hass_enabled: boolean,
mqtt_hass_expire: boolean,
mqtt_hass_retain: boolean,
mqtt_hass_topic: string,
mqtt_hass_individualpanels: boolean
}

View File

@ -159,36 +159,21 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import type { MqttStatus } from '@/types/MqttStatus';
import { defineComponent } from 'vue'; import { defineComponent } from 'vue';
export default defineComponent({ export default defineComponent({
data() { data() {
return { return {
dataLoading: true, dataLoading: true,
mqttDataList: { mqttDataList: {} as MqttStatus,
mqtt_enabled: false,
mqtt_hostname: "",
mqtt_port: 0,
mqtt_username: "",
mqtt_topic: "",
mqtt_publish_interval: 0,
mqtt_retain: false,
mqtt_tls: false,
mqtt_root_ca_cert_info: "",
mqtt_connected: false,
mqtt_hass_enabled: false,
mqtt_hass_expire: false,
mqtt_hass_retain: false,
mqtt_hass_topic: "",
mqtt_hass_individualpanels: false
},
}; };
}, },
created() { created() {
this.getNtpInfo(); this.getMqttInfo();
}, },
methods: { methods: {
getNtpInfo() { getMqttInfo() {
this.dataLoading = true; this.dataLoading = true;
fetch("/api/mqtt/status") fetch("/api/mqtt/status")
.then((response) => response.json()) .then((response) => response.json())