Ajout du colorpicker sur la page de débug
This commit is contained in:
parent
dd72e02370
commit
62bd29d752
72
ui/src/components/MQTTColorPublisher.vue
Normal file
72
ui/src/components/MQTTColorPublisher.vue
Normal file
@ -0,0 +1,72 @@
|
||||
<template>
|
||||
<v-container class="v-container-style">
|
||||
<v-card tile outlined width="500">
|
||||
<v-card-title class="card__title primary centered-title">
|
||||
<v-icon left class="pr-5 pl-2" size="30">mdi-send</v-icon>
|
||||
Publier une couleur
|
||||
</v-card-title>
|
||||
<div class="input-style">
|
||||
<v-select label="Topic" v-model="selectedTopic" :items="topics" prepend-icon="mdi-target"></v-select>
|
||||
</div>
|
||||
<div class="color-picker-style">
|
||||
<v-color-picker mode="hex" v-model="selectedColor"></v-color-picker>
|
||||
</div>
|
||||
<v-btn class="v-btn-style-validate" height="50" @click="publisCustomColor">Publier</v-btn>
|
||||
</v-card>
|
||||
</v-container>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { publishMessage } from '@/services/mqttService'
|
||||
|
||||
export default {
|
||||
data() { return { message: '', // Initialiser la variable message
|
||||
selectedTopic: 'Selectionnez un topic',
|
||||
selectedColor: "#FF0000",
|
||||
topics: [
|
||||
'/wled/all'
|
||||
] // Liste des topics
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
publisCustomColor() {
|
||||
publishMessage(this.selectedTopic, this.selectedColor)
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.v-container-style {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.input-style{
|
||||
margin: 20px;
|
||||
}
|
||||
.v-btn-style-standalone{
|
||||
background-color: #d42828; /* Changez la couleur en fonction de votre thème */
|
||||
margin-bottom: 5%;
|
||||
margin-left: 5%;
|
||||
}
|
||||
.v-btn-style-validate{
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
background-color: #d42828; /* Changez la couleur en fonction de votre thème */
|
||||
border-top-right-radius: 0%;
|
||||
border-top-left-radius: 0%;
|
||||
}
|
||||
.centered-title {
|
||||
text-align: center;
|
||||
}
|
||||
.color-picker-style {
|
||||
display: flex;
|
||||
align-items: left; /* Centre verticalement */
|
||||
height: 100%; /* Ajuste selon la hauteur désirée */
|
||||
width: 100%; /* Ajuste selon la hauteur désirée */
|
||||
padding-left: 5%;
|
||||
}
|
||||
</style>
|
@ -32,10 +32,10 @@
|
||||
});
|
||||
|
||||
// Ajouter le message avec l'horodatage à la liste des messages
|
||||
this.messageLogs.push({ timestamp, message: `Topic: ${topic}, Message: ${message}` });
|
||||
this.messageLogs.push({ timestamp, message: `Topic : ${topic} - Message : ${message}` });
|
||||
|
||||
// Limiter la liste à 10 messages
|
||||
if (this.messageLogs.length > 10) {
|
||||
if (this.messageLogs.length > 27) {
|
||||
this.messageLogs.shift(); // Supprimer le premier élément (le plus ancien)
|
||||
} }) // S'abonner à tous les topics MQTT
|
||||
}
|
||||
|
@ -8,7 +8,9 @@
|
||||
<div class="input-style">
|
||||
<v-select label="Topic" v-model="selectedTopic" :items="topics" prepend-icon="mdi-target"></v-select>
|
||||
<v-text-field label="Message" v-model="message" prepend-icon="mdi-text-box"></v-text-field>
|
||||
</div> <v-btn class="v-btn-style" height="50" @click="publishMessage">Publier</v-btn>
|
||||
</div>
|
||||
<v-btn class="v-btn-style-standalone" height="40" @click="publishBuzzerUnblock">Déblocage<br>Buzzer</v-btn>
|
||||
<v-btn class="v-btn-style-validate" height="50" @click="publisCustomMessage">Publier</v-btn>
|
||||
</v-card>
|
||||
</v-container>
|
||||
|
||||
@ -19,13 +21,22 @@ import { publishMessage } from '@/services/mqttService'
|
||||
|
||||
export default {
|
||||
data() { return { message: '', // Initialiser la variable message
|
||||
selectedTopic: 'topic1',
|
||||
topics: [ '/display/control', '/sound/playsound', 'topic3', 'topic4', 'topic5', 'topic6', 'topic7', 'topic8', 'topic9', 'topic10' ] // Liste des topics
|
||||
selectedTopic: 'Selectionnez un topic',
|
||||
topics: [
|
||||
'/wled/all',
|
||||
'/display/control',
|
||||
'/sound/playsound'
|
||||
] // Liste des topics
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
publishMessage() {
|
||||
publishMessage(this.selectedTopic, this.message) }
|
||||
publisCustomMessage() {
|
||||
publishMessage(this.selectedTopic, this.message)
|
||||
},
|
||||
publishBuzzerUnblock() {
|
||||
publishMessage('brainblast/buzzer/unlock', "0")
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -38,7 +49,12 @@ export default {
|
||||
.input-style{
|
||||
margin: 20px;
|
||||
}
|
||||
.v-btn-style{
|
||||
.v-btn-style-standalone{
|
||||
background-color: #d42828; /* Changez la couleur en fonction de votre thème */
|
||||
margin-bottom: 5%;
|
||||
margin-left: 5%;
|
||||
}
|
||||
.v-btn-style-validate{
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
|
@ -1,17 +1,42 @@
|
||||
<template>
|
||||
<div> <!-- Zone pour publier sur MQTT --> <PublishMQTTComponent />
|
||||
<!-- Zone pour afficher la console MQTT --> <MQTTConsoleComponent />
|
||||
<v-row>
|
||||
|
||||
</v-row>
|
||||
<div> <!-- Zone pour publier sur MQTT -->
|
||||
<!-- Zone pour afficher la console MQTT -->
|
||||
</div>
|
||||
<v-container>
|
||||
<v-row>
|
||||
<!-- Colonne gauche avec les deux composants empilés -->
|
||||
<v-col cols="6">
|
||||
<!-- Composant 1 -->
|
||||
<v-row>
|
||||
<v-col>
|
||||
<PublishMQTTComponent />
|
||||
<MQTTColorPublisher />
|
||||
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-col>
|
||||
|
||||
<!-- Colonne droite avec le composant unique -->
|
||||
<v-col cols="6">
|
||||
<MQTTConsoleComponent />
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PublishMQTTComponent from '@/components/MQTTDebugPublish.vue' // Importer le composant pour publier sur MQTT
|
||||
import MQTTConsoleComponent from '@/components/MQTTDebugConsole.vue' // Importer le composant pour publier sur MQTT
|
||||
import MQTTColorPublisher from '@/components/MQTTColorPublisher.vue' // Importer le composant pour publier sur MQTT
|
||||
|
||||
export default {
|
||||
components: {
|
||||
PublishMQTTComponent, // Composant pour publier sur MQTT MQTTConsoleComponent // Composant pour la console MQTT
|
||||
MQTTConsoleComponent, // Composant pour la console MQTT
|
||||
MQTTColorPublisher, // Composant pour publier une couleur custom dans un topic
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
Loading…
Reference in New Issue
Block a user