mirror of
https://github.com/Av0idD4rk/packmate.git
synced 2026-10-23 16:31:01 +00:00
Переключение паттернов вместо их удаления
This commit is contained in:
parent
4c5522bbcc
commit
6c51259a01
@ -81,6 +81,14 @@
|
||||
case 'COUNTERS_UPDATE': {
|
||||
break; //TODO implement
|
||||
}
|
||||
case 'ENABLE_PATTERN': {
|
||||
this.$refs.navbar.$refs.patternsDropdown.togglePatternFromWs(parsed.value, true);
|
||||
break;
|
||||
}
|
||||
case 'DISABLE_PATTERN': {
|
||||
this.$refs.navbar.$refs.patternsDropdown.togglePatternFromWs(parsed.value, false);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
console.error('[WS] Event is not implemented!', parsed);
|
||||
break;
|
||||
|
||||
@ -9,16 +9,21 @@
|
||||
<b-dropdown-divider/>
|
||||
<b-dropdown-item-button v-for="pattern in this.$store.state.patterns"
|
||||
:key="pattern.id" @click.stop.prevent="openPattern(pattern.id)">
|
||||
<strong :style="`color: ${pattern.color};`">{{ pattern.name }}</strong>:
|
||||
<strong v-if="pattern.enabled" :style="`color: ${pattern.color};`">{{ pattern.name }}</strong>
|
||||
<s v-else :style="`color: ${pattern.color};`">{{ pattern.name }}</s>:
|
||||
<code>{{ getSearchTypeValue(pattern.searchType, pattern.value) }}</code>;
|
||||
search
|
||||
<template v-if="pattern.directionType === 'BOTH'">anywhere</template>
|
||||
<template v-else-if="pattern.directionType === 'INPUT'">in request</template>
|
||||
<template v-else>in response</template>
|
||||
<div class="float-right" style="margin-left: 2em;">
|
||||
<button type="button" class="btn btn-outline-danger btn-block btn-sm"
|
||||
@click.stop.prevent="deletePattern(pattern.id)">
|
||||
<i class="far fa-trash-alt"/>
|
||||
<button v-if="pattern.enabled" type="button" class="btn btn-outline-danger btn-block btn-sm"
|
||||
@click.stop.prevent="togglePattern(pattern)">
|
||||
<i class="fas fa-pause"></i>
|
||||
</button>
|
||||
<button v-else type="button" class="btn btn-outline-success btn-block btn-sm"
|
||||
@click.stop.prevent="togglePattern(pattern)">
|
||||
<i class="fas fa-play"></i>
|
||||
</button>
|
||||
</div>
|
||||
</b-dropdown-item-button>
|
||||
@ -63,19 +68,24 @@
|
||||
query: {pattern: patternId,},
|
||||
});
|
||||
},
|
||||
deletePattern(patternId) {
|
||||
console.debug('Deleting pattern w/ id', patternId);
|
||||
this.$http.delete(`pattern/${patternId}`)
|
||||
togglePattern(pattern) {
|
||||
const enabled = !pattern.enabled;
|
||||
console.debug('Toggling pattern', pattern);
|
||||
this.$http.post(`pattern/${pattern.id}/`, null, {
|
||||
params: {
|
||||
enabled,
|
||||
},
|
||||
})
|
||||
.then(response => {
|
||||
const data = response.data;
|
||||
console.debug('Done deleting pattern', data);
|
||||
console.debug('Done toggling pattern', data);
|
||||
this.$emit('patternAddComplete');
|
||||
}).catch(e => {
|
||||
this.$bvToast.toast(`Failed to delete pattern: ${e}`, {
|
||||
this.$bvToast.toast(`Failed to toggle pattern: ${e}`, {
|
||||
title: 'Error',
|
||||
variant: 'danger',
|
||||
});
|
||||
console.error('Failed to delete pattern', e);
|
||||
console.error('Failed to toggle pattern', e);
|
||||
});
|
||||
},
|
||||
|
||||
@ -86,6 +96,14 @@
|
||||
deletePatternFromWs(id) {
|
||||
this.$store.commit('setPatterns', this.$store.state.patterns.filter(o => o.id !== id));
|
||||
},
|
||||
|
||||
togglePatternFromWs(id, enabled) {
|
||||
this.$store.state.patterns.forEach(pattern => {
|
||||
if (pattern.id === id) {
|
||||
pattern.enabled = enabled;
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user