mirror of
https://github.com/apache/skywalking-booster-ui.git
synced 2025-05-02 15:14:46 +00:00
Fix Value Mappings (#423)
This commit is contained in:
parent
0007e3e3ae
commit
4c60f69aef
@ -15,7 +15,7 @@ limitations under the License. -->
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<span class="label">{{ t("valueMappings") }}</span>
|
<span class="label">{{ t("valueMappings") }}</span>
|
||||||
<span class="label red">({{ t("mappingTip") }})</span>
|
<span class="label red">{{ t("mappingTip") }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(key, index) in keys" :key="index" class="mb-10 flex-h">
|
<div v-for="(key, index) in keys" :key="index" class="mb-10 flex-h">
|
||||||
<div class="content-decoration" contenteditable="true" @blur="changeKeys($event, index)">
|
<div class="content-decoration" contenteditable="true" @blur="changeKeys($event, index)">
|
||||||
@ -56,6 +56,9 @@ limitations under the License. -->
|
|||||||
}
|
}
|
||||||
delete valueMappings.value[list[index]];
|
delete valueMappings.value[list[index]];
|
||||||
keys.value = Object.keys(valueMappings.value);
|
keys.value = Object.keys(valueMappings.value);
|
||||||
|
if (!keys.value.length) {
|
||||||
|
keys.value = [""];
|
||||||
|
}
|
||||||
updateConfig();
|
updateConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +90,7 @@ limitations under the License. -->
|
|||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.content-decoration {
|
.content-decoration {
|
||||||
width: 200px;
|
width: 350px;
|
||||||
border: 1px solid $border-color;
|
border: 1px solid $border-color;
|
||||||
cursor: text;
|
cursor: text;
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
|
@ -34,6 +34,7 @@ limitations under the License. -->
|
|||||||
import type { PropType } from "vue";
|
import type { PropType } from "vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import type { CardConfig, MetricConfigOpt } from "@/types/dashboard";
|
import type { CardConfig, MetricConfigOpt } from "@/types/dashboard";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
|
||||||
/*global defineProps */
|
/*global defineProps */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@ -67,9 +68,14 @@ limitations under the License. -->
|
|||||||
}
|
}
|
||||||
const list = Object.keys(valueMappings.value);
|
const list = Object.keys(valueMappings.value);
|
||||||
for (const i of list) {
|
for (const i of list) {
|
||||||
|
try {
|
||||||
if (new RegExp(i).test(String(singleVal.value))) {
|
if (new RegExp(i).test(String(singleVal.value))) {
|
||||||
return valueMappings.value[i] || singleVal.value;
|
return valueMappings.value[i] || singleVal.value;
|
||||||
}
|
}
|
||||||
|
} catch (e) {
|
||||||
|
ElMessage.error("invalid regex string");
|
||||||
|
return singleVal.value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return singleVal.value;
|
return singleVal.value;
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,8 @@ limitations under the License. -->
|
|||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import type { PropType } from "vue";
|
import type { PropType } from "vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
|
||||||
/*global defineProps */
|
/*global defineProps */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
data: {
|
data: {
|
||||||
@ -83,9 +85,14 @@ limitations under the License. -->
|
|||||||
}
|
}
|
||||||
const list = Object.keys(valueMappings.value);
|
const list = Object.keys(valueMappings.value);
|
||||||
for (const i of list) {
|
for (const i of list) {
|
||||||
|
try {
|
||||||
if (new RegExp(i).test(String(source))) {
|
if (new RegExp(i).test(String(source))) {
|
||||||
return valueMappings.value[i] || source;
|
return valueMappings.value[i] || source;
|
||||||
}
|
}
|
||||||
|
} catch (e) {
|
||||||
|
ElMessage.error("invalid regex string");
|
||||||
|
return source;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return source;
|
return source;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user