summaryrefslogtreecommitdiff
path: root/packages/frontend/src
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-01-13 11:51:36 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-01-13 11:51:36 +0900
commitd43a4a2d46bd6ec09a7146958b0769ea5a690746 (patch)
tree78186bed2db53600024b92c772650ba0d5ce5003 /packages/frontend/src
parent13.0.0-beta.41 (diff)
downloadsharkey-d43a4a2d46bd6ec09a7146958b0769ea5a690746.tar.gz
sharkey-d43a4a2d46bd6ec09a7146958b0769ea5a690746.tar.bz2
sharkey-d43a4a2d46bd6ec09a7146958b0769ea5a690746.zip
fix(client): ロールの条件を削除する手段が無かったのを修正
Diffstat (limited to 'packages/frontend/src')
-rw-r--r--packages/frontend/src/pages/admin/RolesEditorFormula.vue18
1 files changed, 17 insertions, 1 deletions
diff --git a/packages/frontend/src/pages/admin/RolesEditorFormula.vue b/packages/frontend/src/pages/admin/RolesEditorFormula.vue
index 76ba639277..1cce5e58e8 100644
--- a/packages/frontend/src/pages/admin/RolesEditorFormula.vue
+++ b/packages/frontend/src/pages/admin/RolesEditorFormula.vue
@@ -13,6 +13,9 @@
<button v-if="draggable" class="drag-handle _button" :class="$style.dragHandle">
<i class="ti ti-menu-2"></i>
</button>
+ <button v-if="draggable" class="_button" :class="$style.remove" @click="removeSelf">
+ <i class="ti ti-x"></i>
+ </button>
</div>
<div v-if="type === 'and' || type === 'or'" :class="$style.values" class="_gaps">
@@ -20,7 +23,7 @@
<template #item="{element}">
<div :class="$style.item">
<!-- divが無いとエラーになる https://github.com/SortableJS/vue.draggable.next/issues/189 -->
- <RolesEditorFormula :model-value="element" draggable @update:model-value="updated => valuesItemUpdated(updated)"/>
+ <RolesEditorFormula :model-value="element" draggable @update:model-value="updated => valuesItemUpdated(updated)" @remove="removeItem(element)"/>
</div>
</template>
</Sortable>
@@ -55,6 +58,7 @@ const Sortable = defineAsyncComponent(() => import('vuedraggable').then(x => x.d
const emit = defineEmits<{
(ev: 'update:modelValue', value: any): void;
+ (ev: 'remove'): void;
}>();
const props = defineProps<{
@@ -93,6 +97,14 @@ function valuesItemUpdated(item) {
const i = v.value.values.findIndex(_item => _item.id === item.id);
v.value.values[i] = item;
}
+
+function removeItem(item) {
+ v.value.values = v.value.values.filter(_item => _item.id !== item.id);
+}
+
+function removeSelf() {
+ emit('remove');
+}
</script>
<style lang="scss" module>
@@ -113,6 +125,10 @@ function valuesItemUpdated(item) {
margin-left: 10px;
}
+.remove {
+ margin-left: 10px;
+}
+
.item {
border: solid 2px var(--divider);
border-radius: var(--radius);