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
|
// 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
|
// 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)
|
this.messageLogs.shift(); // Supprimer le premier élément (le plus ancien)
|
||||||
} }) // S'abonner à tous les topics MQTT
|
} }) // S'abonner à tous les topics MQTT
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,9 @@
|
|||||||
<div class="input-style">
|
<div class="input-style">
|
||||||
<v-select label="Topic" v-model="selectedTopic" :items="topics" prepend-icon="mdi-target"></v-select>
|
<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>
|
<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-card>
|
||||||
</v-container>
|
</v-container>
|
||||||
|
|
||||||
@ -19,13 +21,22 @@ import { publishMessage } from '@/services/mqttService'
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() { return { message: '', // Initialiser la variable message
|
data() { return { message: '', // Initialiser la variable message
|
||||||
selectedTopic: 'topic1',
|
selectedTopic: 'Selectionnez un topic',
|
||||||
topics: [ '/display/control', '/sound/playsound', 'topic3', 'topic4', 'topic5', 'topic6', 'topic7', 'topic8', 'topic9', 'topic10' ] // Liste des topics
|
topics: [
|
||||||
|
'/wled/all',
|
||||||
|
'/display/control',
|
||||||
|
'/sound/playsound'
|
||||||
|
] // Liste des topics
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
publishMessage() {
|
publisCustomMessage() {
|
||||||
publishMessage(this.selectedTopic, this.message) }
|
publishMessage(this.selectedTopic, this.message)
|
||||||
|
},
|
||||||
|
publishBuzzerUnblock() {
|
||||||
|
publishMessage('brainblast/buzzer/unlock', "0")
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -38,7 +49,12 @@ export default {
|
|||||||
.input-style{
|
.input-style{
|
||||||
margin: 20px;
|
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;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -1,17 +1,42 @@
|
|||||||
<template>
|
<template>
|
||||||
<div> <!-- Zone pour publier sur MQTT --> <PublishMQTTComponent />
|
<v-row>
|
||||||
<!-- Zone pour afficher la console MQTT --> <MQTTConsoleComponent />
|
|
||||||
|
</v-row>
|
||||||
|
<div> <!-- Zone pour publier sur MQTT -->
|
||||||
|
<!-- Zone pour afficher la console MQTT -->
|
||||||
</div>
|
</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>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PublishMQTTComponent from '@/components/MQTTDebugPublish.vue' // Importer le composant pour publier sur MQTT
|
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 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 {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
PublishMQTTComponent, // Composant pour publier sur MQTT MQTTConsoleComponent // Composant pour la console MQTT
|
PublishMQTTComponent, // Composant pour publier sur MQTT MQTTConsoleComponent // Composant pour la console MQTT
|
||||||
MQTTConsoleComponent, // Composant pour la console MQTT
|
MQTTConsoleComponent, // Composant pour la console MQTT
|
||||||
|
MQTTColorPublisher, // Composant pour publier une couleur custom dans un topic
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
Reference in New Issue
Block a user